본문 바로가기
반응형

분류 전체보기505

Unity - Quaternion.LookRotation() Quaternion.LookRotation public static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up); 매개변수 forward- 회전시킬 방향 벡터 upwards - 원하는 방향 벡터를 바라보고 있을 때의 "위"를 지정, Vector3.up이 기본값으로 사용된다. 반환 주어진 방향 벡터를 바라보는 Quaternion upwards가 필요한 이유 Quaternion.LookRotation은 주어진 forward방향으로 회전을 한다. 회전을 하는데 있어서 여러가지 방향 중 하나를 선택해야 하는데 이에 기준이 필요하다. upwards가 이를 결정해준다. 예를 들어 upwards 매개변수를 기본 값 Vector3.up으.. 2023. 5. 9.
백준 C# 1157 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace baek2 { class Program { static void Main(string[] args) { string input = Console.ReadLine(); string lower_input = input.ToUpper(); char[] arr = lower_input.ToArray(); Dictionary pig = new Dictionary(); for (int i = 0; i < input.Length; i++) { if (pig.ContainsKey(arr[i])) { pig[arr[i]] += 1; } else { p.. 2023. 5. 8.
백준 C# 10988 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace baek2 { class Program { static void Main(string[] args) { string input = Console.ReadLine(); int answer = 1; char[] string_1 = new char[input.Length]; char[] string_2 = new char[input.Length]; for (int i = 0; i < input.Length; i++) { string_1[i] = input[i]; } int count = 0; for(int i = input.Length; i.. 2023. 5. 8.
Unity - 오일러(Euler) vs 쿼터니언(Quaternion) 오일러(Euler) 오일러 각은 는 X,Y,Z의 각도 값 3개로 표현된다. 오일러 회전을 적용하기 위해 각 회전 값을 해당 축으로 기준 삼아 순차적으로 회전한다. 회전 시키는 순서에 따라 모양이 다르다. 장점 01 직관적 오일러 각은 세 각으로 구성된 직관적이고 사람이 읽기 쉽게 표시 된다. 02 180도 이상 표현 가능 오일러 각은 180도가 이상의 회전을 통해서 한 방향에서 다른 방향으로의 회전을 표현할 수 있다. 단점 01 Interpolation 3축에 대해 회전이 종속적이므로 2개의 오일러 각도 사이를 보간할 때 어느 방향으로 돌아갈지 중간 값을 결정할 수 없는 문제가 생긴다. 02 GimbalLock 짐벌 락 문제, 세 회전을 차례대로 적용하는 경우 첫 번째 또는 두 번쨰 회전의 결과로 세 번.. 2023. 5. 8.
Unity- Quaternion.Slerp() Lerp에 대해 알아보러 가기 유니티 - Mathf.Lerp() 1. Lerp(Linear Interpolation) 두 값을 선형 보간(linear interpolation)하여 새로운 값을 계산 매개변수 a : 시작 값 b : 종료 값 t : a와 b 실수 값 사이의 보간 비율 반환값 a + ( b - a ) * t 예시) a = 0, b = 10, t = 0.5 code-piggy.tistory.com 1. Slerp을 사용하는 이유 Lerp의 경우 계산이 빠르지만 두 점 사이 직선을 통과하기 때문에 회전 경로가 부드럽지 못하다. 위 그림에서 보면 Lerp에서 t를 일정하게 증가 시킬때 호의 길이가 제각각 다른 것을 확인 할 수 있다. 이를 보완하기 위해서 Slerp을 사용한다. 2. Slerp(S.. 2023. 5. 8.
Unity- Vector3.ProjectOnPlane() Vector3.ProjectOnPlane() public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal); 파라미터 vector- 정사영하고자 하는 벡터 planeNormal - plane의 법선 벡터 반환 vector3 - vector를 평면의 법선 벡터 planeNormal에 수직인 방향으로 투영된 벡터를 반환 사용 예시 플레이어가 이동하는 방향(moveDirection)을 바닥면의 법선벡터(groundNormal)에 대해 정사영하여 바닥면에 수직인 방향 targetDirection을 구한다. Vector3 targetDirection = Vector3.ProjectOnPlane(moveDirection, groundNormal).. 2023. 5. 8.
반응형