百科问答小站 logo
百科问答小站 font logo



为什么unity愿意用c#作为代码语言,而虚幻却使用c++? 第1页

  

user avatar   jenniferta-bob 网友的相关建议: 
      
  • Unity本身引擎是用c++代码开发的,早期官方包装了三种脚本语言JavaScript、C#、Boo供开发者使用,降低使用者开发难度。其中c#使用开源mono,使用最广泛也最流行,也是Unity唯一幸存的脚本语言。又因c#的效率等诸多问题,再后来Unity推荐使用IL2CPP,转c#为c++提升效率。目前又推出Brust编译器(使用LLVM将.Net转化为机器码),使用Dots开发模式更进一步提升效率。
  • Unity引擎c++层是黑盒模式,开发者是接触不到的,当然也可以花钱购买源码。黑盒也许保证开发更可控,避免滥用吧。
  • Unity国内为了热更新方便,第三方开发者引入Xlua,Slua,toLua,ILRutime等框架,基本核心效率逻辑可以采用c++或c#写,lua脚本作为非效率业务逻辑开发。
  • Unreal 核心引擎逻辑也是c++,早期官方也包装了UnrealScript供开发使用,来降低使用者开发难度。后来可能大量开发者觉得脚本层与引擎c++层面交互不够效率,脚本语言特性不够丰富等诸多原因,改为c++模式开发了,但c++开发门槛还是较高的,这可能是它得不到很好推广的一个原因吧,当然Unreal也自己可引入其他更好的脚本语言来做一部分业务逻辑开发。
  • Unreal是开放了源代码,可以更自由的使用引擎层,但读懂也非常的难~~~~~

总结:Unity C#易用顺手,对初学者友好。Unreal c++上手难度大,需要很强的驾驭能力,没有中间层追求效果效率。




  

相关话题

  C#的dynamic使用中有什么需要注意的地方,以免滥用? 
  如何评价"Null reference - my billion-dollar mistake"? 
  为什么GO语言的字典性能不如C#? 
  软件开发中遇到需要引用的两个库包含的某个同名DLL版本不一致的情况应该如何处理? 
  为什么国内那么多公司乱用 C# 的三层架构? 
  学了 3 年 Java,包括自学和大学学习,如今工作一开始需要我学 C#,觉得不甘心怎么办? 
  游戏程序员必须要修 C# 吗?我徘徊在先开始 C++ 还是 C# ? 
  为什么中国做游戏引擎的公司没有像美国的unity unreal一样能跑的出来? 
  跟男朋友一起做独立游戏,他非要我用unity自带的动画系统做,到底是为什么? 
  C# 中为什么List<List<T>> 不能转换为 IList<IList<T>> ? 

前一个讨论
中国考古工作者私藏文物现象普遍吗?见过有人拿着从战国随葬战车刮下的雕龙金箔说是考古界朋友送的(非盗古?
下一个讨论
究竟是什么样的东西让林俊德院士需要在弥留之际还在电脑上整理?





© 2025-02-16 - tinynew.org. All Rights Reserved.
© 2025-02-16 - tinynew.org. 保留所有权利