Nevanger的Unigine和Godot演示

他在认识游戏引擎Unigine 2和Godot 3时收集的具有生物机的替代原型(不仅限于生物)。







单引擎



让我们从Unigine版本开始。我们使用的是今年春季发布的2.11版本,从此版本开始,免费许可出现在引擎中。目前,2.12已经发布,预计很快就会有2.13。



通常,关于Unigine值得了解的是经常用于基准测试和模拟的Tomsk游戏引擎。多年来,它发布了《 Rush》,《 Cradle》等游戏,例如最近发行的mmo Dual Universe。



在内部,使用了许多有趣且有前途的解决方案,它呈现出漂亮的画面,并且对美术家可能非常有吸引力,特别是如果他们使用单独的3D封装而不是通过引擎本身进行建模。



开箱即用的地形以及水,云,体积,投影仪和其他有用的东西。各种遮罩都叠加在地形上以进行细节处理和其他操作,这是用于创建景观的非常酷的工具,尽管在可用性方面存在改进的空间。



作为游戏开发人员的工具-尽管Unigine并没有各种现成的组件解决方案,但原则上可以在Unity中使用C#的经验。尽管如此,仍实现了一些基本的功能,文档将帮助您编写其余内容。 C ++也没有走到任何地方。



该引擎尚不适用于移动平台,也不适用于未经编程的开发(尽管也计划在这些领域进行开发)。在虚幻查询级别的硬件要求下,最小的应用程序文件大小是相当大的。但是它很好并且经过了优化。



但是回到游戏原型。在Unigine版本中,主要的困难与打字机的物理视觉设计有关,因为文档建议通过代码盲目地完成所有这些工作,此外,各种物理设置分散在编辑器的不同位置,并且未描述视觉组装管道本身。就是说,没有不折不扣的平庸现成的例子就可以修改。在2.12中,出现了一个演示,其中有一个拖拉机在挖掘地面,但也许是通过代码重新组装的,这一刻我没有注意。



不管怎样,我或多或少组装了机器,专注于文档。关于我之前写过的相应文章:我如何收集Unigine中的车轮物理学



就游戏性而言,在Unigine中,与Unity和Godot不同,例如,事实证明,很容易在飞行中切换汽车的物理特性,不仅是视觉效果,而且是车轮的位置/大小。无需提出其他技巧即可避免跌倒,也无需重建模型。虽然,有些可能会掉入纹理中,但是在完全不同的情况下,而不是在更换打字机时。



单个车辆的概念可以简单地改变其形式,进行变换,调整,查看其他维度中正在发生的事情,等等都非常适合所有这些。尽管不是必须的,但是至少主要的游戏玩法可以围绕这种切换构建。



对于引擎而言,令人难过的是从编辑器组装UI的方式-一切都很麻烦,每个交互元素都挂有单独的脚本。尽管在这里我仅编辑了示例中的实现,但是我并没有太多了解,此外,我没有立即弄清楚如何显示gui层以在编辑器中看到可视化表示。

另一方面,如果我们指的是面向控制台的游戏,即将游戏玩法绑定到少量按钮,最少使用界面和最少界面元素,那么这不再是一个明显的问题。



另一个令人沮丧的事情是,记录在内部乐器上的简单动画-跟踪器。是的,它以自己的方式强大,但是以某种方式嵌套使用起来却不那么方便。此外,以这种方式录制的动画只能使用过时的UnigineScript语言播放。这是在Unity或Godot中进行的时候,您可以为周围的一切设置动画。是的,您可以导入骨骼动画,但是有些不同(此外,我还没有尝试过这种方法,也不知道它是怎么回事)。



如果再次从另一侧看,则引擎仍然更加专注于物理模拟和交互,那么为什么不使用它而不是在那里烘焙一些预设动画-也就是说,制作一些发射器,开关,相互作用的结构,施加力,使用重力等。因此,您可以在没有内部动画师的情况下进行操作,但是即使正确实施了动画,这也很重要,即使仅在方向方面也是如此-只需单击几下,您就可以记录摄像机在舞台上的飞行情况,其中包含各种互动元素,并且这里有一部完成的电影。而且,有了这样的机会拍摄电影。



至于我的项目,目前,经过几次迭代,我终于编译并发布了可以测试的或多或少可靠的演示。





可以在此处下载Win64的存档(重量687Mb):DROPBOX

或在itch.io页面上: 解压缩后的NEWANGERS

需要3Gb容量







  • 该版本具有三种主要显示模式-“白天”和“晚上”(具有高图形设置的预设),以及“漫画”模式(具有较低的图形设置)。
  • 要在模式之间切换,请按Esc键,以便出现鼠标光标,然后从左上方的菜单中选择所需的选项。
  • 在关卡上有互动的对象-蓝色的星状门户,汽车经过这些门户被运送到其他世界,您可以从那侧开车进入门户以返回。
  • 水平仪的许多物体都是可渗透的,但有些物体具有碰撞器,水平仪本身或多或少地被阻挡墙所包围。
  • , , WASD. Q E. , , , R. Tab , , , .
  • , .
  • 1,2,3,4,5,6,7 — . .
  • , «» .
  • PgUp , . PgDown — .
  • P — , L — .


一位朋友在其页面上发布了该原型的早期资源,并对原始版本的轮子的物理结构进行了一些编辑:GITLAB



戈多引擎



转到列表中的下一个引擎。具有强大功能的开源紧凑型解决方案(游戏引擎领域的Blender),但是就现成组件的多样性而言,它仍然不如Unity。尽管已经编写了许多非官方的解决方案以及带有Godot源代码的示例,并且由于新功能的实现相对简单/实现速度快,我暂时不能说这是某种问题。



