본문 바로가기
반응형

ETC/Unity3

[유니티] 게임에서 Vector의 내적, 외적이 갖는 의의 보통 고등학교 때 기하와 벡터를 다루며 기본적으로 내적과 외적을 배우는데, 다들 전문적인 물리 엔진 제작과 같은 전문적인 업무가 아니면 쓸모없다고 생각하지만, 의외로 단순한 작업에서도 간간히 쓰이곤 한다. 그래서 이번 시간에는 게임 제작에서 사용될 수 있는 내적, 외적에 대해서 간단히 정리해보려 한다. 우선 내적과 외적을 구하는 방법이나, 등장하는 단어의 의미를 모른다면 다른 포스트에서 기본적인 내용을 확인하고 오도록 하자. 내적 우선 내적에 대해 기본적인 것만 설명 하자면, 내적은 A*B = |A| * |B| * cosX 이다. A벡터와 B벡터의 크기에 코사인 값을 곱한 것이다. 1. 두 벡터 사이의 각도 첫 번째로 두 벡터 사이의 각도를 구할 수 있다. |A| 와 |B|를 반대쪽으로 이항한 후 코사인.. 2020. 2. 29.
[유니티] 마우스 방향으로 2D Object 회전시키는 방법 유니티 카테고리 안에 있지만 사실은 거의 수학적인 내용이다. 개발을 하다보면 2D object를 회전시켜야 할 일이 있는데, 우리가 보통 object에서 가장 쉽게 구할 수 있는 것은 위치값 또는 벡터 값이다. 위치를 원점에서의 벡터라고 생각한다면 사실상 두 값의 의미는 같다. 오늘 구현하고자 하는 내용은 아래와 같다. 이와같이 마우스 커서의 이동에 따라 오브젝트를 움직이는 것이다. 3D같은경우는 Lookat 등을 써서 target과 player 사이에 손쉽게 해결하는 것 같지만 위와 같은 경우는 다르다. 1. Vector 값이 world 좌표가 아닌 screen의 좌표 값이다. 2. 입체적으로 회전하는 3D와 다르게 Z축만을 회전시켜 구현해야 한다. 이 두 가지가 다르기 때문에 직접 구현했다. floa.. 2020. 2. 29.
[유니티] Lerp 와 Slerp 의 차이 - 선형 보간, 구면 선형 보간 유니티의 Vector3 에는 Lerp, Slerp라는 함수가 있다. 두 함수 모두 선형보간을 해서 두 지점사이의 위치를 계산하는 함수지만 두 함수 사이에는 큰 차이가 있다. 그리고 이 차이를 이해하려면 우선 선형 보간과 구면 선형 보간의 차이를 이해해야 한다. 이 포스트의 주제이기도 한 선형 보간과 구면 선형 보간의 차이를 알아보자. 선형 보간 (Linear interpolate) 선형 보간은 매우 간단한 개념이다. 두 지점을 선형으로 연결해서 두 지점사이의 위치를 파악하는 방법이다. 유니티에서 사용할 때는 a와 b 지점 사이의 길이를 1로 두고, f값에 따라 그에 비례한 위치를 Vector3로 반환한다고 생각하면 된다. 구면 선형 보간 (Spherically interpolate) 구면 선형 보간은 두.. 2020. 2. 12.
반응형