unity应用开发:回归传统的开发方式

发表于2016-03-12
评论1 1.7k浏览
  首先向大家问一声好,很久没有写过东西,很荣幸有机会来到《gad游戏开发者平台》,希望在这里认识更多的朋友,也能够将自己的东西分享给各位。好吧,言归正传。今天主要向大家介绍一下我们项目对于unity3d的开发应用。当然这里以打飞机做为示例讲解。资源来自于《Unity3D手机游戏开发》中的《太空射击游戏》,然后对于它的开发模式确做了大的改变。需要了解的朋友可以对比一下2种方式。

一、所需材料
 · unity5.0版本(版本无所谓、任意版本即可)
 · Visual sutido 2013(还是习惯这个ide,对于mono使用起来总是感觉别扭)
 · 准备好了吧。GO GO GO!

二、创建unity工程
  打开unity3d,弹出一个窗口提示要打开工程还是创建工程,选择创建工程(Create newproject→Browse选择路径→Create)。一旦工程创建成功,系统自动生成三个文件Assets(此文件是系统的资源文件有物理属性、贴图等资源)、Library,Temp。 

三、导入美术资源 
  资源来之《Unity3D手机游戏开发》中的《太空射击游戏》如下图。
   

  然后我们对他的资源进行处理,将用到的实体类制作成prefab.制作的结果如下图,具体制作过程跳过。为什么(这可不属于这篇文章的核心内容噢)。
  

四、创建场景与灯光
因为是个打飞机游戏,所以场景是一块背景,具体操作如下(简约描述):
 · 创建一个【panel】平面体作为背景的模型并为期创建一个【metairal】指定star.png为其贴图,将2者关联起来,(unity通过拖拉可实现一切的关联),再创建一个动画。
 · 设置灯光。

五、关联脚本
创建一个gameObject.并为其添加一个一个Script脚本,命名为Client.Client的具体实现如下图:
 
  小伙伴们,可能大家看到这里都没有看出我要描述的重点,好吧。接下来可是重点哦。因为我们要分离该死的unity。同时也分离引擎开发人员跟逻辑开发人员。至于为什么要分析,我的理解很简单。一位资深的unity大神,带领一群完全不懂unity的人开发一款非常牛B的unity游戏会不会特别叼。当然我不是哪位大神。(对于ui人员的分离,如果有兴趣,下回讲解)。

六、程序员任务拆分
  对于逻辑开发人员,我需要实现的功能:
 · 我需要有一架自己的飞机。我能通过a、s、d、w控制它的飞行,能通过空白键放子弹.控制子弹的飞行轨迹。
 · 我需要控制敌方飞机出现的频率,出现的位置,出现的速度,它放出来的子弹飞行轨迹。
 · 当子弹击中之后的处理,比如敌方飞机毁灭。
  对于引擎开发人员,我需要实现的功能:
 · 通过不同的参数,实例化不同的物件比如:飞机、子弹、敌对小飞机、敌对打飞机等等,并返回控制这个对象的句柄。
 · 管理所以实例化的对象,创建、删除、缓存等等(所以的资源都交给你管理了,内存的问题、效率的问题可都是你需要认真思考的了)
 · 提供播放声音的接口,飞机摧毁与发射子弹的时候播放
 · 提供播放特效的接口,飞机摧毁的时候播放
  具体的2中拆分分先如下图。
  


  是不是很酷,让程序员只针对代码,告别所谓的界面操作,那是美术该干的事。在我们的世界只有code。当然这种方式存在2个比较重要的岗位:一位非常了解unity机制。一位非常了解架构拆分。
具体的工程会在我下面的附件里。
  好了,今天的描述就到这里。作为一个8年游戏开发人员。之后我会分享更多的干货。
最后给一张游戏里截图:

     

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

0个评论