Foro The Movies Cinema Machinima Español
BIENVENIDO a la comunidad sobre el juego The Movies y otros Machinimas. Aquí encontraras una gran familia, ayuda, etc, y sobre todo compartir la afición que nos gusta a todos, que es crear películas con motores de juegos. Regístrate o identifícate para quitar la publicidad y poder participar en el foro.
Si tienes problemas con el registro, en el foro Bienvenidos hay un post-it abierto a invitados.
------------------------------------------------------------
WELCOME to the community about the game The Movies and other Machinimas. Here you will find a great family, help, etc, and above all share the hobby that we like to all, which is to create movies with game engines. Register or identify to remove the publicity and to participate in the forum. If you have problems with the registration, in the Welcome forum there is a post-it open to guests.

Prevención del error SHRT_MAX

Página 1 de 5. 1, 2, 3, 4, 5  Siguiente

Ir abajo

Prevención del error SHRT_MAX

Mensaje por Dibujante el Miér 25 Abr 2018, 13:07

#Cómo prevenir el error del SHRT_MAX en Blender
¡RECUERDA!, vértices y faces ≤ 65.534; edges ≤ 131.068



El error del USHRT_MAX forma parte de un grupo de errores conocido como "struct.error" o error de estructura, que casi con toda seguridad tiene que ver con el mapeado y los 'Faces' de un modelo. Conviene que aclaremos conceptos:

Nociones básicas en Blender
Diferencia entre vértice, edge y face



Cada uno de los puntos que tiene un modelo en modo edición se conocería como vértice. Cada uno de estos puntos está unido por una línea (edge), que delimita los lados (sides). Estos lados se conocen como edges. Por último, un "face" es aquella área del modelo delimitada por vértices. En Blender, corresponde al área que mapeamos (asignamos a una textura). Algunas de estas caras pueden tener una forma de triángulos (rodeadas por 3 vértices) o diferentes (rodeadas por 4 o más vértices).

En Blender, existe una opción de convertir todas las caras en triángulos (tecla CTR + T) en modo edición y con los vértices seleccionados.

Cuanto más calidad (y peso) tiene nuestro modelo en 3D, mayor cantidad de vértices puede tener; en consecuencia, mayores son los faces y los edges. Es decir, a mayor cantidad de vértices, mayor profundidad tiene el modelo, ya que permite mejorar la nitidez y calidad de un mod. Es aquí cuando la mayoría de tarjetas gráficas del mercado tienen puesto un límite de cuántos vértices debe tener un modelo, para que no se estropeen.

¿Qué es el error del SHRT_MAX?



Al exportar un modelo que contiene muchos 'faces', denominado high-poly model, es posible que nos salte el error que aparece en la imagen. Recuerda que cada MESH de un modelo contiene un número de vértices, edges y faces. En el caso de que dicho MESH contenga más de un límite de estas unidades, el Blender nos advertirá este error para que reduzcamos esta cantidad. Parece ser que este límite se traduce en 65.534 faces. Esto significa que cada vez que exportemos un empty (a formato .msh) cuyos MESHES o suma de vértices y faces supere esta cantidad, nos dará el error de límite SHRT_MAX. Ya en otros vídeos y tutoriales se explica cómo detectarlo y lo que es:

Vídeotutorial: https://www.youtube.com/watch?v=snd75v9UmCE

Coleccionado de errores Blender: http://www.themoviescinema.com/t1335-coleccionado-de-errores-y-soluciones-blender?highlight=coleccionado

VÍDEOTUTORIAL



Prevenir el SHRT_MAX de manera económica



EXPLICACIÓN


Cuando vayamos a exportar a .msh, si en nuestro empty tenemos una cantidad superior a 65.534 faces nos va a dar el error de SHRT_MAX con casi toda probabilidad. La solución está en crear tantos empties como sea necesario para no superar esta cantidad. Esto se hace de la siguiente manera:

Explicación:

1. Recuenta

  • Pon el objeto en modo edición y haz el atajo de teclado Ctrl + Tab y selecciona 'Faces'. De esta manera, solo podrás seleccionar faces. En la franja superior del Blender te aparecerá la cantidad que señales.
  • Si tienes más de un MESH, prueba a seleccionar todos los pertenecientes al mismo grupo/empty y haz Ctrl + J para fusionarlos, y repite el proceso de arriba para realizar el recuento. Luego haz Ctrl + Z para volver a tener los MESHES separados.

    En el recuadro rojo se indica el número de vértices; a la derecha, el de edges y faces



