EA DICE 직원들은 Battlefield Bad Company 2와 Battlefield 3에서 어떻게 파괴 가능한 환경을 만들었습니까?
방금 폭발 또는 이와 유사한 것이있을 때 분리되는 사전 정의 된 하위 영역에서 건물을 조립 했습니까? 나는 다른 것을 생각할 수 없다.
EA DICE 직원들은 Battlefield Bad Company 2와 Battlefield 3에서 어떻게 파괴 가능한 환경을 만들었습니까?
방금 폭발 또는 이와 유사한 것이있을 때 분리되는 사전 정의 된 하위 영역에서 건물을 조립 했습니까? 나는 다른 것을 생각할 수 없다.
답변:
간단히 말해서 그들이하는 일을 단순히 그렇습니다. 그러나 파괴 마스크를 사용하여 직선 가장자리를 덮을 여분의 길이 . 지오메트리의 일부를 제거한 후 파괴 된 섹션 주위 에 상세한 메시 를 추가 하여 믿을 수있게 만듭니다.
작동 방식은 다음과 같습니다.
이 집의 일부를 파괴 할 때는 지오메트리 조각을 제거하는 것으로 시작합니다
그런 다음 파괴 된 부분 주위에 디테일 메시를 추가했습니다.
마지막 단계는 파괴 마스크를 추가하는 것입니다.
또한 입자 효과와 메쉬 잔해를 사용하여보다 극적인 모양을 만듭니다.
(모든 언급은 의견에서 언급 한 2 개의 간행물에서 가져옵니다)
알고리즘이 실제로 어떻게 작동하는지에 대한 더 많은 연구를 원한다면 CSG-Constructive Solid Geometry입니다 (이 경우에는 파괴적이고 엄격하게 말하지만).
표준 접근법은 기존의 두 메시 A & B (집과 차감 된 "폭발"볼륨)를 사용하여 두 메시 평면과 모서리가 교차하는 세 번째 "메시"(그래프)를 생성하는 것입니다. 그들은 공유한다. 2D에서 :
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A는 집이고, B는 폭발 량이며, C는 A와 B 사이의 결합 / 연속 영역입니다. G는지면입니다.
처리해야 할 많은 경우가 있고이 작업의 절반 이상이 코드에서 제공해야하는 특수한 경우 인 결과 그래프 유형 중 일부만 인식하기 때문에 그 뒤에있는 수학 / 논리는 사소한 것이 아닙니다. 나는 gamedev.net의 참전 용사들이 "매우 어려운 문제"라고 묘사 한 문제를 보았고, 2D로 시도하고 심지어 몇 가지 우연한 사례 만 실패하는 중간 정도의 성공을 거두었다고 말할 수 있습니다. 작은 일이 아니다.
더 쉬운 방법은 다각형 분해 알고리즘을 사용하고 대신 형상 파괴의 기초로 생성되는 형상을 사용하는 것입니다.