J'écris un jeu de voiture de rassemblement de voiture. pour modéliser la route je suis utilisé à partir du type de vertex "PositionNormalTextured" et pour la modélisation de la voiture je suis utilisé à partir d'un Mesh. la voiture est fixe et la route se déplace en dessous et j'ai un appareil que je rends voiture et route avec. Maintenant, je veux déplacer la voiture à gauche et à droite, mais la voiture et la route se déplacent ensemble. Que dois-je faire pour déplacer le
voiture à gauche et à droite sans déplacement de la route?Un problème avec la traduction
Répondre
Comment faites-vous votre rendu? Comment faites-vous votre traduction?
Si vous ajoutez une traduction à la matrice de votre monde puis que vous effectuez un rendu et que BOTH se déplace, vous ne définissez pas de matrices de monde différentes.
Votre code devrait aller quelque chose comme ceci:
RenderCar();
TranslateRoadBack(speed);
TranslateRoadSideways(amount);
RenderRoad();
De cette façon, vous rendre la voiture à l'origine du monde. Lorsque la voiture avance ou coule, vous déplacez la piste sous la voiture. Notez, cependant, que la voiture et la route sont rendues séparément.
Il convient également de noter que c'est une solution. Vous pouvez garder la route statique et déplacer la voiture (Cela peut sembler plus logique selon votre état d'esprit) mais si vous voulez que l'appareil photo reste derrière la voiture, vous devrez également déplacer l'appareil photo.
Modifier: Je réponds à votre commentaire, vous définissez simplement D3DTS_WORLD à nouveau. Lorsque vous appelez DrawIndexed Primitive (DIP), il utilise la matrice actuellement définie. Si vous changez la matrice, appelez à nouveau DIP. Les données rendues dans le nouvel appel DIP utiliseront la nouvelle matrice.
(Note:. Cela vaut pour DrawPrimitive (DP) appelle tout autant que DrawIndexedPrimitive mais vous devriez préférer DIP sur DP car il permet à la carte de ne pas re-transformer un sommet avec un indice qu'il vient transformé)
Comment puis-je définir une autre matrice de monde? (comme vous le savez Transformer calss a World, World1, World2 et World3) –
Mis à jour ma réponse. – Goz
Doh aurait dû faire une demande serrée sur l'AUTRE question. S'il vous plaît utiliser la fonctionnalité d'édition dans le futur Hesam. – Goz