<html>
实现动画播放在5.0是很easy的,仅仅需对状态机状态进行不同的设定:
void FixedUpdate () {
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Animating(h, v); //推断player是否在移动,并设置状态机状态
}
void Animating(float h, float v) {
bool walking = h!= 0f || v!= 0f; //推断当前角色是否在移动
anim.SetBool("IsWalking", walking);
}
上段代码中Animating()方法实现了对角色是否移动的推断,并设定了状态机。
注意anim.SetBool("IsWalking",walking);中第一个參数一定要与状态机的名字相相应。
下面为完整的代码:
using UnityEngine;
using System.Collections;
public class PlayerMovement : MonoBehaviour
{
public float speed = 6f;
Vector3 movement;
Rigidbody PlayerRididbody;
Animator anim;
void Awake() {
PlayerRididbody = GetComponent<Rigidbody>();
anim = GetComponent<Animator>();
}
void FixedUpdate () {
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Move(h, v); //使player能够移动
Animating(h, v); //推断player是否在移动,并设置状态机状态
}
void Move(float h, float v) {
movement.Set(h, 0f, v); // set movement ‘s value
movement = movement.normalized * speed * Time.deltaTime;
PlayerRididbody.MovePosition(transform.position + movement); //通过MovePosition()方法让主角移动
}
void Animating(float h, float v) {
bool walking = h!= 0f || v!= 0f; //推断当前角色是否在移动
anim.SetBool("IsWalking", walking);
}
}
举报
- 本文已收录于下面专栏:
相关文章推荐
-
在Unity3D中控制动画播放
原文链接:- gzzheyi
- 2014-09-29 16:25
- 23375
-
Unity3D中角色的动画脚本的编写
http://blog.csdn.net/xy849288321/article/details/8992625 http://bbs.9ria.com/thread-211050-1-1....- anypkv
- 2016-07-04 15:15
- 2383
-
unity 滑动条控制动画播放代码
有时候须要用到滑动条来控制。动画的播放。这样比較方便。 //动画名称 public const string ANIM_NAME = "Take 001"; //模型对象 ...- liang_704959721
- 2015-01-17 10:23
- 1820
-
Unity手动控制动画播放
普通情况下animator仅仅要一执行,就会自己主动播放当前的clip。有时候我们想通过代码来控制,比方。用户按住按扭,就正向播放,按住还有一个就反向播放。尽管通过speed也能够做到,但终究有点麻烦,好...
- yangxun983323204
- 2016-05-24 17:19
- 4284
-
关于代码控制unity中动画播放的问题
unity 圣典:http://www.ceeger.com/Manual/ 错误尝试: using UnityEngine; using System.Collections; pu...- dujiahei
- 2017-06-21 11:33
- 177
-
Unity 代码帧动画
Unity序列帧动画 能够使用Unity本身自带的切图加Animation制作。具体制作能够參考这个网址: http://blog.csdn.net/liqiangeastsun/article/...- m0_37583098
- 2017-06-15 20:08
- 179
-
Unity动画 代码载入动画,可复用
看了雨松的自己主动生成生成动画方案。我认为太麻烦了。所以我准备自己写一篇代码载入动画方案。这个是解决帧动画的,由于u3d没有播放gif的功能,有了这个神器。传入图片和总时间,就ok了。 首先我们准备一个...
- era2521
- 2016-12-09 17:39
- 252
-
unity3d中animator和animation k动画注意点和问题 无法播放等等
普通情况下有时候为了方便或者是好控制, 会在unity3d中直接用animation进行k动画操作 可是有的时候就会发现有的animation无法拖入到animator 或者是有的animation组...- shenmifangke
- 2017-05-16 11:08
- 1207
-
Unity3D背景动画创建 使用Animation
这段时间在自学Unity3D的手机游戏开发- u010312740
- 2014-07-08 14:56
- 2531
-
unity3D 控制动画播放进度
1.怎样获得当前动画播放到了第几帧~~ 假设你指的是模型动画的话 是没办法取到详细的帧数的 由于那个动画是连续的曲线动画。仅仅能知道如今在第几帧和第几帧之间。 通过nbalexis的方法计算:An...- dujiahei
- 2017-06-23 20:10
- 617
0条评论