C#程序员整理的Unity 3D笔记(三):Unity3D工具和VS 工具

      对于C#程序员而言,Visual Studio这个宇宙最牛的IDE肯定非常熟悉,编码、设计、代码着色等常用功能,用的还是很不错的,效率不是一般的高。本文就以VS IED作为参照物,进行和Unity IDE对比。

image  C#程序员整理的Unity 3D笔记(三):Unity3D工具和VS 工具 image thumb4    vs      image  C#程序员整理的Unity 3D笔记(三):Unity3D工具和VS 工具 image thumb5

 

 

Unity IDE

VS IDE

生产商

Unity科技(美国)

微软 (美国)

用户群体

游戏从业者

跨平台App开发者

.NET从业者(俗称微软阵营)

少数Web开发者

定价

Basic版本免费

Pro版本1500美金/平台

VS Express 免费

VS 2013 社区版免费

VS 旗舰版 3000美金

设计视图

有,且非常强大

代码视图

大纲视图

有 (视觉可见物体)

WinForm下无

Web开发有

属性视图

解决方案

独立文件夹(类似Eclipse)

*.sln

独立插件

场景

*.unity

程序集

*.exe、*.dll

亮点优势

游戏设计

跨平台

代码调试

UI控件

 

其中,在接触Unity 这个IDE后才知道,程序员仅仅编程是不够的,需要对各种模型(Model)、材质(Matrail)、纹理(Texture)要熟练掌握(导入、修改属性、3D空间内布局),同时还硬要了解一些物理学知识,如刚体、重力、碰撞。在Unity里面资源不叫Resource,而是叫Asset (好像任何东西在Unity都是这个称呼)。

GameObject和Component,GameObject是游戏对象,可独立操作的一个物体–一棵树或者一个人。 Componet是不见的,它类似GameObject的成员变量,游戏中90%的操作是控制GameObect的Component来完成的。

UI控件:Unity中的UI是我用过最难用的UI了,使用Winform开发的人可以很容易摆放UI控件、布局;但是在Unity中,只能代码控制。甚至难度超过Web中UI的布局,简直是毫无章法可依!呵呵,一下子UI回到解放前了。慢慢的,发现Unity中UI类似Web的流式渲染结构,从上往下、相对定位。

对Unity阵营而言,正在慢慢往C#方向迁移,如在Unity 5.0中,官方宣布要对默认的demo、文档用C#来写,要知道以前是JavaScript写的. (据不完全调查统计,Unity下C#脚本使用者占了7成比例)。同时,微软也在积极和Untiy靠近中,如今年年初收购了一家UnityVS插件欧洲公司,并免费对VS用户提供这个插件—有了这个插件用VS调试Unity 非常爽、非常爽。

VS开发的程序,无论是Winform还是Web,都有一定的规律可循,如通过事件响应触发函数。C#封装的几乎不用知道太多的细节—这个也是C#在VS下开发效率高的原因了。  而Unity下,采用的是游戏引擎驱动几个固定格式的函数按照游戏引擎一定的规律调用,函数之间,几乎完全靠全局变量来传递了–这个对OO编程而言比较不适应。我忙乎了1个月,Unity的Window UI还是没有能够掌握。 Start、Update等函数有起自身的规律,其内部的事件响应和注册有一些特殊的规律。

Unity里面有一个很酷的概念:时间。

 

Unity IDE

VS Winform

构造函数

Start

Construct

重绘函数

OnGUI

OnPaint (GUI+)

数学函数

Mathf

Math

驱动内核

时间驱动

事件驱动

Unity下之所以可以使用C#,一个很核心的原因是因为其内核在使用Mono.NET,一个不同于VS .NetFramework的C#。Mono是Linux下的,可移植的C#(截止本文写作,微软开源了其自己的.NET,貌似未来不久可使用.NEtFramework作为Unity的核心喽)

游戏开发有意思的地方是:其拟人化、寄托梦想的一个创新农场,容易上手、理解。

在多年开发中编码过的软件项目有3、5个,单个售价少的几万,多得上百万元人民币;但是,户数少的可怜,大多在几十个~几百之间,这个着实让我很不爽。啥时候可以开发上千人、上万人同时使用的软件系统,这个对我非常有意义。

Avatar

Author: Instagram老王

学习心得、技术分享、Instagram社交营销技术攻坚。