对于在导入的文件中至少附加了一个用户属性的每个 GameObject,都会调用此函数。
第二个参数字符串数组 (propNames) 包含找到的所有属性的名称。System.Object 数组 (values) 包含所有实际值。这些值可以是字符串、Vector4、布尔值、颜色、浮点数、整数类型。
此功能的典型用例是从 3dmax/maya 中对象的“用户数据”中读取数据。根据对象文本用户数据中写入的内容,您可以决定以不同的方式后处理您的 GameObject。
有关调用该函数的阶段的详细说明,请参阅AssetPostprocessor。
请注意,GameObject 和网格仅在导入期间存在,并且会在之后立即销毁。此函数在创建最终预制件之前以及将其写入磁盘之前被调用,因此您可以完全控制生成的博弈对象和组件。在导入完成后,对博弈对象或网格的任何引用都将失效。因此,无法在 OnPostprocessGameObjectWithUserProperties 中从不同的文件中创建引用导入的 fbx 文件中网格的新预制件。
using UnityEngine; using UnityEditor; using System; using System.Collections;
public class ExampleClass : AssetPostprocessor { void OnPostprocessGameObjectWithUserProperties( GameObject go, string[] propNames, System.Object[] values) { for (int i = 0; i < propNames.Length; i++) { string propName = propNames[i]; System.Object value = (System.Object)values[i];
Debug.Log("Propname: " + propName + " value: " + values[i]);
if (value.GetType().ToString() == "System.Int32") { int myInt = (int)value; // do something useful }
// etc... } } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.