Quel est le meilleur, un modèle de grand niveau ou plusieurs modèles de plus petit niveau?

8

J'écris un jeu dans XNA 4 et je veux avoir quelque chose comme un couloir. Pensez-vous qu'il est préférable d'utiliser un seul modèle grand et solide, ou d'utiliser plusieurs petites pièces (fenêtre, escaliers, porte ...)?

Vodáček
la source

Réponses:

8

En termes de rendu graphique, un grand maillage est plus rapide à dessiner que plusieurs petits maillages.

Si vous parlez de quelque chose comme un couloir, cela ne sera probablement pas aussi intensif pour le GPU si vous l'envoyez sous forme de porte, de plancher et de murs. Les mailles plus petites vous permettent également de jouer plus facilement avec le positionnement.

Si votre dessin devient un goulot d'étranglement, considérez-le.

Le canard communiste
la source
1
Cela ne doit pas être plus rapide. Prenez le monde d'Oblivion, le rendre tel serait juste stupide et très lent car vous ne pouvez pas choisir quelles sections sont visibles pour le joueur. Vous
finirez
1
Son exemple était un couloir. S'il avait dit «le monde entier», je l'aurais mentionné. : P
The Communist Duck
Bien parlé, mon mauvais
Peter Ølsted
oui, ma scène de niveau est le lien du
Vodáček
Avec cette scène, certainement plusieurs éléments. Ce serait vraiment pénible de changer la scène dans 3DMax, blender ou autre. Et en tant que "The Communist Duck", si cela devient un goulot d'étranglement et que vous êtes sûr que c'est le modèle et rien d'autre, alors peut-être (si les performances sont vraiment importantes) vous pouvez le faire.
Peter Ølsted
5

Je suggère de garder la porte en tant que modèle séparé, à moins que vous ne soyez certain de ne jamais vouloir pouvoir l'ouvrir.

Les fenêtres, si elles sont transparentes, veulent également être des modèles distincts afin de pouvoir être triées en profondeur de manière appropriée pour le rendu.

Tout le reste devrait probablement être un modèle et une texture uniques pour de meilleures performances et pour éliminer les fissures là où elles se rejoignent.

Adam
la source
3

Si votre niveau contient trop de détails, vous devez le diviser en parties et appliquer un tri sélectif pour ne dessiner que les maillages actuellement visibles.

r2d2rigo
la source
J'ai déjà utilisé cette méthode, mais je pense que cela ne fonctionne que pour le modèle entier (pas pour les maillages), mais il est possible que nous dépendions de mon code de dessin.
Vodáček
Que cela dépende de l'ensemble du modèle ou des maillages dépend de votre moteur de rendu ou de la façon dont vous avez implémenté l'abattage. Les sommets sont des sommets.
deceleratedcaviar
1

dans la plupart des cas, l'utilisation de petites pièces en vaut la peine car elle donne à votre code une réutilisation et une flexibilité; et dans le cas d'un couloir ou quelque chose de similaire qui n'inclut pas BEAUCOUP (beaucoup signifieraient un nombre comme au moins 40) des pièces plus petites, le gain de performances de l'utilisation d'un modèle grand et solide est négligeable (sauf si vous dessinez plusieurs fois l'objet par image).

si vous vous souciez des performances, je recommande de précalculer l'éclairage ou d'utiliser une sorte de tableaux de vertex (tampons de vertex?) qui feraient réellement une différence. (si ces choses sont possibles dans XNA - je ne sais pas grand-chose sur XNA)

ps: le premier paragraphe de cet article est correct uniquement sur le dessin (pas sur par exemple l'utilisation de modèles physiques séparés pour des parties du couloir)

V_shr
la source