«collision-detection» 태그된 질문

충돌 감지는 게임 플레이 중 둘 이상의 개체가 서로 접촉하는지 여부를 결정하는 것입니다.

1
사각형이 충돌하는면을 결정하는 간단한 2D 사각형 충돌 알고리즘?
처음에는 사각형 교차를 구현하려고 시도했지만 제대로 작동했습니다. 그러나 속도, 가속도 및 방향 벡터와 같은 물리 시스템을 적용해야 할 때 직사각형의 어느 쪽이 충돌하는지 결정하는 방법을 찾아야했습니다. 이제 내 시스템에는 회전 된 사각형이 없으므로 문제가 단순화되었습니다. 그러나 충돌 한 사각형면을 결정하는 쉬운 방법을 찾지 못했습니다. 한 번도이 문제를 다루었지만 비참하게 실패했습니다. …

4
해상도와 상관없이 충돌 감지가 작동하도록 화면에서 마우스 위치를 "매핑"하는 것은 좋지 않습니까?
기본 해상도가 800x600 인 게임을 생각해보십시오. 충돌 마스크가있는 객체는 800x600 크기의 게임 세계에 배치됩니다. 충돌 마스크는 마우스가 충돌하는시기를 감지 할 수 있습니다. 이제 게임을 1024x768까지 확장 할 수 있습니다 (모든 것을 레이어에 렌더링 한 다음 전체 레이어를 한 번에 확대하여 그래픽을 스케일링한다고 가정). 이 새로운 해상도에서 마우스와 충돌하는 두 가지 …

3
여러 객체와 충돌하는 경우 충돌 해결
정적 객체와 이동 가능한 객체가 있습니다. 충돌은 분리 축 정리를 사용하여 감지됩니다. 예를 들어,이 상황에서는 두 개의 정적 객체 (빨간색)가 있습니다. 및 둘 사이의 이동 가능한 물체 : 내 알고리즘은이 두 개체 간의 충돌을 계산할 수 있으며 충돌에 대한 완벽한 해상도 벡터 (최소 변위 벡터를 의미)를 뱉어냅니다. 예를 들어 녹색 …

3
충돌 감지는 항상 O (n ^ 2)입니까?
물리 엔진은 예를 들어 서로 가까이있는 객체를 그룹화하여 모든 객체 대신이 그룹 내에서 충돌을 확인하는 등 복잡성을 줄일 수 있습니까? 예를 들어, 원거리 객체는 다른 객체와의 속도와 거리를보고 그룹에서 제거 할 수 있습니다. 그렇지 않은 경우, 구 (3d) 또는 디스크 (2d)에 대해 충돌이 사소한가? 이중 루프를 만들거나 대신 쌍의 배열을 …

3
힘과의 충돌 해결
내 2D 물리 엔진에서 AABB 대 AABB 충돌을 감지하고 가장 짧은 침투 벡터를 찾아 AABB 위치에 추가하여 해결할 수 있습니다. 이 작업을 수행하면 두 번째 AABB 외부의 첫 번째 AABB가 "푸시"되지만 속도 / 가속 변경은 처리되지 않습니다. 시뮬레이션에 중력 가속을 추가하면 첫 번째 동적 AABB의 속도가 두 번째 정적 AABB …

5
순서가 중요하고 충돌이 객체 그룹을 기준으로 조건부 인 충돌 엔진을 어떻게 최적화 할 수 있습니까?
이 질문에 대해 처음 인 경우에는 먼저 아래의 사전 업데이트 부분을 읽은 다음이 부분을 읽는 것이 좋습니다. 그래도 문제의 종합은 다음과 같습니다. 기본적으로 충돌 순서 및 충돌 그룹이 중요한 그리드 공간 분할 시스템이있는 충돌 감지 및 해결 엔진이 있습니다. 한 번에 한 몸이 움직 인 다음 충돌을 감지 한 다음 …

5
특정 상황에서 일부 객체와의 충돌 무시
Unity에서 자동차로 레이싱 게임을 만들고 있습니다. 자동차에 부스트 / 니트로 파워 업이 있습니다. 부스팅하는 동안 좀비와 충돌 할 때 벗어나고 싶지 않지만 벽과 충돌 할 때 벗어나고 싶습니다. 반면에, 나는 좀비와의 충돌을 무시하고 싶지 않습니다. 왜냐하면 나는 여전히 충돌에 충돌하기를 원하기 때문입니다. 어떻게 처리해야합니까? 기본적으로, 내가 원하는 것은 특정 물체와 …

