2011-03-22 3 views
1

난 유한 크기의 2D 벡터 필드가 있습니다. 제가 원했던 것은이 분야에서 어떤 "순환"을 발견하는 것입니다. 즉,이 필드가 유체의 흐름을 나타내고,이 사이클 중 하나에 객체를 배치하면 객체는 주변을 돌아 다니고 절대 도달하지 않을 것입니다. 휴식. 나는이 문제에 관해 학술적으로 수학적인 기사를 찾았다 고 생각하지만, 지금까지 내 머리 위로 쓰고있어. 그런 사이클을 찾는 표준 알고리즘이 있습니까?2D 벡터 필드에서 어떻게 비 종료 사이클을 찾으십니까?

왜 이런 사이클을 찾고 싶습니까? 나는 Super Mario Galaxy와 유사한 개념을 가진 2D 플랫폼을 만드는 것을 고려 중입니다. 하나의 지구상 중력 벡터가 아닌 여러 개의 작은 중력 몸체가 플레이어 사이를 뛰어 다니며 걸을 수 있습니다. 정적 바디의 중력장은 레벨 편집 중에 정적으로 계산됩니다. 나는이 문제를 해결하기 위해 을 가지고 있지만 플레이 테스트를 통해 발견하지 않고 레벨 편집기에서 피할 수없는 중력 루프를 감지하는 데 아주 좋은 도구가 될 것입니다.

+0

나는 당신이해야 할 일을 배우고 싶습니다. 그리고 나서 그것을 구현하려고합니다. 들판에 연습이 없다면 당신은 아주 멀리 가지 않을 것입니다 ... – Blender

답변

0

사이클을 포함하는 "중력장"을 상상하기는 어렵습니다. 그러나 플레이어의 궤도는 주기적 일 수 있습니다. 이것을 "궤도"라고 부릅니다.

쉬운 해결책은 궤도가 부식되지 않도록하기 위해 약간의 마찰이나 댐핑을 포함하는 것일 수 있습니다.

덜 다루기 쉬운 해결책 : 공간이 분리 된 경우 각 상태 (위치, 속도)를 테스트하고 플레이어가 동일한 상태를 다시 방문하는지 확인할 수 있습니다. 이것은 또한 유한 속도의 합법적 인 속도 값을 요구할 것임을 노트하라.

플레이어가 추진력을 발휘할 수있는 수단을 제공하는 것이 유용성의 관점에서 볼 때 문제를 해결하는 좋은 방법이기도합니다.

+0

Goddammit Yann 나는 당신에게서 빠져 나올 수 없습니다. –

관련 문제