유니티에서 splash screen을 사용하여 게임의 시작화면 구성하기 1)상단의 edit 메뉴에서 project settings로 이동한다 2)player의 splash image로 이동한다. 3)예에서 사용한 유니티 무료버전인 Unity Personal는 유니티 스플래시 스크린, 유니티 로고를 비활성화할수없다. show splash screen, show unity logo에 체크되어있는것을 확인할수있다. (unity plus 또는 unity pro는 이 속성을 체크해제할수있다) 4)현재 설정한 splash screen을 확인하려면 preview를 클릭한다. 5)game 뷰에서 스플래시(splash) 및 로고(logo)의 애니메이션이 실행되는것을 확인할수있다. 배경이미지 설정하기 6)splash의 배..
유니티에서 json 파일 쓰기 및 읽기(FileStream, Encoding) 1)예에서 json형식으로 저장할 객체의 클래스를 정의하였다. 2)JsonUtility.ToJson 함수를 사용하여 객체를 json 형식으로 직렬화한다. 3)FileStream 클래스와 Encoding 클래스를 사용하기위해서 using 지시문으로 아래 두 네임스페이스를 추가한다. using System.IO;, using System.Text; 4)아래 스크립트에서 객체로부터 Json형식의 문자열을 생성하고 해당 문자열을 바이트 시퀀스로 인코딩한후 파일을 생성한다. 5)해당 경로에서 생성한 json파일을 확인할수있다. 6)아래 스크립트에서 파일의 바이트 시퀀스를 문자열로 디코딩하고 객체를 생성한다.
유니티의 특수 폴더(special folder)와 데이터경로(datapath) 유니티의 특수 폴더 https://docs.unity3d.com/Manual/SpecialFolders.html Unity - Manual: Special folder names Batching with the AssetDatabase Special folder names You can usually choose any name you like for the folders you create to organise your Unity project. However, there are folder names that Unity reserves for special purposes. For example, you must place..
유니티에서 객체를 xml 형식으로 변환 및 파일 저장하기 객체를 xml형식으로 직렬화 또는 xml형식에서 객체를 역직렬화하는 방법 1)예에서 xml형식으로 저장할 타입을 선언하였다. 2)XmlSerializer 클래스와 FileStream클래스를 사용하기 위하여 using 지시문으로 두개의 네임스페이스를 추가한다 using System.Xml.Serialization;, using System.IO; 3)XmlSerializer는 객체를 XML 형식으로 직렬화하고 XML 형식에서 객체를 역직렬화하는데 사용한다. 아래 스크립트에서 생성한 객체를 직렬화하고 지정된 Stream(FileStream)을 사용하여 XML 문서를 파일로 저장한다. 4)프로젝트의 해당 경로에서 새로 생성한 xml 파일을 확인할수있다...
유니티에서 객체를 json 형식으로 변환 및 파일 저장하기 오브젝트를 json 형식으로 변환하고 파일로 저장하기 또는 Json파일을 불러오기하여 데이터 생성하기 1)예에서 네가지 변수가 들어 있는 클래스를 정의하였다. 2)클래스의 오브젝트를 생성하고 JsonUtility.ToJson 함수에서 해당 오브젝트의 json 표현을 생성한다. 3)해당 오브젝트의 Json형식 문자열이 출력된것을 확인할수있다. 4)파일이름 및 경로를 설정하고 File.WriteAllText함수를 사용하여 파일을 저장한다. 5)해당 경로에서 Json파일이 생성된것을 확인할수있다. 6)텍스트 편집기에서 확인하면 데이터가 속성-값 쌍으로 표현되어있는것을 확인할수있다. 7)아래 예에서 JsonUtility.FromJson()함수를 사용하여..
유니티에서 Resources.Load 함수를 사용하여 에셋 로드하기 Resource 폴더는 유니티가 특별한 목적으로 예약한 폴더 중 하나로 해당 폴더에 에셋을 위치시키면 load함수를 사용하여 불러오기할수있다. 1)예에서 씬에 cube 오브젝트를 생성하였다. 2)cube 오브젝트의 프리팹을 생성하였다. 3)일반적으로 스크립트에서 게임오브젝트 타입의 변수를 선언하고 에디터에서 직접 참조시켜서 해당 오브젝트를 복제 및 생성할수있다. 4)게임을 시작하면 씬에 프리팹 게임오브젝트를 복제 및 생성한다. Resources.Load 함수를 사용한 방법 5)프로젝트의 Assets 폴더 하위에 Resources 폴더를 생성한다. 6)Resources 폴더 하위에 런타임에 불러올 에셋들을 위치시킨다. 예에서 Resourc..
유니티에서 manifest 파일을 수정하여 패키지 설치하기 manifest.json 파일의 dependencies 목록에 git URL을 추가하여 패키지를 설치하는 방법 프로젝트에서 git 패키지를 사용하려면 git 클라이언트가 컴퓨터에 설치되어있고 시스템 환경 변수 path에 git.exe파일의 경로가 추가되어있어야한다. 시스템 환경 변수 path에 git.exe파일 경로 추가하기 1)유니티 프로젝트의 Packages 폴더 하위에서 manifest.json 파일을 확인할수있다. 2)텍스트 편집기에서 manifest.json 파일을 열기한다. 3)dependencies는 프로젝트에서 이용 가능한 패키지 목록을 의미한다. 4)dependencies 목록에 설치하려는 패키지의 저장소 git URL을 추가한다..
유니티에서 git URL를 사용하여 패키지 설치하기 원격 서버의 깃 저장소에서 패키지를 가져와 설치하는방법(add package from git URL) 예에서 깃허브와 깃허브의 GUI 프로그램인 깃허브 데스크톱을 사용하였다. 1)깃허브데스크톱 및 프로젝트의 환경이 올바르게 구성되어있는지 확인한다. 2)깃허브의 저장소에서 URL를 복사한다. 3)패키지 관리자에서 add package from git URL로 이동한다. 3)복사한 URL 및 유효한 깃 URL을 입력하고 add를 클릭한다. 4)서버로부터 패키지를 다운로드하고 설치를 진행한다. 5)설치가 완료되면 패키지 관리자 목록에 추가되며 프로젝트의 패키지 폴더에서 확인할수있다. https://docs.unity3d.com/Manual/upm-ui-git..
유니티 패키지 설치 오류(No ‘git’ executable was found) 깃에 공개된 패키지를 패키지 매니저(package manager)의 git URL를 사용하여 설치를 시도할때 또는 깃에 공개되어있는 패키지를 사용하는 프로젝트를 열기할때 다음과 같은 오류 메시지를 표시하는 경우 'git' 실행 파일이 없습니다. 시스템에 git 을 설치하고 유니티를 재시작하세요 (no 'git' executable was found. please install git on your system then restart unity and unity hub) 시스템 환경 변수 path에 git.exe파일 경로를 추가하여 해결 1)시스템에 git GUI 또는 CLI가 설치되어 있고 경로가 올바르게 구성되어 있는지 확..
유니티에서 깃허브 저장소의 패키지(package) 다운로드하고 설치하기 깃허브 저장소(github repository)의 유니티 패키지를 다운로드 및 설치하는 방법(로컬 패키지 설치) 1)github의 repository에서 zip 파일을 다운로드한다. 예에서 아래 유니티 리포지토리를 사용하였다. https://github.com/Unity-Technologies/VFXToolbox 2)다운로드한 zip파일을 압축풀기한다. 3)유니티에서 패키지 관리자(package manager)로 이동한다. 4)좌측 상단에서 add package from disk를 선택한다. 5)압축풀기한 폴더에서 package.json 파일을 열기한다. 6)해당 패키지의 설치를 진행한다. 7)설치가 완료되면 패키지 목록에서 새로운 ..
유니티 MonoBehaviour 클래스 상속 비활성화 문제 1)아래 스크립트에서 MonoBehaviour 클래스 상속이 정상적으로 이루어지고있지 않은것을 확인할수있다. 2)해당 스크립트를 게임오브젝트의 컴포넌트로 추가할수없는것을 확인할수있다. (the script don't inherit a native class that can manage a script) 3)preferences의 external tools으로 이동한다. external script editor에서 스크립트 에디터를 설정한다. 예에서 기본으로 설정되있는 open by file extension에서 비쥬얼 스튜디오로 변경하였다. 4)클래스 상속이 정상적으로 이루어지는것을 확인할수있다.
유니티 에셋 curvy에서 애니메이션 해상도 높이기 일반적으로 스플라인의 포인트 개수를 증가시키거나 보간방법(interpolation)을 설정하면 스플라인 위에서 이동하는 오브젝트의 애니메이션 해상도를 높일수있다. 다음은 spline controller의 속성을 설정하여 애니메이션 해상도를 높이는 방법이다. 아래 예에서 스플라인을 적은 개수의 포인트로 구성하고 보간방법으로 linear를 선택한 환경을 설정하였다. 1)씬에 linear 형식의 스플라인을 생성한다. 2)적은 개수의 CP로 이루어진 곡선형태의 스플라인을 생성한다. 2)오브젝트(spline controller)의 애니메이션을 확인한다. 오브젝트의 축과 스플라인 위 포인트(CP)의 탄젠트 및 오리엔테이션이 일치되면서 애니메이션이 연속적이지 않은것..