2010-11-06 3 views
2

Quelqu'un sait comment je pourrais aller sur les bâtiments de dessin avec la hauteur de perspective 3D, comme dans les GTA d'origine: http://www.gtanetwork.it/gtaold/pics/screen/gta1_01.jpg dans Flash?Dessin de bâtiments en perspective (style GTA1/2) en Flash?

J'ai essayé d'utiliser beginBitmapFill() et de dessiner les polygones mais la texture ne semble pas correcte car elle n'a pas la bonne profondeur.

Quelqu'un a des idées? Je ne cherche pas un moteur 3D complet, je veux juste que les bâtiments aient de la profondeur, tout le reste sera sur le même plan.

Répondre

1

Vous voyez, le mappage de texture en perspective est l'une des principales caractéristiques de tout moteur 3D. C'est pourquoi nous les avons. Il est facile de faire l'allocation de la perspective 3D, tout en remplissant simplement les polygones avec des couleurs, même en Z-buffering - tout cela reste relativement simple. Le mappage de texture en perspective va un peu plus loin ... Il implique d'avoir un fournisseur de texture et un transformateur, et le transformateur doit diviser les sommets (pour la perspective réelle), puis appliquer des transformations affines sur le bitmap, dessiner chacun des eux ... Tout cela est difficile à maintenir si vous voulez le faire dans un code personnalisé (ou chronologique même ... qui serait très ennuyeux). Les moteurs 3D fournissent beaucoup plus de fonctionnalités (l'ombrage serait bien aussi), et sont très faciles à entretenir.

Je recommanderais PaperVision 3D, bien que vous deviez séparer les vertices vous-même (ou AFAIK PV3D ne le supporte pas automatiquement).

Et avant que quelqu'un ne dise que ce serait facile à faire dans une simple boucle personnalisée à travers un BitmapData, l'allocation des pixels ... Ce n'est pas le cas. La perspective n'est pas linéaire - et une boucle non-linéaire y serait très lente.

+0

Je me suis dit que ce ne serait pas facile - merci beaucoup. – Scott

+0

Je dirais que away3d est un meilleur pari pour un moteur 3d, papervision n'a pas mis à jour depuis près d'un an et est à la traîne. – grapefrukt

+0

Bien sûr, je ne connais pas vraiment les moteurs tiers. –