Требуется помощь для «привязки» 3D-модели к 3D-сетке ландшафта в XNA - PullRequest
1 голос
/ 18 февраля 2011

Я пытаюсь ограничить высоту модели до высоты меша, по которому она движется. Я изучал эту проблему в течение короткого времени, и кажется, что есть много способов решить проблему, если я использовал карту высот для генерации ландшафта, просто возвращаясь и проверяя ограничивающую сферу меша на предмет столкновения с данными вершин, сохраненными во время создание сетки, но мне нравится идея импорта сетки в виде файла .x.

Я пытался обернуть голову вокруг создания собственного обработчика контента для сохранения данных вершин (edit :) ландшафта в качестве тега на (edit :) terrain * Модель 1006 *, но она выглядит намного сложнее, чем я мог бы подумать. Я только что получил учебник по отбору треугольников от Microsoft, и это кажется возможным решением, но есть ли другой, более простой способ?

Я пытаюсь переместить сетку без изменений (например, шар) по потенциально случайно сгенерированной сетке (местности). Любые идеи, или я должен просто страдать из-за кривой обучения, навязанной мне примером выбора треугольника?

Спасибо.

1 Ответ

1 голос
/ 18 февраля 2011

Простой ответ (именно это большинство и делает для создания своих ландшафтов) состоит в том, чтобы ваша модель содержалась в ограничивающей рамке, и чтобы контрольная точка модели была серединой нижней части ограничительной рамки.Когда вы привязываетесь к ландшафту, вы находите значение z в нужной точке x, y и устанавливаете это значение z в качестве значения z модели.

Теперь это иногда заставит ваш ландшафт выглядеть так: enter image description here

Но обычно все в порядке.В большинстве случаев он работает для привязки, затем вы настраиваете вручную, если это необходимо, в тех случаях, когда он показывает.

...