unity用什么语言开发好

作者&投稿:郑泊 (若有异议请与网页底部的电邮联系)
unity3d是用什么语言开发的~

到底C#和Unity3D里的JS谁好呢?
最常见的问题无非是: 用js写的u3d游戏和用c#写的u3d游戏,到底谁的运行效率高啊?
最常见的回答为非是: 肯定是C#啊,因为js是动态的。肯定不如编译的语言好。
第二常见的问题无非是: 用js开发和用c#开发,哪个更快更适合我啊?
第二常见的回答无非是: js适合个人开发,敏捷快速。c#适合公司开发,规范严谨。
咱们还是用和刚才讨论与javascript的区别时一样的思路来整理C#和UnityScript的不同,也就是按照先本质,再表现的顺序。同时兼顾回答一下上面的两个问题。
本质求同存异
开篇就说了,UnityScript是和C#同一个层面的语言,也需要经历从源代码到CIL中间语言过渡,最终到编译成原生语言的过程。所以本质上,最终运行的都是从CIL编译而来的原生机器语言。但的确会有C#比较快的现象,那么问题出在哪呢?
一个可能但不是唯一的答案就是 UnityScript和C#生成CIL中间语言不同。
这一点想想也很简单,就像上文提到的var的问题,如果使用Object来处理var的问题,则不可避免的是频繁的装箱拆箱的操作,这对效率的影响是很大的。
所以的确,C#的速度更快,但原因是UnityScript会涉及到频繁的装箱拆箱操作,进而生成的CIL代码与C#有差异,而并非UnityScript是动态语言且没有经过编译。
现实很单纯
开发到底是使用C#还是UnityScript呢?如果不考虑运行的效率,仅仅考虑开发时候的感受,小匹夫就谈谈自己的看法好啦——那就是珍惜时间,远离UnityScript。
首先有几个事实我们要清楚:
UnityScript是脱胎于.NET平台的第三方语言Boo的。所谓的第三方语言和C#的区别,就跟自己到底是不是亲生的,爹到底是不是隔壁老王是一样的。差距可能是全方位,立体式的。社区支持,代码维护,甚至是编译出来的CIL代码质量都可能有很大的差距。选择UnityScript之前,问问自己之前听说过Boo吗?别忘了UnityScript和Boo的渊源。
UnityScript和JavaScript除了长得像之外,根本就没有什么关系。你在JavaScript里如鱼得水,在UnityScript中如果不小心就可能埋下隐患,而一些隐患可能藏得很深。而且UnityScript也是静态语言,也需要编译,所以看不出来选择它作为开发语言为什么会有人觉得快。
插件的支持。貌似大多数都是C#写的吧。
好吧,如果上面的3点都不能说动你,那就看看官方的态度好了。

U3D官方团队基于数据分析做出的一个语言被使用的百分比图。
由于Boo语言的使用量基本可以忽略,所以从Unity5.0版本开始就会停止对Boo的文档支持。同时消失的还有从菜单创建Boo脚本的选项“Create Boo Script”。从U3D团队对Boo的态度,也可以窥见和Boo联系密切的UnityScript未来的走势。
同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的人数会是最多的。

Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。unity是一个跨平台的游戏引擎,不管是ios还是android或者pc的exe亦或者网页版等等,都是用同样的语言,一般公司都用C#语言,常见的还有javascript。
Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。

很有意思的问题.
来看看网络大拿们所做的总结.
当然结果需要您自行考虑.

首先,下文摘录自InfoQ<JS OR C# 不存在的脚本之争>

到底C#和Unity3D里的JS谁好呢?
最常见的问题无非是: 用js写的u3d游戏和用c#写的u3d游戏,到底谁的运行效率高啊?
最常见的回答为非是: 肯定是C#啊,因为js是动态的。肯定不如编译的语言好。
第二常见的问题无非是: 用js开发和用c#开发,哪个更快更适合我啊?
第二常见的回答无非是: js适合个人开发,敏捷快速。c#适合公司开发,规范严谨。
咱们还是用和刚才讨论与javascript的区别时一样的思路来整理C#和UnityScript的不同,也就是按照先本质,再表现的顺序。同时兼顾回答一下上面的两个问题。
本质求同存异
开篇就说了,UnityScript是和C#同一个层面的语言,也需要经历从源代码到CIL中间语言过渡,最终到编译成原生语言的过程。所以本质上,最终运行的都是从CIL编译而来的原生机器语言。但的确会有C#比较快的现象,那么问题出在哪呢?
一个可能但不是唯一的答案就是 UnityScript和C#生成CIL中间语言不同。
这一点想想也很简单,就像上文提到的var的问题,如果使用Object来处理var的问题,则不可避免的是频繁的装箱拆箱的操作,这对效率的影响是很大的。
所以的确,C#的速度更快,但原因是UnityScript会涉及到频繁的装箱拆箱操作,进而生成的CIL代码与C#有差异,而并非UnityScript是动态语言且没有经过编译。
现实很单纯
开发到底是使用C#还是UnityScript呢?如果不考虑运行的效率,仅仅考虑开发时候的感受,小匹夫就谈谈自己的看法好啦——那就是珍惜时间,远离UnityScript。
首先有几个事实我们要清楚:
UnityScript是脱胎于.NET平台的第三方语言Boo的。所谓的第三方语言和C#的区别,就跟自己到底是不是亲生的,爹到底是不是隔壁老王是一样的。差距可能是全方位,立体式的。社区支持,代码维护,甚至是编译出来的CIL代码质量都可能有很大的差距。选择UnityScript之前,问问自己之前听说过Boo吗?别忘了UnityScript和Boo的渊源。
UnityScript和JavaScript除了长得像之外,根本就没有什么关系。你在JavaScript里如鱼得水,在UnityScript中如果不小心就可能埋下隐患,而一些隐患可能藏得很深。而且UnityScript也是静态语言,也需要编译,所以看不出来选择它作为开发语言为什么会有人觉得快。
插件的支持。貌似大多数都是C#写的吧。
好吧,如果上面的3点都不能说动你,那就看看官方的态度好了。

