超牛链AI Logo

超牛链博客: 读书|骑行|笔记分享
user
老王不响
@关于博主
2014-11-19

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


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

    vs     

 

 

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个,单个售价少的几万,多得上百万元人民币;但是,户数少的可怜,大多在几十个~几百之间,这个着实让我很不爽。啥时候可以开发上千人、上万人同时使用的软件系统,这个对我非常有意义。

2014-11-19
老王 加冕为王
老王,工作了19年的软件工程师、连续创业者、Blogger(since 2013),微软.net MVP获得者(2015~2016)、 Unity3D UVP获得者 (2017)。 曾任上市公司研发主管、知名外企Social Media Marketing 。 现专注于Instagram、SEO等海外社交媒体营销技术研究与实践。 四十而立的我,有2个可爱的宝宝,喜好骑行、读书、木工, 尤其喜好历史、科幻书籍。
友情链接
超牛链 57天前 2024年3月6日 15:16

沙发福利不容错过,等待你的到来

最新文章

超牛链AI:Ollama本地LLM LangChain RAG小试--算力为王

算力为王时代: CPU --> GPU

GPU这...
【发刊词】超牛链AI: hello world.

​公元2024年,比2023年的AI风暴,更加寒噤。

《一句顶一万句》 遇见一个能说的上话的人不易

2024年 甲辰龙年春节假期,我看了2本小说,茅盾文学...

2023个人总结: AI、骑行、青椒炒肉丝

后疫情时代,刚褪去口罩。又迎来经济消费降级,我的客户同...

热门文章

C#程序员整理的Unity 3D笔记(六):Git源码管理

对程序员而言,写的代码用源码管理系统管理起来,非常方便...

且行且思:记录一次西安城墙国际马拉松---8公里

百度搜索,输入西安城墙马拉松,有7万2千个结果。 实际...

骑行故事初心--自由的御风而行

2023年,三年疫情过后第一个春天,我开始了骑行: 空...

Unity3D for VR 学习(7): 360°全景照片

    在VR应用中,有一个相对简单的虚拟现实体验,那...

相关【技术杂谈】文章

查看所有相关【技术杂谈】文章
搭建Squid3 密码账号IP代理

上文中,说明了 Squid3 IP Proxy 隐藏原IP,这里就搭建Squid 3密码账号IP代理进行整理,涉及...

不用插件,js脚本显示星号密码

不用插件,js脚本显示星号密码

以前,我是用Chrome插件做这个这的--显示星号密码的。 今天,分享一个不用插件...

执行MySQL报错

今天新采购了柒比贰WordPress主题,安装主题时候报错: MySQL命令行使用sql语句进行建表时,MySQL...