Изменение точки привязки в DirectX c ++ - PullRequest
0 голосов
/ 14 июня 2010

Я хотел бы построить башню, которая может вращаться по всей оси.Таким образом, основание может вращаться по оси Y, а ствол - по оси X / Z в зависимости от фактического значения Y, как и обычная револьверная головка, которая имеет половину шарикового основания, а ствол является цилиндром.Каков наилучший способ сделать это в простом DirectX?(Я не использую какие-либо готовые пакеты, потому что я хочу их учить, а не просто использовать).

Я подумал, что лучшим способом было бы сделать основание и ствол как отдельные модели, а затем повернуть их.

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

1 Ответ

0 голосов
/ 14 июня 2010

Я не модельер .... возьми то, что я говорю, с крошкой соли ...

Вы можете сделать всю модель одной модели, но ствол может быть прикреплен к собственной кости внутри модели. Это просто простой способ обеспечить модель несколькими вращениями (то есть повернуть все вокруг Y, а затем повернуть ствол вверх / вниз).

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

...