查看: 13150|回复: 9
打印 上一主题 下一主题

unity3教程基础篇—(4)动画(1)

[复制链接]

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2012-12-20 11:26:42 |只看该作者 |倒序浏览
在unity的制作过程中,怎么让一个物体按照我想要的方式懂起来。一般有两种方式,
1:用代码控制。就像第二节中最后写的那段代码一样。我们按W、A、S、D、物体做前后左右运动。(http://www.narkii.com/club/bbs_273109.shtml)当然一些简单的运动这样是可以完成的。但是一些复杂的运动只用代码来编辑就会非常非常麻烦了,比如你个人往前奔跑或者打斗。这样我们就需要动画来完成了。
2:用代码和动画想结合的方式。我们首先就来一下在unity中的动画是怎么制作和添加到物体上的.然后再了解一下怎么又代码来控制他的播放.
unity中的动画一般有两种方式的到,(1)用unity提供的动画系统制作动画(2)在3维软件中制作动画,然后导入到unity中。
我们先来看第一种方式:首先,我们在unity中创建一个物体,给它加上材质,如图:

点击工具栏中的Window->Animation
如图:


弹出如下对话框,我们下面的工作主要在这里面完成了


1:为层级视图中选择的游戏对象。
2:为被选择的游戏对象的动画属性的列表。在这个列表上排列着所有关联到这个游戏对象的组件(Components)和材质(Materials)。
3:为时间轴。
下面我们开始创建一个新的动画剪辑
点击4的位置

点击【Create New Clip】.
填写动画片段名称,我们命名为Clip1.

我们发现在Inspector视图中多出一列Animation组件







然后点击Positoin后面的下拉按钮选择Add Curves(添加动画曲线)


得到如图所示结果:




我们现在想做的动画是让它沿着X轴的正方向进行移动。
首先我们选择Position.x.在时间轴上选择一个时间点我们选择(0:40.0)然后在两条线的相交处,单击右键




点击Add Key添加关键帧。然后选择关键帧向上拖动。

或者改变动画视图中Position.x的值,也可以调整Inspector视图或者scene视图中x的值





我们将Position.x的值改为1.


然后点击播放按钮,在Game是图中看下效果如何。
我们发现在Game视图中。动画播放一次就停止了。要想让他连续播放。我们现在Project视图中找到我们制作的Clip1选中它。然后在Inspector视图中点击Wrap Mode后的下拉菜单。选择Loop,这样就可以循环播放了。


这样一个动画就制作完成了。当然你自己也可以试一下其他组件的动画。都非常有意思的。
下面我们来看下怎么来控制这个动画的播放可停止。
我们通过一个简单的案例来介绍一下。
我们先建两个按钮一个开始,一个停止。点击开始按钮是动画开始播放,点击停止时停止播放。
首先第一步我们要把物体Animation组件下的Play Automatcally选框勾掉。不要让他开始就播放。

然后我们新建一个JS脚本,命名为(Clip One)

编辑代码如下:
function OnGUI()

{

//创建第一个按钮“开始”

if (GUI.Button(Rect(10,70,50,30),"开始"))

{

//当按钮点击时播放动画

animation.Play("Clip1");
}

//创建第二个按钮“停止”

if (GUI.Button(Rect(70,70,50,30),"停止"))

{

//当按钮点击时停止动画

animation.Stop("Clip1");

}
}
将脚本添加到我们的物体上面,运行游戏。
animation.Play("Clip1");播放动画命令Clip1为我们的动画片段的名称。
下一节我们将以一个人物为例讲解怎么从外部导入动画,并且在unity中控制。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

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

沙发
发表于 2012-12-20 19:09:44 |只看该作者
顶一个,支持楼主!!
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);})();
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

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

板凳
发表于 2012-12-20 19:35:22 |只看该作者
所以这个脚本用在导入的动作上也是一样吧?
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);})();
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

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

地板
发表于 2012-12-20 22:58:17 |只看该作者
这个教程介绍的很不错,对于初学者有很大的帮助,谢谢!!
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);})();
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

5#
发表于 2012-12-21 09:25:42 |只看该作者
支持,多谢分享,看看有啥更新…
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

6#
发表于 2012-12-23 19:30:06 |只看该作者
支持一个,希望继续发表精彩的教程
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);})();
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

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

7#
发表于 2012-12-24 00:28:44 |只看该作者
学习了,谢谢楼主的教程!
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

纳金币
52352
精华
343

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

8#
发表于 2012-12-24 04:37:58 |只看该作者
来支持一下楼主的帖子哦
回复

使用道具 举报

may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52352
精华
343

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

9#
发表于 2012-12-24 04:38:09 |只看该作者
来支持一下楼主的帖子哦
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

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

10#
发表于 2012-12-27 20:25:26 |只看该作者
学习了,虽然还是有难度,谢谢楼主的用心  
回复

使用道具 举报

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

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

GMT+8, 2025-7-24 13:12 , Processed in 0.078566 second(s), 32 queries .

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

© 2008-2019 Narkii Inc.

回顶部