RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
예를 들어 게임브리오같은 엔진에서는 맥스에서 작업할 때, Mesh이름에 "NDLCD SN" 를 붙여서 Export하게 되면, 게임브리오 상에서 충돌 데이터가 설정되는데, 이런 작업류를 Unity3D에서 하고 싶어하시는 분들을 위한 글입니다. (참고. 정말 게임브리오처럼 Mesh이름으로 해서 Collider를 생성하고 싶으시면, 아래있는 코드보단 AssetPostprocessor의 OnPostprocessModel 함수를 작성하셔서 작업하시는게 좋아보입니다.)

아래의 두 가지 방법으로 값을 설정할 수 있습니다.

1. [Edit/Object Properties] User Defined 탭에 값에 저장된 값 (string data)
2. [Animation/Paramerter Editor]를 이용하여 설정한 값.

이제 모델을 Export하셨다면, 위의 값들을 유니티안에서 필요에 맞게 적용하기 위해서는 AssetPostProcessor 클래스를 상속받아서 OnPostprocessGameObjectWithUserProperties 함수를 작성하셔서 필요한 작업을 하시면 됩니다.

가능한 Type : string, Vector4, Color, int, float, bool (vector4는 어떻게 설정해야 읽어들이는지...)

기본 값 읽어들이는 예제입니다.
using UnityEngine;
using UnityEditor;
using System.Collections;

public class KproPostProcessor : AssetPostprocessor
{
	void OnPostprocessGameObjectWithUserProperties (GameObject go, string[] propNames, System.Object[] values)
	{
		for (int i = 0; i < propNames.Length; i++) {
			string propName = propNames[i];
			System.Object value1 = values[i];
			
			Debug.Log ("GO: " + go.name + "--Propname: " + propName + "--value1: " + value1.GetType());
			
			if (value1 is string)
				Debug.Log ("string: " + (string)value1);
			
			if (value1 is Vector4)
				Debug.Log ("Vector4: " + (Vector4)value1);
			
			if (value1 is Color)
				Debug.Log ("Color: " + (Color)value1);
			
			if (value1 is bool)
				Debug.Log ("bool: " + (bool)value1);
				
			if (value1 is int)
				Debug.Log ("int: " + (int)value1);
				
			if (value1 is float)
				Debug.Log ("float: " + (float)value1);
		}
	}
}
위 코드는 도움말에 있는 것과 동일할 겁니다.. 맥스에서 parameter 값 설정하는걸 몰라서 엄청 헤맸음..ㅡㅡ


참고 -  http://unity3d.com/support/documentation/ScriptReference/AssetPostprocessor.OnPostprocessGameObjectWithUserProperties.html
저작자 표시 비영리
신고

'Unity3D > Tip' 카테고리의 다른 글

[Unity3D] 맥스(3DMax)에서 입력한 Userdata, UserProperties 가져오기  (0) 2011.04.01
Unity3D의 Shader System  (0) 2011.03.21
Unity3D의 Animation System  (0) 2011.03.12
프로갱호:어제의 나보다 더 나아질수 있는 방법을 찾아서~!
어제의 나보다 더 나아질수 있는 방법을 찾아서~!
분류 전체보기 (61)
My Life (13)
Information for Dev (2)
Conference (1)
C Programming (0)
C++ Programming (2)
.Net (14)
Unity3D (14)
Script (1)
Architecture (1)
Design Pattern (0)
Game Technolog (2)
Visual Studio (0)
Network (1)
Financial Technology (0)
All Link (10)
«   2017/08   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
  1. coach usa  2013
    h..
  2. cheap nike shoes  2013
    h..
  3. cheap oakley sunglasses  2013
    ..
  4. prada  2013
    ..
  5. supra skytop  2013
    ..

티스토리 툴바