자주 쓰는 예시 코드
Vector3 dir = (target.position - transform.position).normalized;
float dist = Vector3.Distance(target.position, transform.position);
Vector3 move = Vector3.Lerp(startPos, endPos, Time.deltaTime);
Vector3 reflect = Vector3.Reflect(incoming, normal);
1. 방향 벡터 구하기
Vector3 dir = (target.position - transform.position).normalized;
- target.position - transform.position
└ 현재 오브젝트에서 목표 ( target ) 까지 향하는 방향 벡터 - .normalized
└ 그 벡터를 길이 1로 정규화해서 방향만 남긴다
dir 은 목표를 향하는 단위 방향 벡터 ( 이 방향으로 나아가라는 의미의 순수 방향 정보 )
2. 두 점 사이 거리 구하기
float dist = Vector3.Distance(target.position, transform.position);
- 두 점의 직선 거리 ( 유클리드 거리 ) 를 구한다
- 실제로는 √((x2-x1)² + (y2-y1)² + (z2-z1)²) 계산한다
dist 는 현재 오브젝트가 목표까지 떨어진 거리 ( float )
적과의 거리를 계산할 때 자주 사용한다
3. 위치 보간 ( Lerp )
Vector3 move = Vector3.Lerp(startPos, endPos, Time.deltaTime);
- Lerp ( a , b , t ) 는 a 에서 b 까지 t ( 0 ~ 1 ) 비율로 선형 보간
- Time.deltaTime 을 사용하면 매 프레임마다 아주 조금씩 이동한다
move 는 a 에서 b 로 자연스럽게 이동하는 중간 위치
주로 부드러운 이동 , 카메라 따라가기 , UI 애니메이션 등에 사용한다.
4. 반사 벡터 구하기
Vector3 reflect = Vector3.Reflect(incoming, normal);
- incoming : 입사 벡터 ( 들어오는 방향 )
- normal : 표면의 법선 벡터
- 이 두 벡터를 이용해 반사된 방향을 계산한다
reflect 는 빛이나 총알이 벽에 튕겨나가는 방향
주로 탄환 반사 , 빛 반사 , 리코셰 효과 등에 사용한다
'🧊Unity Basic > 벡터 ( Vector )' 카테고리의 다른 글
| Vector3 주요 속성 (0) | 2025.10.25 |
|---|---|
| 벡터 정규화 ( Normalization ) (0) | 2025.10.16 |