JavaScript - ¿Se puede animar/modificar personajes 3d con Javascript?

 
Vista:
sin imagen de perfil

¿Se puede animar/modificar personajes 3d con Javascript?

Publicado por Alex (3 intervenciones) el 20/06/2016 21:01:20
Hola...

Me gustaría hacer un juego en el que hubiera personajes 3d que pudiera mover por la pantalla ya sea con el ratón o con teclas. Sería hacer algo parecido al juego de los Sims (el mío mucho más cutre claro jajaja lo digo para que se hagan una idea de lo que me gustaría hacer).

Supongo que para crear los personajes 3d tendría que utilizar alguna herramienta como Blender, etc...¿o puedo crearlos con javascript (supongo que no)?

Una vez que tengo esos personajes 3d creados...¿puedo manipularlos (moverles un brazo, la boca, girarles la cabeza, cambiarles el color de pelo, cambiarles la forma de la cara o del cuerpo, etc) con Javascript?.


Para el tema de cámaras, rotación del personaje 3d, etc creo que hay librerías javascript como Three.js que lo hacen. No sé si con esta librería Three.js también podría manipular los personajes 3d.

También he visto que está el tema del canvas, svg, webgl a la hora de hacer animaciones y juegos. ¿Qué tendría que utilizar o qué me vendría mejor a la hora de hacer este juego?

Como ven ando un poco perdidillo :-) así que les agradecería que me dieran alguna solución, sugerencia, etc sobre cómo tendría que plantear el juego (la idea es utilizar Javascript como decía aunque si se les ocurre algo mejor...). Les agradecería también que las respuestas fuesen lo más detalladas posibles.

Gracias por la atención.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Vainas
Val: 95
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

¿Se puede animar/modificar personajes 3d con Javascript?

Publicado por Vainas (258 intervenciones) el 21/06/2016 18:49:06
Buenas:

Para hacer un juego en 3d vas a tener que leer mucho para empezar y esto desanima a la gente a seguir... y mas si quieres empezar con un juego como los sims o parecido.

Javascript en un principio es un lenguaje para tocar el DOM de una pagina en el lado del cliente. Con esto quiero decir que hay gente que ha tenido ideas de hacer juegos simplemente moviendo elementos de una pagina. hace no mucho (hablando en el tiempo que maneja un humano normal no en la informatica) se saco html5 y con el cosas nuevas como el canvas para poder dibujar en 2d y 3d. De momento solo esta implementado el 2d hasta donde yo se, el 3d en javascript esta implementado en algo que se llama webgl y hasta donde me acuerdo estaba en pruebas.

A tus preguntas:

1. Para dibujar personajes bien como dices, debes usar una herramienta para modelarlos. Yo empezaria primero escogiendo un motor (engine) para hacer el juego. El motor en este caso suele ser una libreria javascript que te da un monton de funciones y variables para que realices el juego. El motor te dira que tipo de objetos acepta leer para cargar figuras, objetos y demas.

2. El tema de camaras, lo mismo que el punto anterior. todo empieza con el motor (busca en google "javascript engine game" y te saldran de pago y gratis para que te hagas una idea).

3. Creo que todos los juegos usan el canvas para dibujar en la pantalla (ya sea por 2d o webgl para el 3d) y ya te lo da el juego.

Quieres empezar?. Empieza con esto: https://codigofacilito.com/courses/plataformas_html5 No usa ningun motor sino el canvas de html5 pero para empezar esta bien.

Por otro lado estan los juegos tipicos en flash que es otra forma de diseñar juegos para el navegador, pero esto ha caido un poco y digamos que ya no se lleva. La alternativa a esto que se ha puesto de moda es unity3d. Para mi unity3d es un motor, un IDE y entorno de trabajo aparte de el motor se pueda usar en el navegador (instalando un plugin) o se pueda compilar tu juego para que se ejecute en windows, incluso en android y no estoy seguro si en iphone.

Crear juego en unity3d es muy facil ya que tienes opciones rapidas para crear mapas, objetos, camaras.... te aconsejo que mires en youtube algun tutorial para empezar con el.

Si no te ha quedado claro pregunta de nuevo que igual he sido poco claro con todo esto. Escoge un motor con el que empezar y a partir de alli veras que no es complicado sino el aprendizaje del mismo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

¿Se puede animar/modificar personajes 3d con Javascript?

Publicado por Alex (3 intervenciones) el 21/06/2016 20:53:28
Hola de nuevo...

Lo primero decirte que muchas gracias por tu respuesta y por lo detallado de ésta.

Como decías creo que empezaré con el curso de codigofacilito que aunque no sea en 3d tiene muy buena pinta y creo que puedo aprender mucho de él.

Tengo alguna dudilla que quizás puedas aclararme:

1 - ¿Puedo dibujar un personaje con canvas y "simular" mediante javascript que se mueve en 3d?. Por ejemplo, dibujo una cara 2d que está mirando de frente con las opciones de canvas y cuando pulse sobre la la tecla de la flecha izquierda, la cara "se mueva" como mirando a la izquierda.

2 - Si trabajo con un motor javascript e introduzco un personaje 3d creado con Blender, etc, ¿cómo puedo hacer que el personaje salte, se siente, corra, etc? Con javascript no se puede creo porque dijiste que javascript sólo puede manejar objetos del DOM. Si quisiera que el personaje hiciese algo (correr, saltar, etc), ¿el propio objeto/personaje 3d que exporté debería llevar incorporadas esas acciones? (¿esas acciones las tendría que crear desde Blender, etc?). No controlo nada sobre este tema de creación de personajes 3d :-/

3 - ¿Se puede crear un personaje desde javascript que esté compuesto por formas geométricas?. Es decir, que un brazo fuese un prisma, el torso otro, un dedo sería un prisma pequeñito, etc y que uniendo todos esos prismas (quien dice prismas dice esferas, triángulos, etc) formasen un todo, un personaje?. A esas formas geométricas sí se podría acceder/manipular desde javascript, ¿no?. Lo único malo de esto, si se pudiera hacer, es que el personaje quedaría muy "geométrico", poco realista quiero decir, porque no sé si luego se le podría hacer "algo" para añadirle más realismo al personaje y que el brazo, por ejemplo, no pareciese un prisma sino un brazo.

Son "sólo" estas preguntas y ya te dejo tranquilo :-D

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar