Ось Y изменяется при столкновении с землей

В настоящее время я работаю над личным 3D-проектом. Он использует OpenGl и LWJGL, и в настоящее время я реализую JBullet. Но мой KinematicCharacterController (который я использую для своей камеры от первого лица) ведет себя странно: если я порождаю его в точке (0; 50; 0), он плавно падает, но когда он достигает земли, он телепортируется на несколько единиц выше, Он снова падает и повторно телепортируется... Он никогда не заканчивается.

Когда я печатаю позицию Призрака (PairCachingGhostObject), это показывает, что ось Y тоже делает эту странную вещь - так что это не проблема отображения. Кроме того, когда я тестирую character.onGround(), он показывает "истина" в течение примерно двух кадров, а затем "ложь", когда игрок падает.

Вы можете увидеть полный исходный код. Игрок находится в лицах /Player.java. Fps.java содержит основной цикл и материал для инициализации.

Я не знаю, потому что я не использовал правильное место (я новичок с маркером и следовал примеру demos\character\CharacterDemo.java), или это из-за другой глупой ошибки.

Если я все делаю неправильно, что я должен сделать, чтобы справиться с игроком? Моя цель - создать мир без гравитации с игроком, который не может проходить через объекты, мне не нужны такие вещи, как обработка лестниц.

0 ответов

Другие вопросы по тегам