분류 전체보기(63)
-
유니티 프로젝트 관련 경고 메시지 정리
1. Open Project in Non-Matching Editor Installation 1. 메시지 내용 - 열려고 하는 프로젝트가 마지막으로 저장된 버전과, 지금 열려고 하는 에디터의 버전이 맞지 않을 때 발생한다. 위의 스크린샷을 예로 들면 저장된 프로젝트는 2019.3.7f1 버전이고, 현재 에디터는 2019.3.6f1 버전이기 때문에 호환이 맞지 않을 수 있다는 의미이다. 여기서 Continue를 누르게 되면 일부 패키지가 업데이트 될 수 있으며, 그렇게 변경된 프로젝트 패키지 목록은 프로젝트 폴더 내에 있는 Logs/Packages-Upgrade.log 파일에서 확인이 가능하다고 쓰여있다. 보통 여기서 Continue를 누르는 경우 프로젝트 내에서 각종 에러가 터지는데, 그 중에서도 가장 ..
2020.08.14 -
GPGS(Google Play Game Service) 연동
유니티 빌드 환경 셋팅 1. GitHub에서 연동 플러그인 설치 https://github.com/playgameservices/play-games-plugin-for-unity playgameservices/play-games-plugin-for-unity Google Play Games plugin for Unity. Contribute to playgameservices/play-games-plugin-for-unity development by creating an account on GitHub. github.com 위 링크에서 받은 후 current-build 내에 있는 언패키지 파일을 프로젝트에 임포트하면 된다. 2. GPGS 라이브러리 설치 - 위 과정이 정상적으로 진행되었다면, 아래의 그..
2020.08.12 -
Zombie 정리 - 진행중
- Global Illumination, NavMesh 등은 Static Object에만 적용된다 - 캐릭터 이동 구현은 Input 부와 Act 부로 나누는게 확장성 면에서 좋다. (레트로 유니티 14.4장 참고) - 캐릭터 이동 구현에서 RigidBody의 MovePosition() 메소드를 사용하여 위치 값을 변경하는 것이 좋다. Transform으로 위치 값을 직접 변경한다면 물리 처리를 무시하고 위치를 덮어쓸 가능성이 있는데, 위 방법을 사용할 경우 이동 경로에 다른 콜라이더가 존재한다면 물리 처리가 정상적으로 실행되기 때문이다. 비슷한 관계로 회전 값에 대해서도 transform.rotation을 이용하는 것보다 RigidBody의 rotation을 이용하는것이 더 적절하다. - Cinemach..
2020.08.10 -
UGUI / NGUI / AssetBundle / CDN 개념 요약
1. UGUI - Unity Engine에서 공식적으로 지원하는 UI System - Canvas 단위로 Draw Call이 관리된다. - 동적 할당이 편하다 - NGUI에 비해 레퍼런스가 부족하다. 잘 몰라서 검색해도 안 나오는 경우가 비교적 많다는 의미이다. - 아무래도 공식 지원 System이다보니 호환성 부분에서 강점을 가질 수 있다. 2. NGUI - UGUI가 나오기 전에 사용되던 플러그인. 3rd party library라고 생각하면 편하다. - UI Root 단위로 관리된다. - 정적 화면에 최적화가 잘 되어 있다(고 알려졌으나 잘 모르겠음) - UGUI가 나오기 전부터 사용되어 오던 시스템이기에 참고할 레퍼런스가 많다. - 호환성 부분에서 UGUI에 점점 밀린다고 한다. legacy Sy..
2020.08.06 -
특정 GameObject의 하위 GameObject / Transform 검색하기
1) Find 함수로 GameObject의 Name 검색 - 기본적으로 해당 GameObject의 Transform으로 접근하면 Find 함수로 하위 오브젝트 명을 검색할 수 있지만, Find 함수 자체로는 한칸 아래밖에 검색이 되지 않는다. 따라서 만약 기준 Transform이 "ch_01_01"이라면, 1) Bip01 Footsteps 2) Bip01 Pelvis 이 두개를 제외하고, 더 하위에 위치한 오브젝트들은 Find 함수로 검색이 되지 않는다는 의미이다. - 이 경우 Find 함수의 인자를 파일 경로 찾듯이 일일이 모든 오브젝트명을 짚어가며 넣는 방법이 있다. 예를 들어 "DummyRHand" 오브젝트를 검색해서 사용하고 싶다면 아래와 같이 사용하면 된다. public GameObject mo..
2020.08.06 -
NavMesh / NavMeshAgent
※ 덧붙이면서 지속적으로 업데이트하다가 완료되면 정리해서 재포스팅 예정 1. NavMesh와 NavMeshAgent는 다른 개념이다. - NavMesh는 Field의 개념, NavMeshAgent는 움직이는 Character의 개념 2. NavMesh Bake 순서 1) 네비게이션 창 열기 (Window > AI > Navigation) 2) 네비게이션 창에서 Bake 탭 클릭 3) NavMesh를 Bake 할 Field를 전부 정적 오브젝트(Static) 처리 4) Baked Agent Size 등 각 설정들을 맞춘 뒤 Bake 3. NavMesh에 적용받으려면 NavMesh Agent Component를 Character에 추가해야 한다.
2020.08.03