U3D官方团队基于数据分析做出的一个语言被使用的百分比图。
由于Boo语言的使用量基本可以忽略,所以从Unity5.0版本开始就会停止对Boo的文档支持。同时消失的还有从菜单创建Boo脚本的选项“Create Boo Script”。从U3D团队对Boo的态度,也可以窥见和Boo联系密切的UnityScript未来的走势。
同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的人数会是最多的。

感谢INFOQ提供的原文支持.


优美的排比句?
大自然的语言丰富多彩:从秋叶的飘零中,我们读出了季节的变换;从归雁的行列中,我读出了集体的力从冰雪的消融中,我们读出了春天的脚步;从穿石的滴水中,我们读出了坚持的可贵;儿童博客:宝贝成长主页,小朋友的成长纪念册!D;R9O%H*T'Z8c{@ Q6i"K从蜂蜜的浓香中,我们读出了勤劳的4、成功与种子,如果害怕埋没...

麻省阿默斯特大学分校就读是否会有弱势感觉,因为盟校中都是牛人_百度知...
麻省大学阿默斯特分校好

关于教师节的格言警句
老师,您用人类最崇高的感情--爱,播种春天,播种理想,播种力量…… 用语言播种,用彩笔耕耘,用汗水浇灌,用心血滋润,这就是我们敬爱的老师崇高的劳动。 您工作在今朝,却建设着祖国的明天;您教学在课堂,成就却在祖国的四面八方。 老师,如果把您比作蚌,那末学生便是蚌里的砂粒;您用爱去舐它,磨它,浸它,洗它……...

GRE英语单词分类总结(7)
trumpery adj.中看不中用的,无价值的 —集市 bazaar n.集市,商店集中区 fair n.集市 piazza n.阳台,广场,市场 plaza n.广场,集市 philistine n.庸人,市侩 gigmanity n市侩阶层 —恳求,祈求 beseech v.祈求,恳求 conjure v.请求,祈求 invoke v.祈求,恳求,(法律的)实施生效.adjure v...

马萨诸塞大学阿默斯特和雪城大学哪个好?
南校区也是感觉研究所、Tennity冰馆、戈尔茨坦学生中心、斯凯托普办公楼和InnComplete酒馆的所在地。南校区的北部是凯利圆顶室内运动场,大约2500名学生居住在南校区,有便捷的巴士通往主校区。洛杉矶校区 雪城大学宣布计划在洛杉矶建立一个卫星校园,从2009年秋季开始,可以让学生在专业实习的、专业课程方面定期...

岚县13371578304: 用Unity3D 开发游戏哪种语言最好 -
郗乐西黄: 实际项目中用的C#,库(第三方工具)和资料会多很多,这导致项目碰上问题不会每个都需要造轮子和寻找解决方案相对容易.另外一个方面是,在用unity 过程中,C#用多了,unity看多了,js很多的地方也能看的懂,并且能写.所以建议用C#(个人有C、C++背景,所以仅仅是建议).

岚县13371578304: unity3d用什么语言开发的 -
郗乐西黄: Unity是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎.unity是一个跨平台的游戏引擎,不管是ios还是android或...

岚县13371578304: unity用什么语言开发好 -
郗乐西黄: 很有意思的问题.来看看网络大拿们所做的总结.当然结果需要您自行考虑.首先,下文摘录自InfoQ<JS OR C# 不存在的脚本之争> 到底C#和Unity3D里的JS谁好呢?最常见的问题无非是: 用js写的u3d游戏和用c#写的u3d游戏,到底谁的运行效率...

岚县13371578304: unity3d用什么语言开发好 -
郗乐西黄: 我比较推荐C#,用的人多,各种各样用C#写的插件、扩展包什么的也多,此外我觉得C#脚本更加符合那种面向脚本编程的意思.个人见解,如果说错了真是抱歉

岚县13371578304: Unity3D 用什么语言比较好 -
郗乐西黄: 还是比较推荐C#的,毕竟90%的Unity3D使用者在使用C#,虽然支持JavaScript但是JavaScript面向对象编程的感觉不如C#强烈,此外基于C#脚本的插件还是比较多的,比较适合较大项目.个人见解,如果不正确,希望看到的人指正,谢谢了.

岚县13371578304: 现在很火的 unity3d 是用什么语言开发的?我学的是安卓,但我更喜欢游戏,请告知 -
郗乐西黄: 恩 语言就是用c#作为平台就可以了.还要学一些向量数学.以后写材质shader 要有一点矩阵几何方面的 知识 这样你才能真正地熟练地使用unity3d.unity3d入门容易,后面的优化 比较难.做一个demo和产品的差距还是很大的

岚县13371578304: unity3D开发一般用什么编程语言? -
郗乐西黄: C#, JS, Boo

岚县13371578304: 知乎unity 3d 用什么语言 -
郗乐西黄: Javascript:JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型.CSharp:C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言.并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角.这两种都可以.

岚县13371578304: 学unity3d用什么语言 -
郗乐西黄: 底层的东西尤其是对执行效率有要求的,一般只能用C++开发,你可以用petotal之类软件检查一下它的dll就知道了.

岚县13371578304: unity3D用什么语言? -
郗乐西黄: js当然也可以,不过现在公司开发基本都是c#,语法比较严谨,会语法就够了,多看手册,学的很快的,用js也可以,就是可能合作不太方便,毕竟合作开发还是用c#多

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网