RUST LTD 如何为《热狗、马蹄铁和手榴弹 2》打造深度枪械模拟

Sep 25, 2026
Adam Axler
Adam Axler - Unity
Senior Content Marketing Manager
热狗、马蹄铁和手榴弹 2 | RUST LTD

为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

创建 Hot Dogs, Horseshoes & Hand Grenades 2 (H3VR2),一个独立平台 VR 物理射击枪沙盒和提取式Roguelike,目的是从头开始,而不是将十年的技术和设计债务带入续作。

RUST LTD 没有移植原始游戏,而是从一个全新的 Unity 项目开始,在进入完整的内容制作之前,花了将近六个月的时间专注于架构和工具。

该基础支持从枪械组件和弹道到敌人感知、渲染、音频和 Editor 工具的所有内容。真实世界的数据为许多系统提供了输入,使得机械差异是通过模拟而非团队将其作为孤立的游戏玩法值来编写而产生的。

我们与 RUST LTD 的联合创始人兼制作头部 Luke Noonan 和联合创始人兼游戏总监 Anton Hand 谈了从头开始重建游戏、提升模拟复杂性、平衡物理保真度与 VR 性性能,以及构建管理数百种机械上不同的枪械所需的工具。

你打算用H3VR2来构建什么?

安东·汉德:H3VR2 是我们这款 PC VR 游戏 H3VR 的续作,该游戏在抢先体验阶段运行了十多年。我们构建了面向独立平台VR的后续版本,您可以将其视为我们过去十年中试验、探索和玩过的所有内容的提炼,并围绕一个更传统的中心游戏模式进行包装。

那个中央模式是设施,它是一个提取式Roguelike。除了设施外,我们还有一个更线传统光源游戏的挑战范围,以及沙盒内容,因为这仍然是一个拥有Collection玩具的Physics枪械沙盒。

我们一个主要的业务方向是,在枪械和虚拟Object交互方面,比任何人都深入得更深,或者说,比人们可能认为明智的程度更深。

热狗、马蹄铁和手榴弹2

续集在作用域和雄心上有什么变化?

卢克·诺南:我们使用新建Title想要做的一件大事是修复积累了大量的技术和设计债务。

我们对H3VR2进行了从零开始的重写。When我们开始时,这是一个全新的 Unity Project。我们研究了现有游戏的部分内容,并从中绘制了经验,但这并非端口。那是一次重新构建。

啊从技术上讲,我们构建这个 Project 的方式几乎与我们构建 H3VR 的方式完全相反。

使用H3VR2,我们在开始接近完整内容制作之前,花了将近六个月时间纯粹进行架构和工具开发。我们知道如何版本这些枪,因为我们已经Done了十年了。我们需要能够缩放到五年或十年内容添加Project的系统。

LN:我们从一开始就知道这将是一个规模大得多的Team。H3VR 主要由安东负责,其他人员支持生产的不同部分。使用H3VR2,我们超过了20人。

这需要从一开始就具备更好的Development运维能力:良好的版本控制规范、Build Automation化、自定义的Editor器工具以及适用于跨越五个不同时间的Team的生产流程。

热狗、马蹄铁和手榴弹2 | RUST LTD

在编辑器中使用自定义检查器为新枪设置手部姿势的屏幕截图

模拟的底层涉及什么,您确定了哪些是正确的?

啊我们的流程始于amount的经典研究。我们Start寻找真实的参考材质,包括实际的书籍和技术文档。

从模拟的角度来看,我们的基本原则是构建一个模型,我们可以将真实数据输入其中,并使模型收敛于接收到的、口语化的现实和对游戏有效的某个点之间。

当你用数量输入版本一个非常复杂的模拟时,这一点就变得重要了。我们最终会有数百把枪、数百发弹药和数十种Materials。

有了H3VR2,我们已经能够走得更远了。我们可以问是否可以将真实的弹簧常数输入到一个系统中,并发现,是的,我们可以。我们能否将现实世界的尺寸和机械关系纳入枪械的Operating System中?是的。

