1. 스크립트 만들기
1) 변수 선언하기
- public static float distanceFromTarget;
(1) public static
: 어디서든 접근 가능한 정적 변수(객체 생성 없이 접근 가능)
: 직렬화한 변수가 아니기 때문에 Inspector에서 직접 편집 불가능
(2) float distanceFromTarget: float형으로 선언한 변수(목표지점까지의 거리)
- [SerializeField] float toTarget;
: 직렬화한 거리용 변수
2) Update() 정의
- RaycastHit hit;
(1) 레이캐스트 결과(충돌 정보)를 저장하기 위해 선언한 객체: 레이와 충돌한 오브젝트의 위치, 노멀, 거리 등 다양한 정보 저장
(2) hit: 결과값을 저장하는 변수
- Physics.Raycast()
: 레이캐스트를 위한 함수
: 위치(transform.position), 광선의 방향(transform.TransformDirection()), 결과값(out hit) 이 함수의 매개변수로 들어감
2. 에디터에서의 작업
1) 생성한 스크립트 플레이어에 붙이기
- 생성한 스크립트를 PlayerCapsule에 드래그&드랍: Inspector에서 Raycasting이라는 스크립트 컴포넌트가 붙은거 확인 가
2) 결과
- 벽과 멀리 있을 때는 6정도 나오지만 벽과 가까이 있을 때는 소수점자리로 줄어듦
3) 해당 스크립트를 메인 카메라로 변경: 1인칭인 경우 카메라를 통해 시선 처리를 하기 때문에 카메라에 많이 붙임
728x90
'Unity🎮 > 실습' 카테고리의 다른 글
경로 설정과 추적 (2) | 2025.07.15 |
---|---|
Interaction (0) | 2025.07.15 |
트리거 이벤트 (1) | 2025.07.14 |
음악과 음향 (1) | 2025.07.14 |
UI: 페이드 화면 (4) | 2025.07.11 |