查看: 3095|回复: 6
打印 上一主题 下一主题

unity3教程基础篇—(5)动画(2)

[复制链接]

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2012-12-21 12:56:33 |只看该作者 |倒序浏览
上一节我们讲了一个简单动画的制作和调用过程。这一节我们将一下外部动画的导入,动画分段,以及调运。
我们想制作一个人物动画。分别用上下左右键来控制他的上下左右移动。
我们一3dmax动画为例。
首先我们先打开我们以调好动画的player.max文件。拖动时间轴观看动画是否正常。
如图:




我们发现这个动画文件包含了多个动画。第一步要做的是将每一个动画的时间轴记录下来
0-75帧为待机动画,76-95帧为前进,96-115为后退,116-135、136-155分别为左右移动话。先记录下来,后面会用到的。
然后导出FBX格式,导出是应注意勾选Animation选框。否则动画部会跟随模型导出。

将我们导出的物体导入到unity中,调整摄像机位置(也可以调整物体的位置)。保证我们在Game视图中可以清晰的看到游戏物体






调整完成后运行unity,物体动画开始播放。
我们先把我们上一节的脚本,略作改动,添加到游戏物体上看下效果。
脚本改动如下。
将animation.Play("Clip1");和animation.Stop("Clip1");分别改为animation.Play("Take 001");、animation.Stop("Take 001");
保证我们的脚本里播放的动画名称和游戏物体所带的动画片段的名称一致。(也可以通过改变物体动画片段的名称来完成)修改方法如图:(我现在又的是unity4.0版本的,其他版本的不走略有不同)




把5处的值改为我们需要的值即可。
将修改好的脚本添加到我们的游戏物体上。运行游戏。
点击开始按钮,动画开始播放。我们发现游戏物体一次性将所有的动画一起播放了。这并不是我们想要的结果。
我们如果要想动画分开播放就必须将动画分段。




前面的步骤和修改动画片段的名称基本一样,在4处点击+或者-好可以增加和删除动画片段。5、6、7、8、处是改变动画的初始时间,和结束时间的,5处为动画的初始帧说,6处为结束帧数。也可通过滑动7、8、来改变初始和结束时间。我们调整帧的依据就是我们刚刚在3dmax中记录的帧数。
调整如下。










下面我们开始写代码,首先我们要创建4个按钮,分别控制前后左右4段动画,当不按任何按钮时播放待机动画。

代码如下:
function OnGUI()

{ //当没有任何动画播放时,播放待机动画

if(!animation.isPlaying)

{

animation.Play("Standby");

}

//按住“前”按钮是播放前进动画

if (GUI.RepeatButton(Rect(70,70,50,30),"前"))

{



if (!animation.IsPlaying("Forward"))

{

animation.Play("Forward");

}



}

//按住“后”按钮是播放后退动画

if (GUI.RepeatButton(Rect(70,140,50,30),"后"))

{

if (!animation.IsPlaying("Back"))

{

animation.Play("Back");

}

}

//按住“左”按钮是播放向左动画

if (GUI.RepeatButton(Rect(20,100,50,30),"左"))

{

if (!animation.IsPlaying("left"))

{

animation.Play("left");

}

}

//按住“右”按钮是播放向右动画

if (GUI.RepeatButton(Rect(120,100,50,30),"右"))

{

if (!animation.IsPlaying("right"))

{

animation.Play("right");

}



}
}
运行游戏,按下前后左右键试试。哈哈,效果还可以吧

players.rar

0 Bytes, 下载次数: 42

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-12-21 13:29:24 |只看该作者
中间的1-7红色圈圈那里有些乱,其他的都能理解了,学习!
var __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text/javascript'; c.async = ***e;c.src = ( 'https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();
回复

使用道具 举报

may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

板凳
发表于 2012-12-24 05:21:26 |只看该作者
来支持一下楼主的帖子哦
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-12-27 19:35:40 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心
回复

使用道具 举报

0

主题

0

听众

14

积分

设计初学者

Rank: 1

纳金币
1
精华
0
5#
发表于 2013-8-12 22:29:36 |只看该作者
楼主,我的为什么不能自己播放动画呢?
回复

使用道具 举报

40

主题

0

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
279
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2013-8-13 01:52:59 |只看该作者
谢谢楼主分享
回复

使用道具 举报

1

主题

1

听众

81

积分

设计初学者

Rank: 1

纳金币
8
精华
0

活跃会员 灌水之王

7#
发表于 2013-8-13 09:29:31 |只看该作者
好东西,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-11 07:42 , Processed in 0.101900 second(s), 40 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部