Я пытаюсь сделать простую трехмерную платформенную игру. Проблема, с которой я сталкиваюсь, связана с обнаружением столкновений и ответом. В настоящее время я представляю своего игрового персонажа (для столкновений со стенами и полом) сферой.
Я использую простую силу гравитации и направленные силы, используя клавиши со стрелками для движения.
Моя проблема возникает, когда я подхожу к краю (например, к обрыву). Я скользю по краю, как мяч, но поведение, которое я ищу, — это падение с края, как вертикальный цилиндр. Логическое значение «Я на платформе или меня нет на платформе», а не «Я постепенно сползаю с края».
Проблема с использованием вертикального цилиндра заключается в том, что скольжение вверх по лестнице автоматически становится невозможным, а при ходьбе по любому склону цилиндр должен либо касаться только одним краем, либо частично входить в уклон.
Что такое хорошее представление коллизии персонажа игрока в 3D-платформере?