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

AnimationState.AddMixingTransform

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public void AddMixingTransform(Transform mix, bool recursive = true);

参数

mix 要进行动画处理的变换。
recursive 是否也对指定变换的所有子级进行动画处理。

描述

添加一个应进行动画处理的变换。这使您可以减少必须创建的动画数量。

例如,您可能有一个挥手动画。您可能希望在空闲角色或行走角色上播放挥手动画。要么您必须创建 2 个挥手动画,一个用于空闲,一个用于行走。通过使用混合,挥手动画将完全控制肩膀。但是下半身不会受到影响,并将继续播放空闲或行走动画。因此您只需要一个挥手动画。

如果 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); } }