版本:Unity 6 (6000.0)
语言英语
  • C#

AssetPostprocessor.OnPostprocessGameObjectWithAnimatedUserProperties(GameObject, EditorCurveBinding[])

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确会阅读每个来自用户建议的更改,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

参数

gameObject 具有动画自定义属性的 GameObject。
bindings 绑定到自定义属性的动画曲线。

说明

该函数在自定义属性的动画曲线完成导入后调用。

它将对具有动画自定义属性的每个 GameObject 调用。每个动画属性都具有由 EditorCurveBinding 表示的动画曲线。这使您可以动态向 GameObject 添加组件并重新指定 EditorCurveBindings 以匹配任何可动画属性。

using UnityEngine;
using UnityEditor;

class MyAllPostprocessor : AssetPostprocessor { void OnPostprocessGameObjectWithAnimatedUserProperties(GameObject go, EditorCurveBinding[] bindings) { // add a particle emitter to every game object that has a custom property called "particleAmount" // then map the animation to the emission rate for (int i = 0; i < bindings.Length; i++) { if (bindings[i].propertyName == "particlesAmount") { ParticleSystem emitter = go.AddComponent<ParticleSystem>(); var emission = emitter.emission; emission.rateOverTimeMultiplier = 0;

bindings[i].propertyName = "EmissionModule.rateOverTime.scalar"; bindings[i].path = AnimationUtility.CalculateTransformPath(go.transform, go.transform.root); bindings[i].type = typeof(ParticleSystem); } } } }