Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 3d游戏引擎建议_Javascript_Python_Game Engine - Fatal编程技术网

Javascript 3d游戏引擎建议

Javascript 3d游戏引擎建议,javascript,python,game-engine,Javascript,Python,Game Engine,我正在开发一个3d射击游戏,我想在电脑/手机/平板电脑上运行,并希望获得一些帮助来选择使用哪个引擎 我想编写一次应用程序,然后轻松地将其移植到Android/iOS/windows/mac 我想让应用程序可以在互联网上流动 该引擎需要一些物理(碰撞检测)以及3d渲染功能 我更喜欢使用Javascript或Python等脚本语言来编写Java或C++(尽管如果这是最好的选择,我愿意学习这些语言) -我的愿望是使用一个基于代码而不是基于GUI的引擎,一个更像我可以导入Python文件(例如)的库

我正在开发一个3d射击游戏,我想在电脑/手机/平板电脑上运行,并希望获得一些帮助来选择使用哪个引擎

  • 我想编写一次应用程序,然后轻松地将其移植到Android/iOS/windows/mac
  • 我想让应用程序可以在互联网上流动
  • 该引擎需要一些物理(碰撞检测)以及3d渲染功能
  • 我更喜欢使用Javascript或Python等脚本语言来编写Java或C++(尽管如果这是最好的选择,我愿意学习这些语言)
-我的愿望是使用一个基于代码而不是基于GUI的引擎,一个更像我可以导入Python文件(例如)的库的引擎,而不是一个迫使我依赖其GUI导入资产并在它们之间建立关系的应用程序

这个愿望源于我最近使用Unity3d和Blender的经历。我设计代码的方式要求我编写几十个无组织的脚本来控制各种对象。我禁不住想,如果我用一系列python文件编写了我的程序,我将能够完成更整洁、更快的工作


如果有任何建议,我将不胜感激。最接近我想要的东西是Panda3d,但我在处理纹理时遇到了困难,我不相信我的应用程序可以方便地提供给手机/设备用户。如果您可以考虑类似的选择,我将非常感谢您提供的提示。

我知道您已经检查了Unity3D,但我想不出有任何其他引擎可以在PC、电话和支持3D的流媒体互联网上工作(对于2D check EXEN或任何其他引擎)


我也很确定你可以使用Unity基于代码的,它支持几种不同的语言,但是要让Unity工作,你不能只将Unity.dll(例如)导入到你的代码中,不,你必须将你的代码导入Unity,这样Unity就可以在所有这些不同的平台上工作。

我知道你已经检查了Unity3D,但我想不出有任何其他引擎可以在PC机、电话和支持3D(2D check EXEN或任何其他)的流媒体互联网上工作


我也很确定您可以使用基于Unity代码的,并且它支持几种不同的语言,但是要使Unity正常工作,您不能只将Unity.dll(例如)导入到您的代码中,不,您必须在unity中使用您的代码,以便unity能够在所有这些不同的平台上工作。

您提到了iOS,这几乎限制了您使用本机或web堆栈。由于native不是您想要的(因为您提到的每个平台都会有所不同),所以您可以使用JavaScript。WebGL是实现这一点的理想工具,但支持仍处于试验阶段,在电话系统中不可用。您仍然可以使用构建在2D
之上的一个JS库。不过,你不能期望从中获得出色的表现。您可以在这里找到示例:

您提到了iOS,这几乎限制了您使用本机或web堆栈。由于native不是您想要的(因为您提到的每个平台都会有所不同),所以您可以使用JavaScript。WebGL是实现这一点的理想工具,但支持仍处于试验阶段,在电话系统中不可用。您仍然可以使用构建在2D
之上的一个JS库。不过,你不能期望从中获得出色的表现。您可以在这里找到示例:

对于您的需求,Unity3d可能是您最好的选择之一。正如罗伊所说,没有任何其他3D引擎能够跨越如此广泛的平台。为什么您认为使用一个完全基于代码的系统可以避免创建各种各样的类和各种各样的职责

编码工作量以及代码和类的数量将保持不变。唯一能改变的是你与你正在生产的系统互动的方式。使用任何大型系统,您都会很快遇到数百个文件。我刚刚完成了一个规模较小的unity项目,为期3-4个月的编码,包括学习unity,它可以运行10k行代码,外加来自外部库和100多个类的8k代码。但是这个数量并不是由unity的工作方式决定的,而是由项目的需求决定的。在编写这段代码的过程中,我学到了很多关于unity如何运行以及它需要什么样的模式的知识,并且能够为下一个项目提供更好的解决方案。回顾你所做的,思考如何更好地组织它。我认为,如果说您将需要与任何其他系统相同数量的代码才能获得类似的结果,这是一种节省


unity的优点是具有良好的多平台支持和优秀的资产管道。导入和利用艺术资产,2D、3D和音频对我来说是此类开发中最繁重的任务之一,unity非常支持

对于您的需求,Unity3d可能是您最好的选择之一。正如罗伊所说,没有任何其他3D引擎能够跨越如此广泛的平台。为什么您认为使用一个完全基于代码的系统可以避免创建各种各样的类和各种各样的职责

编码工作量以及代码和类的数量将保持不变。唯一能改变的是你与你正在生产的系统互动的方式。使用任何大型系统,您都会很快遇到数百个文件。我刚刚完成了一个规模较小的unity项目,为期3-4个月的编码,包括学习unity,它可以运行10k行代码,外加来自外部库和100多个类的8k代码。但是这个数量并不是由unity的工作方式决定的,而是由项目的需求决定的。在编写这段代码的过程中,我学到了很多关于unity如何运行以及它需要什么样的模式