2. Separa MESHES y distribúyelos en grupos

    Si tienes todo en un mismo MESH
  • Pon el MESH en modo edición.
  • Selecciona todos los faces (tecla "A")
  • Presiona la tecla B y deselecciona una cantidad de faces.
  • Fíjate en el contador de faces. Cuando tengas seleccionado un total de faces inferior a 65.534, separa el mesh (Barra espaciadora - Vértices - Separate).

    Otra opción es darle a 'Select - Random' y seleccionar el porcentaje correspondiente a la proporción de 65.534 sobre el total de faces. Abre tu calculadora y aplica esta fórmula: 65.534 / (número total de faces del modelo) y te lo dividirá de manera precisa

    Si tienes distintos MESHES

  • Selecciona el total de MESHES que está dentro de un grupo, y comprueba si en el contador excede la cantidad fijada (puedes fusionarlos en un mismo MESH para facilitar la exploración)
  • Caso de que así sea, mueve el resto de MESHES a otro grupo, y repite el proceso tantas veces sea necesario.
  • Pincha en Mesh -> Vertex -> Remove Double Vertex


Opción alternativa (puede perder calidad el modelo y tarda más tiempo, pero irá más fluido en el juego) Script Poly Reducer

  • Selecciona el objeto cuyos vértices quieras reducir.
  • Despliega la pestaña de Scripts en el Outliner.
  • Pincha en Scripts -> Mesh -> Poly Reducer
  • Selecciona el ratio en que quieras reducir los vértices (recomiendo entre 0.5 y 0.4; a menor valor, más vértices eliminados; a mayor cantidad de vértices eliminados, menos calidad de modelo).

Últimas aclaraciones

El Blender trabaja en un buffer de 16 bits, lo que significa que 2^16 = 65.534. Este es el límite de 'faces' o mapeado que un solo MESH puede tener, de lo contrario, saltará error. De esta manera, evitamos saturar en un solo MESH un número excesivo de vértices, que podría dañar nuestra tarjeta gráfica. Por eso, la solución está en dividir nuestro MESH en distintos OBJETOS (que tengan por debajo de 65.534 faces), y exportarlos mediante regotruco 1.5 o 2.0. Si lo hacemos bien, tardaremos en torno a unos 10 minutos por cada modelo high-poly de 500.000 vértices. No es una solución universal, pero parece que todos los MESHES tienen que tener en común:

Menos de 65.534 vértices y faces; menos de 131.068 edges

Cualquier duda respecto a este proceso, por favor, coméntala utilizando este hilo. Muchas gracias.


Última edición por Dibujante el Sáb 05 Mayo 2018, 15:16, editado 2 veces
avatar
Dibujante
 

Rol : Director
Mensajes : 5095
Fecha de inscripción : 13/02/2011
Localización : Murcia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Dibujante el Miér 25 Abr 2018, 13:11

Ahora sí, hemos acertado. Ya podemos convertir modelos sin necesidad de reducir los vértices y sin esperar una larga cantidad de minutos para que nos salte el error. Solo queda recordar que este error del SHRT_MAX nos sucede con el script a .msh, es decir, que si este tipo de modelos los exportamos a otro formato, no tiene por qué dar el mismo error. Incluso en scripts para convertir a otros formatos para otros juegos, el error se sitúa en una cantidad todavía inferior de vértices.

Por lo general, si váis a convertir accesorios, costumes o pequeños props, no tenéis que preocuparos del error. Esto es más cuando se trata de un modelo de muchísima calidad o de una dimensión considerable como propsets. Recordad que una buena guía es poner el objeto en modo 'Textura' y comprobar si se ralentiza un poco el programa, en ese caso podrías sospechar que tiene muchos vértices y podría citarse el error. good

Actualizo también este último vídeo y explicaciones al coleccionado de errores de Blender.
avatar
Dibujante
 

Rol : Director
Mensajes : 5095
Fecha de inscripción : 13/02/2011
Localización : Murcia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por kubo10 el Miér 25 Abr 2018, 13:15

231
Directo a mi propia guía de referencia.
avatar
kubo10
 

Rol : Director
Mensajes : 2432
Fecha de inscripción : 28/01/2015
Localización : Cantabria

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Regolero el Miér 25 Abr 2018, 13:36

aplauso aplauso aplauso me llega algo tarde esta solución, esto ya para gente como ustedes que se peleais con esos supersets. yo ya voy de retiro jeje
avatar
Regolero
Alcaide

