본문 바로가기

유니티

Unity: 유니티에서 Flutter처럼 작업하기 - uiwidgets 유니티 엔진에서 사용할 수 있는 UI 프레임워크는 다음과 같습니다. 공식 지원 시스템 IMGUI : 런타임 사용에 적절하지 않은 코드기반의 GUI 시스템 uGUI : 가장 점유율이 높은 기본 내장 UI 프레임워크 UI Toolkit : 웹과 유사한 uxml/uss 방식의 UI 프레임워크 에셋 스토어 플러그인 NGUI : 에셋스토어에서 유료로 판매되는 UI 에셋. uGUI가 대중화되기 전에 주로 사용 https://docs.unity3d.com/Manual/UI-system-compare.html Unity - Manual: Comparison of UI systems in Unity Creating user interfaces (UI) Comparison of UI systems in Unity Unit.. 더보기
Unity: 모바일 MMORPG 프로젝트 카야 Project Kaya 살펴보기 차례 서론 설치 프로젝트 구성 - 씬 (로비, 무브먼트) - 캐릭터 (정보, 본, 무기) - 셰이더 그래프 (PBR, PBR Skin, Hair) - 렌더피쳐 (캐릭터 가려지는 부분 그리기) - 플래너 리플렉션 (바닥 반사) - VFX 그래프 (이펙트 파티클) 좋았던 점 아쉬운 점 바라는 점 서론 2020년 유나이트 서울에서 발표된 세션에 등장했던 프로젝트 카야가 베일을 벗고 유니티코리아 GitHub 리포지토리에 공개되었습니다. 유니티 코리아 오피스 10주년을 기념하여 누구나 내려받아 실행시켜 볼 수 있게 오픈한 점이 고무적입니다. 메인 캐릭터로 사용된 '카야'는 협력사에 외주발주를 통해 실제 게임 프로덕션 과정에 가깝게 제작되었다고 알려져, 적당한 더미를 사용해 실무에 큰 효용성이 없던 다른 테크 데모.. 더보기
Unity: 비동기와 코루틴을 혼동하지 않기 본론에 앞서 유니티에서의 대부분 로직은 동기 방식으로 작성되며, 흐름(Flow, Stream)을 관리하거나 시간을 조절해 시행해야하는 작업은 코루틴(Coroutine)이라는 기능을 활용하여 구현됩니다. 특히 유니티는 기본적으로 메인스레드가 아닌 곳에서의 네이티브 API 호출을 허용하고 있지 않습니다. 비동기 방식으로 로직을 작성하더라도 유니티 API를 사용해야 하는 끝단에서는 메인스레드에서 함수 Call 작업을 마무리 해 주어야 합니다. 이 때 일반적으로 사용되는 방식이 액션을 큐에 추가해 유니티 Update 루프에서 처리해주는 디스패처입니다. 이 방법론이 필요한 이유와 한계, 장단점을 알고 계시다면 아래 내용은 스킵해도 됩니다. 왜 게임 개발에서는 비동기 사용이 적을까요? 상용 엔진에서는 async/a.. 더보기
Unity: ScnceManager.LoadSceneAsync 프레임 드랍 씬을 비동기로 로딩할 수 있는 API입니다. https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadSceneAsync.html Unity - Scripting API: SceneManagement.SceneManager.LoadSceneAsync You can provide the full Scene path, the path shown in the Build Settings window, or just the Scene name. If you only provide the Scene name, Unity loads the first Scene in the list that matches. If you have multiple.. 더보기
Unity: InputSystem 액션 이름 변경시 유용한 팁 New Input System은 스크립터블 오브젝트를 통해 프로필 형태로 관리된다. 에디터를 열어보면 사용하기 편하게 정리되어 있다. 이 데이터를 바탕으로 자동으로 생성되는 스크립트로 제어와 동작 구현이 가능하다. 모노비헤이비어 클래스에서 인터페이스를 상속받고, 콜백을 설정해준 뒤 인터페이스를 구현해주면 InputSystem이 이벤트를 밀어넣어준다. 그런데, ActionMap이나 Action의 이름을 바꾸어야 할 때 에디터에서 변경 후 코드를 생성하면 스크립트에서는 변경사항이 적용되지 않는다. 모두 찾아 바꾸기 기능을 이용해 수정하는 대안도 있겠지만 네이밍 컨벤션이 비슷한 경우를 완벽하게 필터링 해 수정하기 어렵다. 이 작업 하자고 정규식을 만들어 돌리는 것 역시 시간 낭비일 수 있다. 자동생성된 클래스.. 더보기
Unity: 에디터 환경에서 활성화 된 윈도우 최대화 단축키 Shift + Space 키로 에디터 뷰의 전체로 확대가능합니다. 더보기
Unity: 스키닝 된 메쉬의 웨이트가 끊길 때 해결 방법 외부 DCC 툴에서 생성하여 유니티로 가져온 스키닝 된 메쉬의 웨이트가 끊길 때 해결 방법 프로젝트 설정 > 퀄리티 > 스킨 웨이트 개수를 조정해줍니다. 버텍스 당 최대로 영향을 미칠 수 있는 본의 개수를 지정하는 옵션입니다. 질문 출처 : https://cafe.naver.com/unityhub/121070 더보기
Unity: 안드로이드 빌드 Splash 후 검은 화면 해결 방법 안드로이드로 빌드하고 기기에서 실행시 스플래시 화면이 끝난 후 검은 화면인데 홈 화면으로 나갔다 다시 앱으로 들어오면 제대로 렌더링되는 현상 해결 방법 프로젝트 세팅 - 플레이어 - BlitType 을 Always로 바꿔주세요. Graphics API의 순서를 조정해주세요. 질문 출처 : TA Network 오픈카톡 더보기