언젠가 유니티(Unity) 개발

    [유니티(Unity)] 유니티 UI Button 활용 실습

    [유니티(Unity)] 유니티 UI Button 활용 실습

    작동 결과는 노션 원본에서 동영상으로 확인하실 수 있습니다.

    [유니티_시네머신(CineMachine)] 카메라 시네머신을 활용한 Object Track 제작 및 사용법

    [유니티_시네머신(CineMachine)] 카메라 시네머신을 활용한 Object Track 제작 및 사용법

    시네머신에는 Dolly Camera라는 것이 있습니다. 이 기능은 영화를 찍을 때 영화 감독이 레일 위에서 쫓아가면서 찍는 기능과 비슷합니다. 원래는 카메라가 타고 이동하는 트랙이지만 여기에 오브젝트를 태워 트랙을 따라 이동시키는 방법으로 활용할 수 있습니다. 빈게임오브젝트를 생성한 후 CineMachinePath 컴포넌트를 추가합니다. 추가한 CineMachinePath에서 Path Details를 누르면, 원하는 만큼 트랙을 추가하고 수정할 수 있습니다. 트랙의 번호를 누르시면 트랙의 3가지 Transform을 변경할 수 있습니다. 그리고 Roll 값을 변경하여 트랙에 회전을 줄 수 있습니다. 트랙 자체 위치 트랙 목적지의 위치 트랙의 선형 이어지지 않은 트랙을 만들 수 있으며 Looped를 클릭하면..

    [유니티_시네머신(CineMachine)] 다중 카메라 사용법

    [유니티_시네머신(CineMachine)] 다중 카메라 사용법

    둘 이상의 카메라를 사용하고 전환하는 간단한 기능을 사용할 예정입니다. 사용할 ClearShot 기능은 타겟으로 잡은 오브젝트가 안 보일 경우 다른 카메라로 전환됩니다. 이번에는 간단히 카메라 전환의 기능만 사용하기 위해 카메라의 우선순위 (= Priority)만 수정하여 간단하게 전환했습니다. ClearShot 오브젝트의 자식으로 있는 Virtual Camera을 복사하여 원하는 곳에 배치합니다.(2가지 시점을 할 예정이라 2개의 Virtual Camera를 배치) ClearShot으로 시점 변화시키는 방법은 여러가지가 있지만 이번에는 간단하게 전환만 할 예정이라, 우선순위 값을 변경하여 시점을 변경하겠습니다. 그리고 카메라 전환을 부드럽게 전환하기 위해 Blend를 1.5 넣습니다. 간단한 기능 스크..

    [유니티_시네머신(CineMachine)] 설치방법

    [유니티_시네머신(CineMachine)] 설치방법

    유니티에 있는 카메라 자동 제어 패키지입니다. 카메라 시네머신을 사용하면 여러가지 연출을 할 수도 있고, 다양한 기능을 활용할 수 있습니다. Package Manager 창을 켭니다. Packages 타입을 Unity Registry로 변경 Cinemachine을 찾아 Install 합니다. 이러면 설치 끝~

    [유니티(Unity)] 2D UI가 3D 오브젝트에 파묻힐 때 해결방법

    [유니티(Unity)] 2D UI가 3D 오브젝트에 파묻힐 때 해결방법

    간단하게는 Rendering Mode 변경으로 해결 가능하고, 좀 더 디테일하게 변경할 때는 Render Queue를 변경하여야 합니다. 3D 오브젝트에 2D Text나 Image가 파묻히는 경우 오브젝트의 Rendering Mode를 변경!! Rendering Mode를 Transparent(투명한) 모드로 변경하면 오브젝트가 투명화되어 파묻힌 2D UI도 보이게 됩니다. 레드는 Transparent, 다른 하나는 기본 설정인 Opaque(기본형)로 설정해보고 비교해보면 출력 결과 이렇게 빨강색 큐브에서만 파묻힌 텍스트가 뚫고 보여지게 됩니다.

    [유니티(Unity)] 접근 제한자의 종류와 차이점

    [유니티(Unity)] 접근 제한자의 종류와 차이점

    안녕하세요. 코드를 짜실 때 자주 보는 몇몇의 코드가 있죠? public protected private는 접근 제한자로써 기능을 갖고 있답니다. C#에서는 앞에 접근 제한자를 안 적었을 때 private로 선언됩니다. 이러한 기능을 왜 사용하느냐! 중요한 변수나 메소드는 다른 스크립트에서 접근하면 곤란해지겠죠. 그렇기 때문에 접근 레벨을 지정하는 겁니다. 1. public : public을 사용하면 어디에서든지 해당 변수나 메소드에 접근할 수 있습니다. 그리고 시리얼라이즈화(직렬화)가 되있기 때문에 에디터에서도 해당 값을 변경할 수 있습니다. 개발자가 플레이어의 속도를 조정중이라면 속도를 public float playerSpeed;로 선언하고 에디터에서 값을 변화시키면서 확인할 수 있게 돼죠~ 볼륨이..

    [유니티(Unity)] Time.time과 Time.deltaTime의 차이점

    [유니티(Unity)] Time.time과 Time.deltaTime의 차이점

    Time.time : 프레임이 시작한 순간부터의 시간(프레임 스타트~) Time.deltaTime : 프레임이 시작하고 끝나는 시간(프레임 스타트 ~ 프레임 종료) 컴퓨터의 성능에 따라 프레임이 다르게 나타나는데 이를 규격화하기 위해서 TIme.deltaTIme을 곱해주게 됩니다. 1초당 프레임을 규격화하기위해 60 프레임에게는 a라는 Time.deltaTime 값이 들어가게 되고, 120 프레임에게는 a/2라는 Time.deltaTime 값이 들어가게 될 것입니다. [시간 및 프레임 속도 관리 url] https://docs.unity3d.com/kr/current/Manual/TimeFrameManagement.html 시간 및 프레임 속도 관리 - Unity 매뉴얼 Update 함수를 사용하면 스크..

    [유니티(Unity)] position, localPosition의 차이점

    [유니티(Unity)] position, localPosition의 차이점

    어디에 position을 사용하고, 어디에 localPosition을 사용하는지 처음에 많이 헷갈렸습니다.(사실 지금도 바로바로 사용 못하고 생각을 하고 사용하는데) 간단히 말하면 position은 월드 포지션(0, 0, 0)을 기준으로 잡힌 좌표이고, localPosition은 부모의 position을 기준으로 잡은 로컬 포지션 입니다. 예를 들자면 BigCube의 자식으로 이 있을 때 BigCube의 좌표는 (10, 10, 10) BabyCube의 좌표는 (15, 10, 10)으로 설정합니다. 기본적으로 좌표는 월드좌표를 말합니다! 그래서 월드좌표 기준으로 BigCube의 좌표는 (10, 10, 10), BabyCube의 좌표는 (15, 10, 10)입니다. 로컬좌표는 BigCube의 로컬좌표는 (1..