
Here I've added string attribute named StringData and vector attribute named VectorData.
这里我已经在物体添加了 vector 和 VectorData 属性.
And the attached example project shows you how to write import time post processor script.
以下有例子供参考学习,如何用脚本实现读取信息。
Editor/CustomImportProcessor.cs:
using UnityEngine;
using UnityEditor;
using System.IO;
class CustomImportProcessor : AssetPostprocessor {
void OnPostprocessGameObjectWithUserProperties(GameObject go, string[] names, System.Object[] values) {
ModelImporter importer = (ModelImporter)assetImporter;
var asset_name = Path.GetFileName(importer.assetPath);
Debug.LogFormat("OnPostprocessGameObjectWithUserProperties(go = {0}) asset = {1}", go.name, asset_name);
string str = null;
Vector3 vec3 = Vector3.zero;
for (int i = 0; i < names.Length; i++) {
var name = names[i];
var val = values[i];
switch (name) {
case "StringData":
str = (string)val;
break;
case "VectorData":
vec3 = (Vector3)(Vector4)val;
break;
default:
Debug.LogFormat("Unknown Property : {0} : {1} : {2}", name, val.GetType().Name, val.ToString());
break;
}
}
if (str != null || vec3 != Vector3.zero) {
var udh = go.AddComponent<UserDataHolder>();
if (str != null) {
udh.StringData = str;
}
udh.VectorData = vec3;
}
}
}UserDataHodler.cs:
using UnityEngine;
public class UserDataHolder : MonoBehaviour {
public string StringData;
public Vector3 VectorData;
}
Note: You will want to open and edit WithMyData.fbx in the archive directly with Maya.
提示:你可以在MAYA里打开并编辑 WithMyData.fbx
评论回复