Rol : Director
Mensajes : 8795
Fecha de inscripción : 17/08/2010
Localización : Sevilla
. : Totems 2010: 2º Mejor Cortometraje, 2º Mejor Dirección, 2º Mejor Guión, 2º Mejor Tráiler . : Águilas 2011: 1º Mejor Ambientacion, 1º Mejor FX, 2º Mejor Sonido

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por kubo10 el Miér 25 Abr 2018, 13:59

El año que viene te busco otra idea de película para que no te retires mellado
avatar
kubo10
 

Rol : Director
Mensajes : 2432
Fecha de inscripción : 28/01/2015
Localización : Cantabria

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Regolero el Miér 25 Abr 2018, 14:11

jjjajaajaja, si con esta tengo para 7 años jajaja.
avatar
Regolero
Alcaide

Rol : Director
Mensajes : 8795
Fecha de inscripción : 17/08/2010
Localización : Sevilla
. : Totems 2010: 2º Mejor Cortometraje, 2º Mejor Dirección, 2º Mejor Guión, 2º Mejor Tráiler . : Águilas 2011: 1º Mejor Ambientacion, 1º Mejor FX, 2º Mejor Sonido

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Dibujante el Miér 25 Abr 2018, 16:41

Pues aquí tenéis un ejemplo de esta locura, con un mod HQ de 488.000 vértices:



Calculadora en mano, para 65534 vértices necesitaré 8 empties. El único problema es que esos 0,7 (del 7,3) grupos que necesito espero que compensen mi torpe habilidad para seleccionar el tope máximo de vértices por grupo, ya que al ser un proceso manual, no sé de qué manera podría decirle a Blender que me coja al azar esa cantidad de vértices mellado ¿Habrá forma?
avatar
Dibujante
 

Rol : Director
Mensajes : 5095
Fecha de inscripción : 13/02/2011
Localización : Murcia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Dibujante el Miér 25 Abr 2018, 16:50

Os váis a reir, pero he aquí una de estas formas.



:rea:

En Seleccionar - Random (aleatorio), especifica un porcentaje que se va a seleccionar. Dado que el total de vértices es de 484.484 y necesito un máximo de 65.534..., ¿en qué porcentaje habrá de dividirse? mellado Si, eso digo yo, ¿cuánto? mellado

Lo siento, pero me toca poner el emoticono para seguir:

:exp: 65.534 / 484.484 = 0,135 ~~ 13'5 %

Vamos a tolerar la sensibilidad del dato y pondremos un 13% que compensará el octavo grupo añadido:



Así de sencillo. Si hubiéramos hecho la operación inversa (484.484 vértices a dividir en grupos de 65.534) nos habría dado el resultado de 7'3 grupos o empties que necesitaríamos para completar la operación, que en la práctica, al ser solo números exactos, toca hacer creando un empty de más.

La verdad es que no está del todo mal, parece rápido de hacerse mellado
avatar
Dibujante
 

Rol : Director
Mensajes : 5095
Fecha de inscripción : 13/02/2011
Localización : Murcia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Regolero el Miér 25 Abr 2018, 17:27

Que cacao me estáis montando, no me entero de nada con tanta cosa nueva jajaja.
¿Ahora que hay que coger la calculadora para hacer props? 87 87
avatar
Regolero
Alcaide

Rol : Director
Mensajes : 8795
Fecha de inscripción : 17/08/2010
Localización : Sevilla
. : Totems 2010: 2º Mejor Cortometraje, 2º Mejor Dirección, 2º Mejor Guión, 2º Mejor Tráiler . : Águilas 2011: 1º Mejor Ambientacion, 1º Mejor FX, 2º Mejor Sonido

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Dibujante el Miér 25 Abr 2018, 17:50

@Regolero escribió:¿Ahora que hay que coger la calculadora para hacer props? 87 87

mellado mellado tiene pinta de que sí mellado mellado

Solo a mí. A ti no te haría falta, los cálculos te salen automáticamente. Recuerda las clases que le diste a Sirlancelot en los tiempos de jueces de Águilas mellado
avatar
Dibujante
 

Rol : Director
Mensajes : 5095
Fecha de inscripción : 13/02/2011
Localización : Murcia

Ver perfil de usuario

Volver arriba Ir abajo

Re: Prevención del error SHRT_MAX

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 5. 1, 2, 3, 4, 5  Siguiente

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.