2
빠른 물체가 벽을 통과하지 못하도록 충돌 감지를 어떻게 처리합니까?
2d sidecrolling shooter를 만들고 있는데 총알의 충돌 감지에 약간의 문제가 있습니다. 글 머리 기호를 포함한 모든 것은 자체 다각형 / 업데이트 방법이있는 객체입니다. 문제는 총알이 빠르게 진행되고 초당 60 프레임 (게임에서 실행되는 속도)에서 총알이 업데이트 간격 동안 벽의 너비보다 더 많이 이동하기 때문에 벽을 통해 바로 건너 뛰는 경우가 있다는 …

6
등각 충돌 탐지는 어떻게 처리합니까?
아이소 메트릭 런-점프 스타일 플랫 포머를 만들고 싶습니다. 플레이어는 바닥 위의 플랫폼 위로 뛰어 올라 물체의 측면을 때릴 수 있어야합니다. 2D 게임 엔진을 사용하므로 사용하지 않는 치수에 대해 전체 3D 충돌을 모방하고 싶지 않습니다. 게임의 오브젝트는 깊이를 위해 X, Y, 너비, 높이 및 Z를 사용하여 배치해야한다고 생각합니다. 이 값을 사용하여 …

3
작은 고속 객체 충돌 : 터널링 방지
편집 / 업데이트 : 지금 가장 큰 질문은 3 단계의 "t = ..."방정식이 좋은 아이디어인지 또는 더 좋은 방법인지 여부입니다. 대부분의 다른 문제는 부분적으로 또는 전체적으로 해결되었지만 실제로이 문제에 대한 의견이나 답변은 없습니다. 다시 말하지만, 분석 솔루션이 필요할 수도 있고, 속도와 거리가 너무 길고, 객체가 너무 작습니다. 이런 종류의 상황을 …

2
Time.deltaTime을 사용하더라도 움직임은 프레임 속도에 따라 달라집니다
Unity에서 게임 오브젝트를 이동하는 데 필요한 번역을 계산하는 다음 코드가 LateUpdate있습니다. 내가 이해 한 바에 Time.deltaTime따르면 최종 변환 프레임 속도를 독립적 으로 사용해야합니다 (레이 CollisionDetection.Move()캐스트를 수행하는 것입니다). public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { …

2
많은 작은 삼각형으로 만들어진 물체에서 충돌 감지를 어떻게 수행합니까?
더 작은 삼각형으로 모양을 만들 수 있습니다. 두 개의 작은 삼각형으로 사각형을 만들 수 있습니다. 많은 원은 많은 "피자 슬라이스"삼각형으로 만들 수 있습니다. 이것이 충돌 감지로 어떻게 해석됩니까? 꼭짓점을 사용하여 사각형 겹침을 계산하는 방법을 이해합니다. 중심, 반지름 및 거리를 사용하여 원 겹침을 계산하는 방법을 이해합니다. 그러나 작은 삼각형으로 만든 모양에서 …

4
더 빠른 2D 충돌 감지
최근에 나는 빠르게 진행되는 2D 사수를 연구하고 있었고 큰 문제를 겪었습니다. 충돌 감지. 물론 작동하지만 매우 느립니다. 내 목표는 : 화면에 많은 적을 가지고 서로 접촉하지 않도록하십시오. 모든 적들이 플레이어 개체를 쫓고 있습니다. 그들 대부분은 조만간 같은 속도를 가지므로 플레이어를 쫓으면서 같은 공간을 차지하게됩니다. 이것은 플레이어가 하나의 적에게만 쫓기고있는 것처럼 …

3
물리 엔진에서 동시 충돌을 처리하는 가장 좋은 방법은 무엇입니까?
비디오 게임의 물리학에 대해 자세히 배울 수 있도록 2D 물리 엔진을 자바 스크립트로 작성하고 있습니다. 바디가 동시에 두 개 이상의 다른 바디와 충돌하는 경우를 제외하고는 딱딱한 바디 충돌에 대해 올바르게 작동합니다. 현재 충돌체 (A, B)의 각 쌍에 대해 충돌 임펄스에 따라 속도와 각속도를 수정하고 관통하지 않도록 서로 밀어냅니다. 그러나 A와 …

1
타일 ​​맵 위에 복잡한 충돌 영역을 어떻게 정의 할 수 있습니까?
많은 사람들이 추천했듯이 Tiled 맵 편집기 를 사용하여 게임에 대한 맵을 작성하고 있으며 특히 libgdx 프레임 워크가 Tiled 맵용 API를 제공 하기 때문에 매우 좋습니다 . 지도 편집기에서 충돌 가능한 타일을 정의하거나 정의 할 수 없으므로 코드의 충돌을 처리 할 수 ​​있습니다. 그러나 현재 타일을 충돌 가능 영역과 충돌 불가능 …

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