시네머신을 이용하면 코딩 한 줄 없이 다양한 상황을 쉽게 연출할 수 있습니다. 시네머신은 종류도 많고 Extenstion 종류도 많기에 이번 포스팅에서는 간단하게 Dolly Track, Dolly Cart, Virtual Camera, Blend List Camera 4가지 종류에 대해서만 말해보고자 합니다.Virtual Camera를 활영한 기법들ChinemachineVirtualCamera컴포넌트에는 다양한 프로퍼티 및 옵션이 존재합니다. 하나씩 표로 살펴보겠습니다. 속성명 설명 Status카메라 상태를 나타냅니다. 예시로 "Live"는 현재 이 가상 카메라가 활성 상태임을 의미합니다.Game Window Guides게임 창에서 카메라의 시각적 가이드라인을 표시할지 여부를 선택할 수 있습니다.Sa..
자주 사용하는 함수- DoRestart : 트윈을 처음부터 다시 시작- DoRewind : 트윈을 거꾸로 재생하여 처음 상태로 되돌림두 개의 함수를 이용해서 주로 UI 애니메이션 만들곤 함. 함수 이름 설명 DOComplete()트윈을 즉시 완료 상태로 만듭니다. 트윈이 바로 끝나고 완료 콜백이 호출됩니다.DOKill()트윈을 즉시 중지하고, 관련된 모든 리소스를 해제합니다.DOKillById(string id)지정된 ID를 가진 트윈만 중지하고, 관련된 리소스를 해제합니다.DOPause()트윈을 일시 중지합니다.DOPauseAllById(string id)지정된 ID를 가진 모든 트윈을 일시 중지합니다.DOPlay()트윈을 재생합니다.DOPlayById(string id)지정된 ID를 가진 트윈만..
Global Param을 사용하는 이유 Global Param을 사용하지 않고 다국어를 번역하게 될 경우 글씨 위치가 맞지 않아 불편함을 겪게 됩니다. 예를 들면 아래와 같습니다. [한국어의 경우] 발견된 이상 개수 : 7[영어의 경우 ] Total Number Of Anomalies : 7 위와 같이 글씨 위치가 맞지 않게 되는 문제가 있었습니다. 그래서 7의 경우 발견된 이상 현상의 개수이므로 해당 Value를 Param으로 지정해주었습니다. Param을 컨트롤 하는 방법은 Local과 Global이 있습니다.Local로 Param 컨트롤하기Local의 경우 위와 같이 미리 컴포넌트를 이용해서 특정 Param을 컨트롤 할 수 있습니다. Global로 P..
저번에 작성한 DOTween 포스팅은 DOTween에 대한 설명과 간단한 사용방법이였습니다. 이번에는 DOTween에 사용할 수 있는 API들에는 무엇이 있는지 Docu를 통해 알아보고자 합니다. 신나서 쓰는 Dotween Pro 에셋 사용법 Dotween이란? Dotween은 빠르고 효율적이며 안전성을 갖춘 애니메이션 엔진으로, C#에 최적화되어 있습니다. 높은 수준의 유연성과 커스터마이징을 유지하면서 단순하고 사용하기 쉬운 것으로 잘 알 wlsdn629.tistory.com DOTween - Documentation Nomenclature Tweener A tween that takes control of a value and animates it. Sequence A special tween tha..
미리보기 : Material Variant,Texture 용량 줄이기, Texture Preset Editor Only Tag, 카메라 꿀팁 Material Variant 메테리얼에도 Variant를 만들 수 있다는 사실 알고 계셨나요...? 동일한 Texture를 그대로 사용하지만 Color라든지, Emission이라든지 변경하고 싶을 때 Variant를 이용하시면 됩니다! Texture 용량 줄이기 Texture용량 줄이는 방법은 저번에도 한 번 소개해드렸던 적이 있습니다. Unity Texture Compresion Format이란? Player Setting을 보다보면 Texture Compresion Format을 본적이 있을 것이다 ETC, ETC2, ASTC 3개의 종류가 존재한다 Textu..
이번 포스팅에서는 오브젝트를 들고 두 손으로 해당 오브젝트의 사이즈를 컨트롤 하는 방법에 대해 알아보고자 합니다. 플레이어 세팅하기 프로젝트 돋보기에 full이라고 검색하시면 맨 아래 InteractionRigOVR-FullSynthetic 프리팹이 보입니다. 해당 프리팹을 하이러키창에 끌어다가 놓으신 다음, OVRControllerHands아래에 ControllerHandInteractores를 찾아줍니다. 이때 [Right/Left] 둘 모두에게 HandGrabInteractor을 끌어다가 놓아줍니다. 위와 같이 하셨다면 플레이어 세팅은 모두 끝났습니다. 오브젝트 세팅하기 큐브를 하나 생성해준 다음 Rigidbody, Grabbable, One Grab Free Transformer, Two Grab..
Unity 프로젝트에 국한된 내용이 아닌 모든 소프트웨어 개발 프로젝트에서 잘 정의된 폴더 구조를 따르는 것은 여러 가지 이유로 중요하며 다음과 같은 많은 이점을 제공합니다. 체계적인 폴더 구조를 따를 때 얻을 수 있는 이점 가독성: 명확하게 정리되어 있는 폴더 구조를 사용하면 찾고자 하는 폴더를 쉽게 찾을 수 있습니다. 효율성: 명확하게 정리되어 있는 폴더 구조를 사용하면 찾고자 하는 리소스를 더 빠르게 찾을 수 있어 개발 속도가 빨라집니다. 충돌 방지: Git과 같은 버전 관리 시스템에서 명확하게 정리되어 있는 폴더 구조를 사용하면 파일 충돌 및 중복 작업을 방지하는 데 도움이 됩니다. 확장성: 프로젝트 규모가 커짐에 따라 명확하게 정리되어 있는 폴더 구조를 사용하면 점점 늘어나는 리소스들을 관리하는..
유니티를 이용한 게임 개발자들의 고충은 무엇인가요? 저는 디버깅할 때가 가장 고통스럽니다... 디버깅을 하기 위해 항상 에디터를 껐다 켰다 해야하는데 그 때 생기는 컴파일 시간이 너무나 고통스럽기 때문입니다.. 컴파일을 하지 않으려면 어떻게 해야할까요? 바로 에디터를 종료하지 않고 실행된 상태에서 수정하면 됩니다! 그것을 가능하게 해주는 에셋이 바로 Hot Reload이며 매우 가볍고 사용하기 쉽다는 큰 장점 또한 있습니다. Hot Reload 사용 방법 정말 쉽습니다. Hot Reload를 임포트하고 나면 위와 같이 새로운 윈도우 창이 하나 생성됩니다. Start 버튼을 눌러준 후 누락된 파일들을 Install해줍니다. 이때 누락된 파일들은 서버 바이너리 파일이라고 합니다. Hot Reload의 버전이..
위와 같은 방식은 유니티에 내장되어 있는 Video Player를 이용한 방법이며, Video Player에 대한 사용방법에 대해 알아보겠습니다! Video Player란? Video Player를 사용하면 비디오를 재생할 수 있으며 로컬 콘텐츠와 스트리밍 콘텐츠를 모두 지원한다고 합니다. 재생, 반복 및 오디오 관리를 위한 컨트롤을 제공하고 3D 개체, UI 요소 또는 장면 배경에 비디오를 렌더링할 수 있는 기능 또한 제공한다고 합니다. 하이러키창에서 [Video] - [Video Player]를 선택하여 생성할 수 있습니다. Video Player Video Player를 실행시키기 위해 반드시 2가지는 설정하셔야 합니다. 첫 번째로 Video Clip이며, 두 번째로 Target Texture입니다..
Final IK란? Final IK는 Unity 엔진에서 사용할 수 있는 가장 완벽한 역운동학(Inverse Kinematics) 솔루션으로 널리 인정받고 있는 에셋입니다. 복잡한 IK 설정을 자동화해 주어 개발 속도를 매우 향상시켜주며, 'Baker'같은 기능을 통해 IK 움직임을 새로운 애니메이션 클립으로 생성해 주는 기능도 포함되어 있어, 본인이 직접 애니메이션 클립을 제작할 수 있게 되어 디자이너에게 사랑받을 수 있습니다. 또한 VRIK과 같은 VR에 안성맞춤인 컴포넌트가 존재하여 VR을 개발하는 개발자라면 반드시 필수로 가지고 있을 만큼 유용한 에셋입니다. IK란? 역운동학(Inverse Kinematics)은 캐릭터의 애니메이션을 더 디테일하게 만들 때 사용되는 기술입니다. 본질적으로 손이나 ..
Volumetric LightBeam 란? Volumetric Light Beam을 사용하면 유니티 내 조명 퀄리티를 크게 향상시킬 수 있습니다. Volumetric LightBeam 영상 Volumetric LightBeam에는 두 가지 종류가 있으며 플랫폼에 맞게 사용하시면 됩니다. - SD Beam은 빠르지만 기능이 제한적이며(트루 볼류메트릭 섀도 및 쿠키 지원 없음), 모바일 및 독립형 VR(Oculus Quest)에서 실행되게 끔 최적화되어 있습니다. - HD Beam은 고급 기능(트루 볼류메트릭 섀도 및 쿠키)을 제공하지만 성능이 더 무겁기 때문에 하이엔드 플랫폼(PC 및 콘솔)에서만 사용해야 합니다. Volumetric LightBeam 사용 방법 이 포스팅에서는 SD Beam에 대한 설명만..
유니티에서 화면을 회색으로 바꾸는 방법은 정말 다양합니다. 예를 들어, 셰이더를 이용해서 카메라의 렌더링을 컨트롤한다거나, 간단하게 UI를 이용하여 화면을 회색으로 가리는 방법 등이 있습니다. 저는 그중에서 (Post Processing)채널 믹서를 이용한 방법에 대해 소개드리고자 합니다. (Post Processing)채널 믹서 을 이용하기 위해서는 URP & HDRP환경이여야 합니다. 즉, 빌트인 환경에서는 어렵다는 뜻입니다. 채널 믹서란? 채널 믹서는 Unity의 URP 및 HDRP에서 사용되는 포스트 프로세싱 효과입니다. 채널 믹스를 통해 이미지의 빨강(R), 녹색(G), 파랑(B) 색상 채널의 강도를 조정할 수 있습니다. 앞서 언급했다시피, Unity의 채널 믹서를 이용하여 일반적으로 각 R, ..
CreateAssetMenu란? CreateAssetMenu는 특정 스크립트에서 새로운 어셋을 생성할 수 있는 메뉴 옵션을 제공해줍니다. 이를 통해 사용자가 유니티 에디터의 메뉴를 통해 쉽게 새로운 인스턴스를 만들 수 있게 됩니다. CreateAssetMenu 어트리뷰트(attribute)는 클래스 선언 바로 위에 위치해야 합니다. 예시 [CreateAssetMenu(fileName = "MonsterData", menuName = "MonsterScriptable/CreateMonsterData", order = int.MaxValue)] public class MonsterData: ScriptableObject { [SerializeField] private int hp; public int HP ..
유니티 3D 개발을 하면서 가장 애용하고 유용하게 사용중인 에셋을 소개드리고자 합니다. 지극히 주관적인 생각이며 저의 개발 스타일에 맞춰 추천하는 것임을 강조합니다. Odin Inspector 유니티 Odin Inspector Odin Inspector란? 오딘 인스펙터는 커스텀 에디터 코드를 한 줄도 작성하지 않고도 강력하고 사용자 친화적인 커스터마이징 에디터의 모든 워크플로 이점을 누릴 수 있는 Unity용 플러그인입니다. wlsdn629.tistory.com 프로젝트를 시작하면 아무 생각 없이 패키지 매니지먼트에 들어간 후 오딘 인스펙터를 설치합니다. 오딘 인스펙터를 알고 난 후와 전의 개발속도 차이는 실감이 날 정도로 제 값을 똑똑히 해주는 에셋입니다. 마치, GPT가 생겨난 후와 전과 같은 느낌..
애니메이션을 제작하다보면 가끔 디자이너로부터 잘못된 애니메이션 클립을 전달받는 경우가 생깁니다. 디자이너가 바쁘지 않다면 바로 수정해줄 수 있지만 여유가 없다면 유니티 개발자가 직접 수정하는 방법도 있습니다! 물론, 애니메이션 클립을 수정해주는 것이 가장 좋은 방법이라고 저는 생각합니다만 서로의 시간을 아끼기 위해 이번 포스팅에서는 개발자가 "직접" 애니메이션 클립을 조정하는 방법에 대해 알아보고자 합니다. Animation Clip 조정해보기 애니메이션 클립을 조정해보기 위해 애니메이션 클립 하나를 선택해봅니다. 애니메이션 클립을 눌러보면 Loop Time, Root Transform Rotation, Root Transfom Rotation(Y), Root Transfom Rotation(XZ) 옵션..