Unity 中EasyTouch和播放动画的结合

Unity 中EasyTouch和播放动画的结合,第1张

首先 我们引入Easy Touch插件,在Joystick X to 把我们的人物拖进去 这里是指摇杆的X轴方向控制人物物体的X轴运动
同理 下面的是摇杆Y轴控制Z轴方向

加入场景的中的摇杆是这样的 摇杆样式可以自己更改

然后我们在人物的Animatior组件中添加状态机 ,同时我们设置事件为float类型的参数

为我们的人物添加一个名为Player Move的脚本
注意脚本中的Speed参数是使融合树中的阈值

using UnityEngine;
using SystemCollections;

public class PlayerMove : MonoBehaviour {

}
注意状态机中的事件的参数 必须小于1 同时调试 使人物的动作变得流畅

建议先把动作分割,然后在Animator 里拼接。
然后需要一个控制脚本,一般一个Ani里有个播放条件比如bool, float, int 或 Trigger,用脚本去调用这个条件来切换动作。

之前的代码也繁琐了。animation本来就可以通过transformanimation 来访问。如果是在脚本代码中,可以直接用animation来访问animation组件。 默认的基础类都是这个特性,比如rigidbody、renderer等等这些一样,你既可以通过rigidbodytransform来访问其transform,也可以通过transformrigidbody来访问rigidbody,前提是确实该组件,否则为null。 现在的版本animation 一样可以使用,比较重大的改变是不再具备通过动画编辑窗口来添加材质方面的动画,比如color 方面的动画,无法直接给material的相关参数添加关键帧建立动画曲线。 你只能通过给一个脚本的变量添加动画曲线,然后再在脚本中通过代码去关联该变量和color,间接做材质color动画 :var a:float; //在动画编辑器中添加曲线改变alpha值 function Update(){ renderermaterialcolora = a;} unity4x版本保留了animation作为旧版本的动画组件,同时加入了Animator,也就是mecanim动画系统,这个系统是专门设计来应付生物属性的角色动画的,有更紧密、更复杂的混合系统,其编辑模式跟animation 截然不同!你需要通过animator动画状态可视化编辑器来搭建动画层级和状态图,再通过animator来播放预定义的状态,从而达到动画播放效果。也就是说,动画不再基于clip剪辑,而是state状态。你可以去查看animator的官方脚本参考,你就知道他是怎么用的了。其实也差不多,原理不同,不能再用animation["clip name"] 来简单粗暴的 *** 作clip的参数了,现在改变播放速度、时间轴等 *** 作你都必须通过animator来调整相应state的播放属性,而不是像旧版直接去改变clip的参数。基本的播放也是用Play()、Stop()等,参数不同, 而且你要play的动画状态必须预先在编辑面板正确设置好! 如果你想继续使用旧版的animation做为导入动画剪辑,那你应该在导入的动画模型选项中选择使用旧版legacy animation,具体怎么写的记不得了,应该可以找到的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13337917.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存