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

+ Recent posts