Unity 10

[유니티(Unity)] 좌표이동 - Vector3.SmoothDamp 이동

정의시작 지점에서 부드러운 가속으로 시작해 목표 지점에 가까워졌을 때 부드러운 감속으로 이동하는 방식 Vector3.SmoothDamp VS Vector3.Lerp, Vector3.Slerp Vector3.SmoothDamp 이동Vector3.Lerp 이동Vector3.Slerp 이동이동 방식목표 지점까지 부드러운 가속으로 시작해 부드러운 감속으로 이동t(비율 값)에 따라 목표지점까지 이동t(비율 값)에 따라 목표지점까지 이동 목표지점이 바뀌면관성을 유지하면서 새 목표지점을 향해 이동 즉시 새 목표지점을 향해 이동(이때 끊기듯이 방향이 전환)즉시 새 목표지점을 향해 이동(이때 끊기듯이 방향이 전환) 사용 이유부드러운 추적추적하고 있는 목표 대상이 급격하게 속도가 변하거나 방향을 전환하더라도 관성을 ..

유니티/이동 2026.05.06

[유니티(Unity)] 좌표이동 - Vector3.MoveTowards 이동

정의현재 지점(current)에서 목표 지점(target)까지 최대 이동 거리(maxDistanceDelta)만큼 직선으로 등속이동 최대 이동 거리 = 매 프레임 이동하는 거리 Vector3.MoveTowards 이동 VS transform.Translate 이동 Vector3.MoveTowards 이동transform.Translate 이동이동 방식목표 지점까지 등속이동변위(방향 * 이동거리)이동필요한 정보현재 위치, 목표 위치, 최대 이동 거리이동방향 * 속도, (기준 좌표계)도착 판정목표 지점에 도달하면 정지목표 지점이 없음. 멈추는 로직이 있지 않으면 무한 전진 사용 이유오브젝트를 직선으로 등속이동시키기 위해서 목표지점에 정확하게 도착하도록 하기 위해서 언제 사용해야 하는가등속 직선 운동이..

유니티/이동 2026.05.05

[유니티(Unity)] 좌표이동 - Vector3.Slerp 이동

정의구면 선형 보간을 이용하여 시작점과 도착점 사이를 T(0~1 사이 비율값)값으로 위치를 계산해 원형 곡선으로 오브젝트를 이동 고정된 좌표 이동이 아닌 현재 시점과 도착 시점의 보간된 좌표로 이동하는 방법 시작점과 도착점 사이를 비율(T)을 기반으로 위치를 계산하여 이동하는 것 cf) Slerp = Spherical Linear Interpolation = 구면 선형 보간 = 시작점과 끝점 사이의 수치를 T값에 따라 원형 곡선으로 계산하는 것 cf) 왜 Vector3.Lerp 이동은 부드럽게 이동이 되는가? -> 시작지점과 도착지점 사이를 비율(t)로 이동한다. 그렇기 때문에 시작점과 도착점 사이 무수히 많은 지점들을 프레임 단위로 이동한다. 이 지점들을 따라서 이동하니 부드럽게 이동하는 것..

유니티/이동 2026.05.04

[유니티(Unity)] 좌표이동 - Vector3.Lerp 이동

정의선형 보간을 이용하여 시작점과 도착점 사이 좌표를 T(0~1 사이 비율값)값으로 위치를 계산해 오브젝트를 부드럽게 이동 고정된 좌표 이동이 아닌 현재 시점과 도착 시점의 보간된 좌표로 이동하는 방법 시작점과 도착점 사이를 비율(T)을 기반으로 위치를 계산하여 이동하는 것 cf) Lerp = Linear Interpolation = 선형 보간 = 시작점과 끝점 사이 수치를 T(0~1 사이값)값에 따라 선형적으로 계산하는 것cf) 왜 Vector3.Lerp 이동은 부드럽게 이동이 되는가? -> 시작지점과 도착지점 사이를 비율(t)로 이동한다. 그렇기 때문에 시작점과 도착점 사이 무수히 많은 지점들을 프레임 단위로 이동한다. 이 지점들을 따라서 이동하니 부드럽게 이동하는 것처럼 보인다. 사용 ..

유니티/이동 2026.05.02

[유니티(Unity)] 좌표이동 - transform.localPosition 이동

