当前位置:   article > 正文

Unity基础(06)—— 动画(Animation)的录制与播放_unity animation播放

unity animation播放

一、录制动画:

将物体移动,操作的过程录制下来保存到一个物理文件,在下次使用的时候直接用代码来调用它即可。

如让物体TheCh1 绕Y轴转动90度的动画录制

1、在Unity中打开动画视图

 

2、选择指定物体,为其添加 Animation 组件 

 

3、选择要录制的物体,点击 Create 按钮。(注意录制的文件必须要放在 Project 的 Assets 目录下)

 

4、为该动画添加属性,旋转为 Transform 的Rotation 属性

 

5、时间轴的数字含义,如 0:30,表示0秒30帧。默认的是60帧为一秒。

 

6、在时间轴的指定时刻上双击鼠标左键可以创建一个新的时间点。竖直的红线表示在该时刻时,物体所在的位置与状态。

在时间轴上双击创建一个时间点,然后将竖直的红线拖动到该时间点上,再设置物体绕Y轴旋转的角度。

  

   

  【注意】:录制完毕之后,点击录制模式按钮来关闭录制。

7、点击Unity的播放按钮时,让录制的动画开始播放。

首先要将录制的动画拖拽到 Animation 上,才可以在点击播放时,自动播放刚刚录制的动画

 

二、通过C# 脚本来让其点击该物体时,实现物体的旋转(即点击该物体时,播放刚刚录制的动画)

1、Animation 的常用属性及方法(Animation

animation.speed = 1 正常播放;animation.speed = -1 倒着播放;animation.speed = 2 快进

  

2、动画的播放状态:Once 为播放一次;Loop 为循环播放

 

3、通过代码来控制点击物体时是否播放动画

(1)、取消 自动播放按钮,以通过点击物体来控制播放

 

(2)、对应的C#脚本代码如下

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class TurnLeft : MonoBehaviour
  5. {
  6. private bool DoorState = false; //用一个bool值来表示门的状态
  7. private Animation anim;
  8. public string animName = "OpenDoor"; //将动画片段的名称用一个共有变量来表示
  9. // Use this for initialization
  10. void Start () {
  11. // 找到动画组件引用
  12. anim = GetComponent<Animation>();
  13. }
  14. private void OnMouseDown()
  15. {
  16. if (DoorState)
  17. {
  18. if (anim.isPlaying == false) //判断该动画是否正在播放
  19. {
  20. // 设置开始播放的时间为最后的时刻,默认是从0s开始播放的
  21. anim[animName].time = anim[animName].length;
  22. }
  23. // 关门操作:动画从最后的时刻开始播放到0s停止
  24. anim[animName].speed = -1;
  25. }
  26. else
  27. {
  28. // 开门操作:动画从0s到1s播放
  29. anim[animName].speed = 1;
  30. }
  31. anim.Play(animName); // 播放动画
  32. DoorState = !DoorState; // bool值取反,赋值给原来的门的状态
  33. }
  34. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/126939
推荐阅读
相关标签
  

闽ICP备14008679号