PDA

Voir la version complète : nbre de polygones pour une unitee?


orion
31/08/2005, 17h55
Bon voila je lance un petit sondage.

Je voudrais savoir selon vous de combien de polygones au maximum doit etre composé une unitée d'un jeu de stratégie en temps réel ayant un moteur graphique a base opengl ? (je table sur environ 200 unitées visibles en même temps à l'écran)

Majime
31/08/2005, 18h08
difficile à dire, tout dépend des performances de ton moteur, mais à titre d'exemple les unitées de Warcraft 3 ont en moyenne 200 polygones, et les plus complexes d'entre elles environ 600

MrGecko
31/08/2005, 23h45
Et quand on parle de polygones pour un jeu c'est biensur de triangles qu'il s'agit :00000023: .

orion
01/09/2005, 09h22
merci Mrgecko pour cette précision qui n'apporte pas grand chose :00000005:

Aranoth
01/09/2005, 16h16
Au contraire elle est indispensable,

si tu te bases sur les quadrangles, le nombre de polygones est /2.

600 tri = 300 quads

...

orion
01/09/2005, 16h28
ce que je voulais dire par la c'est que bien evidemment les unites seront a base de triangles, qui reste les polygones les plus rapides a afficher car les plus simples ;)

IronRaph
01/09/2005, 16h59
na les triangles strips sont plus rapide na :p (sauf quand tu t'amuse avec des triangles strips degeneres là les triangles simple sont plus rapide)

kratolp
01/09/2005, 17h05
Tout depend aussi de ce qu'il y a autour! Quelle est la complexite du monde environnant? Combien d'unite avec un skin different veux tu afficher? Ca va etre 200 unites avec a chaque fois un skin different ou alors 200 fois le meme skin?

orion
01/09/2005, 17h09
le monde envirronant: mmm on va dire une map de 500 polys visibles a l'ecran... quelques batiments ayant a peu pres le meme nbre de polys que les unites, deux trois rochers...

pour ce qui est du nbre d'unites avec un skin different, c'est un jeu de strategie temps reel ! une 40aine?

IronRaph
01/09/2005, 17h50
Si tu regarde C&C général tu verras qu'il y a très peu de faces moi je dirais pas plus de 200 faces si tu veux un jeu qui tourne sur la plus part des pc actuelles sinon tu peux monter => 400 faces

orion
01/09/2005, 18h05
le devellopement du jeu etant assez consequent vu tout ce que l'on a decide de mettre dedans, il ne sortira pas avant un an, donc autant tabler sur 600 plutot que 200 ;)
qu'en pensez vous?

kratolp
01/09/2005, 18h07
Si le vertex pour une unite est x,y,z + nx,ny,nz + u,v tu auras 8x4 = 32 octets par vertices.
Apres tu regardes quel budget memoire tu penses allouer pour les unites et quel type de cartes sont visées au niveau taille memoire (il sera important que tout tienne dans le cache). Il ne faudra pas non plus oublier les textures pour les differents modéles.
Si tu prend 250 triangles pour les mesh et que tu n'optimises pas ta geometrie tu va obtenir une consommation memoire de 40*32*3*250 = 1Mo a peu pres et 10000 vertices en cache dans le vbo... Moi ca me parait pas mal! Apres si tu as des strips tu peux avoir plus de triangles pour la meme consommation memoire!

IronRaph
01/09/2005, 18h09
Heu moi ce qui me fait peur c'est le skining de trop d'unités ayant plein de vertex... oublie pas que tu dois transformé chaque vertex par une ou PLUSIEURS matrices avant de pouvoir rendre ton instance et je dis bien instance!

orion
01/09/2005, 18h24
ironraph???excuse moi je reste noob en opengl donc?

Majime
10/09/2005, 09h45
donc bases toi sur 200 polygones par unitees, et travailles les textures de maniere a obtenir un semblant de complexite pour tes modeles un peu comme l a fait ID software avec Doom3, le jeu est tres beau, mais les modeles eux sont TREEEEEEES peu complexe a peine quelques milliers de polygones pour les plus detailles, seulement le moteur graphique, certe tres performant prend le relai sur les graphistes en ajoutant des effets de pixell shadding pour un rendu spectaculaire, on a l impression d affronter des unitees de 10 ou 15 mille polygones alors qu elles n en ont en realite que 1000 a 5000, je crois que l espece de squelette avec un canon sur l epaule(j ai le maillage de cette unitee) de memoire fait 2500 polygones

Majime
10/09/2005, 09h51
si tu te bases sur les quadrangles, le nombre de polygones est /2.

600 tri = 300 quads

...

excuse moi, Aranoth, je m avance peut etre un peu, mais je ne connais personne dans l industrie du jeu au Japon ou en Europe qui travaille avec des quadrangles, mais tout le monde ne parle pas forcement de ce genre de choses donc peut etre est ce une lacune de ma part

Aranoth
10/09/2005, 12h01
Les maps BSP sont composés de Quadrangles (du moins dans l'éditeur) et certains logiciels de modélisation 3D se basent dessus (Cinema4D).

Les quadrangles ont la réputation d'etre plus propres que les triangles (comprendre que le maillage est plus clair)

Sami
10/09/2005, 12h45
Peut-être mais la carte graphique gére bien que des triangles. Donc le quadrangle est forcément coupé en deux pour l'affichage. Pour les BSP c'est le fichier map qui mémorise les formes sous formes de quadrangle. Mais dans le fichier BSP les faces seront bien incriste comme des triangles il me semble.

orion
15/09/2005, 16h05
Bon et ben merci beaucoup pour ces reponses :00000023:

Frosth
15/09/2005, 16h41
Tres instructifs, meme pour ceux qui n'ont jamais modeliser.

Je susi desole de ne pouvoir plus apporter a la conversation. Si ce n'est peut etre d'autres questions :

:?: Existe il la possibilite d'utiliser des modeles a polygones variables ? Du genre pour une surface donnee, metre une forme donnee. Cela pourait permetre de limites le nombres de polygones, mais cela en serait il plus efficace pour autant ?

:?: Quel logiciels gratuit et dont les licenses vous permetraient d'exploiter commercialement vos creations en toute legalite connaissez vous ? Je pense que Blender en fait partie, mais j'ai aussi entendu parler de Gmax (une verison gratuite de 3dsmax avec juste quelque options en moins) Pour vous autres, des avis, suggestions ? Ce n'est pas forcement le bon endroit pour poser la question mais bon, tant qu'on y est. :)

Merci.

orion
15/09/2005, 16h48
gmax il est bien gentil mais pour exporter dans un format exploitable et libre de droits c'est la misere, donc passe.

pour ce qui est des polygones variable, en opengl le seul polygon qu'il faut retenir c'est le triangle, tout les autres etant composes de plusieurs triangles, et donc le plus rapide est encore d'afficher des triangles

Frosth
15/09/2005, 17h21
Merci. :D

Doncles normes nous forcent a l'utilisation du triangle. Mais ma question se portaient plus sur un point de vue theorique. Si cela etait possible, quel serait son efficacite en terme de rapidite ?

L'image que je me fait des moteurs 3d en general et des differentes Lib existentes c'est la suivante : On leur balance les Mechs, qui ne sont qu'un listings de points et de textures. Ils prennt les points, et trace les droites entrent et ensuite basent la textures assignee a l'endroit la.

Bien que pratiquement toutes les formes peuvent etre decomposees en triangle, si pour un model ayant une grande surface plane on se servait uniquement d'une seule texture et d'un seul polygone, le moteur 3d n'aurait qu'a calculer une seul fois le positionnement d'un seule et unique texture. Donc je souhaitrais savoir si dans mon raisonement il y a une faille ou non ? Et si cela est deja en place dans certains projets experimentaux ou pas ?

Merci.

orion
15/09/2005, 17h27
heu et bien pour cela je crois que si tu veux des reponses a tes question rien de tel qu'un nouveau sujet! parce que la ca derive legerement du sujet...

Frosth
15/09/2005, 17h54
Je ne pense pas reelement devier du sujet, en effet celui ci etait une question d'un point de vue efficacite/ optimisation pour des modeles.

Ma question porte sur le meme ordre : "reduire le nombre de polygone augmente la "rapidite" du jeu / programme, mais faire cela en creant d'enormes polygones avec des formes autre que triangles poserait probleme ?"

Enfin, je ne pense pas que la question necessite un autre poste, car juste un oui ou un non avec une breve explication me suffirait. :)

Octopod
16/09/2005, 02h01
Toute géométrie est transformée en triangles pour son affichage. Il FAUT utiliser des quads (2 triangles) car ils ont tous les avantages de leur maillage :
- un coté moins polygoneux qu'une modélisation à base de triangles
- en général un meilleur éclairage
- en général des UVs plus simples à faire
- une meilleure optimisation en triangle list/strip pour le rendu
- une meilleure subdivision/optimisation pour les algo de LOD.

Le nombre de poly d'un mesh ? ça dépend du nombre de mesh, de leurs animations, des lods, des shaders de rendu et de tout ce qu'il y a autour (le reste du jeu qui tourne avec).

Fait ton jeu, affiche tes modèles sans te préoccuper de tout ça. Il suffit que ça rame pas trop pour pouvoir développer le jeu autour.

Optimiser tes modèles définitifs et le nombre de poly de chacun est à faire en dernier dans ton processus de prod (avec les levels de lod, le nombre de particule, le timeslicing, etc...). Et pour ça pas de secret, tu profiles avec un bon outil, tu corriges, tu profiles, tu corriges, etc.

Alexis.