정의유니티 물리 엔진(Rigidbody) 없이 부모 오브젝트의 위치를 기준으로 오브젝트의 상대적 좌표를 직접 수정하여 원하는 위치로 이동로컬 좌표계를 기준으로 이동한다. (부모 오브젝트가 없을 경우 월드 좌표계와 동일하게 이동한다) 사용 이유부모 오브젝트로부터 일정 거리를 유지하며 이동하기 위해서 오브젝트를 지정된 위치로 정확하게 이동하기 위해유니티 물리 연산(Rigidbody)을 사용하지 않기 위해서 순간적인 이동처리를 하기 위해서 ex) 텔레포트, 포탈이동물리적인 영향을 받지 않는 이동을 처리하기 위해서 ex) 구름 이동 언제 사용해야 하는가부모 오브젝트를 기준으로 자식 오브젝트를 움직여야 할때캐릭터의 장신구, 무기처럼 부모 오브젝트와 함께 움직여야 하는 물체를 다뤄야 할때 차량, 방 내부 소품의 위..

유니티/이동 2026.05.02

[유니티(Unity)] 좌표이동 - transform.Translate 이동

정의 유니티 물리 엔진(Rigidbody) 없이 현재 위치를 기준으로 변위(방향 * 이동거리)만큼 이동기본적으로 로컬 좌표계를 기준으로 이동한다. (월드 좌표계로도 설정 가능하다) transform.position VS transform.Translate transform.position 이동transform.Translate 이동이동 방식 위치 설정 이동변위 이동이동 기준 좌표계 월드 좌표로컬 좌표 (월드 좌표 선택 가능)연산 방식좌표를 직접 계산하여 좌표값을 덮어씌워 이동단 로컬 이동은 쿼터니언 연산을 해야함.Translate 함수가 자동으로 좌표를 계산하여 이동 사용처순간이동, 좌표 고정, 특정 지점까지 이동 cf) 변위 = 처음 위치와 나중 위치 사이 벡터(직선거리 * 방향) ex)using U..

유니티/이동 2026.05.02

[유니티(Unity)] 좌표이동 - transform.position 이동

정의 유니티 물리 엔진(Rigidbody) 없이 오브젝트의 좌표를 직접 수정하여 원하는 위치로 이동월드 좌표계를 기준으로 이동한다. 사용 이유오브젝트를 지정된 위치로 정확하게 이동하기 위해유니티 물리 연산(Rigidbody)을 사용하지 않기 위해서 순간적인 이동처리를 하기 위해서 ex) 텔레포트, 포탈이동물리적인 영향을 받지 않는 이동을 처리하기 위해서 ex) 구름 이동 언제 사용해야 하는가 오브젝트를 지정된 위치로 정확하게 이동해야 할 때순간적인 이동을 해야 할 때물리적인 영향을 받지 않는 이동을 해야 할 때 사용 방법Update 메서드에서 transform.position을 수정 ex)using UnityEngine;public class Example : MonoBehaviour{ p..

유니티/이동 2026.05.02

[Unity] magnitude, sqrMagnitude

주사위 구현 영상을 보던 중, magnitude와 sqrMagnitude의 차이가 궁금해서 찾아봤다. magnitudeVector의 길이를 반환하는 프로퍼티Vector의 길이 = Vector의 각 좌표의 제곱들의 합을 루트 연산한 값 ex) Vector (1, 2, 3)의 magnitude = 루트 (1^2 + 2^2 + 3^2) sqrMagnitudeVector의 길이를 반환하는 프로퍼티Vector의 길이 = Vector의 각 좌표의 제곱들의 합ex) Vector (1, 2, 3)의 sqrMagnitude = (1^2 + 2^2 + 3^2) 문제성능때문에 sqrMagnitude를 주로 사용한다고 한다.정확히 어떤 성능이 더 좋아서 sqrMagnitude를 사용하는 걸까? 해결루트 연산은 비싼 ..

유니티/엔진 2026.04.06

[Unity] 셰이더 깨지는 현상

문제1유니티 에셋 스토어에서 받은 에셋을 내 프로젝트에 가져왔다. 그런데 오브젝트 겉면이 핑크색으로 보인다. 원인셰이더가 제대로 적용되지 않아서 겉면이 핑크색으로 보인다. 시도1Material을 Universal Render Pipeline/Lit으로 변경해봤다. 그런데 색상이 이상하게 바뀐다. 그냥 흰색 바탕이다. 해결유니티에 있는 기능을 사용하면 쉽게 해결할 수 있다. 상단 메뉴 -> Window -> Rendering -> Render Pipeline Converter를 열자.Built in 에셋을 URP로 열어서 문제가 되었던 것이니, Built-in to URP를 선택하자.Material Upgrade를 체크하자.Initialize Converters를 클릭하자.문제되는 Materi..

유니티/엔진 2026.04.05