Я создал ландшафт с помощью карты высот в Three.js и использую misc_controls_pointerlock mrdoob для столкновения и движения. Однако, когда я делаю objects.push(terrainobj);, производительность падает примерно до 3 кадров в секунду (примерно с 60), и столкновения с ландшафтом нет. Столкновение достигается с помощью лучей. Как я могу обойти это?
Проблема со столкновением с землей при использовании Three.js
Ответы (1)
Если это просто карта высот, вы можете не использовать луч и выполнять проверку столкновений прямо в растровом изображении (используя холст и данные изображения).
Вам просто нужно преобразовать мировую позицию XZ в пиксель XY на карте высот. Затем, если ваша позиция Y в мире ниже, чем значение цвета пикселя, вы перемещаете объект вверх.
person
mrdoob
schedule
28.03.2013