Unity(28)
-
유니티 프로젝트 관련 경고 메시지 정리
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 -
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 -
MLAgents - RollerBall
1. 유니티 프로젝트 생성 2. ML-Agent 환경설정 메뉴 > Windows > Package Manager > "ML" 검색 > ML Agents 인스톨 3. Plane만들기 ("Floor") (0, 0, 0) 4. Cube만들기 ("Target") (0, 0.5, 3) 5. Sphere만들기 ("RollerAgent) (0, 0.5, 0) 6. RollerAgent에 RigidBody컴포넌트 추가 7. 빈게임 오브젝트 생성후 이름을 TrainingArea라고 하고 Floor, Target, RollerAgent자식으로 추가 8. RollerAgent.cs 파일 생성 9. 네임스페이스 추가 1) using Unity.MLAgents; 2) using Unity.MLAgents.Sensors; 1..
2020.07.14