유니티에서 사용자 정의 클래스 만들기(직렬화, serializable) [serializable] 어트리뷰트를 사용하여 클래스를 직렬화하는 방법 1)아래 예에서 test 클래스를 정의하였다. 2)인스펙터에서 해당 클래스의 필드가 표시되지않는다. 3)클래스에 [Serializable] 어트리뷰트를 지정한다. [Serializable]는 클래스 또는 구조체를 직렬화 할수 있음을 나타낸다. test 클래스 유형의 private 변수를 선언하고 [SerializeField] 어트리뷰트를 지정한다. 4)인스펙터에서 클래스의 필드가 정상적으로 표시되는것을 확인할수있다.
유니티에서 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)아래 스크립트에서 파일의 바이트 시퀀스를 문자열로 디코딩하고 객체를 생성한다.
유니티에서 객체를 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..
유니티 프로젝트 세팅 파일에서 태그, 레이어, sortinglayers 변경하기 TagManager.asset 파일에서 태그, 레이어, sortinglayers의 항목을 추가, 제거하고 순서를 변경하는 방법 1)인스펙터에서 add tag로 이동한다. 2)예에서 새로운 태그를 추가하였다. 3)게임오브젝트에 설정할수있는 태그 목록이 추가된것을 확인할수있다. 4)일반적으로 태그 목록에서 태그 항목을 선택하고 제거할수있다. 5)실행중인 유니티를 종료하고 프로젝트의 ProjectSettings 폴더로 이동한다. 6)텍스트편집기에서 TagManager.asset 파일을 열기한다. 여기에서 사용자가 에디터에서 추가한 태그, 레이어, sortingslayers 목록을 확인할수있다. 태그(tags) 목록을 확인한다. (..
GameMaker Studio2 gamemaker studio는 비디오 게임, 주로 2D 그래픽 게임을 제작하는데 사용되는 크로스 플랫폼 게임엔진이다. 특히 비주얼 스크립팅 도구인 드래그앤드롭(DnD)을 제공하며 사용자는 프로그래밍에 대한 지식이 없어도 함수호출, 개체 인스턴스화, 파일 및 데이터 구조작업등의 일반적인 작업을 수행할수있다. https://www.yoyogames.com/en Make 2D Games with GameMaker Studio 2 Make a game with GameMaker. The ultimate 2D game engine and easiest to learn. Learn how to make games from scratch. No code needed. www.yoyo..
Cocos2d-x, Cocos Creator Cocos2d-x는 2D 및 3D 게임 제작을 위한 무료 소프트웨어로 그래픽렌더링, 오디오, 물리, 사용자입력, 네트워크등의 다양한 기능들을 제공하는 오픈소스 크로스 플랫폼 게임 개발 프레임워크이다. 특히 cocos creator는 통합 게임 개발도구로써 사용하기 쉬운 콘텐츠 제작 워크플로우와 유용한 개발자 도구 모음을 제공한다. https://www.cocos.com/en Cocos Creator cocos creator 소개 동영상 https://youtu.be/iTdWqJpQlic cocos creator 프로그램 다운로드 https://www.cocos.com/en/creator Cocos Creator, Android and iOS Game Devel..
유니티 360 파노라마 동영상 캡처 기술문서 unity.com/kr/solutions/360video 360도 동영상 | Unity 간단한 실시간 워크플로를 이용하여 상호작용성, CG 효과, 시차, 이동성을 추가하세요. unity.com blogs.unity3d.com/2018/01/26/stereo-360-image-and-video-capture/ Stereo 360 Image and Video Capture - Unity Technologies Blog We are proud to announce that in 2018.1 creators can now capture stereoscopic 360 images and video in Unity. Whether you’re a VR developer ..
유니티 게임 그래픽 최적화 주제 모음 프러스텀컬링 오쿨루젼컬링 정적 배칭 유니티에서 정적배칭(static batching) 사용하기 동적 배칭 유니티에서 동적배칭 사용하기(dynamic batching) GPU인스턴싱 유니티 GPU 인스턴싱(instancing) vsync CombineMeshes함수 유니티에서 CombineMeshes 함수를 이용하여 배칭하기 LOD(level of detail) 유니티에서 LOD 그룹 설정하기 라이팅기법 라이트맵 gpu스키닝 라이트프로브 리플렉션 프로브 텍스처 압축 파티클최적화 렌더링파이프라인(빌트인, URP, HDRP) 유니티의 렌더링 파이프라인(built-in, SRP, URP, HDRP) 포워드렌더링, 디퍼드렌더링 안티 엘리어싱 유니티 안타 엘리어싱(anti-al..
KitBash3D영화, 게임 제작을 위한 프리미엄 에셋 스토어KitBash3D는 비디오 게임, 영화, 텔레비전, 디자인 또는 예술 분야의 세계를 구축하는 데 필요한 조립식 3D 에셋을 판매한다.현대적인 초고층 건물에서 신미래 유토피아, 고대 사원까지 이르는 독창적인 환경을 창조할 수 있는 사용자 정의 가능한 3D 에셋 세트를 사용할수있다. https://kitbash3d.com/