Capsule Collider는 Unity에서 제공하는 물리 콜라이더 중 하나로, 캡슐 모양의 충돌 영역이다. 캡슐은 두 개의 반구와 그 사이를 연결하는 실린더로 구성된 형태이며, 사람 캐릭터나 세로로 긴 물체의 충돌을 처리할 때 주로 사용된다. 사진 출처 : Unit
GetAxisRaw는 Unity Input 시스템에서 축 입력을 정수 값으로 즉각적으로 반환하는 메서드다. Input.GetAxisRaw("축 이름")은 플레이어의 입력을 정수 값 (-1, 0, 1)으로 반환한다. 축 이름은 "Horizontal"이나 "Vertical
매 프레임마다 Rigidbody의 위치를 직접 설정하는 방식이다. 물리적 충돌이 필요하면서도 부드러운 이동이 필요한 경우 사용된다.장점 : 물리적 충돌 계산이 유지되고, 부드러운 이동과 충돌 반응이 가능하다. 단점 : Force 기반 물리 효과를 제대로 활용할 수 없다
eulerAngles는 Transform 컴포넌트에서의 회전을 표현하는 오일러 각(Euler Angles)을 구한다. 오일러 각이란 객체의 회전을 3개의 축(X, Y, Z)을 기준으로 표현한 것이다. 유니티에서는 Z축을 기준으로 먼저 회전하고, X축을 기준으로 두
코루틴은 IEnumerator를 반환하는 함수다. yield 키워드를 사용하여 실행을 일시 중단하고, 특정 조건이 충족되면 다시 실행을 시작한다. 페이드 효과나, 로딩 화면의 프로그래스 바 업데이트 등 비동기적 처리에 사용된다. yield return을 사용하여 코루틴
유니티의 로딩 화면을 제작 중에 로딩 진행률을 나타내는 코드를 구현해봤다. 유니티 UI - Slider를 이용하여 현재 로딩 진행률을 시각적으로 표현하려고 했다. 구현하고자 했던 목표는 다음과 같다.일정 구간 동안은 실제로 얼마나 로딩됐는지와 상관없이 일정한 속도로 증
게임 개발이 진행될수록 GameManager, UIManager, AudioManager... 수많은 매니저들이 생겨납니다. 각각을 따로 관리하다 보면 코드가 뒤엉키고 유지보수가 어려워지곤 합니다. 이 모든 매니저를 한 곳에서 깔끔하게 관리하는 방법에 대해 포스팅 해보
Local 좌표계에서의 방향을 World 좌표계에서의 방향으로 변경해줍니다. 즉, 로컬 좌표계를 기준으로 하여 월드 좌표계에서의 벡터를 계산하고 반환합니다.입력되는 인자 direction은 로컬 공간에서의 방향이고, 반환되는 벡터 값은 월드 공간에서의 방향으로 변환된
화면 좌표를 기반으로 광선을 생성하는 함수로, 주로 마우스 클릭이나 터치 입력을 월드 공간에서 인식하는 데 사용됩니다. 이 기능을 활용하면 스크린에서 클릭한 지점을 3D 월드에서 어떤 오브젝트가 위치하는지 판단할 수 있어, 주로 레이캐스트(raycasting)와 함께
분명 오브젝트의 Rigidbody > Constraints 에서 X 축과 Z 축의 회전을 막아뒀는데, LookAt() 함수를 사용하자 Transform.Rotation이 미세하게 변하는 걸 발견했다.검색 결과, Constraint의 Freeze ~ 들은 물리엔진이 오브
우선 Quaternion.LookRotation 메소드에 대해서 설명하겠습니다.이 함수는 direction(벡터)를 회전값(쿼터니언)으로 변경해줍니다. 즉, direction 이라는 방향 벡터가 월드에서는 어떤 회전값을 알아냅니다.예를 들어 (1, 0, 0) 인 방향
두 프로퍼티는 대부분의 경우 같은 값을 반환하지만, 특정한 상황에서는 다를 수 있습니다.transform.position과 rigidbody.position 모두 객체의 월드 좌표 (World Position) 를 나타냅니다. Rigidbody의 Interpolate
게임을 개발할 때 3인칭 시점에서 플레이어를 따라가는 카메라를 구현하는 것은 매우 일반적입니다. 하지만 이 방식으로 구현 시, 카메라가 벽이나 장애물에 막혀 플레이어가 보이지 않게 되는 상황이 발생할 수 있습니다. 카메라의 위치를 조정하여 플레이어를 가리지 않도록 해야
Rect Transform 이란 유니티 UI 시스템에서 사용되는 Trasnform 컴포넌트의 확장된 버전입니다. 기존 Transform 과 달리 UI 요소의 위치, 크기, 앵커, 피벗 등을 조정할 수 있습니다. 이는 Canvas 내에서 UI 요소를 배치하고 조정하는 데
창 모드에서 화면 크기를 줄이자 오브젝트가 마치 카메라에 뚫린 것처럼 렌더링되지 않는 현상을 발견했다.누가 봐도 오브젝트가 카메라의 near clip plane을 넘어선 것처럼 보였고, 자연스럽게 이 값부터 의심하게 되었다.near plane이란 카메라가 렌더링을 시작
오늘 다룰 주제는 비동기 처리입니다. 특히, 유저 입력이나 서버 응답을 기다려야 하는 상황에서 async/await을 활용하는 방법에 대해 포스팅합니다. 우선 동기와 비동기의 차이점에 대해 간략히 설명하겠습니다.데이터의 요청과 결과가 한 자리에서 동시에 일어납니다. 결
Editor Customize Unity의 Editor를 확장시켜 씬 상의 오브젝트나 인스펙터를 직접 제어 및 커스터마이징할 수 있는 기능입니다. 에디터 커스터마이징이란? 씬 상의 오브젝트의 컴포넌트 관련 인스펙터를 확장하거나 커스터마이징 하고 싶을 때, Edit