查看: 5252|回复: 7
打印 上一主题 下一主题

unity3教程基础篇—(2)游戏物体制作和简单交互

[复制链接]

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2012-12-18 18:39:28 |只看该作者 |倒序浏览
上一讲我们认识了unity的界面,下面我们就来看下怎么制作一个游戏物体,并让他动起来。
在unity中我们要得到一个游戏物体一般有两种方式
方法一:选择unity菜单栏GameObject->Create Other如图
该菜单包含一些基本的游戏物体如粒子系统、摄像机、灯光、基本集合体等。选择这些将会在场景中创建相应的物体。但是无论是游戏项目还是虚拟现实项目只有这些是远远不够的。我们还需要到两的复杂模型如场景、建筑、人物怪物等。我们要想得到丰富的游戏和逼真的现实就必须用到第二得到游戏物体的方式,借助3维制作软件例如3dmaxmaya等。
方法二:我们把我们需要的模型、动画等在三维软件中制作完成,然后通过固定的格式导入到我们的unity项目中。
这里以3dmax为例介绍导出和导入的过程。
首先打开我们需要的3dmax文件选择菜单file->Export 如图:




有三个选项供我们选择,1为导出所有物体,2为导出选中物体,3是导出线框。(注:这里用的是max2012,其他版本略有不同)根据自己需要选择。这里我们选择第一个导出所有物体。
然后选择导出文件的地址、文件名称、和导出格式(注:文件要保存在贴图文件相同的文件夹或者比贴图文件夹高一个级别的文件夹,文件名称不要用中文,导出格式为FBX当让3ds也可以。这里我们选择FBX)点击保存,弹出如图所示对话框。




里面的Animation为动画选项如果有就勾选,cameras和light不要勾选,因为unity里有自己的灯光和摄像机。点击OK导出完成。
下面是导入步骤。有两种方式导入
方式1:复制我们导出文件锁在的文件夹(包括导出的FBX和贴图文件)粘贴到工程文件目录中的Assets文件夹中(注:Assets文件夹是我们创建工程是系统自动生成的)然后打开unity文件。问们发现project视图中多了一个文件夹,这个就是我们导入的文件夹,




其中1111为fbx文件,Materials为材质球文件夹,1111.FBM文件为贴图文件夹。然后选择1111文件拖动到Hierarchy视图或者scene视图中(注:两个视图是不一样的Hierarchy视图物体坐标为3维软件中的坐标,scene视图为鼠标释放是的坐标)如图




导入完成
方法2:点击菜单栏中的Assets->Import New Asset



选择你到导入的文件即可导入完成
现在我们的物体已经导入到了我们的场景里面,怎么样和他们交互,让他们根据我们的操作动起来呢。
下面我们就来介绍一下代码是怎么添加的
一:在project视图中点击鼠标右键或者在Assets菜单中选择Create,unity提供了三种语言可供我们选择
javascript、c#Script、boo Script。在这里我们选择javascript。




在project视图中就出现了一个的文件我们可以修改它的名字。然后双击打开


function Update () {

if (Input.GetKey (KeyCode.W))

{

transform.Translate(0,-2 * Time.deltaTime,0);

}

if (Input.GetKey (KeyCode.A))

{

transform.Translate(-2 * Time.deltaTime,0,0);

}

if (Input.GetKey (KeyCode.D))

{

transform.Translate(2 * Time.deltaTime,0,0);

}

if (Input.GetKey (KeyCode.S))

{

transform.Translate(0,2 * Time.deltaTime,0);

}

}
复制代码到你的js文件中,将js文件拖放到hierarchy视图中的1111文件上。然后运行游戏。
按下w/a/s/d观看场景中的变化。
本教程结束下面的教程将陆续介绍一些组件
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

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

沙发
发表于 2012-12-18 19:31:17 |只看该作者
很不错的初级教程,简要而清楚,值得推荐给入门的朋友们。
回复

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

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

板凳
发表于 2012-12-19 04:10:56 |只看该作者
顶一个,这是我需要的教程
回复

使用道具 举报

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

地板
发表于 2012-12-19 08:50:42 |只看该作者
呵呵,我尽量一周一篇,工作比较忙只能抽时间写了。
回复

使用道具 举报

may    

8830

主题

80

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52328
精华
343

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

5#
发表于 2012-12-24 05:34:44 |只看该作者
来支持一下楼主的帖子哦
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

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

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

使用道具 举报

Zack    

459

主题

1

听众

5478

积分

高级设计师

Rank: 6Rank: 6

纳金币
5531
精华
0

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

7#
发表于 2013-1-30 04:14:14 |只看该作者
顶一个先!!支持楼主的共享精神!
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);})();
回复

使用道具 举报

0

主题

0

听众

32

积分

设计初学者

Rank: 1

纳金币
4
精华
0
8#
发表于 2014-2-27 14:41:31 |只看该作者
实在超级感谢,刚刚转手机游戏的美工很需要熟悉U3D引擎....
回复

使用道具 举报

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

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

GMT+8, 2024-9-20 15:29 , Processed in 0.093115 second(s), 36 queries .

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

© 2008-2019 Narkii Inc.

回顶部