본문 바로가기
반응형

분류 전체보기543

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.
Unity- Mathf.Lerp() Slerp에 대해 알아보러 가기 유니티 - Quaternion.Slerp() Lerp에 대해 알아보러 가기 유니티 - Mathf.Lerp() 1. Lerp(Linear Interpolation) 두 값을 선형 보간(linear interpolation)하여 새로운 값을 계산 매개변수 a : 시작 값 b : 종료 값 t : a와 b 실수 값 사이의 보간 비율 code-piggy.tistory.com 1. Lerp(Linear Interpolation) 두 값을 선형 보간(linear interpolation)하여 새로운 값을 계산 매개변수 a : 시작 값 b : 종료 값 t : a와 b 실수 값 사이의 보간 비율 반환값 a + ( b - a ) * t 예시) a = 0, b = 10, t = 0.5 이라면.. 2023. 5. 7.
Unity- Update vs FixedUpdate vs LateUpdate Update() 스크립트가 enabled 상태일때 프레임마다 실행된다. 물리 효과가 적용되지 않은 오브젝트의 움직임이나 단순한 타이머, 키를 입을 받을 때 사용된다. Update는 불규칙한 호출이므로 물리 엔진 충돌 검사가 제대로 안될 수도 있기 때문에 물리 엔진에 사용되지 않는다. FixedUpdate() 프레임을 기반으로 호출되는 Update와 달리 Fixed Timestep에 설정된 값에 따라 일정한 간격으로 실행된다. 프레임이 어떻게 진행되는지에 따라서 각 프레임마다 여러 번, 한 번 혹은 아예 실행하지 않을 수도 있다. 물리 효과가 적용된(Rigidbody) 오브젝트를 조정할때 사용된다. LateUpdate() 모든 Update 함수가 호출된 후, 마지막으로 호출된다. 주로 오브젝트를 따라가는 .. 2023. 5. 7.
C# - 배열 연결, 덧붙이는 방법 (Enumerable.Concat() 사용) Enumerable.Concat() 두 시퀀스를 연결해 준다. public static System.Collections.Generic.IEnumerable Concat (this System.Collections.Generic.IEnumerable first, System.Collections.Generic.IEnumerable second); 매개변수 first : 연결할 첫번째 시퀀스 second : 연결할 두번째 시퀀스 01 한번 concat하는 경우 int[] first = { 1, 2, 3 }; int[] second = { 4, 5, 6 }; int[] example; example = first.Concat(second).ToArray(); 매개변수 first: 연결할 첫번째 시퀀스 sec.. 2023. 5. 3.
백준 C# 10812 +) 풀이 1. 예제 입력으로 예시 01 바구니 만들기 N이 10이므로 1부터 N까지 번호가 적혀있는 바구니를 만들어 준다. int[] array = new int[n]; for(int i = 0; i mid, mid+1, ..., end-1, end, begin, begin+1, ..., mid-1로 회전 01 left - w이전의 값들이다. Array의 크기는 w-1이다. int[] left = new int[w - 1]; 위의 array에서 0부터 w-1크기만큼 Copy한다. Array.Copy(array, 0, left, 0, w - 1); Copy의 결과는 빈 배열이 나온다. 04 leftmid - begin -> mid에서 바뀌는 부분부터 end까지 Array의 크기는 y-z-+1 이다. z가 포함되어야.. 2023. 5. 3.
반응형