ue3dUnity3D中的反向动画播放

Unity3D中的反向动画播放

分类:
ue3d - Unity3D中的反向动画播放

如果在Unity3D中使用动画,那么可能会遇到以相反方向播放给定动画的问题,所以在本文中介绍如何在不创建单独的动画剪辑的情况下在Unity3D中反转动画播放。

Unity的反向动画播放

现在为以下将用于播放动画的场景提供反转动画的示例。

  • 动画师组件
  • 动画组件

首先为立方体对象创建一个简单的动画,会在本文后面反转这个动画。

ue3d - Unity3D中的反向动画播放

使用Animator组件反转动画播放

如果已将动画组件添加到游戏对象并使用控制器播放动画,此场景将很有帮助,基本上,需要将速度从1更改为-1以更改动画的方向。

一起来看看这是如何通过脚本和编辑器检查器窗口来完成。

通过编辑器检查器窗口反转动画

  1. 打开动画控制器并选择要反转动画播放的状态。
  2. 在检查器窗口中将速度更改为-1

通过脚本反转动画

还可以使用脚本在Unity中反转动画播放,我们在动画控制器面板中创建一个浮动参数

ue3d - Unity3D中的反向动画播放

选择要反向播放动画的状态,在检查器窗口中将乘数选项选中为参数,并将方向参数链接到乘数。

ue3d - Unity3D中的反向动画播放

编写以下脚本文件添加附加到游戏对象。

using UnityEngine;
using System.Collections;

public class AnimBehaviour : MonoBehaviour {

	// Use this for initialization
	void Start () {
		Animator anim = gameObject.GetComponent<Animator> ();
		anim.Play ("cubeanimation", -1, float.NegativeInfinity);
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKeyDown (KeyCode.A)) {
			Animator anim = gameObject.GetComponent<Animator> ();
			// Reverse animation play
			anim.SetFloat ("Direction", -1);
			anim.Play ("cubeanimation", -1, float.NegativeInfinity);
		}
	}
}

现在,当游戏运行时,当按下A按钮时,动画将反向播放

ue3d - Unity3D中的反向动画播放

反向动画播放动画组件

如果想使用动画组件播放动画剪辑,则应将其标记为旧版。

将以下脚本附加到游戏对象,开始时,动画将向前播放,当按下A按钮时,动画将向后播放。

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
	Animation anim;
	// Use this for initialization
	void Start (){
		anim = GetComponent<Animation> ();
		anim.Play ("cubeanimation");
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKeyDown (KeyCode.A)) {
			// Reverse animation play
			anim ["cubeanimation"].speed = -1;
			anim ["cubeanimation"].time = anim ["cubeanimation"].length;
			anim.Play ("cubeanimation");
		}
	}
}

以上是3D天堂关于在Unity中的反向动画播放的全部内容,如果你有任何反馈,请随时在本页面下方留言。

相关信息

  • 类型:知识
  • 字数:506
  • 字符:2312
  • 适用软件:Unity
  • 说明:无
  • 编号:155388

热门内容

提示:3D天堂作为服务提供者,尊重网络版权及知识产权,对某些行为的发生不具备充分的监控能力,若无意间侵犯到您的权利,请 联系我们,我们会在收到信息后尽快给予处理。

本站文章版权归本站自创作者所有,未经允许不得转载!