Legacy Documentation: Version 5.5
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

AnimationState.AddMixingTransform

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

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

Parameters

mix The transform to animate.
recursive Whether to also animate all children of the specified transform.

Description

Adds a transform which should be animated. This allows you to reduce the number of animations you have to create.

For example you might have a handwaving animation. You might want to play the hand waving animation on a idle character or on a walking character. Either you have to create 2 hand waving animations one for idle, one for walking. By using mixing the hand waving animation will have full control of the shoulder. But the lower body will not be affected by it, and continue playing the idle or walk animation. Thus you only need one hand waving animation.

If recursive is true all children of the mix transform will also be animated. If you don't call AddMixingTransform, all animation curves will be used.

#pragma strict
public class ExampleScript extends MonoBehaviour {
	public var anim: Animation;
	public var shoulder: Transform;
	function Start() {
		// Add mixing transform
		anim["wave_hand"].AddMixingTransform(shoulder);
	}
}
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); } }

Another example using a path:

#pragma strict
public class ExampleScript extends MonoBehaviour {
	public var anim: Animation;
	function Start() {
		// Adds a mixing transform using a path instead
		var mixTransform: Transform = transform.Find("root/upper_body/left_shoulder");
		// Add mixing transform
		anim["wave_hand"].AddMixingTransform(mixTransform);
	}
}
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); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961