Параметры
gameObject | GameObject с анимированными пользовательскими свойствами. |
bindings | Кривые анимации привязаны к пользовательским свойствам. |
Описание
Эта функция вызывается после завершения импорта кривых анимации для пользовательского свойства.
Он вызывается для каждого игрового объекта с анимированным пользовательским свойством. Каждое анимированное свойство имеет кривую анимации, представленную EditorCurveBinding. Это позволяет динамически добавлять компоненты в GameObject и перенацеливать EditorCurveBindings на любое анимируемое свойство.
using UnityEngine;
using UnityEditor;
class MyAllPostprocessor : AssetPostprocessor
{
void OnPostprocessGameObjectWithAnimatedUserProperties(GameObject go, EditorCurveBinding[] bindings)
{
// добавить излучатель частиц к каждому игровому объекту, у которого есть пользовательское свойство под названием «particleAmount»
// затем сопоставляем анимацию со скоростью выброса
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);
}
}
}
}