Polls

Que API tiene más futuro?
 
Inicio arrow Noticias arrow Lo + Nuevo arrow Cómo trabajr en el 3D de programador
Cómo trabajr en el 3D de programador PDF Print E-mail
Written by Javier Loureiro   
Monday, 28 May 2007

He recibido estos días varios emails de gente que me pregunta como trabajar en el mundo de los videojuegos, o en el mundo de la animación. Desafortunadamente, no hay mucha información realmente útil al respecto, y la mayoría de los que podrían estar trabajando en esto no lo hacen por elegir la vía que menos se adecua a cada uno.

 Antes de todo, me gustaría deciros que hoy en día el mundo del 3D (llamaré asi a la unión animación + videojuegos, porque es como lo llamamos nosotros) es un mundo en expansión. Hay varios proyectos realmente de nivel por españa adelante, y hay proyectos suficientes como para dar cabida a gente nueva. Asi que si realmente creeis que esto es lo vuestro, sabed que hay una oportunidad. Y además, el echo de ser comunitarios y con lo barato que estan los vuelos, otras ciudades, como londres, no tienen porque parecer peores que otras. Lo que si, es probable que te tengas que cambiar de lugar de residencia, aunque tengas trabajo en tu ciudad, porque lo que vas a encontrar son proyectos, sobre todo al principio.

 Lo primero es aclarar que es lo que quiere hacer cada uno. Para la gente que lee codepixel, que principalmente está pensada para programadores,  las opciones son básicamente, o trabajar desarrollando lo que llamamos "herramientas de pipe", o trabajar desarrollando "scripts" para los programas de 3D, o trabajar haciendo "fectos especiales" como humo, pelo, etc, trabajar haciendo un engine 3D, o trabajar haciendo el "gameplay". Esas son actualmente las variantes más comunes en el 3D.

Normalmente, por desviación profesional, todos quieren hacer un motor 3D. Pues bien, eso es casi imposible que vaya a suceder. Tanto en animación como en videojuegos, hay unos motores 3D ya establecidos que son muy difíciles de cambiar, no por el producto en sí, si no porque todos los desarrollos de las empresas estan orientados a la tecnología que ya tienen implantada. Podeis buscar trabajo en una empresa de engines, y para eso lo que teneis que hacer es motores 3D a sako. Hay que ser realmente bueno en matematicas, leerse un monton de papers y despues implementarlos, y tener un motor 3D que mostrar realmente completo. Y además, teneis que trabajar codo con codo con artistas para que vuestro motor se adecue a lo que ellos necesitan. Para hacer un engine 3D recordad que hay que hacer un plugin para un programa 3D que realmente conecte vuestro motor 3D con lo que un artista va a usar. Eso si, desde mi punto de vista (es lo que yo trabajo), creo que es la parte más divertida y donde se aprende más sobre el 3D.

 La otra variante, mas fácil de alcanzar es la de FX. Es la unión de varias cosas, y donde podréis divertiros más. Normalmente programamos cosas en la aplicación 3D (bien sea maya,xsi, 3dsmax o el engine del juego). Es donde aplicaremos más cosas divertidas (como humo, pelo, dinamicas, etc) y podremos concentrarnos en lo que nos gusta. Un engine 3D tiene que funcionar en distintos campos y el plugin tiene que ser muy robusto, en cambio un efecto sólo tiene que funcionar en un par de casos muy concretos que podemos meter "hardcoded". Además, una vez usado, no hay que dar soporte ni nada. También es un tema muy divertido. Para aprender esto recomiendo, a parte de leer papers y aprender matemáticas (especialmente álgebra), aprenderse muy bien como funciona renderman, mental ray y los programas de composición como shake y fusion. Vuestro trabajo será sacar pases de sombras, de difuso, de especular, etc, y componerlas. En un engine de videojuegos, aqui es donde más entra el saber de shaders para sacar glows, nubes, depth of field, etc. Lo ideal es usar un engine que permita shaders, como ogre3D y ponerse a implementar efectos chulos sobre un par de modelos.

 Lo siguiente será hacer tools. Esto ya requiere obligatoriamente de artistas ya que trabajaremos para ellos. Básicamente es hacer herramientas de modelado, de animación, programas secundarios como editores, sistemas de archivos, etc. Hay que dar soporte y todo eso, pero las herramientas se usan un montón en todo el estudio. Para trabajar de esto es imprescindible ser un gurú de la herramienta 3D y aprenderse bien el SDK y lenguaje de programación de cada uno de estos. No es tan divertido como hacer efectos, pero es muy agradecido porque todo el estudio lo usa. Para este tipo de cosas no hay tanta gente preparada, y es muy necesario en la producción, asi que para empezar creo que es el mejor campo: aprenderse un programa 3D y empezar a hacer scripts de todo tipo.

 Quizás lo más aburrido para  la gente joven sea el "pipeline". En un estudio alguien se tiene que encargar de decirle al animador que los modelos están listos y aprovados por el director, lo mismo con las texturas y el nivel del juego. Todo se gestiona en una base de datos que el departamento de producción se encarga de actualizar, rellenar y vigilar. Las herramientas de pipeline son fundamentales en la producción, y desde luego los empresarios buscan gente preparada en ese puesto. Lo peor es que realmente es programar bases de datos, lo mejor es que aprendes cómo funciona una producción en global y eso sirve para conseguir trabajo de consultor en un futuro, ya que te dará la experiencia para solucionar los problemas que tienen un estudio para acabar un proyecto en tiempo. Para esto es necesaria experiencia en producción, y saber de bases de datos (sql y php normalmente, y tambien algo de python), y sobre todo de procesos, de arquitectura del software, etc.

