유니티 입문 1주차가 시작되었다! 두둥
새로운 팀원들과 만나서 팀 노션 작성하고 알고리즘 코드 카타 후 강의 듣기 시작 ~.~
처음으로 팀장을 맡게 되었는데 겁.나. 떨린다
덜덜덜덜덜덜
PPU (Pixels Per Unit) 값이 높아질수록 고해상도 -> 성능에 영향
부모-자식 관계를 갖는 오브젝트는 부모의 좌표, 크기, 회전 값이 적용됨
World 좌표, Local 좌표
Time.deltaTime
void Update() {
float x = Input.GetAxis("Horizontal");
float y = Input.GetAxis("Vertical");
transform.position += new Vector3(x, y) * Time.deltaTime;
}
GetAxisRaw : 0, 1, -1의 값만 줌
인스펙터 창에서 값을 조절하려면 public으로 선언
public float speed = 5f;
[SerializedField] private float speed = 5f;
Input System
normalized
Vector2 moveInput = value.Get<Vector2>().normalized;
WorldPoint 좌표 구하기
Vector2 newAim = value.Get<Vector2>();
Vector2 worldPos = _camera.ScreenToWorldPoint(newAim);
newAim = (worldPos - (Vector2)transform.position).normalized;
if (newAim.magnitude >= .9f)
{
CallLookEvent(newAim);
}
GetComponent : 현재 스크립트가 달려있는 같은 오브젝트에서 찾아오겠다는 의미
FixedUpdate : 보통의 물리처리가 끝난 후에 호출됨 -> Update보다 호출 느림
Rigidbody.velocity : 속력 벡터
Tilemap
Atan2
float rotZ = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
캐릭터를 기준으로 활 각도의 절댓값이 90을 넘어가면 활을 뒤집음 -> 캐릭터의 방향도 뒤집음
armRenderer.flipY = Mathf.Abs(rotZ) > 90f;
characterRenderer.flipX = armRenderer.flipY;
armPivot.rotation = Quaternion.Euler(0, 0, rotZ); // 실제로 무기 회전
Awake에서 Component에 대한 준비를 하고, 그 이후에 Start나 다른 함수에서 사용하는 것이 좋음
오늘은 여기까지~~
끗~.~