¿Qué es mejor, un modelo de nivel grande o varios modelos de nivel más pequeños?


8

Estoy escribiendo un juego en XNA 4 y quiero tener algo así como un corredor. ¿Crees que es mejor usar un modelo grande y sólido, o usar múltiples piezas pequeñas (ventanas, escaleras, puertas ...)?

Respuestas:


8

En términos de representación gráfica, una malla grande es más rápida de dibujar que varias mallas más pequeñas.

Si está hablando de algo así como un corredor, probablemente no será tan intenso para la GPU si lo envía como una puerta, un piso y algunas paredes. Las mallas más pequeñas también le permiten jugar con el posicionamiento más fácilmente.

Si su dibujo se convierte en un cuello de botella, considérelo.


1
No tiene que ser más rápido. Tome el mundo de Oblivion, convirtiéndolo en uno solo sería estúpido y muy lento, ya que no puede elegir qué secciones son visibles para el jugador. Terminarás desperdiciando una tonelada de recursos
Peter Ølsted

1
Su ejemplo fue un corredor. Si hubiera dicho "el mundo entero", lo habría mencionado. : P
El pato comunista

Bien dicho, mi mal
Peter Ølsted

sí, mi escena de nivel es el enlace del
Vodáček

Con esa escena, definitivamente varios elementos. Sería un verdadero dolor cambiar la escena en 3DMax, Blender o lo que sea. Y como "El pato comunista", si se convierte en un cuello de botella y está seguro de que es el modelo y no otra cosa, tal vez (si el rendimiento es realmente tan importante) puede hacerlo.
Peter Ølsted

5

Sugeriría mantener la puerta como un modelo separado, a menos que esté seguro de que nunca querrá poder abrirla.

Windows, si son transparentes, también quieren ser modelos separados para que se puedan clasificar en profundidad de manera adecuada para el renderizado.

Probablemente, todo lo demás debería ser un modelo y una textura únicos para un mejor rendimiento y para eliminar cualquier grieta en la que se unen.


3

Si su nivel tiene demasiados detalles, debe dividirlo en partes y aplicar un poco de eliminación selectiva para dibujar solo las mallas actualmente visibles.


Ya he usado este método, pero creo que funciona solo para todo el modelo (no para mallas), pero es posible que dependa de mi código de dibujo.
Vodáček

Si depende de todo el modelo o de las mallas depende de su renderizador o de cómo ha implementado el descarte. Los vértices son vértices.
deceleratedcaviar

1

en la mayoría de los casos, vale la pena usar piezas pequeñas porque le da flexibilidad y reutilización a su código; y en el caso de un corredor o algo similar que no incluye MUCHAS (muchas significarían un número como al menos 40) partes más pequeñas, la ganancia de rendimiento del uso de modelos grandes y sólidos es insignificante (excepto si está dibujando el objeto muchas veces por cuadro).

Si le importa el rendimiento, le recomiendo precalcular la iluminación o usar algún tipo de matriz de vértices (¿búferes de vértices?) que realmente marcarían la diferencia. (si esas cosas son posibles en XNA, no sé mucho sobre XNA)

ps: el primer párrafo de esta publicación es correcto solo sobre el dibujo (no sobre, por ejemplo, el uso de modelos de física separados para partes del corredor)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.