Notice
Recent Posts
Recent Comments
Link
반응형
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Simulation
- readonly
- 디지털트윈
- 너비탐색
- 티스토리챌린지
- 드롭다운
- 습관형성 #직장인자기계발 #오공완
- dfs
- 최단거리 알고리즘
- navisworks api
- GetComponent
- C#
- 최소신장트리 mst
- unity sparkmain(clone)
- articulation body
- 유니티 sparkmain(clone)
- unity korea
- sparkmain(clone)
- Unity
- 크루스칼
- 트리구조
- dropdown
- removeAll
- 행동트리
- 오블완
- 유니티
- raycast
- list clear
- sparkmain(clone) 무한생성
- 깊이탐색
Archives
- Today
- Total
낑깡의 게임 프로그래밍 도전기
Unity C# Magnitude : 벡터의 길이(크기) / sqrMagnitude : 벡터의 길이 제곱값 본문
반응형
Magnitude : 한마디로 벡터의 크기를 반환하는 프로퍼티
sqrMagnitude : Magnitude의 제곱값
벡터의 크기란 백터이 시작점과 끝점의 양수 길이라고 생각하면 된다.
Magnitude 는 선한점과 다른 한점의 거리를 구해서 두점사이의 길이를 알아낼때, 두개의 벡터를 비교할때 사용하면된다. 속도 계산을 할때 유용하다고 한다. 벡터거리나 크기를 비교하려면 변수로 한번 감싼다음에 비교해야한다
예시)
Vector3 vec = new Vector3(x, y, z);
float magnitude = Vector3.magnitude(vec);


나는 두개의 점을 찍으면 나무가 일정한 간격으로 심어지는 기능을 만들때 사용하였다. 사용자가 1번에서 2번인 오른쪽 방향으로 찍을 수도 있지만 2번에서 1번인 왼쪽 방향으로 찍을 수도 있기 때문에 단순히 좌표만 간격을 주어서는 안되었다.
그래서 크기를 비교해서 첫번째 포인트의 벡터가 더 크면 두개의 값을 스왑해서 심기 기능을 수행하도록 할때 사용하였다.
sqrMagnitude 는 단순하게 Magnitude의 제곱값을 뱉어 낸다고 생각하면된다.
예시)
float distanceSquared = (endPoint - startPoint).sqrMagnitude;반응형
'Unity C#' 카테고리의 다른 글
| Unity C# 시네머신 Dolly Cart 멈췄다 움직이기 (0) | 2024.10.28 |
|---|---|
| Unity C# Material Rendering Mode 스크립트로 제어하기 런타임에서 변경 (0) | 2024.10.15 |
| Unity C# InverseTransformPoint 란? (0) | 2024.10.08 |
| Unity로 Simulation 하기 (Articulation Body) (0) | 2024.07.12 |
| Unity C# Dropdown GetComponent 활용하기 (0) | 2024.07.03 |