유니티에서 패키지를 기본값으로 재설정하기(reset pacakges to defaults) 패키지를 기본값으로 재설정하면 프로젝트에서 사용자가 설치한 모든 패키지들을 제거하고 기본값으로 초기화합니다. 이 작업은 컴파일 또는 프로젝트 손상을 발생시킬수있습니다. 아래 예에서 일부 패키지의 an error occurred while resolving packages:project has invalid dependencies 에러를 해결하기 위해 패키지를 초기화하였습니다. 1)콘솔에서 project has invalid dependencies 에러를 확인합니다. 2)package manager에서 일부 패키지의 an error occurred while resolving packages 에러를 확인할수있습니다...
유니티 deterministic compilation failed 1)유니티 콘솔에서 deterministic compilation failed가 표시되는 경우 deterministic compilation를 비활성화 2)edit 메뉴의 project settings로 이동한다. 3)player의 use deterministic compilation를 체크해제한다. 패키지 버전을 업데이트 4)package manager로 이동한다. 5)상단에서 unity registry를 선택한다. 6)해당 패키지를 선택 및 업데이트한다.
유니티에서 스크립트로 개별 파티클 설정하기(GetParticles, SetParticles) 1)씬에 새로운 파티클을 생성하고 최대 파티클 개수를 설정한다(max particles) 2)스크립트에서 파티클시스템 변수와 파티클 배열을 선언한다. 3)파티클 시스템의 현재 활성화된 파티클을 가져오고 개수를 출력한다. docs.unity3d.com/ScriptReference/ParticleSystem.GetParticles.html 4)게임을 플레이하면 활성화된 파티클의 개수를 출력한다. 5)파티클 개수가 증가하여 최대 파티클 개수에 도달한다. 에디터에서 표시하는 현재 파티클의 개수와 동일한것을 확인할수있다. 6)프레임마다 개별 파티클(예에서 0번 파티클)의 남은 수명을 출력한다(Particle.remaini..
유니티에서 에셋 직렬화 방법 변경하기(force text, force binary) 유니티 에디터에서 에셋의 데이터를 직렬화(serialization)하는 방법을 변경할수있다. 1)프로젝트 세팅에서 asset serialization가 force binary mode로 설정되어있는것을 확인한다. (최신 버전의 유니티는 force text가 기본 설정으로 되어있다) 2)씬에서 새로운 큐브 오브젝트를 생성한다. 3)오브젝트의 프리팹을 생성한다. 4)프리팹을 선택하고 마우스 우클릭한후 show in explorer를 선택한다. 5)윈도우 탐색기에서 유니티 프로젝트의 에셋 폴더를 표시한다. 6)프리팹 파일(.prefab)을 텍스트편집기에 드래그, 드롭한다. 프리팹의 데이터가 16진수로 표현되고있는것을(hexad..
유니티와 깃허브(github) 연동하기 3 리포지토리의 변경사항 커밋하기(commit), 로컬 리포지토리를 깃허브 웹사이트(remote repository)에 업로드하기(push) 1)깃허브 데스크톱에서 리포지토리 및 유니티 프로젝트의 변경사항이 표시되는것을 확인할수있다. 2)유니티에서 project settings의 editor로 이동한다. 3)version control에서 visible meta files를 선택한다. 이 옵션은 윈도우의 프로젝트 폴더에서 에셋의 메타파일을 보기가능한 상태로 설정한다. 4)asset serialization의 mode에서 직렬화된 에셋을 저장하는데 사용할 포맷을 선택한다. 텍스트 모드인 force text를 선택한다. 5)프로젝트의 assets에 새로운 에셋을 추가한..
유니티와 깃허브(github) 연동하기 2 데스크톱에 깃허브 리포지토리 복사하고(clone), 새로운 유니티 프로젝트 생성하기 1)아래 웹사이트에서 깃허브 데스크톱(github desktop)을 다운로드 및 설치한다. desktop.github.com/ 2)깃허브 데스크톱을 실행한다. 3)상단 file 메뉴의 options으로 이동한다. 4)accounts에서 깃허브의 계정으로 로그인하고 데스크톱의 접근 권한을 부여한다. 5)계정 로그인이 완료되면 깃허브의 리포지토리들을 표시한다. 6)clone a repository from internet을 선택한다. 7)clone a repository에서 복사 방법을 선택한다. URL을 사용하여 리포지토리를 복사하려면 URL탭으로 이동한다. 8)깃허브 웹사이트에서..
유니티와 깃허브(github) 연동하기 1 동일한 프로젝트 정보에 대한 여러 버전을 관리하는것을 버전관리(version control)라고한다. 깃허브(github)는 버전관리를 지원하는 웹호스팅 서비스이다. 유니티와 깃허브를 설정하여 프로젝트를 관리할수있다. 깃허브에서 새로운 리포지토리 생성하기(repository) 1)깃허브에서 계정 로그인하고 새로운 리포지토리를 생성한다. 2)리포지토리의 이름(repository name)과 설명(description)을 기입한다. private를 선택하면 리포지토리를 공개하지않는다. 3)add a README file, add .gitignore에 체크한다. .gitignore 템플릿에서 유니티(unity)를 선택한다. 4)create repository를 클릭하..
유니티에서 메시 콜라이더 사용하기(mesh collider, convex) 오브젝트의 메시와 유사한 형태의 콜라이더를 생성하여 기본적인 콜라이더(primitives - box collider, sphere collider, capsure collider)보다 정확한 충돌을 표현할수있다. 하지만 충돌을 처리하는데 발생하는 오버헤드에 유의해야한다. (씬에서 메시의 와이어프레임 표시하기, 메시콜라이더에서 최적화된 mesh사용하기, 메시콜라이더의 convex 사용하기) 1)3D프로그램에서 제작한 메시 에셋을 유니티에서 불러오기한다. 2)에셋 폴더에서 메시를 선택하면 정점 및 트라이의 개수를 확인할수있다. 3)씬의 draw mode를 wireframe으로 설정하면 메시의 와이어프레임을 표시한다. 4)오브젝트에 m..
유니티 스크립트에서 버튼에 온클릭 리스너 추가하기(onClick.AddListener) 스크립트에서 버튼에 온클릭 이벤트 리스너 추가하는 방법 1)일반적으로 버튼 컴포넌트에서 직접 게임 오브젝트를 참조하고 함수를 설정하는 방법으로 온클릭 리스너를 추가할수있다. 2)스크립트에서 버튼에 리스너를 추가하려면 onClick.AddListener 함수를 사용한다. btn1.onClick.AddListener(btn1print); 추가할 함수에 인수가 존재하지않으면 함수명을 입력한다. btn2.onClick.AddListener(delegate { btn2print("Hello"); }); btn3.onClick.AddListener(() => btn3print("goodbye")); 추가할 함수에 인수가 존재하면..
유니티 이전 버전 에디터 제거하기 유니티 허브에서 제거 1)유니티 허브의 설치 메뉴에서 컴퓨터에 설치된 모든 버전의 에디터를 확인할수있다. 2)항목을 선택하고 설치 제거를 진행할수있다. 유니티 에디터 폴더에서 제거(uninstall.exe) 3)유니티의 설치 경로는 아래와 같다. C:\Program Files\Unity\Hub\Editor 4)제거하려는 버전의 에디터 폴더에서 uninstall.exe를 실행하여 프로그램을 제거할수있다.
유니티에서 애니메이션 클립 분할하고 프레임 범위설정하기 (사용 프로그램 - unity 2019.4.16f1) 한개의 클립에 존재하는 다수의 애니메이션을 분할할수있다. 1)애니메이션의 임포트설정에서 한개의 애니메이션 클립이 존재하는것을 확인할수있다(take001) 2)미리보기를 플레이하면 클립에 존재하는 다수의 애니메이션을 순차적으로 재생한다. 3)애니메이션 클립 하단의 add to list를 클릭한다. 4)클립의 이름을 설정하고 애니메이션의 시작과 끝 프레임을 설정한다. 5)apply를 클릭하면 설정을 적용하고 프로젝트의 에셋에서 애니메이션 클립이 추가된것을 확인할수있다.
3D맥스에서 애니메이션의 root motion 제거하기(in-place) 캐릭터 애니메이션을 root motion에서 in-place로 수정하는 방법 root motion 애니메이션(walk) 1)캐릭터 애니메이션의 root 오브젝트를 선택한다. 2)애니메이션을 실행하면 root 오브젝트에 모션이 설정되어있는것을 확인할수있다. 3)시작 프레임으로 이동하고 root 오브젝트의 모든 키를 선택한다. 4)타임라인에서 마우스 우클릭한후 delete selected keys를 선택하면 키를 제거한다. 5)root 오브젝트의 모션이 제거되고 애니메이션이 in-place로 수정된것을 확인할수있다. in-place 애니메이션(walk)