《unity3d游戏开发之初探.docx》由会员分享,可在线阅读,更多相关《unity3d游戏开发之初探.docx(11页珍藏版)》请在三一办公上搜索。
1、unity3d游戏开发之初探一、Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game eng或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Ma可发布游戏至Windows、Mac、Wii、iPhone、Windows Phone 8和Android平台。也可以利用Unity插件发布网页游戏,支持Mac 和Windows的网页
2、浏览。它的网页播放器也被Mac widgets所支持。 据不完全统计,目前国内有80%的Android、Iphone手机游戏使用Unity3D进行开发,比如著名的手机逃亡就是使用Unity3D开发的,也有纵横时空、将魂三国、争锋online、萌战记、绝代汽之城、星际陆战队、新仙剑奇侠传Online、武士复仇2、UDog等上百款网页游戏都是使开发。 当然,Unity3D不仅只限于游戏行业,在虚拟现实、工程模拟、3D设计等应用方面也有着广泛的应用,国内使进行虚拟仿真教学平台、房地产3维展示等项目开发的公司非常多,比如绿地地产、保利地产、中海地产、招的房地产公司的三维数字楼盘展示系统很多都是使用Un
3、ity3D进行开发。比如Miya家装、飞思翼家装元府楼盘展示等等。 赤果果的数据-国内53.1%的人使用Unity3D进行游戏开发,有80%的手机游戏使用Unity3D开发游戏引擎,可以开发2D、2.5D、3D游戏。appsto1500+款用Unity3D开发的游戏,而Unity3D语言就有C# 因此,对于我们.NET程序员,如果说Mono让我们进入了跨平台服务器的Web开发时代,Unity3D则让移动手游开发的浪潮,不至于掉队甚至错过这波浪潮。我又想起园子里的一位大牛张善友先生写的一篇博文的是C#程序员最好的时代。是啊,感谢开源社区的大牛们,我们拥抱着Mono,还迎来了Unity3D。 二、
4、Unity3D IDE简介 Unity提供了免费的下载,目前最新版本是4.3.4f3,安装包大概1个G左右。收费的专业版和免费的版本以及30天的试用版,一般我们学习者使用免费版足矣。当然,在大天朝各种破解补是可以找到的,不过涉及到版权问题这里不进行讨论,请自行百度或Google搜索。下载完成后,即可安装,安各种下一步,中途会提示你是否需要安装几个组件:Examples、Web Player以及Mono Develop选上,当然也可以不选。Mono Developer是个好东西,推荐装上。 安装完成并且注册之后,你就可以进入以下所示的界面了。恭喜你,你已经进入Unity3D的然,还仅仅是第一步。
5、这里需要提示一下:在新建Unity3D项目的时候,一定要放在非中文命名的路径中!另创建新项目的时候,Unity3D都会自己重启一下,这是正常现象哈,不要以为你的Unity3D安装没成功。 三、第一个Unity3D程序-Hello Cube! 在模型对象区域中的Hierarchy中Create一个Cube立方体,在Inspector中修改它的Position为0; Unity3D场景默认是木有光照源的,因此需要在Hierarchy中Create一个Directional light修改Main Camera的Position为,这样看起来清楚一 在项目资源管理器中Create一个C# Scrip
6、t,命名为CubeControl。创建完成之后,双击该脚本入MonoDeveloper。 在MonoDeveloper中,写入以下代码。这个代码主要是判断用户的按键操作,如果是上、下、左、对指定的对象进行指定方向的翻看。将保存后的CubeControl通过鼠标拖动到模型对象区Hierarchy中的Cube上进行脚本绑定。绑定脚本在Cube的属性中会看到下图所示。*PS:脚本需要对应到一个具体的游戏对象才有意义! 现在可以预览一下我们的第一个程序了,点击如下图所示的播放按钮,即可进入模拟器看到效果。这时,键盘中的上、下、左、右键,Cube立方体会随着我们的按键翻转。怎样?麻雀虽小,但是五脏俱全吧
7、,我们的第一程序Hello Cube就完成了。 接下来,如果按照正式项目的步凑的话就轮到发布程序了。这里我们可以体验一下Unity3D强大的我们这个Demo可以发布为各种主流类型操作系统兼容的应用程序。通过点击File-Build Settings,即可进入的发布设置窗口界面。查看Platform列表,里边囊括了几乎目前所有的操作平台,也就是说我们可以实现一次台运行,爽哉! 这里我们做个测试,发布一个Windows平台的典型exe程序和一个Web平台的Flash程序来体验的笔记本没有安装Android模拟器,更不要说Mac模拟器了,所以,你懂的) 足够细心的你相信已经发现这个Cube立方体的棱
8、角有锯齿,这是因为在默认环境下,抗锯齿这个Disabled的。因此,我们可以点击EditProject SettingsQuality,将Anti Aliasing这个属性选Sampling,点场景都木有的游戏对我们来说没有一点吸引力!因此,对于外貌协会的挑剔客观,Unity3D支持3Ds Max文件直接导入,为我们的游戏“整容”,一秒变白富美! 从网上下载一个FBX模型文件;另外,这里需要提醒一下:如果下载下来的FBX文件以中文命名,请将其改为且最好不要有空格。例如,我这里将其原文件名“希腊圣殿”改为TempleScene。 将下载的FBX模型文件拖动到Unity3D中的资源管理器区域中,完
9、成后在资源管理器中会出现该模型文 将上图中带有播放按钮的TempleScene.FBX文件拖动到Scene中,于是一秒变为希景! 这时我们稍微调整一下Main Camera和Cube的Position就可以浏览一下在圣殿场景下的Hello Cub 但是我们发现,虽然立方体可以随着我们的键盘方向操作翻转,但是场景一直停在一个固定的角度。想让场景也随着立方体的翻转而转动,我们该怎么来做呢?这就涉及到我们刚刚所写的CubeControl脚本了,中脚本是需要和对象绑定才能正确运行的。因此,我们只需要把CubeControl和刚刚导入的这个圣殿的场景对即可。所以,这里从资源管理器区域中把CubeCont
10、rol拖动到TempleScene处就OK了。最后,可以通过查看Te的属性观察是否绑定上了脚本,如下图所示。 最后,通过点击播放按钮在模拟视图中可以查看。这下,只要我们按下键盘上的方向键,场景和立方体爽吧! 一、Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game eng或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Ma可
11、发布游戏至Windows、Mac、Wii、iPhone、Windows Phone 8和Android平台。也可以利用Unity插件发布网页游戏,支持Mac 和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。 据不完全统计,目前国内有80%的Android、Iphone手机游戏使用Unity3D进行开发,比如著名的手机逃亡就是使用Unity3D开发的,也有纵横时空、将魂三国、争锋online、萌战记、绝代汽之城、星际陆战队、新仙剑奇侠传Online、武士复仇2、UDog等上百款网页游戏都是使开发。 当然,Unity3D不仅只限于游戏行业,在虚拟现实、工程模拟、3D设计
12、等应用方面也有着广泛的应用,国内使进行虚拟仿真教学平台、房地产3维展示等项目开发的公司非常多,比如绿地地产、保利地产、中海地产、招的房地产公司的三维数字楼盘展示系统很多都是使用Unity3D进行开发。比如Miya家装、飞思翼家装元府楼盘展示等等。 赤果果的数据-国内53.1%的人使用Unity3D进行游戏开发,有80%的手机游戏使用Unity3D开发游戏引擎,可以开发2D、2.5D、3D游戏。appsto1500+款用Unity3D开发的游戏,而Unity3D语言就有C# 因此,对于我们.NET程序员,如果说Mono让我们进入了跨平台服务器的Web开发时代,Unity3D则让移动手游开发的浪潮
13、,不至于掉队甚至错过这波浪潮。我又想起园子里的一位大牛张善友先生写的一篇博文的是C#程序员最好的时代。是啊,感谢开源社区的大牛们,我们拥抱着Mono,还迎来了Unity3D。 二、Unity3D IDE简介 Unity提供了免费的下载,目前最新版本是4.3.4f3,安装包大概1个G左右。收费的专业版和免费的版本以及30天的试用版,一般我们学习者使用免费版足矣。当然,在大天朝各种破解补是可以找到的,不过涉及到版权问题这里不进行讨论,请自行百度或Google搜索。下载完成后,即可安装,安各种下一步,中途会提示你是否需要安装几个组件:Examples、Web Player以及Mono Develop
14、选上,当然也可以不选。Mono Developer是个好东西,推荐装上。 安装完成并且注册之后,你就可以进入以下所示的界面了。恭喜你,你已经进入Unity3D的然,还仅仅是第一步。这里需要提示一下:在新建Unity3D项目的时候,一定要放在非中文命名的路径中!另创建新项目的时候,Unity3D都会自己重启一下,这是正常现象哈,不要以为你的Unity3D安装没成功。 三、第一个Unity3D程序-Hello Cube! 在模型对象区域中的Hierarchy中Create一个Cube立方体,在Inspector中修改它的Position为0; Unity3D场景默认是木有光照源的,因此需要在Hie
15、rarchy中Create一个Directional light修改Main Camera的Position为,这样看起来清楚一 在项目资源管理器中Create一个C# Script,命名为CubeControl。创建完成之后,双击该脚本入MonoDeveloper。 在MonoDeveloper中,写入以下代码。这个代码主要是判断用户的按键操作,如果是上、下、左、对指定的对象进行指定方向的翻看。将保存后的CubeControl通过鼠标拖动到模型对象区Hierarchy中的Cube上进行脚本绑定。绑定脚本在Cube的属性中会看到下图所示。*PS:脚本需要对应到一个具体的游戏对象才有意义! 现在
16、可以预览一下我们的第一个程序了,点击如下图所示的播放按钮,即可进入模拟器看到效果。这时,键盘中的上、下、左、右键,Cube立方体会随着我们的按键翻转。怎样?麻雀虽小,但是五脏俱全吧,我们的第一程序Hello Cube就完成了。 接下来,如果按照正式项目的步凑的话就轮到发布程序了。这里我们可以体验一下Unity3D强大的我们这个Demo可以发布为各种主流类型操作系统兼容的应用程序。通过点击File-Build Settings,即可进入的发布设置窗口界面。查看Platform列表,里边囊括了几乎目前所有的操作平台,也就是说我们可以实现一次台运行,爽哉! 这里我们做个测试,发布一个Windows平
17、台的典型exe程序和一个Web平台的Flash程序来体验的笔记本没有安装Android模拟器,更不要说Mac模拟器了,所以,你懂的) 这篇文章来自狗刨学习网 足够细心的你相信已经发现这个Cube立方体的棱角有锯齿,这是因为在默认环境下,抗锯齿这个Disabled的。因此,我们可以点击EditProject SettingsQuality,将Anti Aliasing这个属性选Sampling,点场景都木有的游戏对我们来说没有一点吸引力!因此,对于外貌协会的挑剔客观,Unity3D支持3Ds Max文件直接导入,为我们的游戏“整容”,一秒变白富美! 从网上下载一个FBX模型文件;另外,这里需要提
18、醒一下:如果下载下来的FBX文件以中文命名,请将其改为且最好不要有空格。例如,我这里将其原文件名“希腊圣殿”改为TempleScene。 将下载的FBX模型文件拖动到Unity3D中的资源管理器区域中,完成后在资源管理器中会出现该模型文 将上图中带有播放按钮的TempleScene.FBX文件拖动到Scene中,于是一秒变为希景! 这时我们稍微调整一下Main Camera和Cube的Position就可以浏览一下在圣殿场景下的Hello Cub 但是我们发现,虽然立方体可以随着我们的键盘方向操作翻转,但是场景一直停在一个固定的角度。想让场景也随着立方体的翻转而转动,我们该怎么来做呢?这就涉及
19、到我们刚刚所写的CubeControl脚本了,中脚本是需要和对象绑定才能正确运行的。因此,我们只需要把CubeControl和刚刚导入的这个圣殿的场景对即可。所以,这里从资源管理器区域中把CubeControl拖动到TempleScene处就OK了。最后,可以通过查看Te的属性观察是否绑定上了脚本,如下图所示。 最后,通过点击播放按钮在模拟视图中可以查看。这下,只要我们按下键盘上的方向键,场景和立方体爽吧! PS:一般游戏公司里边会有这么几类角色:主程、主美以及策划、测试和客服。Tis no doubt that 我们的目标是主程,精通一门开发语言,熟悉游戏脚本与服务端开发,对什么HTTPSo
20、cket通讯等原理都懂一些,还了解一些常用的架构和设计模式,能够熟练操作SQL语言与数据库交但是,我们也不是神,不能啥都学啥都会,游戏场景设计这块是主美的饭碗,所以我们只需要将美工设的场景模型加入游戏中,我们为游戏对象写脚本,写交互代码让游戏真正动起来即可! 五、小结 Unity3D是一个强大的游戏引擎平台,我们可以很方便地在其上编写一些简单的游戏程序。通过和美工的配合以开发出很酷炫的游戏。而且更为重要的是: 1.Unity3D可以基于Mono实现跨平台,可以一次开发,多处运行; 2.Unity3D可以使用C#编写脚本,众多的.NET程序员们可以快速学习上手,赶上手机游戏的浪潮尾巴; PS:一
21、般游戏公司里边会有这么几类角色:主程、主美以及策划、测试和客服。Tis no doubt that 我们的目标是主程,精通一门开发语言,熟悉游戏脚本与服务端开发,对什么HTTPSocket通讯等原理都懂一些,还了解一些常用的架构和设计模式,能够熟练操作SQL语言与数据库交但是,我们也不是神,不能啥都学啥都会,游戏场景设计这块是主美的饭碗,所以我们只需要将美工设的场景模型加入游戏中,我们为游戏对象写脚本,写交互代码让游戏真正动起来即可! 五、小结 Unity3D是一个强大的游戏引擎平台,我们可以很方便地在其上编写一些简单的游戏程序。通过和美工的配合以开发出很酷炫的游戏。而且更为重要的是: 1.Unity3D可以基于Mono实现跨平台,可以一次开发,多处运行; 2.Unity3D可以使用C#编写脚本,众多的.NET程序员们可以快速学习上手,赶上手机游戏的浪潮尾巴;