본문 바로가기

Unity

Unity: 스키닝 된 메쉬의 웨이트가 끊길 때 해결 방법 외부 DCC 툴에서 생성하여 유니티로 가져온 스키닝 된 메쉬의 웨이트가 끊길 때 해결 방법 프로젝트 설정 > 퀄리티 > 스킨 웨이트 개수를 조정해줍니다. 버텍스 당 최대로 영향을 미칠 수 있는 본의 개수를 지정하는 옵션입니다. 질문 출처 : https://cafe.naver.com/unityhub/121070 더보기
Unity: 안드로이드 빌드 Splash 후 검은 화면 해결 방법 안드로이드로 빌드하고 기기에서 실행시 스플래시 화면이 끝난 후 검은 화면인데 홈 화면으로 나갔다 다시 앱으로 들어오면 제대로 렌더링되는 현상 해결 방법 프로젝트 세팅 - 플레이어 - BlitType 을 Always로 바꿔주세요. Graphics API의 순서를 조정해주세요. 질문 출처 : TA Network 오픈카톡 더보기
Unity: UniRx로 NavMeshAgent의 도착 콜백 생성하기 neuecc/UniRx: Reactive Extensions for Unity (github.com) neuecc/UniRx Reactive Extensions for Unity. Contribute to neuecc/UniRx development by creating an account on GitHub. github.com 내장된 NavMeshAgent에는 따로 도착 콜백이 존재하지 않아 UniRx를 이용해서 임의로 콜백을 호출하도록 구현했습니다. 멈춘상태인지를 판단하는 IsStopped 함수를 만들고, Start에서 Update루프에서 확인하도록 등록해주었습니다. public class PlayerCharacter: Character { public NavMeshAgent agent = defau.. 더보기
Unity: Workflow. 자주 사용되는 싱글톤 패턴 Singleton 한 번의 객체 생성으로 전역성을 띄고 어디서든 접근이 가능하기 때문에 편리하게 사용되나 필수적으로 커플링이 생긴다는 점에서, 남용하지 않는 선을 지켜 적당히 사용하게 됩니다. 게임 아키텍쳐가 매우 복잡하고 크지 않는 이상 10개가 넘는 싱글톤 객체가 생기는 일은 잘 없고, 필요한 매니저 클래스들 정도만 활용하는 편입니다. 유니티에서는 MonoBehaviour를 상속받는 컴포넌트를 토대로 구조가 쌓이기 때문에, MonoBehaviour를 위한 싱글턴 템플릿 클래스를 만들어두면 편리합니다. 그래서 제가 자주 사용하는 싱글톤 클래스들 코드를 기록해두려고 합니다. 1. 일반 클래스 싱글톤 템플릿 데이터 DB나 리소스를 관리해주는 클래스, 또는 MonoBehaviour의 인스펙터 기능이 필요 없이 코드로만 동작하.. 더보기
Unity: Workflow. 네비게이션 시스템 베이킹시 갭이 발생할 때 기본 설정으로 네비 메쉬를 굽고 캐릭터를 올려보면 캐릭터가 바닥에서 발이 떨어져있는듯한 모습을 보여주기도 합니다. 네비게이션 메쉬를 생성할 때 사용하는 복셀 크기때문에 그런데요, 옵션에서 복셀 크기를 적당히 줄여주면 비교적 정확하게 베이크가 됩니다. 너무 크기를 줄여버리면 시간이 과도하게 오래걸릴 수 있으니 감당할 수 있는 수준에서 조절하면 됩니다. 바닥에 신발이 붙은 것 처럼 수치를 조절할 수 있었습니다. 더보기
Unity: Workflow. 코드 레벨에서 사용중인 렌더 파이프라인 특정하기 2 이전 글에서 GraphicsSettings.currentRenderPipeline 의 이름을 참조하여 현재 렌더링 파이프라인을 확인하는 코드를 작성했었습니다. 2021.05.05 - [유니티] - 유니티: 8. 코드레벨에서 사용중인 렌더 파이프라인 특정하기 유니티: 8. 코드레벨에서 사용중인 렌더 파이프라인 특정하기 GraphicsSettings.currentRenderPipeline API를 이용하면 현재 사용중인 렌더링 파이프라인 에셋을 가져올 수 있습니다. 하지만 빌트인 렌더러를 사용하고 있는 경우, URP나 HDRP 패키지를 임포트 하지 않아 스 seonghwan.tistory.com 그런데 오늘 URP 코드를 둘러보다가 Shader.globalRenderPipeline이라는 string 프로퍼티.. 더보기
Unity: Workflow. 유니티 에디터 종료 확인 문구 유니티 에디터를 의도치 않게 꺼버릴 때가 있습니다. 다른 브라우저를 끄거나, 클릭 미스로 꺼버리는 경우가 있죠. 프로젝트가 작다면 금방 다시 키는게 큰 문제가 되지 않지만, 로딩 시간이 오래 걸리는 경우 의도치 않은 에디터 종료가 부담스러울 수 있습니다. 간단하게 에디터 콜백을 추가해 다이얼로그 박스를 한 번 더 띄우도록 구현해보겠습니다. using UnityEditor; public class EditorQuitHandler { [InitializeOnLoadMethod] private static void Register() { EditorApplication.wantsToQuit += OnWantsToQuit; } private static bool OnWantsToQuit() { return Ed.. 더보기
Unity: 작업중인 프로젝트를 URP로 전환하기 전 확인할 사항 이 게시글은 2021. 5월 경 작성되었습니다. 다소 상황이 달라졌을 수 있어, URP 디퍼드 렌더링 등 최신 업데이트 된 소식을 꼭 찾아서 확인하세요. 유니버설 렌더 파이프라인이 뭐길래? Universal Render Pipeline은 기존 LWRP에서 이름이 바뀐 템플릿입니다. High-Definition의 반대편에서 Light-Weight라는 타이틀 아래 개발이 시작되었지만 이런저런 과정을 거쳐 최종적으로 Universal 한 플랫폼에서 동작한다는 의미로 굳어졌습니다. Light 함보다는 Universal 함에 포커스를 맞추고 개발하겠다는 포부를 밝힌 것인데요, 일부 사용자는 이 렌더러가 결코 Light-Weight 하지 않았기에 이름을 바꿀 수밖에 없었던 게 아닌가 의문을 제기하기도 합니다. 사실.. 더보기