70 likes | 245 Views
Client ( 모바일 ). Server. Client (Web). 3D Main Modeling (Asset). 3D Main Modeling (Asset). Texture (Asset). 실행 ( 저작모드 ). Basic Object Property (XML). Texture (Asset). Basic Object Property (XML). User Object Property (XML). File System. Download. Upload. 3D Item
E N D
Client (모바일) Server Client (Web) 3D Main Modeling (Asset) 3D Main Modeling (Asset) Texture (Asset) 실행 (저작모드) Basic Object Property (XML) Texture (Asset) Basic Object Property (XML) User Object Property (XML) File System Download Upload 3D Item Modeling (Asset) User Object Property (XML) 어플리케이션 종료 또는 업로드 메뉴를 이용하여, 진행된 오브젝트 상태를 XML로 저장하여, 서버로 전송. Upload
데이터 파일 구성. 3D Main Modeling (Asset) Tankxx.zip Tankxx모델링 파일. Tankxx.zip Tankxx.zip Texture (Asset) Tankxx_(Color).zip Tankxx의 텍스쳐 파일(.png) (Color).zip (Color).zip Basic Object Property (XML) Tankxx.xml Tankxx가 가지는 기본적인(Basic) 정보. Tankxx.xml Tankxx.xml Itemxxx.zip Tank 에 조립(합체)되는 3D 모델링 파일. (샘플이 없는 관계로 Cube, Sphere, Capsule, Cylinder로 구성.) 3D Item Modeling (Asset) Itemxxx.zip Itemxxx.zip 사용자(User)가 만든 오브젝트 정보. User.xml User Object Property (XML) * 확장자가 .zip 파일들은실제 zip 포맷이 아닙니다.
Basic(User) Object Property. (XML) <MyTank> <TankID></TankID> <TankName></TankName> <Texture></Texture> <AttachPointLists> <AttachPointList> <Name></Name> <Type></Type> <transform></transform> <rotation></rotation> <LinkInfos> <LinkInfo> <Name></Name> <Type></Type> <transform></transform> <rotation></rotation> </LinkInfo> </LinkInfos> </AttachPointList> </AttachPointLists> <Propertys> <Property> <Name></Name> </Property> <Property> <Name></Name> </Property> <Property> <Name></Name> </Property> … </Propertys> </MyTank> TankID: 탱크 오브젝트 고유 ID. TankName: 기본 캐릭터 이름. (사용자 입장에서는 닉네임.) Texture: 탱크 오브젝트 색상정보. AttachPointList: 합체된 Item 오브젝트 리스트 정보 Name: Item 이름. Type: Attach 가능한 Item 타입 (무기류, 장갑류 등의 분류) transform: 탱크 오브젝트 기준에서의 포인터 위치. rotation: 포인트 기준에서의 Item 방향. LinkInfo: Attach 된 Item 정보. Name: Attach 된 Item 이름. Type: Attach 된 Item의 타입. transform: Item의 위치. rotation: Item의방향. Property: 오브젝트가 가지는 속성 리스트. Name: 리스트명. * 구성 내용은 추가 및 삭제 될수도 있습니다.
1. Assetbundle Asset: 유니티에서 게임을 만들떄 필요한 모든 컨텐츠 AssetBundle: Asset들을 하나로 묶는 기능.( 압축(LZMA Algorithm) 파일 포맷 ) 2. Assetbundle 준비 사항. • Unity 4.3.2f tool. • AssetBundle Script (C#)(http://docs.unity3d.com/Documentation/Manual/BuildingAssetBundles.html에서 다운로드 가능) • AssetBundle 리소스 파일들. 3. Assetbundle 설정. Unity 실행 후 새 프로젝트 생성. 생성된 프로젝트 내 폴더 생성.(프로젝트 명) \Assets\Scripts\Editor (Scripts 생성후 하위에 Editor 생성) 첨부 파일(C#)을 Editor 폴더 내 복사또는 상위 레퍼런스 사이트를 통해 C# 코드 복사 후 코드 생성. 유니티에서 자동으로 스크립트 파일을 감지하여, 새로운 메뉴가 생성 됨.
3. Assetbundle 스크립트 [MenuItem("Assets/Build AssetBundle to Android")] static void ExportToAndroids () { // Bring up save panel string path = EditorUtility.SaveFilePanel ("Save Resource", "", "New Resource", "zip"); if (path.Length != 0) { // Build the resource file from the active selection. Object[] selection = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); BuildPipeline.BuildAssetBundle(Selection.activeObject, selection, path, BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.Android); Selection.objects = selection; } • AssetBundle이 사용되는 플랫폼에 맞게끔 해당 코드를 수정. • BuildTarget.Android • BuildTarget.iPhone • ( https://docs.unity3d.com/Documentation/ScriptReference/BuildTarget.html )
4. Assetbundle 만들기 SVN으로 부터 assetbundle_make 프로젝트를 다운받은 후 Unity 실행. svn://61.39.6.84/dev/unity/assetbundle_make 2. Project View에서 AssetBundle로 만들 Asset들을 선택 함. 3D 모델링(*.fbx)과 텍스처(이미지) 선택은 필수 입니다.
4. Assetbundle 만들기 3. Assets - Build AssetBundle to Android 메뉴 선택. - 저장할 파일명 지정 팝업창이 뜨며, 파일명과 확장자는 향후 정의에 맞게 작성하면 됩니다. 4. 출력된 AssetBundle 파일을 서버로 업로드. - 현재 서버쪽은 준비중이며, 레드마인이 설치된 서버(http://61.39.6.84/)에 설치 계획중입니다.