Ir al contenido principal

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3





[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3


1°_MODELADO 



Puede ser que a ustedes les guste hacer dibujos conceptuales de lo que quieran hacer, o usar blueprints para sus modelos, sin embargo yo no gasto mucho tiempo en eso si la creación es totalmente mía, o sea, creo e invento sobre la marcha, pero no hay nada de malo en tener unas cuantas fotos guías si van a hacer modelos orgánicos, ej: (músculos, poses, muecas, etc). Yo preferentemente las imprimo para no tener que cambiar tanto de ventanas, pero es cosa de uno. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1



Yo siempre empiezo cualquier modelo orgánico desde zbrush usando las zspheres, para mi es mucho mas practico que hacer una malla toda ordenada y homogénea desde otro programa a la que de igual forma voy a empujar y tirar para todos lados, para esto mas adelante cuando este todo listo siempre puedo crear una nueva topologia mas limpia y proyectar todos los detalles sobre esta, pero a eso voy después. 



Dentro de todo y dependiendo del modelo que quieran hacer, es bastante sencillo obtener una rápida aproximación de las formas y los volúmenes con las esfereas. No requiere mucha practica y son sencillas; las pones, las moves y las agrandas o achicas. Así de fácil, también se pueden rotar pero la verdad que es muy rara la ocasión que van a querer una malla salida de eso. 



Algo que tal vez sea lo mas complejo de hacer con este método son cosas como las manos, déjenme decirles que este es tema de discusiones inmeeensas en algunos foros, y algunas soluciones son problemas en si. Mi técnica es bastante simple y me llego de casualidad. 

max

Siendo la muñeca como raíz, "no hacer la palma con una esfera", extender los dedos hasta donde empezarían y luego terminarlos creando las articulaciones naturales a estos. De esta forma cuando hagan el adaptive skin les va a quedar bastante aproximada la forma de la mano, de hecho la palma queda muy bien y tal vez encuentren un poco de geometría pellizcada pero nada que un poco del smooth brush no pueda resolver. En este caso no son 5 dedos pero el principio es el mismo. 



Lo que si, si tienen una referencia con image plane detras y ven que no queda igual no se enfrasquen, "son esferas", parece tonto pero es asi, no podemos achatarlas, así que alguna forma que veamos que no cuadra no importa, recuerden que el tema con las zspheres es crear la base del modelo lo antes posible. También existe el zsketch, con el que pueden dar volúmenes sobre las esfereas y formas mas personalizadas pero honestamente creo que va en contra de la simpleza que representa este método. 



Obvio también pueden hacer una esfera para la nariz, meter unas cuantas para los ojos, chantarle cuernos, una cola...Pero para mi, mientras menos esferas mejor. 

Antes de hacer la skin vean bien las proporciones y estén seguros de haber terminado con una buena forma, ya que si se ponen a modelar sobre la skin y no les gusto el tamaño de algo o el arco de cierta área seria angustioso volver a las esfereas y modelar de nuevo los detalles de la vieja skin. 



Como muestra la siguiente imagen, a mi me gusta comenzar con la primera subdivision que da el adaptive skin. 

zbrush

A muchos les gustara ir a los bifes y meterle 7 subdivisiones de una y luego empezar a modelar. Pero a mi no me gusta este método ya que tenes 22000 cosas que hacerle porque no tiene nada y la verdad me pone muy ansioso. La ventaja con el método del modelado progresivo es que vas modelando de mayor a menor, creando formas, proporciones y detalles cada vez mas pequeños, y la verdad ayuda porque es mas fácil ir aproximando la forma final antes que "luchar" con la malla para que adopte la forma que queremos. La cosa es así; en cada subdivision que subimos, "menos" tenemos que modelar, y mas pequeños son los detalles que tenemos que hacer. 



Creo que con el nuevo dinamesh con el que va a venir la actualización del zbrush, el método del modelado clay va a ser lo standard, pero la cosa con los voxels y el trazado dinámico es que es a mi parecer y por experiencia propia es mas demandante para la maquina, y teniendo poca maquina...bue. Pero si quieren modelar, prueben los dos métodos, el que mejor les siente sera mejor para ustedes. 



Luego de unas cuantas subdivisiones algo que a mi me gusta hacer es cambiar de materiales 

Unreal

Esto lo hago porque brinda una perspectiva nueva, resalta protuberancias y bultos de forma diferente y que antes se veían diferentes. Les va a pasar seguro, pero seguro, que si usan demasiado tiempo el standard material o el wax y cambian a otro, algo del modelo les va a resultar muy feo. No se alarmen y empiecen a desbaratar todo lo que han hecho, esto sirve para ver problemas muy obvios, digamos; un hueco muy profundo o un musculo desviado. 

De hecho al hacer esto tal vez ni siquiera necesiten rotar el modelo debido a las diferentes propiedades que dan distintos materiales. Una recomendación; trabajen el 99% del tiempo con el material mas aproximado al que va a vestir al personaje, metálico si es robot, standard o matcap de skin si tiene piel, cambien el color o lo que sea, pero idealmente, que se vea bien con el material final. 

Aca algo muuuy lindo, unas librerías "gratuitas" de materiales (muchos, buenísimos algunos), alphas y creo que también de texturas que tiene zbrush en su sitio 

http://www.pixologic.com/zbrush/downloadcenter/library/ 



Un material muuuy util para muchas cosas es el "flat" 

3d

Esto sirve muchísimo para chekear proporciones, en este caso de un cuerpo humanoide, este esta deliberadamente desproporcionado pero aun así, este material delata muy fácilmente errores en la silueta. Si han modelado antes o si lo hacen por primera vez, podrán ver de frente los relojes de arena; en las piernas, los brazos, las montañas y valles propios del ser humano. 

Por ejemplo en este caso de costado, noten el arco definido de la espalda, las pantorrillas, estos se vuelven muy notorios con este material. 

Rigging



Ademas mientras modelan, siempre es bueno jugar un poco con las luces 

tutorial 3d

Esto ayuda bastante para ver detalles, pero la finalidad especial de esto es captar la personalidad del personaje, la finalidad y el contexto para el que va a servir. 

Nos da una noción de su semblante, su porte, y eventualmente si piensan hacer un render final de presentación, un escenario y un contexto. 



Algo que también les puede servir para el modelado es el nuevo cliping brush, no me gusta mucho la idea de hacer modelado de superficies solidas en zbrush pero sepan que hay esta, no es muy util para "grandes trozos" de mallas orgánicas pero en pequeñas proporciones funciona bastante bien, y de hecho he visto trabajos muy buenos de superficies solidas. Asi que si tienen una buena idea y se ponen a practicar con esto, algo lindo va a salir. 

personaje para juego



Otra cosa, les recomiendo hacer sus propios menús flotantes con opciones que usen mucho, ejemplo los morph target (muy util), no parece pero les ahorra mucho tiempo. 

game character



Unos de los temas mas importantes en cuanto al modelado es el nivel de detalle y el peligro de saturar su modelo con ellos. 

¿Que es esto? 

Me ha pasado, y se que a ustedes también, que es muuuy difícil "no colocar" ese detalle extra. O sea, controlar el afán de ese loco brush por rellenar todo espacio liso del modelo con una arruga, vena o musculo. Y con esto quiero decir, que a veces, menos detalles es mejor. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1max

Aca, la segunda imagen no es necesariamente mejor que la primera por tener mas detalles, de hecho, la segunda parece estar sobre cargada. Esta sin embargo es el resultado final y los detalles los hice de una forma que voy a explicar mas adelante, no me termino gustando del todo pero me paso que llegue a un punto que no pude volver por un par de archivos corruptos. 

Otro ejemplo 

zbrush

Vean arriba, que ademas de los grandes grupos de músculos y zonas donde el hueso es cercano a la piel solo marque ciertos pliegues y arrugas prominentes, no le hice las fibras individuales a toooodo musculo ni las arrugas a caaaada pliegue. A veces es mejor dejar de marcar esos abdominales o abominables por ej. 

¡¡Ya sabemos que sos un astro del modelado!! no hace falta que le hagas detalles a los detalles. Sin embargo, a veces si se requieren detalles, o sea....¿Que mierda flaco? ¡¡¿le pongo o no los detalles?!! 



Bien, yo tengo una prueba muy simple que hago, pero ojo, hay que ser muy objetivo, y si tienen a alguien cerca para que lo mire mejor. 



Alejen el modelo...bien, rotenlo, acérquenlo despacio, mírenlo bien. ¿Hacia donde es atraída la atención? ¿Hay alguna zona superpoblada de detalles que actúa como agujero negro y siempre roba protagonismo al resto del modelo? Todo lo que llame demasiado la atención a veces merece una buena dosis del smooth brush. Va a estar bien, creo yo, hasta que el buen equilibrio haga que la persona que lo mire empiece a revolotear los ojos recorriendo todo el modelo. 

De todas maneras los detalles extremos son divertidos y enorgullecen a todo el que los hace, eso no se discute, pero, si los hacen, sepan para que se va a usar el modelo, tal vez para un juego esos micro detalles no se vean en los normal maps porque tengan un limite de tamaño como de 2048 px y entonces van haber desperdiciado tiempo precioso, para una animación seguro les permitan mapas mas grandes, y para renders no hay limites, "sean prácticos". Aunque si es primer plano de un render, yo les recomiendo que si le dan rienda suelta a los detalles, entonces detallen con igual énfasis tooodo el modelo. 



Bien, ahora los "props" u objetos que complementan al personaje como la ropa y demás. Comencé por los pies, tenia en mente una especie de duende chamanico enterlipeado, así que tiene unas vendas que le cubren parte de los pies. 

Unreal

3d

Rigging



Hay 2 métodos que utilizo para crear objetos de este tipo. 

Uno, es el método que también se utiliza para crear la nueva geometría del modelo principal, retopology, una explicación ( bien groncha); Toman una zsphere, eligen el modelo base donde van a trazar la geometria(preferentemente el high poly) del menú de rigging, presionan edit topology del menú topology y ya pueden empezar a trazar la nueva geometria, y cuando este lista, crean la skin y ya pueden modelarla. Luego voy a explicar este método de forma mas precisa, en la parte retopology. 

Acá una muestra de los menús requeridos y mencionados 

tutorial 3d

Y en esta imagen de abajo un ejemplo del trazado de geometría y el modelo preliminar de la skin que va saliendo 

personaje para juego

game character



Estas son unas vendas o cintas atadas a las manos, son re locas supuestamente, con propiedades mágicas. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1

max



Este método tiene sus ventajas; no es necesario salir del zbrush, se hacen relativamente rápidos y queda pegado a la piel o superficie del modelo. Y es justamente para esto que se usa este método, para crear objetos pegados, que envuelvan, tapen o que tenga que seguir el contorno del modelo. Casi exclusivamente se usa para ropa como estarán pensando, pero también pueden hacer lo que se les imagine, yo he llegado a hacer espadas y granadas, (pero no recomendable). 

El segundo método es el de hacer la geometría base de este objeto en otro programa de edición 3d, ej; max, maya etc. 

Yo tengo una noción sobre precisión en este aspecto: 

zbrush__precision media (en esencia y básicamente se limita a mover grandes grupos de polígonos y vértices) 

max,maya,etc___precision alta (capaz de editar cada vértice de la manera que a uno le plazca) 

Siendo asi, entra en el grupo de los objetos creados en estos programas "quirurjicos" cosas como armas, llaveros, motores, etc. 

Ojo, no estoy diciendo que estas cosas no se puedan hacer en zbrush, pero seguro son mas complicadas, al menos para mi, hay que ser "practico". 



Acá abajo esta el cartel que le cuelga del cuello y una de las bandas que lo sostienen. Tiene un turbosmooth para ver como se vería aproximadamente en el zbrush, pero en realidad siempre importo estos objetos con la menor cantidad de polys posibles 

zbrush



El mejor ejemplo que se me ocurre, una de las tiras que sostiene el cartel es como una cuerda que tiene que estar atada a un aro y luego a un gancho. 

Unreal

¿Han tratado de usar el transpose del zbrush con un cilindro super denso para formar un nudo? 

bueno, yo si...durante 3 minutos. 

Este es un excelente ejemplo, el loft en el max tiene un potencial increíble, yo he hecho desde un bazooka hasta un helado y un totem con loft. Todo lo que piensen que tenga algún tipo de simetría radial...tiiiin...loft!! 

En este caso tenia el path a un lado del cilindro que formaba el loft, y a medida que movía los puntos del spline, el nudo se hacia solo, después era cuestión de exportar este modelo de cuerda y chau. 

3d

Existen otros métodos...como el shadowbox del zbrush, pero la verdad...no me convence en absoluto. Tiene su encanto con la rapidez para crear geometría compleja, pero la topologia que larga es un desastre, inclusive modificando cuanto valor se les ocurra, y la velocidad para crear geometría no vale la pena por el tiempo que pasemos haciéndole el retopology a cada objeto. Créanme, he pasado horas!! encontrándole una utilidad "útil" y practica a esto. Para colmo, la creación de geometría por este método depende de cuan densa es la shadowbox, porque tenemos que enmascarar la zona que queremos, y si no podemos subir muchas subdivisiones...el modelo extraído sera feo como mínimo. 

Un ejemplo, lo hice especialmente para el tutorial, ya que perdí toda esperanza con esto 

Rigging

Esta arriba es la misma cinta que cree en max, el problema es que el modelo menos denso que genera se ve muy mal, incluso aumentando luego la cantidad de polys (todo por la topo que larga). Y en la imagen en si esta la cinta con la menor cantidad de polígonos posibles para que se vea bien, creo que eran unos 20000 polys...mucho para algo que no se va ni ver. Ademas, quita la posibilidad de optimizar nuestro polycount final ahorrando polys en la mitad del objeto donde no se dobla prácticamente. 

Otro ejemplo mas, uno de los aros generados por shadowbox otra vez (como 10000polys), exportado a max, y con un pase de polygon cruncher, y al lado, el mismo aro hecho en max, en 2 segundos. 

tutorial 3d

¿Entienden mi punto? 

Mi consejo, si hacen algun prop como vestimenta u objetos similares, no se...un pulpo pegado a la jeta de su personaje, usen el primer método, si es un objeto mas complejo, háganlo enteramente en max u otro de ese estilo o exporten el modelo base y modelen encima. 

Otro ejemplo del 1° método, un collar que nunca fue, se ve 10 veces mejor con los aros colgando del cuello. 

personaje para juego



Bien, hablando de ropa, la falda que le hice, para su época muy varonil por supuesto 

game character

Muy bien, el modelado de ropas es en si una ciencia como el modelado corporal. Algunas cosas que aprendí con el tiempo y otras que me di cuenta que "ya sabia": 

Las reglas que rigen el modelado de ropa son 3: 



1°El material de la ropa; "todos sabemos" que siendo jean o siendo seda la tela se va a comportar de forma diferente ¿no? Los materiales mas pesados y gruesos tienen pliegues mas grandes, quiebres mas agudos y son menos. Las telas finas tienen muchos pliegues y estos son en su mayoría pequeños, tienen quiebres obtusos y muy dóciles a los "puntos de apoyo". 



2°Los puntos de apoyo; ejemplos de estos son rodillas, codos, muslos, entrepiernas, etc. De ellos la tela va a "fluir" 



3°Nuestro conocimiento intrínseco; ¿Queeee?...casi todos los que leen esto viven en la civilización ¿no? Con gente que se despierta en la mañana y se viste y sale. Todos practicamente desde que nacemos vemos ropa, no la miramos con atención quizás, pero "sabemos como se ve". Si se ponen a modelar ropa, no importa mucho la tela que piensen que es, alejen el modelo y mírenlo....les parece correcto? en las circunstancias en la que esta, tiene aspecto de tela? si dudan, es bastante probable que le falte o le sobre algo. A mi a veces me falla esto hehehe, pero nunca esta de mas una opinión ajena y objetiva. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1



Otra cosa con las telas son las formas de los pliegues, "normalmente" se repiten en forma de linea recta (I), en forma de Y, en forma de X, o en forma de L por mencionar las mas importantes, también se pueden ver X con un I en medio o cosas así. Sean ustedes los que juzguen donde van (tener en cuenta los puntos de apoyo). 

max

zbrush



Una ultima cosa acerca de la ropa, si buscan referencias no hay mejor que uno mismo, párense de la compu y pónganse frente al espejo a mirar como hace tal pliegue al levantar algo o al inclinarse etc...Y los que están en bolas, vístanse y después háganlo. Dentro de todo todas las telas siguen las mismas formas. 



Bueno, el cartel, esta hecho de un tipo de madera blanda, algo como alcornoque. Nada sofisticado, un poco de standard con un alpha medio con noise y el slice brush (bien bajito) en los bordes. 

Unreal

Para las cintas de las manos use el dam standard ( muuuy util) para undir la geometría con fallof y el pinch (muuy util) para acercar los bordes. 

3d

Rigging

Así quedaron después de pasarle un alpha de tela y un slice para romper un poco. 

tutorial 3d



Y bien, así quedo el modelado final 

personaje para juego

game character

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1

Después le agregue unos detalles pero son minúsculos y no los creo dignos de ser mencionados. Algunos si, pero para mas tarde. 





2°_RETOPOLOGY....HAAAAA 



Es extraño, pero muy cierto, que siendo artistas vamos a pasar la mayor parte del tiempo ocupándonos de cuestiones técnicas. Que lindo es modelar ¿no? Bueno, pero si queremos ese hermoso, precioso, bonito modelo en acción...tenemos que meter las manos en la mierda, literalmente si se nos cae ocasionalmente el mouse al inodoro. 



retopology: es basicamente retopologizar...?? podría decirse. Recrear la topologia de nuestra malla, crear una geometria nueva, homogenea, "docil" y optimizada, a la cual le podemos proyectar los detalles de la malla antigua y mas caotica. Esto conlleva muuuchas ventajas; desde ser capaz de agregarle una subdivision mas a nuestro high poly para detallar hasta tener una geometría con la que podemos hacer lo que queramos (animar, etc). Aunque tambien a veces es bastante frustrante hacer esto, ademas de aburrido. 

Hay muuuuchas reglas para hacer el retopology, de cualquier modelo, no solo humanoides. La mas importante de estas, es el "planeamiento". Cuando hacemos el retopo (le voy a decir asi) hay que pensar en el futuro del modelo; pensar en los uvs, pensar en las texturas, pensar en las animaciones que hará. Y no miento cuando digo que un modelo con mala topologia no sirve pa´ mierda. Solo renders estáticos tal vez, pero este tutorial se trata de un personaje completo ¿no? 



Empecemos por como empezar...si, bien 

Hay varias formas de hacer el retopo, diferentes programas en donde se pueden hacer digo, en max, maya, topogun, 3d coat, este ultimo es el rey por excelencia en retopologia. En cuanto a aprender a hacerlo en esos programas, hay muchos tutoriales por ahi, youtube, eat 3d, linda.com, digital tutors, foros(para mi los mejores). 



Mala noticia, si alguno ha hecho el retopo con el zbrush 3.5 se dara cuenta que en el 4 hay un bug muy feo que no permite hacer el retopo de forma comoda, ya que al trazar la geometría nueva, se puede ver esta misma que ya trazaste detrás del modelo, y esto se vuelve muy confuso y bue. Buena noticia, un chabon hizo un script para que el retopo en el 4 funque como el del 3.5 aca el link al post con la descarga del script y un video tutorial de como usarlo:http://www.zbrushcentral.com/showthread.php?t=112994les recomiendo una visita por la zona de lso scripts, tienen algunos muy buenos y utiles. 



Empezamos, hay muchos que antes de empezar a trazar la geometría dibujan con polypaint una guía para esta malla nueva....o sea, en mi opinión es hacer el doble de trabajo, si te equivocas, borra los vértices hechos y listo. Yo empiezo siempre por los pies, o por abajo, no voy a enumerar reglas acá. 

max

Si van a hacer dedos, pongan un punto de quiebre donde terminan, si animan esto van a querer que se pueda levantar sobre sus dedos. Creen un borde en la parte baja del pie (en la planta) ,esto es geometría muerta, casi no va a importar y pueden escatimar en polys ahi. 

Otra, sigan el flujo del cuerpo, las curvas intrincecas que suben. Esto hace y "va" a hacer una relacion armoniosa entre los uvs y las texturas (importantisimo) 

zbrush



Muy importante tratandose de uvs, hagan siempre ciertas lineas pensando en que estas van a ser el borde de los shells o islas uvs, despues explico. La premisa con estas lineas, bordes (o seams) es que se encuentren en los lugares mas escondidos, esos que no se ven normalmente en una animacion por ejemplo, por dentro de las piernas, el interior de los brazos, bajo la pera, etc. ¿Me siguen?..."planeamiento" 

Unreal

3d



Muy importante en cuanto a relacion de las texturas y las animaciones; "los parches" o anillos en algunos casos. Estos se hacen en las articulaciones, como pueden ver abajo, la rodilla, los dedos y los codos por ejemplo. estos puntos son en los que la geometria se va a doblar, por ende la textura se va a "estirar" si no estuviera esas dos lineas que salen del medio y atraviezan la extremidad la textura se estiraria tanto que se veria muy fea, estos parches evitan esto por el efecto acordeon que producen. Algunos hacen anillos todo alrededor para no tener que hacer triangulos como en este caso pero yo para ahorrar unos polys lo hago asi. Porque soy jodido 

Rigging

tutorial 3d



La topologia de los rostros, de acuerdo a esto hay una convencion instalada, desde donde pueden derivar si lo prefieren o requieren pero que no hace mucha falta. Para una animacion natural, la base es asi, un antifaz alrededor de ambos ojos hechos por 3 o 4 anillos o cuantos requieran, hasta la mitad de la nariz como radio y unos 3 anillos alrededor de la boca. Luego estas dos porciones se se encuentran en la mejilla y flullen hacia afuera. como aca 

personaje para juego

No se nota muy bien por el tamaño de la captura y la forma deforme de la cara. Pero si buscan en internet este "diagrama facial" es bastante conocido y van a encontrar muchas imagenes de guia para el suyo. Busquen cg topo face o algo asi nose. 



Otra cosa, a los motores gráficos les gusta los cuadrados, triángulos están permitidos, pero no los manejan bien. En animaciones se ven feos y se buguean en algunos casos. Ni hablar de polygonos de mas de 4 lados ("NGONS"NOOOO. Eso es eregia, muy mal, a su modelo no lo va queren nadie. Por otra parte, un poligono de 4 lados no es suficiente, estos deben ser lo "mas cuadrados" posibles, los que tienen forma de diamante se comportan mal. Y si les resulta inevitable y tienen que hacer triangulos, haganlos en lugares como las lineas ocultas que les mencione, debajo de la pera, detra de las orejas, o incluso pueden hacerlas en lugares que no se ven afectados mucho por una animacion. 

game character



Bien, en cuanto a este modelo, tengo que decir que es raro hacer un low poly tan bajo para unreal o un motor poderoso como este. Este modelo (el cuerpo solo) tiene tan solo alrededor de 1000 polys. Lo standard es 5000 mas o menos, estos después se hacen tris, o sea, se triangulan esos polys y se duplican las caras, una cosa difícil de explicar. La cuestión es que tienen libertad para hacer una topologia mucho mas densa de la que estoy haciendo yo. Si notaron los dedos que hice, estos no tienen mas de 15 polys cada uno!! Y esta es la mano de un modelo pro ( el luis del l4d) 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P1

El polycount de este modelo es de alrededor de 5500. Nota aparte, descarguen modelos pro, pueden aprender mucho de solo mirarlos. 

max

Algo también a tener en cuenta, densifiquen la malla donde ustedes vean que haga falta mas detalle de animación, ej_; manos articuladas, rostro. Y escatimen donde no se va a ver tanta animación, ej; panza, pantorrillas, antebrazos, etc. 



Un consejo particular con respecto a la proyección de los detalles, casi siempre las manos son problemáticas, incluso yo que tengo mucha practica (hoooo el) tengo que dedicarles un tiempito mas del que quisiera. Una buena practica es partir las manos de forma transversal, hacer "una" linea que recorra todos los dedos por el medio de lado a lado, eso casi siempre resuelve los problemas de proyección y ademas ayuda en los uvs. 



Cuando hayan terminado miren su nueva topologia y busquen por alguna linea fuera de armonía. 

zbrush

Una buena idea es usar el flat material con la primer subdivision, esta silueta es la que va a aparecer en el motor gráfico, así que...la idea es que este low poly aparente ser high poly, y si la silueta no vende, los normal maps no van a poder solos. 

Unreal

3d

Rigging


3°_UVS 



Bien, ¿Que son los uvs? 



Es la representacion bidimensional de la geometria tridimensional de nuestro modelo, siendo U= cordenadas x. Y la V= cordenadas y, todo en un espacio de 1.1. Existe la w que es z pero bla bla, no la voy a explicar o necesitar, hay muchas explicaciones mas completas por ahi. 



Cuando yo empezaba les preguntaba -"che, ¿para que necesito que mi modelo tenga uvs?" y me decian. -"Y, mira papá, las necesitas para ubicar las texturas de manera ordenada, y para despues poder trabajar en ellas en un editor como PS" 



-"si, pero, ¿y si no las quiero hacer?" -"LAS NECESITAS si queres texturas, la mayoria de los softwares 3d necesitan estas coordenadas para ubicar las texturas sobre el modelo" 



Existen materiales (procedural) que no necesitan estas coordenadas pero si quieren sus propias texturas, necesitan uvs. 



Solo voy a hacer el cuerpo, con las claves basicas el resto de los props son faciles. Yo uso UVLayout, es liviano, es facil de usar, da excelentes resultados y lo unico malo que tiene es que es un programa aparte de los que uso, peeero, al ser especializado para esto, eso no se si es malo. Tomenlo de alguien que ha usado todos los plugins y programas para esto, "UVLayout es el mejor" (EDITADO: Sin embargo max ha mejorado bastante.) 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2

Para usarlo, les recomiendo antes que se den una pasada por el tutorial de MasterBrock:http://www.taringa.net/comunidades/3d-xprt/3305531/%2528tutorial%2529+uv+mapping+usando+uv+layout.html 

De hecho me parece a mi que es el unico tutorial en español de este programa, va al grano, es practico, y esta en español. Si quieren tambien y como dice MasterBrock en su tut, pueden ir tambien a la pagina de UVLayout:http://www.uvlayout.com/index.php?option=com_wrapper&itemid=67 Hay literalmente horas de tutoriales. Tambien el foro esta muy bueno, te atiende el mismo creador del programa como si fueras el primo. 



Nuestro objetivo principal aca es achatar nuestra geometria intentando obtener la menor cantidad posible de "distorsion" de parte de la malla. Si queda mucha distorsion y ponemos una textura en PS sobre esta plantilla, en el modelo 3d esta se va a ver comprmida o estirada. Y si modificamos la textura en el modelo 3d y llevamos la textura al PS se va a ver comprimida o estirada tambien. 

Comienzo por abajo, se acuerdan de los seams, ahi vamos a cortar la malla. Las plantas de los pies, el interior de las piernas, etc. Hay que ocultar estas lineas o bordes. 

max

Debajo de los brazos y al costado del cuerpo 

zbrush

Hoo!! que coincidencia, justo habian unas lineas aca...RETOPO "planeamiento" 

Unreal



Una clave; al comienzo, corten por los seams, pero tambien si quieren un poco mas, todo alrededor de los tobillos, las muñecas, cortar toda la cintura, o sea, separen el modelo en varias partes, despues las unimos cuando las achatemos bien. 



La cabeza es toda una cuestion, dada su geometria natural es imposible achatar su geometria sin dejar una compresion o estiramiento de las futuras texturas y al mismo tiempo ocultar los seams. Lo mejor es al final ocultar los seams, ¿o preferirian que el motor grafico delatara sus normal maps en la mitad de la cara o incluso las texturas si estan reducidas? ¿no ha? Yo siempre corto por detras de las orejas y dependiendo si tiene pelo o no eso dicta cuan adelante se mueve la seam que ven aca. Al final no termine hacendola tan adelante, pero imaginen que si tuvera una melena, esta no se veria. 

3d

Bueno, perdon por el salto en el tiempo, pero me cope y me olvide de las capturas, aca habia separado el modelo en muchas partes, los achate a todas y las junte de una forma que no se vieran los seams y que quedara lo menos distorsionado posible, tambien es bueno dejar la menor cantidad de islas o shells posibles. No se maten para que quede perfecto y no se distorsione, si pretenden esconder los seams siempre les va a quedar cierto nivel de distorsion, lo que si, eviten que sea aleboso. Hay muchas estrategias para esconder seams en humanoides, pero al final va a depender de su malla. Hagan bien el "RETOPO" 

Una cosa importante, elijan las partes mas importantes de su modelo y agranden estas partes para que ocupen mas espacio, o diciendolo de otra forma, densifiquen la cantidad de pixeles que puede contener y hagan lo contrario con las partes menos importantes. Esto, como podran adivinar, va a permitir mas detalle de las texturas en las zonas mas agrandadas. De esta forma por ejemplo las plantas de los pies (nada importantes) quedarian minusculas y el rostro (muy importante) quedaria mas grande. 

Rigging

Bueno, hice el resto de los uvs para los props, es sencillo, oculten los seams y eviten la distorcion. 



Zbrush tiene un sistema para hacer uvs muy bueno en ciertas circunstancias. La opcion PUVtiles permite hacer uvs automaticamente, son buenisimas porque aprovecha todo el espacio (1.1) y no existe estiramiento,pero, las coordenadas que genera son tan caoticas que solo pueden ser leidas por una maquina, o sea, no vamos a poder modificar las texturas en PS porque no vamos a saber que es que. Pero, si no tienen tiempo y solo van a hacer las texturas sobre el modelo y no lo van a tocar en PS por ej, entonces esta bueno, de acuerdo con los seams...mmm, no he hecho muchas pruebas pero parece tener problemas con los normals, asi que mejor, la forma manual. 



Despues vamos a volver a los uvs cuando juntemos todos los objetos en uno solo, pero por ahora...volvemos a la parte artistica 



4°_Texturizado 



(NOTA APARTE: mi monitor tiene un problema, creo que el catodo del rojo esta muerto, asi que el rojo se ve negro, el amarillo y el verde se ven iguales y por ende toda mezcla de color que yo veo estan mal, ademas siempre tengo un problema con el gamma, no se que le pasa. Siempre para un render llevo la imagen a otra computadora para arreglarlo. La cosa es que si ven texturas feas, como las heridas en el cuello que se ven muy saturadas sepan que no es intencional)



Bueno, podria haber unido las partes en este punto y comenzado directamente en PS a colocar texturas y arreglarlas, pero el problema con esto es que tenemos los uvs, que no son una fiel representacion de lo que vamos a ver en el modelo 3d. Asi que a mi siempre me gusta pintar sobre el modelo antes, extraer eso y usarlo de guia para limpiar las texturas, arreglarlas, y agregar mas. 



El problema con zbrush es que no se puede pintar sobre texturas, una cosa muuy fea que le encuentro. Su sistema de polypaint se basa en la cantidad de poligonos que tiene el modelo, esto quiere decir que si no podemos subir muchas subdivisiones (como en mi caso) las texturas que pintemos sobre el modelo no van a ser de mucha calidad. Si tienen la fortuna de tener una buena maquina que les permita hacer modelos de 6 millones de polys entonces no van a tener este problema y de hecho, podrian hacer todo el trabajo de texturizado el zbrush, o casi todo ya que le faltarian algunas herramientas del PS. 

Empece por el cuerpo, una cosa a favor de zbrush en este aspecto, spotlight, increible herramienta. Pueden hacer maravillas en minutos, los que usaron zaplink van a entender mi emocion. Y si pueden hacer modelos muy densos como les dije y usan spotlight...ahorran mucho tiempo. 

tutorial 3d

Siendo una guia como les dije no me voy a tomar mucho trabajo en que se vea super bien. Yo tengo como 20 gb en librerias de todo tipo de texturas, pero son todas buscando en la web. Pongan piernas en el google y especifiquen imagenes y chau, o piedras, o lagartos o lo que sea. 

Hehe, la cola peluda no se va a ver pero me gusta texturizar todo ya que estamos, es una buena practica. 

personaje para juego

Preferentemente si eligen fotos escojan las que tienen una buena luz sobre ellas pero sin luces demasiado fuertes o reflejos, con pocas o nada de sombras, con el foco de frente a esta y obviamente mientras mas grandes mejor. Pueden buscar paquetes de texturas aca mismo en T! De las que estan orientadas a este fin. Pongan texturas en el buscador y listo, tienen horas de descarga...asi es T! 

game character

No se preocupen tanto por los colores y los tonos, en PS nos encargamos de eso. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2

Algo para mencionar aca, en la imagen arriba, la textura de la cabeza es la de un vejete con muchas arrugas y demas caracteristicas idoneas a su estereotipo. Perooo, el modelo no tiene estas arrugas en si, a los de la frente por ejemplo. No se si existe en algun otro lado, pero por mi parte lo que "a veces" hago es; texturizar rasgos fuertes como estos( donde hay AO y sombras) y despues modelar el modelo en base a estas texturas. 

Aca por ejemplo, me equivoque en la textura de la boca y quedo una linea negra en el labio...mmm, se ve bien. "La casualidad favorece al hombre preparado" dijo goodyear. 

max

Pero como veran, tampoco esta modelado, por lo cual no se va a ver en el normal. 

zbrush



Entonces hagamoslo... 



Como veran los detalles agregados no se ven tan bien sin las texturas, pero cuando se coloca la textura sobre ellos, parece como si lo hubieramos puesto al mismo tiempo. Es una tecnica que casi nunca utilizo, porque no me gusta "pintar sombras" pero que a veces refuerza el aspecto que buscamos. 

Unreal

Una vez terminado el cuerpo segui con las demas cosas induviduales. El cartel, hecho de una madera blanca media sucia, y mi logo (no me lo afanen) como si fuera un simbolo arcano y mistico. 

PD: odio la simetria. 

3d



Bien, luego del texturizado preliminar de todo, hay que llevar las cosas a PS. Pero no voy a llevar cada cosa con una res de 2048 px, plantarle texturas re densas para despues terminar achicandolas y perdiendo el detalle. Ahora se viene la plasticola. 



Vamos a pegar todas las partes, reordenar los uvs de todo y despues exportar la textura de eso. Y es aca donde no he encontrado nadie que haga esto como lo hago yo, tal vez hay alguna razon siniestra que me evade y por la cual nadie lo hace asi, nose. 



A muchos (mayoria) les gusta llevar todo a max, hacer el retopo ahi, unir las partes (ahi) y usar el maldito "render to texture" para extraer las texturas y los normals. Pero el render to texture es taaaaan...poco practico por ser educado. A mi solo me gusta para proyectar sombras, AO y algunas cosas pero en superficies solidas. 



Les paso a indicar como hago yo, me sirve y tardo una fraccion de lo que tardan con el metodo del max. 



Primero, en zbrush deben tener todos los tools o modelos con la misma cantidad de subdivisiones y deben estar puestos en la mas alta (importante). El problema con esto, y es el unico problema con este metodo, es que es seguro que no tengan las cosas con la misma cantidad de subs, a cosas como los aros no le vamos a poner nunca 6 subdivisiones ¿no?

Bueno, una buena estrategia es elegir el objeto mas importante, ej: el cuerpo mismo. Este tiene 6 subs, asi que el objetivo es acercar el resto de los objetos a la cantidad de subs de este. Ej; 



Los aros tienen 2 subs, bueno, subamoslos a 6, no importa que no los detallemos, nada mas necesitamos que tenga la misma cantidad de subs. Bien, hagan esto con todos los que esten por debajo de 6 subs. Ahora ¿que pasa con los que tienen 7 o mas? 

Bajarle las subdivisiones va a significar que perdemos detalle ¿no?!! Si, por eso les decia que eligieran el objeto mas importante, a este es al que no queremos bajarle los detalles, si por ejemplo el cinto tiene 8 subs...no se va a notar tanto bajarle 2 subs como si lo seria si fuera el cuerpo. 



Bien, una vez hecho esto y todos los tools tengan la misma cant de subs y esten en la mas alta presionamos "merge visible" del panel de los tools, pero sin el weld activado . Luego de esto, puede tardar, el zbrush va a intentar reconstruir las subdivisiones hasta su maxima. 



(NOTA APARTE: A veces no puede reconstruir las subdivisiones porque les va a decir que tiene triangulos o la geometria esta mal. Esto quiere decir que uno o mas de los tools tiene ngons, yo recomiendo realizar el mismo procedimiento, esto es, merge visible pero excluyendo un tool a la vez, cuando zbrush pueda reconstruir todas las subs quiere decir que el tool mal hecho es el que escondieron antes de presionar merge visible. Pero mejor, hagan el retopo bien, les ahorra dolores de cabeza.) 



Bien, una vez todos los tools unidos, veanlos y cerciorense de que conservaron todas las subs y sus detalles. Van a quedar con un tool hecho de las diferentes partes (a las que anteriormente les hicieron uvs). Vamos a exportar como obj la primer sub del modelo y lo vamos a abrir con el UVLayout 

Rigging

No se alarmen, si se fijan bien asi es como dejaron los uvs de todos los modelos en el espacio 1.1. Solo que como los unimos a todos, estos se superponen, "no" es necesario modificar los uvs aca, supestamente ya los dejaron como los querian, aca nos vamos a ocupar de "reubicar" los shells o islas uvs de acuerdo a nuestro criterio. Arrastren los shells, achiquenlos o agrandenlos segun su propio juicio. Recuerden, las cosas importantes necesitan mas espacio, para mas cantidad de pixeles. 

Asi me quedo a mi luego de unos minutos de jugar al tetris. Noten junto al cuerpo el cuadrado azul, ese es el frente del cartel, es relativamente importante, pero un poco mas arriba de este ¿ven un cuadradito mucho mas pequeño de color negro? bueno, esa es la parte de atras del cartel, la cual nunca se va a ver. 

Tambien vean la cabeza, mucho mas grande en proporcion al cuerpo, las plantas de los pies son incluso mas chicos que los aros, etc. Piensen en la relevancia de las islas cuando los organizan y traten de utilizar la mayor cantidad de espacio posible, ya que el espacio vacio...es espacio desperdiciado. 

Otra cosa, traten de que los shells no queden tocandose y coloquenlos en grupo de acuerdo a su origen, esto es, los shells de los aros ponganlos uno junto al otro, el cinto si lo partieron en varias partes ponganlas todas juntas, las partes que forman las cintas de las manos como pueden ver abajo a la izquierda estan todas juntas. Esto va a servir para facilitar el texturizado. No se preocupen por los colores de advertencia, esto es porque los escalan, pero en "proporciones correctas", no quiere decir que se va a distorcionar. 

tutorial 3d

Importamos el obj de nuevo al zbrush con el tool que tiene los uvs viejos y los uvs se actualizan. Listo 

Ahora va a poder extraer los normals y las texturas de este tool complejo. SIN LOS PROBLEMAS QUE SUELEN HABER CUANDO SE USA EL RENDER TO TEXTURE, como los artefactos u objetos soperpuestos. 

personaje para juego

La textura que nos dio esta limpia, sin artefactos ni errores, pero es de guia, se nota ¿no? 

game character

Bien, ademas de la textura de colores, vamos a necesitar una textura solo con AO. Facil, esto lo hacen en zbrush, en el panel de mask, presionan mask by AO y despues en texture ponen texture from masking. A veces les va a requerir un poco de manoseo en los controles del mask para lograr el resultado que desean, y tarda muuucho. Pero otra solucion es mask by cavity que es mucho mas rapido y ofrece un resultado bastante decente. Les recomiendo que si lo hacen por este ultimo medio, modifiquen la curva del mask para que quede convexa, eso los va a acercar bastante a lo que quieran, tambien bajen la intensidad, ya que por defecto es bastante fuerte. Me olvide de hacer captura de esto por si no lo notaron. Pero asi es mas o menos como les deberia quedar 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2

En PS vamos a mantener este AO "siempre" en la parte superior y con multuplicar (importante). 

Tambien es muuuy buena idea extraer una mascara de los shells para aislar las diferentes texturas. Como? pintan el modelo completo por blanco puro y en texture ponen texture from polypaint y exportan a PS. 

max

En el panel de los uvs, en zbrush, tienen una opcion de "padding" esto es el borde adicional que se extiende desde los shells hacia afuera, creo que puede llegar hasta 16 o algo asi. Esto se usa por ejemplo en los juegos cuando ustedes tienen una 3.1 y quieren jugar unreal 3, le bajan todo para poder jugar no? bien, las texturas se contraen tambien y si no estuviera ese padding se veria el color del fondo de la textura en el lugar de los seams, en juegos poco pro se puede ver. Horrible. 

Bueno, ¿y a que voy con esto? en la mascara que extrajimos se nota que algunos shells se encuentran pegados, esto es porque el paddding se extendio hacia ellos, no es muy malo, pero es a tener en cuenta. Asi que traten de dejar espacio entre los shells importantes donde no quieren que se vea ningun "error de padding". 

En PS es facil de arreglar la mascara, obvio que si quieremos seleccionar el cartel no queremos seleccionar tambien el cuerpo (imagen arriba), por eso hay que pintar el limite nosotros. 



Por otra parte este padding mezclado es bueno a veces, si miran abajo estos son las plantas de los pies, obvio que van a tener la misma textura, entonces ¿no seria lindo seleccionarlos al mismo tiempo? gracias padding loco 

zbrush

Empezamos a retexturizar, usamos texturas super densas. La regla fundamental aca es, de ser posible, jamas jamas agrandar las texturas, achicar si, pero agrandar no. Esto va a pixelar las texturas incluso convertidas en objetos inteligentes. Ademas tampoco las distorsionen, y si lo deben hacer, no lo hagan demasiado. Para la piel use un tile que hice hace mucho, es una textura gigante con poros y lunares aleatorios, despues pueden ponerse a hacer heridas y demas cosas perticulares para romper el patron. 

Yo siempre elijo alrededor de 50 texturas para todo el modelo, despues descarto muchas pero para empezar y probar es bueno tener muchas, en otro archivo y en diferentes capas, la que les guste, la pasan. Yo uso Bridge para buscarlas y cargarlas, es bastante rapido para ver texturas y tiene la opcion de abrir por capas de PS que es lo mejor, tiene acciones porLOTE, etc, ventaja de estar integrado a PS. 

Unreal 

Yo siempre convierto las texturas a objetos inteligentes, son mas estables. 



Cosas muy importantes: 

1_Usen mascaras; les va a ayudar mucho para mezclar texturas, ejemplo arriba, el cartel tiene 3 tipos de texturas, 2 en la cara y 1 en las grietas. 

2_usen brushes raros; haganls ustedes o descarguenlos de algun lado, aca en T! hay muy buenos. Estos combinados con las mascaras les va a dar una fusion mas natural y real. 

3_Usen los modos de mezcla; vean aca abajo. Estos son los aros, con un par de texturas, se ve bien pero no resalta mucho. 

3d

Aca abajo la textura de arriba esta puesta en luz focal...creo. El resultado le da un granulado interesante que se termino viendo muy bien al final, parecen particulas de oro mezcladas con otro metal. Y prueben, vayan viendo que modo les resulta mas atractivo. 

Rigging

4_Usen cosas raras...ha? 

Si, si no tienen la textura para tal material no traten de encontrar la textura exacta para esta. Aca por ejemplo uso textura de piedra para las vendas de los pies. Ademas les puede resultar muy buena este tipo de improvisacion, aca tambien se ve la falda, le puse unas manchas pero tambien unos textos que despues rasterice y difundi y fotos de diagramas del EXCEL!! que tenia en la compu. Me quedo taaan bien. 

tutorial 3d

Use estas placas de metal para los tornillos, cosa que le dio un buen aspecto corroido cuando le puse despues 

personaje para juego

A esta le cambien el tono y la use para manchar la cara. 

game character 

Sugerencia importante: "Nivelen" sus texturas, con esto me refiero a encerrar toda la curva cuando ajustan los niveles. No tengo captura de esto a pesar de que es importante, asi que voy a explicar un poco mas. Cuando en el panel de ajustes elijen niveles, o presionan ctrl+L se abre el panel de niveles cierto, de la primera forma es no destructivo pero con tantas capas a veces es mejor mandarle con el 2°. La curva que les muestra a veces les va a mostrar unas "montañas" (muy muy groncho), pero tambien un espacio llano entre estas y el borde donde se encuentran los sliders o controles, lleven estos sliders hasta donde empiezan las montañas para aprovechar toda la gama de la imagen. Haganlo individualmente con todas las texturas, a veces no se requiere, se van a dar cuenta porque no hay llanos o porque hacerlo hace ver muy fea la textura. A veces tambien es bueno pasarse con los sliders mas adentro pero es a ojo que se aprende eso. Si no estan seguros, mientras corren el slider mantengan apretado alt, esto les va a mostrar la cantidad de pixeles que se estan perdiendo volviendose "negros" o "blancos". 



¿Para que todo esto? En casi todos los motores graficos el negro absoluto absorbe la luz por completo, nada de reflejos ni textura. Y ademas, en los motores como el de unreal, es dificil hallar el equilibrio de luces cuando se lucha por aclarar una textura muy oscura y al mismo tiempo junto a esta hay una textura muy clara que se "quema" al tratar de aclarar la primera. Lo mejor es tener "texturas claras" porque siempre se pueden oscurecer en el motor, pero es mucho mas dificil aclararlas. Creanme, sin importar cuanto lo intenten en el panel de materiales, es posible a veces, pero muy complicado y demanda mucho tiempo. 



Para esto les decia que eran utiles las mascaras, excluyen todo el modelo excepto lo que quieren texturizar, ademas vean que estos objetos que aparecen arriba en la imagen forman parte del mismo objeto, o sea, es bueno que estuvieran juntos para texturizarlos al mismo tiempo. Parece tonto decirlo y obvio pero no se pierde nada con decirlo. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2 

Una vez que terminaron la textura, (me olvide de la captura), pruebenla en max, zbrush, maya, donde sea. Es bastante probable que les haya quedado así en los seams. 

max 

Esto es por la incongruencia en los shells, la falta de continuidad por texturizar sobre el 2d. Pero bien, como resolverlo? 

La forma mas practica es; llevar la textura al modelo 3d y alli ocultar los seams mezclando las texturas o arreglando la continuidad. 

Como dije anteriormente zbrush no puede pintar sobre textura, asi que si importo esa textura bien detallada y la aplico sobre un modelo de 1 millon de polys la textura se diluye como la tinta en el agua. 

Asi que probando diferentes programas que puedan pintar sobre texturas, se que max 2011 en adelante lo puede hacer pero no me da la maquina, PS para 3d tambien pero es medio lerdo, bodypaint. Me quede con el bodypaint, es bastante bueno, yo solo lo uso para arreglar seams de todas formas asi que no lo conozco mucho. 

Primero exporto un modelo un poco mas denso de zbrush, en la 2° sub, esto es para tener una guia mas aproximada de la curvatura real y pintar mejor. 

zbrush 



Aplicamos la textura 

Unreal 

Busquen tutoriales en youtube si quieren, ahi explican como activar el modo de pintar sobre el modelo. 

Asi se veria su seams se ya lo han visto en el modelo, simplemente toman el smudge tool que es muy similar al de PS y mezclan la textura alrededor del seam. 

3d 

Rigging 

Aca arreglado en zbrush 

tutorial 3d 

Y chau maachaas!! 

Haganlo con el resto del modelo, no creo que lo vayan a necesitar hacer en todos los seams. 



Esto lo tengo que poner, fue muy gracioso...cuando me calme. Estaba arreglando el seam del menton, tome la captura y..."de alguna forma"...se proyecto sobre el modelo mientras estaba en PS. 

personaje para juego 

Bien, si hicieron esto, la textura, o al menos la del color esta lista. Aun falta la textura especular y la de los normales, hay mas pero esas son las principales. 

La de spec es fácil, toman la textura recién terminada, la desaturan por completo y estrechan muuuucho los sliders de los niveles. Esto va a provocar que las zonas mas brillantes naturalmente se vuelvan blancas o claras y el resto negro u oscuro, no tengo captura, perdón. Yo he hecho muchas pruebas con los spec, a veces tira resultados interesantes cuando no desaturan. 



Bien, los normals, esto es extenso. Lo mas complicado acerca de estos mapas es que casi todos los motores los manejan de forma diferente, puede ser que en un editor se vean de maravilla con un shader en especial y en otro los seams parece que cortan al modelo en dos. Y los seams a veces son dificiles de esconder. Yo recomiendo que hagan los normals lo mas compatibles con el soft donde va a terminar, en este caso unreal engine. 

A continuacion voy a explicar diferentes metodos para extraer estos mapas del modelo, areglarlos, optimizarlos y probarlos. 



Yo siempre extraigo primero el normal del zbrush, sale limpiecito limpiecito, nada como en el render to texture. La cosa con el normal del zbrush es que los seams casi siempre requieren ser arreglados. Yo los llevo al max y los miro con el shader por defecto que tiene max, el metal bump, de nuevo, hay tutoriales para saber usarlo. (Algo de metal bump; es muy bueno para probar los normales y los specs si lo van a pasar al unreal ya que se comportan de manera muuy similar)

Este es el normal extraido de zbrush 

game character 

Aca esta sin modificar con el metal bump 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2 

(En esta la prueba se la hice al cuerpo solo para ahorrar tiempo, por eso tiene puesta la textura vieja.) 



Como pueden ver, los seams son muuuy notorios y queda muy feo. Una cosa que todos dicen que es mala y te dicen que no lo hagas es modificar los normals en PS, ya que no son texturas ordinarias como la de colores, estos mapas almacenan informacion de profundidad e iluminacion en un rango de colores especifico, si se ponen a pintar encima van a alterar esta info y por ejemplo si le pasan una luz por encima despues, esta pareciera que viniera del otro lado por ejemplo. 



Bien, la cosa no es taaaan drastica, al menos para mi, si son cuidadosos y solo se encargan de los seams va a estar bien. Y...como estos mapas tambirn son texturas...¿porque no podemos hacer lo mismo que hicimos con los seams del mapa de colores? 

max 

Nooo, me dirian algunos, pero yo he experimentado mucho con este metodo y no miento cuando digo que funciona si se cuidan de no alterar demasiado los "grandes grupos" de informacion, las grandes manchas de un solo tono. Yo recomiendo usar una mezcla del smudge y el stamp. Asi me quedo luego de 5 minutos de arreglarlos, podria haber sido mas cuidadoso pero era para ilustrar. Los lugares mas dificiles van a ser donde exista el mayor contraste, en estos casos elijan la mancha mas prominente y difundanla hacia el lado perdedor (un poco). 

zbrush 

haaa? haa? que tal? 

El seam no es maravillosamente ocultado, pero si tienen en cuenta que el modelo en el juego o anim se mueve y ustedes no van a tener naturalmente un primer plano de su lado interior...no se va a notar. Por eso decia...ocultenlos donde normalmente nadie mira. Si este seam hubiera estado en el pecho... 



Hay otras formas de extraer los normals, con xnormal, este programa gratuito es muy bueno para extraer muchos mapas del modelo high poly, es como el render to texture pero mucho mejor. Oootra vez, tutoriales hay muchos, busquenlos. 

La peculiaridad con xnormal es que para unreal sirve perfectamente, los seams no se ven para nada...para para, y para que me hiciste hacer lo otro entonces?? 



Bueno, lo malo del xnormal es que a veces no muestra los detalles que muestran los mapas de zbrush, ademas que como es parecido al render to texture, incluso con mucho manoseo de controles siempre salen algunos errores de proyeccion o artefactos, en lso del zbrush no. Pero tambien muestra detalles que en los de zbruhs no aparece y suelen ser mas profundos y marcados. Entonces, cual elegir? 

Yo uso los 2, llevo los 2 mapas al PS( el del zbrush y el de xnormal) y ahi enmascaro para que queden los detalles que me gustan del zbrush y los bordes limpios del xnormal, eso siempre me funciona, al menos para el unreal. 

Una muestra del normal final, en xnormal y max 

Unreal 

Dos tecnica importantes: teniendo el normal final, pueden añadirle aun mas detalles a los normals convirtiendo una copia de la textura de colores en un normal map en si y superponiendolo encima del normal original 

Este es el original 

Rigging 

Este es con la textura convertida en normals. 

tutorial 3d 

Como pueden ver, esto le agrega muuuchos detalles al normal, info de poros, lunares, etc. Cosas que quizas a ustedes les hubiera gustado hacer de manera convencional en el modelado. Lo que si, la imagen de arriba tiene la opacidad muy alta para que la pudieran ver bien, normalmente deben bajarle la opacidad hasta 15 o por ahi, sino va a parecer que la piel es de arena y ademas va a esconder el normal de abajo. Ademas, quitenme el canal "azul" al normal generado por el defuse map, el canal azul esta relacionado a los grandes detalles, si lo dejan va a "lavar" los detalles del normal original. 

Para convertir la textura en normal hay varios metodos, una es usando crazybump (muy conocido) pero tambien hay otras opciones, a mi me gusta filter forge, lo uso desde hace mucho y es muy versatil. Como lo indica su nombre pueden crear sus propios filtros de manera muy facil, incluyendo normals, specs, AO y muchos mas muy interesantes. 

personaje para juego 

La otra tecnica, ustedes tal vez han notado en PS los canales, estos de cada imagen que estan formados por rgb cada canal. Si ustedes nivelan cada canal de los normales (no mucho) van a poder darle un poco mas de profundidad a sus normales. Lo malo de esto es que si lo hacen demasiado, hasta los normales de xnormal van a resaltar sus seams, pueden enmascarar el ajuste si quieren para evitarlo, pero igual, no nivelen demasiado. 



Otra cosa, prueben mucho sus normals, veanlos de arriba abajo y busquen problemas 

game character 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P2 

max

Un juego, uno de estos dos modelos tiene 12000 polys y el otro 3000, adivinen cual es, es facil si lo miran bien, pero a simple vista no tanto. Asi de pequeño es medio dificil igual 

zbrush



5°_RIGGING 



Va a llegar el dia en que todo lo tedioso de estos trabajos se haga de forma automática, con mejores procesadores y
 códigos vamos a tener solamente que modelar y pintar el modelo y en 3 segundos verlos actuar en un juego
 como si nada. 
De hecho 3d coat ya tiene un "auto retopo" pero que no es muy practico pero es algo. En fin. 



El rigging me gusta tanto como el retopo, tedioso tedioso tedioso. Suerte que soy un tanto obsesivo y veces me 
resulta...atrapante. 



Este es el proceso por el cual le enlazamos un esqueleto al modelo y le incrustamos la capacidad de movimientos
 propios de ese esqueleto. 



Para esto pueden usar el soft que quieran, yo uso max. El modificador por defecto que trae max para esto es el skin,
este tiene todo lo necesario para realizar el trabajo perfectamente. Pero yo uso bonespro (un modificador aparte del
programa) porque es mas fácil de usar y tiende a ser mas preciso en cuanto a la influencia de cada hueso. Peeero, 
tiene una gran desventaja que después voy a comentar, voy a seguir el tutorial usando bonespro por si las dudas
después encuentre una forma de resolver este problema y se los comento, pero es muy similar a lo que harían 
con skin, asi que no hay drama. 



Si quieren un tutorial:
También pueden encontrar otros en youtube y otros en algunos foros, pero estos están en ingles si no les gusta. 



Empezamos llevando el modelo a max y arreglando la geometría del low poly para evitar que las diferentes
 partes se superpongan. Ejemplo; la pierna pasa adelante de la falda en algunos puntos, las vendas en los
 pies se meten por debajo de la piel, etc. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3

Tengan cuidado y no muevan demasiado los vértices arreglando estas cosas, aca les muestro 
groseramente lo que puede pasar. 

max

Como ven, los uvs siguen a los vértices, en el panel del edit poly existe una opcion que dice "preserve uvs" esto
 va a evitar estas distorsiones, pero no confíen demasiado en esto, mejor muevan despacito las dos partes en
 conflicto y verifiquen si quedo bien. 

Un ejemplo de lo que pueden provocar los errores en el retopo, aca, el borde del ojo me quedo muy muy low poly
 y por ende el ojo se mete demasiado, la manera de solucionarlo fue creando un aro nuevo y meterlo pa dentro. No
 es la mejor practica pero al ser geometría que de todas maneras se esconde no importa. 

zbrush

Unreal

Otra cosa que se hace mucho es borrar la geometría escondida que jamas se va a ver, Ejemplo un cuerpo cubierto
de ropa con una camisa y pantalon, el cuerpo de abajo no se va a ver, así que para que tener esa geometría al dope. 
En este caso no lo hago porque primero; es una falda lo que esconde parte de las piernas y en ciertos casos
se podria "poder" ver abajo, si no hay nada queda mal ¿no? La otra razon es que con tan poca geometría no hace
falta. Imaginen que si de un modelo 4000 polígonos son los que no se ven, eliminar estos polys sera un gran alivio
para el motor. 



Bien, empecemos colocando el biped, les recomiendo antes centrar el modelo en el punto 0,0,0 y con el pivot point 
en el piso. 

3d

Antes de empezar a "rigear" tenemos que alinear el biped al modelo, para esto es mejor freezar el modelo y
 alt+x creo para hacerlo translucido. Ahora entramos a mover "una mitad" del esqueleto para adecuarlo al modelo. 

Rigging

Escalen los huesos para que queden lo mas pegados posibles a la piel, no importa mucho que se salgan de la piel 
en algunos puntos. 

tutorial 3d

En la espalda es recomendable hacer 3 vertebras, si hacen mas es mucho lió después para la influencia de los vértices.
 Háganlas desde pequeñas hasta mas largas y grandes de manera progresiva desde la cadera hasta el hueso final 
antes de llegar a la cabeza. 

Muy importante: Recuerden los parches, coloquen de forma muy precisa las articulaciones justo en medio, como acá


personaje para juego

game character

Cuando terminen uno de los lados es tiempo de copiar al otro lado, par esto, en el panel de display...creo, en 
parámetros tengan posture activado y luego mas abajo, donde hay una ventana presionen copy posture 
con los huesos seleccionados del lado modificado, luego, paste oposite. Es medio engorrosa la explicación, 
pero hay tutoriales simples de 1 minuto en youtube de esta función. 

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3 

Listo, ahora tomamos el modelo, modificadores, bonespro...o skin 

Esto les va abrir una ventana donde deben elegir los huesos disponibles que formaran parte del esqueleto del modelo.
 Si solo esta el modelo y el esqueleto en la escena seleccionen todos, EXCEPTO el primero que dice bip,
 el walk cicle o foot steps creo que dice y los que terminan en "nub". 

max

NOTA APARTE (si tienen como en este caso cosas como el cartel o las cintas en las manos que deberían colgar
 y balancearse, usen cajas simples como huesos, pero agregarlos ya!, en este paso, si lo hacen después les va a
 echar a perder el rigging que hayan hecho por un problema de re-posicionamiento del pivote) 

Una prueba rápida para ver si funciono, Acá mi duende esta hecho toda una valerina 

zbrush

Muy bien, cuando se pongan a establecer el balance y la influencia de los huesos con los vértices les conviene mover
 las extremidades para ver como van, acá, si no hubiera movido la pierna no me hubiera dado cuenta tan pronto de
 que un par de vértices estaban poco influenciados por el femur. 

Unreal 

Aca, al levantar el brazo nos podemos dar cuenta que hay mas vértices de los que queremos que estén influenciados
 por este. 

3d

Ademas, esto sirve para analizar y modificar influencias demasiado fuertes y demasiado débiles. 

Rigging

Bonespro puede mostrarnos la influencia de cada hueso con un degradado de verdes y rojos. 

Aca, finalmente puedo ilustrarles la función de los parches 

tutorial 3d

personaje para juego

Esta textura es bastante gentil con las animaciones y no tiene manchas muy notorias y ademas el tamaño de la imagen
 no ayuda, pero como pueden ver los parches evitan que el tramo de texturas entre estas se distorsione demasiado. 



¿Ven como el parche permite una gentil estiramiento de la geometría y la textura? 

game character

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3

Una buena estrategia para establecer la influencia en estos puntos con parches es lo lógico, los huesos mas cercanos
 al borde del parche necesita mucha influencia un 70% la linea del medio 50% y el borde mas lejano un 20%. Pero
 si dudan, prueben. 





Lo de rigear los props es mas fácil de lo que parece, tomamos un primitivo lo mas parecido al prop, solo un
 primitivo, no se pongan a modelar algo de diferentes piezas. En este caso, para el cartel y las tiras que lo sostienen
 solo hace falta un cubo chato, ubican el pivote de este cubo donde ustedes imaginan que el prop se balancearia.
 Acuérdense de hacer todo esto antes de siquiera rigear todo el modelo, si agregan el hueso después va a provocar
 que "tooodo" el esqueleto se mueva un poco y las influencias que tanto les costo colocar se van a desfasar. 

max

zbrush

Colocan la influencia al cartel y a las cintas y listo, hago lo mismo con las tiras de las manos, pongo unos cuadrados
 para cada tira y repito el proceso. En este caso cometí el error de olvidarme de poner estos "huesos de prop"
 cuando puse los demás, así que al final no los puse. No creo que sea problema de bones pro, con el skin
 me lo ha hecho también. 

Una vez finalizado hagan pruebas de movimientos, todos los que puedan, todos los humanamente posibles. Todo par
 a ver si hay algún problema de influencias. Recuerden que estos problemas no solo pueden afectar a la geometría, 
sino también obviamente a las texturas. 

Unreal 

Mi prueba final, parece de caricatura 

3d

Técnicamente no es un insulto ya que no tiene dedos del medio. Ademas, como les decia, al ser taaan low poly 
es muy difícil de rigear y que quede bien haciendo movimientos tan agudos, si los hacen así es inevitable. 

El problema con bonespro: 

Para exportar modelos animados a UDK, necesitamos proyectar la animación de los huesos al mismo modelo.
 Esto se hace primero con el modelo seleccionado, en skin, seleccionar todos los huesos que afectan el modelo,
luego ir al panel de "motion", a trayectories, y luego ponen en "start time" el inicio de su animación,
 si la han hecho y es la que quieren exportar, ejemplo; un caminar. En "end time" el final de su animación,
 y en "samples" coloquen la cantidad de cuadros que posee la animación, si ponen mas sera mas fluida.
 Luego abajo ponen "collapse" y listo, la animación esta incrustada al modelo y ya no necesitan el esqueleto.
 Se que es confusa esta explicación de como proyectar la animación, lean de a poco y vayan viendo su pantalla
 en max, si se pierden, pregunten. 



El problema con bonespro es que al seleccionar los huesos dentro del modificador bonespro luego en el panel de
 motion no se ven activas las opciones para collapsar esa animación en el modelo. Algo muy malo, ya que UDK
 no permite importar esqueletos con modelos, solo modelos con animaciones. Entonces, investigando encontré
una opción en bones pro que permite convertir sus configuraciones al modificador skin,"Export anim"se llama,
 esta abajo. Pero el cambio resulta muy malo y es como si tuvieran que empezar de 0 a rigear. Como ven aca,
este es el modelo luego de exportar las configuraciones del modificador bonespro al modificador skin. 

tutorial 3d

Me olvide de la captura de la comparación, pero imaginen que esta imagen de arriba es con el traspaso de influencias
 del bonespro al skin, o sea, esta imagen de arriba es con skin. La de bones pro es con el modelo perfectamente
 ubicado entorno al esqueleto. 

O sea, para que me hiciste usar el bonespro si el que permite la exportación es el skin. Bueno, aun busco la respuesta
 para postearla y decirles, hasta entonces les digo esto, si piensan dejar el modelo en max y usarlo para hacer
animaciones exclusivamente en max, usen bonespro, es genial y rápido. Si quieren seguir y exportar un modelo
 para verlo en movimiento en unreal engine, usen el predeterminado (skin). Yo exporte esta animación convertida,
es fea pero me sirve para ilustrar el proceso. 



6°_UDK (unreal development kit) 



Hace un par de años unreal lanzo el sueño del pibe, un programa completo para hacer juegos de alta gama, gratis,
 así de fácil la explicación. Yo he probado el unreal editor del unreal 2004, el editor del swat4 (que recién
implementaba los normals), el editor del unreal 3 (a duras penas lo he probado) y finalmente el UDK,
 este se va al carajo comparándolo con los anteriores. 



El que tenga la fortuna de poder correr este programon en su compu...hágalo. Yo quisiera tener mas experiencia
en este programa, pero mi maquina que no llega al gb de ram y es de 1 nucleo me ha estancado en este tema.
 Y me gusta tanto este programa y lo que se puede hacer con el que se hacer cosas que jamas he hecho!! Pero bue,
hay millones de videos en youtube de gente como nosotros que hace juegos que a falta de un poco de
 profesionalismo no le tiene que envidiarle nada a los super juegos que tantos jugamos. SI tienen tiempo
mírenlos, son muy inspiradores y motivadores. 



Bueno, como decía, no tengo mucha experiencia en el UDK, no se como convertir un modelo en el personaje que
nosotros manejamos, o hacer un enemigo, mas que nada en todas esas cosas que requieren programación. Pero si
 en las cosas que unreal a conservado de sus otros editores. Peeero no se confundan, UDK no es unreal editor, no
 es un editor del juego unreal, es un soft para "hacer" juegos, tanto que tiene herramientas de creación de menus,
 herramientas de compilación cuando lo terminan, etc. 



Lo que se hacer es, importar "mallas estáticas" objetos sólidos que pueden poner en escena pero que no son
animables, ejemplo de esto son los props de los escenarios. Lo otro es importar mallas animadas,
como la que hicimos antes. 



Primero mostrare como hice lo primero, exportar el modelo solo, sin animación, como "static mesh". Para importar
 desde UDK, el formato que deben elegir en max es el .ASE (ASCII Scene Exporter) Dejen las opciones por defecto,
 las que aparecen acá deben estar marcadas. NOTA APARTE( antes de exportar hagan un reset xform al modelo,
 es por las dudas nomas, no super necesario) 

personaje para juego



Bien, luego en UDK, hagan un escenario simple, este lo hice pero no se lo pudo mi maquina y termine haciendo uno
 sin materiales. Otra vez, los tutoriales de UDK llenan la web, busquen tutorial udk. Por mi cuenta les digo que para
 poner la luz, click derecho sobre la pared y el punto donde la quieren, luego, "new actor", "light" creo que es así.
 Otra cosa que van a necesitar para poder probar el nivel es el punto de inicio. Click derecho donde lo quieren,
 "new actor", "new startpoint" o creo que es "player point" o "player start"...es uno de esos. Lo uso siempre pero
ahora que no lo estoy viendo no me lo acuerdo jeje. 

game character



Para importar las cosas que necesitan, el modelo y las texturas, van a necesitar el "content browser"
(muy util, buenisimo)

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3

importar, eligen el modelo, les va a aparecer un panel de configuraciones, déjenlo así, les va a preguntar en que
paquete y grupo lo ponen, si quieren hagan uno propio. Y listo, su modelo tiene que aparecer con el material por
defecto, uno cuadriculado, y abajo debe decir "no collision model". 

Importar las texturas es fácil también, con la diferencia de que tienen que marcar abajo "compress no alpha" 



Importante: Con los normals es un poco diferente al defuse y el spec, a los normals marquen tambien "compress no
alpha" pero justo abajo, en el slider seleccionen "TCnormalmap" esto es para que el importador sepa que son
 normals y los trate bien (groncho). 

max

Les tendría que quedar así las texturas y el modelo. 

zbrush

Luego hacen click derecho sobre el "content browser" junto al espacio entre las texturas y eligen "new material"
 En esta ventana llevan las texturas y las enlazan con sus respectivos canales. Acá hay dos normals porque estaba
 probando cual quedaba mejor, yo tengo un limite de 5 minutos en UDK, después de eso, este haciendo lo que este
 haciendo, se me tilda la computadora y tengo que reiniciar. Así que ahorro un tiempo 

Unreal

Luego aplican el material al modelo en la ventana del modelo, doble click sobre este, donde dice LOD bajen hasta
 que diga material. Así me quedo al final, el spec no lo puedo usar en udk, un problema de hardware creo, si tienen
 spec mis modelos se ven invisibles y como con un noise map, muy raro. El seam que se ve al costado no es del
 normal, de hecho es el del defuse, me equivoque y la textura que importe es la que después corregí en bodypaint.
 Lo que pasa es que podria haber vuelto a importarla y tomar esta captura, pero para esta captura estuve 5 minutos
 luchando con el lag del juego. literalmente 2 cuadros por minuto. 

3d



Este modelo es estático, no se mueve, lo pueden atravesar pero también le pueden disparar, para darle propiedades
 físicas creo que es necesario un modelo aparte como funciona en los modelos de hammer. Esto no es muy practico
 con un personaje, a menos que sea una estatua, pero imaginen un escenario lleno de props de este estilo, se van a
sentir muy orgullosos después de hacerlo, se los aseguro. 

Acá una prueba mas para ver los normals, perdón por la distancia, el lag es terrible y se me salia en cualquier
 momento 

Rigging



Bien, ahora que son capaces de llevar un modelo estático a UDK y a un escenario, vamos a ver como importar
 modelos animados. 



En max, luego de incrustar la animación en el modelo, van a necesitar un plugin (actor x) este plugin no se descarga
 solo, viene con el UDK, puede que lo encuentren solo, pero de todas formas es al dope si no tienen UDK.
(EDITADO: ya no se usa, las animaciones se exportan como fbx) 

tutorial 3d

Con el modelo seleccionado, van a "utilities", en more, y ahí debe ser uno de los primeros. 

Eligen la carpeta donde va a ser guardado el modelo y un par de archivos necesarios, el nombre que le quieren
 dar al modelo exportado y el nombre de la animación y el de la secuencia (boludeces) y el rango de la animación
 ejemplo (0-100) o hasta donde dure. Luego presionan "digest animation", esto va a preparar la animación, debería
 darles el visto bueno con un cartelito "animation digested" o algo asi 

(NOTA APARTE: si esto no paso y les dio un error al tratar de digerir la animacion es muy probable que sea porque
 aun tienen huesos enlazados al modelo, para evitar esto, luego de incrustar la animacion al modelo, quiten el skin
 por completo y borren todos los huesos y despues realizan los pasos anteriores, pueden probar; si despues de borrar
 los huesos y el modificador skin mueven la linea de tiempo y el modelo se mueve, esta perfecto). 

Si les dio OK presionan "animation manager", se les va a abrir una ventana muy simple, la de la imagen de arriba,
 en el lado izquierdo va a aparecer la animacion "digerida", la seleccionan y con la flecha la pasan al lado derecho y
 presionan OK, nada mas. 



En UDK necesitan ir a la ventana de edición de animaciones, para esto van al content browser y abajo en las carpetas
 necesitan dar un solo click en la carpeta base de "udkgame" en los filtros marcan solo "animationsets" abajo les va
a aparecer muchos objetos azules (las animaciones de modelos) doble click sobre cualquiera y la ventana se les va a
abrir. Debe haber una forma mas fácil de abrir esa ventana, pero no la he buscado. 



En esta ventana van a file, import mesh LOD y seleccionan el modelo que salio de actor x, (el modelo debe tener
una extensión PSK). Esto tiene que cargar el modelo en la pantalla, después se van nuevamente a file, import PSA
 file, ( es la animación, debe tener extensión PSA). Va a parecer que no paso nada, pero si se van a la solapa de abajo
 donde dice anim, bien abajo, el ultimo nombre debe ser la anim recién cargada, doble click sobre esta y listo. Para
 reproducir vean abajo del modelo hay un pequeño boton y una linea de tiempo, también hay un boton de loop. Para
 insertarlo en el nivel...bueno, yo arrastro el modelo al escenario y se sale el programa directamente y no he
 encontrado otra forma...es medio vergonzoso ya que es mi tutorial pero es lo que hay. Lo que si, su modelo
 animado esta en UDK, eso ya es el 80% del trabajo. 

personaje para juego



Final de la 3 parte...Na mentira, final del tutorial. Hasta aca casi todo el conocimiento que tengo acerca de creación
 de personajes funcionales. Los personajes no humanoides llevan las mismas premisas, no son muy diferentes. Y lo
 que si, la practica les va a enseñar mucho mas que cualquier tutorial que busquen por ahí, eso me paso a mi. 

Un par de consejos: 



Traten de captar las ideas generales del tutorial, pero por partes, no lean todo y quieran hacer todo al mismo tiempo,
 hagan cada parte hasta que se sientan cómodos haciéndolas y luego pasen a la siguiente. 



Y el otro consejo (con un poco de ironía), no sigan al pie de la letra cada técnica y procedimiento. Adapten lo que
 les pareció útil a su flujo de trabajo y modifiquen algunos otros como les parezca mas eficiente. Yo hice eso y me
 funciono bastante bien, sepan que cualquiera de ustedes puede salir con un método inedito que acelera el proceso,
una idea es una idea, no importa si son pros o no. 


Espero que les haya gustado y/o servido, y si ese es el caso después les enseño como hice esta composición con
 zbrush y PS. 

game character

[Tutorial]Personaje humanoide desde 0 hasta unreal engine P3

max

zbrush

Unreal

3d





Comentarios

Publicar un comentario

Entradas populares