LN:我们一前面需要为这种系统化的方法支付成本,但在后续阶段能获得很多好处。如果我们想添加一种新建的弹药类型,例如,我们可以查看诸如弹丸Mass和弹药特性等Properties,而不是凭空捏造一个神奇的游戏玩法数量。

热狗、马蹄铁和手榴弹2 | RUST LTD

热狗、马蹄铁和手榴弹2 | RUST LTD

NVIDIA PhysX 在堆栈中的位置是哪里,您决定需要自定义系统而不是在内置物理引擎旁边或替代它时,是基于什么考虑的?

啊我们使用NVIDIA PhysX提供的相当有限的复杂性。

游戏Physics引擎在Player携父Object并在房间里抛掷它时,并不能真正手柄本地参考帧的微小组件。所以我们有大量非常定制化的内部枪械部件模拟,它们实际上存在于自己的宇宙中。我们管理着这些内部系统与更大的游戏Space之间力与冲量的转换。

在游戏Space关卡,我们更直接地使用Physics学。索西格,我们的热Dog角色,可能是我们使用Physics学的最精彩之处。它们实际上是永恒的Physics布娃娃。

LN:在非常小的缩放上,对于枪内部的组件模拟,我们构建了自定义系统。在另一端,对于弹道学和我们构建的Agent系统的重要部分,我们使用ECS for Unity和Burst构建了另一个图层。

热狗、马蹄铁和手榴弹2 | RUST LTD

热狗、马蹄铁和手榴弹2 | RUST LTD

您如何使用 ECS 为 Unity 设计弹道模拟的架构?

LN:我们知道需要有大量的枪械开火,枪械可以非常快速地开火,而且整个枪战可能同时发生。这ON模拟带来了很大的性能压力,我们在第一款游戏中不得不围绕这一点make妥协。

使用 ECS 和 爆发 可以在 Unity 中为枪械、爆炸和Other系统生成大量的弹道Entities。

它帮助我们提高了保真度,而不是简单地达到了我们原始的Target。我们可以进行更小的子步采样以获得更精确的碰撞,更准确地模拟空气阻力,并对穿透和射入及射出不同 Materials 的物体进行更高保真的处理。

热狗、马蹄铁和手榴弹2 | RUST LTD

热狗、马蹄铁和手榴弹2 | RUST LTD

这个深度模拟带来了哪些最大的性能挑战?

LN:早期Development阶段的大部分时间都是关于系统地测试那些领域的。什么便宜?什么很贵?这个新建平台能做什么或不能做什么?一旦我们有了那些界限,就更容易将帧时间保持线。

啊在H3VR期间,我们对什么是快、什么不是快有了非常深刻的理解。这是我们直到 Quest 3 才进入独立平台 VR 的原因之一。

ON CPU 端,这意味着围绕 ECS 爆发 构构建核心模拟系统。ON渲染方面,我们知道枪械的复杂3D模型将消耗掉相当大的帧预算,所以其他所有内容——多边形形数量、纹理内存、带宽、Environment结构——都必须保持非常精简。

我们不愿摧毁人们来玩这个游戏的东西。所以我们从一开始就围绕那些约束设计了环境、交互密度、内容类型和关卡结构。

优化不是在一设置僵化的设计决策之后才出现的平行轨道。它是垂直贯穿整个Project的孕育过程的一部分。

LN:该设施使用我们从模块化套件中版本的程序化组装层,因此我们非常早就验证了光照模型将如何工作。我们研究了如何使用光照探测器、反射探测器以及REST的Lighting堆栈,然后将这些决定追溯到艺术方向本身。

热狗、马蹄铁和手榴弹2 | RUST LTD

使用Editor器工具检查和验证过关卡生成System

升级到Unity 6.3对Project有什么好处?

啊从 H3VR 迁移到 Unity 6.3 用于 H3VR2 基本上是一个十年的飞跃。

有明显的质量改进,例如嵌套预制件,但对我们影响最大的方面是SRP Batcher的性能、着色器编译改进和瓦片后处理。