En todos los casos, lo importante es tener datos que corroboren que realmente sabes de lo que hablas. Esto se puede adquirir de diferentes vías: estudiando, con cursos especializados, o de forma autodidacta. En las empresas de 3D en general no se mira para nada el título, la escuela, o un papel que nos presuponga nada. En general lo que se mira es la experiencia anterior. Si teneis un trabajo previo será más sencillo tenerla, obiamente, y muchas veces el objetivo es cambiar de posición (pasar de hacer herramientas a hacer efectos).

Si no teneis experiencia, teneis que adquirirla. Una duda común es si estudiar una carrera. Una carrera es muy útil, pero debeis de orientarla como el método para aprender más rápido a programar y a conseguir software de calidad. Desafortunadamente, la situación de muchas universidades es, al menos, desigual. Hay profesores buenos, y  otros que van a leer el periódico. Lo importante es que aprendáis y que lo que os enseñen os sirva para aprender.

 Después están los masters y cursos. Aqui os van a perfeccionar los conocimientos. Si no teneis ni idea, no os metais porque no los vais a aprovechar. Lo importante de los cursos es si tienen prácticas, y si hay que hacer un proyecto final. Teneis que plantearlo muy seriamente (para no desaprovecharlos, ya que pasan muy rapido) como si pagaseis para que os ayuden a hacer la demo. Ese es el plan en el que teneis que ir. Aprender a ser eficaces, a centraros en las 4 cosas que os van a pedir en el trabajo, a sacar ejemplos de vuestro trabajo, y hacer prácticas en otras empresas. Normalmente cobrareis el mínimo, porque venis sin experiencia, pero al menos tendreis un trabajo.

 La vía autodidacta es la de internet. Leerse tutoriales, hacerlos, y mandar dibujos y publicar trabajos. Lo normal es que los que reclutan busquen este tipo de gente. Es fácil que os llamen si vuestros trabajos son buenos, y ademas os pagen bien. Pero ojo, hay que ser buenos. Y bueno es ser mejor que los demás. Eso teneis que verlo vosotros mismos. Desde luego es la forma más rentable: la que consigue mejores resultados con menos inversion. Pero también es la más dificil y la que más probabilidades tiene de fracasar.

 Bueno, espero que estas cuatro cosas os ayuden a entrar en el mundo del 3d...

 

Comentarios
AgregarnuevoBuscar
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el codigo anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.