2010-06-14 19 views
0

Je voudrais construire une tourelle qui puisse tourner dans tous les axes. Ainsi, la base pourrait tourner dans l'axe Y et le canon dans l'axe X/Z en fonction de la valeur Y réelle, tout comme la tourelle normale, qui ont la base de la demi-boule et le canon est le cylindre. Quelle est la meilleure façon de le faire dans DirectX simple? (Je n'utilise pas de packs préparés, parce que je veux l'apprendre et non l'utiliser).Changement de point d'ancrage dans DirectX C++

Je pensais que le meilleur moyen serait de faire de la base et du canon comme des modèles séparés, puis de les faire tourner. Je pense qu'il y a une meilleure solution parce que dans les gros jeux, comme les tireurs spatiaux, où vous pouvez voir dans une bataille des centaines de tourelles et il y a un gros ammout d'effets, donc je pense que ça pourrait être un peu lent?

Répondre

0

Je ne suis pas un constructeur de modèle .... prendre ce que je dis avec un grain de sel ...

Vous pouvez toujours faire l'ensemble Turrent un modèle, mais le canon pourrait être attaché à son os à l'intérieur du modèle. Ceci est juste un moyen simple de fournir un modèle avec plusieurs rotations (c'est-à-dire faire pivoter le tout autour de Y et ensuite faire tourner le canon vers le haut/bas).

En ce qui concerne les gros jeux, des astuces peuvent souvent être faites pour réduire le nombre de rotations. Par exemple, n'importe quelle fermeture rapprochée peut être rendue à tous les détails alors que ceux qui sont éloignés pourraient éviter de rendre le tout courant car il pourrait seulement rendre à un seul pixel sur l'écran.