着色器编译有助于减小那些大型超级着色器ON磁盘上的体积。瓦片后处理对于我们的视觉方法尤为重要。我不想在没有色调Mapping的情况下发布游戏,但最初我们将 HDR 色Mapping通道道直接写入了着着色器中,因为ON独立平台 VR 硬件上使用单独的POST特效效果绘制(blit)性能不够。通过ON瓦片上进行POST处理,我们能够移除该代码。

LN:当前 Unity Version的整体稳定性和可靠性也确实非常重要。我们正在通过Editor器推送大量的自定义定义工具,这个过程非常平滑。

热狗、马蹄铁和手榴弹2 | RUST LTD

在编辑器中配置一个敌人 sosig 代理外观和行为的屏幕截图

游戏中的每件武器都有其自身的机械行为。如何编写并保持其数据驱动,以及如何维护这样一个规模的名单?

啊保持可维护性是一场常量的战斗。我们为所有事情准备的Google文档音量之大简直是惊人的,尽管这些Assets最终成为我们配置这些枪械的单一事实音频源。

这归结于拥有非常强大的 Inspector 工具。那些工具不仅仅是用来输入信息的。我们构建了围绕枪械的计算中心Editor工具、验证工具和分析工具。

这个模拟足够深入,我可以说很多工作更接近于现实生活中的枪械修理。我们正在输入诸如弹簧常数和组件质量等信息。药筒具有压力曲线数据和描述药筒不同组件的信息。

如果那些值是错误的,模拟中的枪械就无法正确循环。

Odin Inspector 和 Asset Store 如何帮助您的团队管理游戏开发和维护的复杂性?

啊如果我必须为我们这样的游戏确定Unity的核心值主张,那就是Editor器的可扩展性。

我们大量使用Odin Inspector,我认为没有它,这个Project是不可行的。

所有为该游戏编写代码的人都编写了自定义定义检查器。Odin 极大地简化了所需的工作amount,因为它为构建这些工具提供了极其强大的速记功能。

When处理像枪械这样在本体论和分类学上都如此复杂的对象时,这一点尤为重要。对于Any一把单独的枪来说,底部System理论上可以配置的全部内容中,可能有95%或98%与该特定Object无关。Odin 让我们抑制那些不相关的选项。

Technie Collider Creator 2 来自 Triangular Pixels 的 Asset Store(资源商店)也是一个游戏规则的改变者。它在生产过程中为Team节省了数百,甚至数千小时。

对于一个重Physics的VR游戏来说,创建Physics碰撞体需要用户手册工作和自动化的一种笨拙的结合。完全自动化的解决方案通常是不合适的。尽可能多地使用Physics原语,然后只在绝对需要时才使用凸面体网格。

热狗、马蹄铁和手榴弹2 | RUST LTD

热狗、马蹄铁和手榴弹2 | RUST LTD

对于希望构建技术复杂的模拟游戏(simulation game)的开发者,我的最佳建议是:从小处着手,迭代开发。

啊尽早验证你需要什么。构建模拟系统之间存在非常大的差异,因为你享受构建模拟系统的过程,以及构建你的游戏所需的模拟系统。

如果我回顾 H3VR,我写了一些对 Player 不清晰的模拟工作。结束用户并没有真正体验到它的存在。它没有make我的生活更轻松,在某些情况下,它让作为开发者人员和设计师的我更难了,而且它也没有result更有回报的游戏玩法体验。

这是Any复杂模拟游戏都有的风险。你最终可能会做一些对除了你自身完成它所获得的经验之外,对任何人都无益的工作,同时让你离项目的宏观目标越来越远。

LN:我还会点人。我们从为Team找到合适的专家中受益匪浅:一位对枪械有深刻了解的专家,了解主题和VR需求的武器艺术家,以及对我们正在构建的系统感兴趣的工程师。

热狗、马蹄铁和手榴弹2 可以在 Quest 3 上提前预订。Steam 版本现在可以提前加入愿望单,等待其 2027 年发布。查看 Unity Blog 和 Unity Resource Hub 上的更多开发者故事。