■ 2024-10-14
Q1. Vector3에 값 두개만 넣으면 Vector2가 되는 건지, Vector2를 쓰면 안되는 건지 궁금합니다.
protected float DistanceToTarget()
{
return Vector3.Distance(transform.position, ClosetTarget.position);
}
- Vector3에 값 두개만 넣는다고 Vector2 값이 되는 거 아님
- 같은 Z 선상에 있는 것이면 Vector2를 써도 됨. 위 코드는 Vector2 써도 됨
Q2. InputSystem에서 Look 만든데로 입력하면 OnLook 함수가 호출되나요?
- 함수명이 'On + 설정했던 Actions' 으로 생성 됨
- Player Input 하단에 보면 쓸 수 있는 함수 이름이 표기되어 있음
Q3. 비주얼 스튜디오에 있는 TextMesh Pro 폴더는 뭔가요?
- UI 중 TextMesh Pro 가 붙은 UI 를 이용하면 생성됨
- Legacy UI 보다 성능이 좋다 (Legacy는 업데이트가 종료된 UI)
- 한글 지원이 안되니 한글을 쓰려면 한글이 포함된 폰트를 추가해야함
Q4. GetComponent는 오브젝트에 직접 추가된 Component랑은 관련없이 가져오는건가요?
- 같은 오브젝트 Inspector 내에 있는 컴포넌트들을 가져와 쓸때 사용하는 코드
- gameObject가 생략되어있음.
gameObject.GetComponent
- 같은 오브젝트 내에 있는 컴포넌트를 마찬가지로 같은 오브젝트 내에있는 각기 다른 스크립트가 접근해도 동일한 컴포넌트이다
- AddComponenet가 새로 생성하는 것. 스크립트 실행 중에 Inspector를 확인하면 해당 컴포넌트가 부착된 것을 확인 할 수 있음
- GetComponent 에서 "같은 오브젝트" -> "타겟 오브젝트" 로 보는 것이 좋음
- 평소에는 gameObject 가 생략되어 나의 컴포넌트를 가지고 오는 것이지만, 대상이 있는 경우 해당하는 곳의 컴포넌트에 접근할 수도 있음. ex) targetPlayer.GetComponent().Hp;