用Animation制作坦克动画
- 题目
- 在Unity中制作一个坦克模型,实现动画:前进,停止,发射子弹
- 制作思路
- 制作坦克模型
- 制作坦克动画
- 制作步骤
- 制作坦克模型
-
创建项目,保存场景,命名为TankTest
-
制作材质球(方便观察)
-
创建文件夹,命名为Materials
-
鼠标右击Materials文件夹,Create >> Material,命名为Red
-
选中Red,Ctrl + D克隆2份,分别命名为Green、Blue
-
分别选中Red、Green、Blue,在属性面板修改颜色为红、绿、蓝
image -
效果
image
-
-
制作模型
-
把坦克分为多个部分:车头、车身、车轮、炮筒、子弹
-
然后创建一个空物体,命名为Tank,重置Transform
image -
用材质球给模型上色:用鼠标左键按住不松,拖动到层级面板中或者场景视图中相应的模型部分
image -
注意事项
-
每次新建物体的时候,重置位置
image-
效果
image
-
-
多多利用克隆,克隆好了在原有的基础上修改Transform中的属性
-
坦克的正方向是Z轴正方向
-
子弹在枪杆的中间,所以看不出来,其实是有的
-
-
-
制作动画
-
选中Tank,菜单:Window > Animation弹出Animation编辑面板
-
点击Create
-
新建文件夹,命名为Animations,用来存放动画
image -
双击Animations文件夹,更改要保存的文件名为Tank,保存
image -
效果
-
工程目录
image -
Tank游戏对象的属性面板多个Animator组件
image
-
-
Animaiton编辑面板
image -
前进动画
-
位移动画:
-
修改选中帧为360,也就是360/60=6秒的帧的位置
-
滑动鼠标滑轮缩小帧面板,知道看到红线(选中的帧)
image -
在选中的帧的位置,修改Tank的Position的Z轴值为5,效果如图
image
-
-
车轮滚动动画:
-
继续在360的位置,分别修改两个车轮的Rotation的X轴,改为360度,效果如图
image
-
-
-
停止动画
-
让Tank停一秒时间,也就是在原有的360的基础上再加一秒对应的帧数,也就是360+60=420帧的位置
-
修改选中帧位置为420,选中第六秒的所有关键帧,Ctrl+C复制,Ctrl+V粘贴,效果如图
image
-
-
发射子弹动画
-
关掉录制
image -
把子弹放到枪杆的子物体中(应该在制作模型的时候完成这步操作的,我忘记了=-=)
image -
打开录制
-
修改选中帧位置为480
-
选中子弹,注意是Local模式,方便沿着枪杆方向移动
image -
效果
image -
但是,子弹不应该是一开始就播放发射的动画,应该是停下之后再发射子弹,也就是在第七秒的时候发射子弹
-
找到子弹的帧动画,选中起始帧动画,鼠标左键拖动到第七帧的位置
image -
最终效果
image
-
-
注意事项
- 用父物体控制子物体时
- 子物体不能重名
- 子物体不能有Animator组件
- 在动画制作完之后,不能修改子物体的名字
- 用父物体控制子物体时
-
-
- 制作坦克模型