EA DICE는 Battlefield Bad Company 2와 Battlefield 3에서 어떻게 파괴 가능한 환경을 만들었습니까? [닫은]


30

EA DICE 직원들은 Battlefield Bad Company 2와 Battlefield 3에서 어떻게 파괴 가능한 환경을 만들었습니까?

방금 폭발 또는 이와 유사한 것이있을 때 분리되는 사전 정의 된 하위 영역에서 건물을 조립 했습니까? 나는 다른 것을 생각할 수 없다.



2
DICE 웹 사이트의 게시 섹션에 Frostbite Engine 의 파괴 및 변형에 관한 문서가 2 개 있습니다 . 하나는 논문 카테고리에 있고 다른 하나는 렌더링 카테고리에 있습니다.
Quazi Irfan

4
특정 게시자가 특정 게임에서 특정 메커니즘을 만드는 방법을 묻기 때문에이 질문을 주 제외로 닫으려고합니다. 일반적으로 우리는 추측없이 확실하게 말할 수 없으므로 이러한 질문은 주제가 아닙니다. 일반적으로 우리는 그러한 기계공을 스스로 만드는 방법을 묻지 만, 나는이 질문이 그렇게함으로써 실질적인 이익을 제공하기 위해 오래되었다고 생각합니다.
Gnemlock

답변:


27

간단히 말해서 그들이하는 일을 단순히 그렇습니다. 그러나 파괴 마스크를 사용하여 직선 가장자리를 덮을 여분의 길이 . 지오메트리의 일부를 제거한 후 파괴 된 섹션 주위 에 상세한 메시 를 추가 하여 믿을 수있게 만듭니다.

작동 방식은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

이 집의 일부를 파괴 할 때, 우리는 지오메트리 조각을 제거하는 것으로 시작합니다

이 집의 일부를 파괴 할 때는 지오메트리 조각을 제거하는 것으로 시작합니다

여기에 이미지 설명을 입력하십시오 그런 다음 파괴 된 부분 주위에 디테일 메시를 추가했습니다.

여기에 이미지 설명을 입력하십시오

마지막 단계는 파괴 마스크를 추가하는 것입니다.

또한 입자 효과와 메쉬 잔해를 사용하여보다 극적인 모양을 만듭니다.

(모든 언급은 의견에서 언급 한 2 개의 간행물에서 가져옵니다)


8
파티클은 극적으로 보이지만 연기와 기타로 플레이어에서 지오메트리 스왑을 숨길 수 있습니다.
AttackingHobo

8

알고리즘이 실제로 어떻게 작동하는지에 대한 더 많은 연구를 원한다면 CSG-Constructive Solid Geometry입니다 (이 경우에는 파괴적이고 엄격하게 말하지만).

표준 접근법은 기존의 두 메시 A & B (집과 차감 된 "폭발"볼륨)를 사용하여 두 메시 평면과 모서리가 교차하는 세 번째 "메시"(그래프)를 생성하는 것입니다. 그들은 공유한다. 2D에서 :

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

A는 집이고, B는 폭발 량이며, C는 A와 B 사이의 결합 / 연속 영역입니다. G는지면입니다.

처리해야 할 많은 경우가 있고이 작업의 절반 이상이 코드에서 제공해야하는 특수한 경우 인 결과 그래프 유형 중 일부만 인식하기 때문에 그 뒤에있는 수학 / 논리는 사소한 것이 아닙니다. 나는 gamedev.net의 참전 용사들이 "매우 어려운 문제"라고 묘사 한 문제를 보았고, 2D로 시도하고 심지어 몇 가지 우연한 사례 만 실패하는 중간 정도의 성공을 거두었다고 말할 수 있습니다. 작은 일이 아니다.

더 쉬운 방법은 다각형 분해 알고리즘을 사용하고 대신 형상 파괴의 기초로 생성되는 형상을 사용하는 것입니다.


1
특정 게임에 사용 된 방법에 대해 물었을 때 질문과 지나치게 관련이 없기 때문에 다운 보트되었을 수 있습니다. Stegmayr의 논문은 BF : BC2가 개발되는 동안 작성되었으므로 그 방법과 결과는 아마도 파괴 시스템의 설계에 영향을 미쳤을 것입니다. 안타깝게도 게임 자체에는 영향을 미치지 않은 것으로 보이지만 R & D의 새로운 기술에 있어서는 드문 일이 아닙니다. (아니, 나는 할 수 없었습니다 / 할 수 없습니다.)
Lars Viklund
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.