百科问答小站 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++上手难度大,需要很强的驾驭能力,没有中间层追求效果效率。




  

相关话题

  如何编写能够监听特定程序或全系统所有Http请求的.Net程序? 
  作为非计算机专业的学生,觉得 C 语言远比其他语言易于上手,正常吗? 
  你遇到过哪些代码优雅的C#项目? 
  Objective-C 的一些函数名为什么都这么长? 
  一个 2D 横版像素游戏的制作流程是怎样的? 
  为什么说try catch 隐藏了bug,C# try catch什么时候用? 
  求助,大一学Java还是C#? 
  什么情况下使用异常处理? 
  如何评价游戏引擎 The Machinery? 
  很多人都说 C# 语法怎么优雅,仅仅是因为 C# 的关键字多吗? 

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





© 2025-03-26 - tinynew.org. All Rights Reserved.
© 2025-03-26 - tinynew.org. 保留所有权利