“세계에서 떨어지는”원인은 무엇입니까?


15

초기의 많은 3D 게임은 당신이 즐겁게 따라 다니고 갑자기 모든 것이 어두워지는 문제를 겪었습니다. 당신은 세상에서 떨어졌기 때문입니다. Bethesda Softworks에게는 이것이 독특하고 오랜 문제 였음을 기억합니다. 비록 그들이 혼자는 아니 었습니다. 내가 야생에서 본지 오래되었으므로 우리는 그것을 지나친 것 같습니다. 내 질문은 두 부분입니다.

1) 이것의 원인은 무엇입니까? (내 추측은 다각형 사이의 부동 소수점 정밀도 관련 이음새와 관련이 있으며 점 모델링 된 문자 위치와 상호 작용합니다. 즉 바닥 청크 A는 위치 1.0에서 끝나고 바닥 청크 B는 0.9998 위치에서 시작하며 마이크로 초 동안 위치는 0.99992, 그리고 붐, 당신은 세상을 빠져 나갑니다. 그러나 그것은 추측에 지나지 않습니다.)

2) 어떻게 고쳐 졌습니까?


Morrowind. 비벡 추억 ...
Tobias Kienzler

3
Bethesda에 대해 말하고 바닥을 통해 떨어지는, 여기 skyrim에 불행한 NPC가 있습니다 .
Chris

항상 나를 스케이트 3 생각 합니다.
user1118321

답변:


14

지오메트리의 "크랙". 이 게임에는 몇 가지 공통점이 있으며 중력이 있으며 충돌 감지 기능이 있습니다.

이러한 이상은 어떤 방식으로 충돌 감지에 실패한 위치입니다. 날카로운 모서리, 틈 또는 기타 여러 가지 형상 이상일 수 있습니다. 물리 엔진의 시간 단계와 관련하여 문제가 있었을 수도 있습니다. 여기서 업데이트가 동기화되지 않고 캐릭터가 완벽하게 좋은 지오메트리를 통과하게되었습니다.

레벨 디자이너가 예상하지 못한 것을 플레이어가 할 때 일반적입니다. 예상치 못한 장소로 뛰어 들거나, 예상치 못한 추락에서 살아 남았습니다. 또는 플레이어가 게임에서 순간 이동 또는 비행과 같은 기능을 사용하여 레벨 디자이너가 플레이어가 접근 할 수 없다고 생각했던 장소에 도달 할 때. 최근 Skyrim ( 비디오 : 11시 25 분에 세계에서 떨어지는 것이 오디오 음소거를 제안합니다 ...).

충돌 감지에 실패하면 중력에서 뒤로 밀리지 않아도되므로 넘어집니다. 절벽을 걷는 것처럼.

실제로 "고정"된 것은 아닙니다. 이것을 피할 수있는 기술이 있지만, 지형을위한 더 나은 도구와 지오메트리 생성 도구 일 뿐이므로 이러한 이상 현상이 발생하지 않습니다.


5

나는 세계를 통해 클리핑이 발생하는 특별한 이유가 있다고 말할 수는 없다고 생각합니다. 게임 간의 게임 엔진 / 물리적 절차의 차이로 인해 여러 가지 이유가 있습니다.

이것을 막 으면서, 세상에서 떨어지는 것이 반드시 제거되지 않았을 것이라고 확신합니다.

대규모 게임 엔진 (Unreal, CryEngine 등)이 몇 개 있으면 해당 엔진이 지속적으로 개발되고 있기 때문에 예상치 못한 문제가 발생할 수 있습니다. 그러나 개발자가 가장 잘 작동하는 게임 엔진에서도 세계 클리핑이 발생할 수있는 기능 / 흥미로운 변경 사항을 환경에 추가하는 것을 막을 수있는 것은 없습니다.

편집 : 1. 이것의 근본 원인은 내가 아는 한, 이것이 가능하게하는 게임 엔진이 플레이어가 잘못 움직이는 지 여부를 감지하는 제한된 방법을 가지고 있다는 사실과 관련이 있습니다. 초기 게임 엔진은 아마도지면이 종종 그 평면 이었기 때문에 더 많은 문제가 있었을 것입니다. 플레이어가 비행기에 있었다면 내려 가지 않을 것입니다. 어떤 이유로 든 그의 수직 위치가 약간 아래로 내려간 경우 그는 영원히 쓰러 질 것입니다. 부동 소수점 계산과 관련하여 말한 내용과 거의 같습니다. 엔진이 더 견고하고 플레이어가 제한을 벗어난 전체 지역에 있는지 확인하면 오류를 유발할 가능성이 줄어 듭니다.


1
그러나 버퍼가 충분하지 않거나 문자가 점으로 표현 된 경우 부동 소수점 계산으로 인해 쉽게 발생할 수 있습니다. +1
MichaelHouse

5

내 생각 엔 구형 엔진은 형상과의 충돌을 감지하기 위해 빠르고 간단한 광선 대 삼각형 테스트를 사용했을 것입니다. 즉, 아주 작은 간격 (또는 계산의 정밀도 오류)조차도 플레이어가 때때로 통과 할 수 있습니다.

더 현대적인 게임은 아마도 플레이어를 나타내는 구 또는 캡슐로 더 비싼 테스트를 사용하며 작은 간격에도 맞지 않을 것입니다. 많은 현대 게임은 자체 테스트를 작성하는 대신 잘 테스트 된 물리 미들웨어를 목적으로 사용합니다.

물리 업데이트에서 많은 시간이 소요되는 경우도 있습니다. 나는 엘리트 게임 중 적어도 하나에서 어떤 이유로 행성을 통해 바로 날 수 있다고 기억합니다. 이는 지속적인 충돌 감지 를 사용하여 해결할 수 있으며 추가 CPU 시간도 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.