Version: 2017.3

AnimationState.AddMixingTransform

切换到手册
public void AddMixingTransform (Transform mix, bool recursive= true);

参数

mix 要生成动画的变换组件。
recursive 是否还为指定变换组件的所有子级生成动画。

描述

添加应生成动画的变换组件。这可使您减少必须创建的动画数量。

例如,您可能有一个挥手动画。 您可能想要在空闲角色或行走角色上播放这个挥手动画。 您必须分别为空闲和行走各创建一个挥手动画。 通过使用混组,挥手动画将完全控制肩膀。但下半身不会受到挥手的影响,会继续播放空闲动画或行走动画。 这样,您只需一个挥手动画即可。

如果 recursive 为 true,则还将为 mix 变换的所有子级生成动画。 如果未调用 AddMixingTransform,则将使用所有动画曲线。

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour { public Animation anim; public Transform shoulder;

void Start() { // Add mixing transform anim["wave_hand"].AddMixingTransform(shoulder); } }

另一个使用路径的示例:

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour { public Animation anim;

void Start() { // Adds a mixing transform using a path instead Transform mixTransform = transform.Find("root/upper_body/left_shoulder");

// Add mixing transform anim["wave_hand"].AddMixingTransform(mixTransform); } }