EA DICE如何在Battlefield Bad Company 2和Battlefield 3中创建可破坏的环境?[关闭]


30

EA DICE的员工如何在Battlefield Bad Company 2和Battlefield 3中创建可破坏的环境?

他们是否只是将建筑物组装在预定的子区域之外,这些子区域在发生爆炸或类似事件时会破裂?我想不出什么了。



2
在DICE网站的发布部分下有2个关于冻伤引擎的破坏和变形的文档。一个在论文类别下,另一个在渲染类别下
Quazi Irfan

4
我投票结束这个题为离题,因为它询问特定发行商如何在特定游戏中创建特定机制。通常,我们无法毫无把握地告诉您,因此,这些问题是不合时宜的。通常,我们会问自己如何创建这样的机制,但是我认为这个问题已经过时,无法提供任何切实的好处。
Gnemlock

Answers:


27

简单地说,是他们所做的。但是要多花些时间使用破坏蒙版掩盖笔直的边缘。删除几何图形的一部分后,他们在被破坏的截面周围添加了详细的网格,以使其看起来可信。

下面是它的工作原理,

在此处输入图片说明

摧毁房屋的一部分时,我们先移除一部分几何

摧毁房屋的一部分时,他们会先移除一部分几何

在此处输入图片说明 然后在被破坏的部分周围添加细节网格。

在此处输入图片说明

最后一步是添加破坏面具。

他们还使用粒子效果和网格碎片来获得更生动的外观。

(所有参考均来自我在评论中提到的那两个出版物)


8
粒子看起来确实很引人注目,但是它也允许通过烟和诸如此类的东西对玩家隐藏几何图形交换。
AttackingHobo

8

如果您想对算法的实际工作方式进行更多研究,这就是CSG-构造实体几何(尽管在这种情况下,严格来说是破坏性的)。

标准方法是使用两个现有的网格A和B(房屋和减去的“爆炸”体积)生成第三个“网格”(图形),其中两个网格的平面和边线相交,C表示面积他们分享。在2D模式下:

      / \
     /   \
    /  A  \
     |   |
     | /-|-\
     | |C| |
---  ----- | ------- G
       |  B|
       \---/

A是房屋,B是爆炸量,C是A与B之间的结合/相交区域。G是地面。

它背后的数学/逻辑并不是微不足道的,因为要处理的边缘情况很多,而这项任务的一半或更多只是仅仅认识到结果图的可能类型中的哪一种是需要在代码中满足的特殊情况。我已经在gamedev.net上将退伍军人描述为“一个非常困难的问题”,我可以告诉您即使在2D模式下尝试也只有中等程度的成功,只有少数情况会失败,那可不是一件容易的事。

一种更简单的方法是使用多边形分解算法,然后使用创建的几何作为破坏几何的基础。


1
它可能被否决了,因为它与问题无关,因为它询问用于特定游戏的方法。Stegmayr的论文是在开发BF:BC2时写的-因此,其中的方法和结果可能影响了销毁系统的设计。但是,令人遗憾的是,它似乎并没有完整地存入游戏本身,这在研发新技术方面并不罕见。(而且不,我没有/不能这样做。)
Lars Viklund
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.