Godot作为2D引擎享有更好的声誉,这得益于专门针对2D的各种发达工具,但它们是3D的附加功能-制作游戏界面要容易得多。就我而言,这比在Unity中更容易。目前,Godot的开发版本已经达到了稳定的3.2.3版本(但由于火山,优化等原因,每个人都在等待4个版本。顺便说一下,这四个版本的摇晃组件已经可以尝试-至少评估了图片)。



该引擎不需要强大的3D图形硬件,就可以生成漂亮的图像。现成的三维工具数量不多,但是已经实现了一些最必要,有用和通用的工具。优化也是如此。例如,引擎执行通常的平截头剔除,从而将几何形状从相机的视场中剔除。遮挡剔除(不计算被墙壁关闭的对象),您必须自己提出实现(这并不那么困难,尤其是在某些地方,而不是在您需要的每个游戏中)。同样,引擎中没有开箱即用的几何图形批处理(尽管gles2中有一部分)和地形,但这不是问题,您只需要手动优化某些内容-将某些网格缝合在一起,将几何图形分解成小部分或使用大块等等。进一步。您可以在本地的小型商店中找到某种实现,例如,向项目中添加现成的地形解决方案。



顺便说一句,引擎的界面非常周到且可自定义(尽管有些不灵活的元素)。通常使用起来很方便。有足够的受支持语言用于不同程度的沉浸。有C ++和C#,还有一个相当方便的内部GDScript,它在编辑器内部运行,而无需启动单独的环境。还存在可视脚本,因此,即使不了解Godot编程知识,也很可能存在-设计一些最小的逻辑来制作动画(Godot有一个简单而酷的录制动画的工具)。



该应用程序的轻量级,多平台性质,开发速度,易于实施的各种第三方解决方案也是该引擎的重要优势。有两个渲染选项-gles2和gles3,都支持3D,但首先,它比较简单,并且通常更适合2D和移动电话。 Gles3提供了更高级别的图形,移动设备的某些部分也支持它。



让我们继续基于该引擎的游戏原型。在Godot中,几乎没有现成的简单的物理车辆模型,因此将您的汽车带到这里非常容易。



随之而来的是一些问题-插入已发射的物理物体并不是一件容易的事,例如,将其从一个点传送到另一个点或动态改变汽车方向盘的位置。因此,这种方法在Unigine中是行不通的,据我所知,在Godot中,重新创建对象比更改物理配置或即时更改更容易。但是实际上,这并不是真正必要的,在这个原型中,我只是回到了标准的游戏玩法,当您乘坐不同的汽车时,在特殊的地方从一个地方转换到另一个地方。



Godot有一些有趣的工具,例如CGS对象和多网格。我在文章中更详细地介绍了它们的使用功能:Godot,1000样小东西



Nevanger的原型在此引擎上有一个单独的名称-狂野的引擎。总的来说,我得到了一个类似的项目家族,结合了在陌生世界中行驶的奇特汽车的概念。作为一个有效的集体名称,我曾经称呼它们为Nevangers,直到出现一个更具体的名称。 Godot原型现在有其自己的名称,在Unity 0.9版中挂起的版本(这一切都从此开始)也有一个不同的名称,但是如果有时间可以返回的话,稍后再讲。



最初,我对Wild Engines演示中要实现的功能没有特别的见解,只是绘制了水平草图,试图了解如何更好地实现地形以及希望看到的机会。然后我想到了使相机移动到鼠标后方的想法,与其他版本相比,可以实现对武器的更多控制瞄准。因此,该原型可能会更加专注于射击的使用。



一路走来,我开始从由小块组成的平台组装一个关卡,尝试各种优化和测量性能的方法。通过优化来进行优化,但是在某个时候我已经用几何体填充了摄像机可见的区域,以至于编辑器停止绘制整个运行场景,并出现错误。通过在设置中包含更多内存来解决此问题。然后,我将平台生成的内容更多地添加到了代码中,只在舞台上留下了带有标识符的简化尺寸块,它们在游戏开始时就将必要的平台加载到了自身中。然后,我将已使用的内存量回滚到一个较低的值,并多次将其增加了几倍而没有任何问题。此外,通过这种实现,始终可以选择重用已经加载的平台,将其移动到关卡中的其他位置,当机器朝那个方向前进时,为了能够使用相同的资源且无过渡地利用它们实际绘制水平空间。



以类似的方式,我后来在Unigine中收集了类似水平的草图,只有在那里编辑器才立即提取整个场景,而无需通过代码将平台加载到块中(但对于Unigine,则使用功能更强大的计算机)。



因此,在Wild Engines的演示版本中,有4辆汽车(必须选择其中一辆才能启动)和两个小级别(A级和B级)。还保留了一些早期地图(0级和1级),但是它们甚至经过了更多测试,并且那里的景观尚未优化。





全屏模式和阴影可以在菜单中打开/关闭。



按钮1、2和3更改相机的位置。鼠标对准并旋转相机,光标离中心越远。



WASD-移动。PgDown-跳。Q-随机脉冲。



鼠标左键-射击。



按Enter,将显示有关控制的提示,并有一个按钮返回主菜单,您可以在其中更改机器/级别。



Win64版本(42 Mb):DROPBOX wildengines_x64



Linux版本(44 Mb):DROPBOX wildengines_linux



奖金



这是新出现的新机器之一,死灵法师:





您可以在Unigine版本中使用它。



另一个新颖的呼应声,就是带有蓝色背光的粉红色Debag,无处不在。



周围还有一个旧的弹药筒……您认为,如果Vangers在那个遥远的时代是世界著名的特许经营权,那么任何八位游戏的克隆品都可以用这个名称隐藏在一个中国的弹药筒上?






All Articles