videojuegos unity personaje juegos juego hacer hace español crear como 3d

unity - ¿Cómo se escribe un juego en 3D?



unity en español (13)

Deberías usar un motor de renderizado 3D. Muchos de ellos son gratuitos ( Ogre3D es bueno) y generalmente tienen instalaciones para importar casi cualquier tipo de malla creada a partir del software de modelado común.

Siempre me he preguntado cómo los programadores de juegos relacionan los personajes del juego hechos en un software externo de modelado 3D como maya o 3d max y la lógica del juego real hecha en su lenguaje de programación favorito, por ejemplo, c o c ++.

¿Cómo se combinan estas dos cosas juntas, y cuál es el proceso real de construir un juego desde el modelado de personajes hasta la programación?

Algunas de las cosas que me hacen pensar son, ¿programas movimientos de personajes del código o del modelo 3D?

Los ejemplos serían realmente agradables de ver.



Escribir un motor de juego es una tarea compleja, mi sugerencia es utilizar uno de los motores existentes (seleccione de la lista: http://www.devmaster.net/engines/ ).

Al elegir el motor, debe tener en cuenta lo siguiente:

  • Licencia (desea publicar, ¿tiene un presupuesto, es de código abierto?)
  • Lenguaje de programación / secuencias de comandos (con qué idioma se siente más cómodo)
  • Plataforma de destino (Windows / Linux / Mac / Consola / Teléfono)
  • Pipeline (son los exportadores de su herramienta de modelado 3D e importadores al motor)

Su pregunta está más relacionada con el último artículo, debe elegir un motor que pueda importar los activos que produce, digamos 3DS, Maya en el motor de una manera que no tenga que preocuparse por los formatos de archivo, porque eso lo hará más productivo. ya que solo te estás enfocando en el juego.


La creación de personajes 3D y la programación de su juego 3D son dos procesos distintos.

Usualmente esculpes tu personaje 3D en un modelador 3D (Blender, Maya, 3D studio Max, etc.), exportas este personaje a un archivo (.obj, .md2, etc.) y escribes el código en tu juego 3D en orden para manejar la importación del personaje en su motor.

Si bien esto parece bastante difícil, los motores de juegos en 3D admiten todas esas cosas sin escribir millones de líneas de código y reinventar la rueda.

Tomemos como ejemplo Ogre3D, un motor de juegos de código abierto 3D. No es necesario ser un gurú de programación para tener un ejemplo simple en funcionamiento en minutos. Te sugiero que eches un vistazo a su wiki y sus tutoriales .

Por ejemplo, este es un tutorial simple para crear y exportar sus modelos simples de 3D Studio Max e importarlos a Ogre 3D.


La mayor parte de la información, como los movimientos de los personajes, en realidad se almacena fuera del código. Es un proceso bastante simple en realidad:

  1. Un artista crea un modelo 3D en Maya o lo que sea, y luego lo guarda en un archivo. Digamos que lo llamaron ''Gollum.3D''.
  2. Ahora ''Gollum.3D'' contiene una gran cantidad de números que representan los puntos modelo, texturas y todo lo demás.
  3. El código del programa luego lee el archivo ''Gollum.3D'' - todos sus puntos modelo, texturas y todo, y luego hace un montón de cálculos para calcular cómo se verá la escena 3D dados todos los números que representan el modelo.

Resulta que todo en un juego termina siendo almacenado por separado del código, y el código simplemente lo lee y lo combina todo cuando se ejecuta el juego. Cuando digo todo, ¡me refiero a TODO! Todo el texto, las estadísticas de los puntos de vida y los montos de daño al arma, las imágenes de la pantalla del menú e incluso la inteligencia artificial se almacenan por separado del código del programa en las secuencias de comandos. El código del programa termina haciendo muy poco.

Es posible que haya oído hablar de personas haciendo modificaciones a los juegos. Los modders son personas que editan los datos que se encuentran fuera del código del programa, lo que a su vez cambia el juego a su gusto. Simplemente aprovechan el hecho de que, básicamente, todo lo relacionado con un juego (excepto algunas cosas básicas) no está escrito en el código del programa.


Las animaciones se pueden hacer desde el software de modelado 3D, y luego depende del código para ''ejecutar'' diferentes animaciones basadas en la lógica del juego. Los modelos pasan del software de modelado al juego a través de formatos comunes. Por ejemplo, el marco XNA puede leer de forma nativa algunos de los formatos de modelos más comunes.


No tengo mucha experiencia en programación de juegos, pero he encontrado que el framework y los recursos de XNA son bastante esclarecedores. Puede encontrar una gran cantidad de ejemplos, cómo hacerlo y un foro bastante útil aquí http://creators.xna.com/en-US/


Piense un rato en cómo hace esto todo en 2D, es más o menos lo mismo con 3D, los algoritmos son simplemente diferentes y hay diferentes aspectos que preocupan.

El resto de lo que preguntas es una pregunta de diseño y depende del juego y del programador. Uno puede escribir una simulación compleja para mover sus personajes, mientras que otra persona puede confiar únicamente en las animaciones esqueléticas. Alguien puede almacenar la lógica del juego en modelos 3D y otros simplemente no.

¿Ejemplos? Quizás el código fuente del terremoto sea ​​una buena fuente para analizar.


A diferencia de la respuesta favorita, me atrevería a decir que esta es una tarea bastante grande si te refieres a tener un personaje que tenga animación.

El resultado final sería habilitar la mayor parte de la funcionalidad vinculada a través de archivos de scripts y configuraciones (en otras palabras, datos manejados), pero el proceso para construir dicho sistema no es simple.

Por lo general, comienza con un modelador externo donde hace lo siguiente: 1. construye un modelo de piel. 2. Construya un esqueleto y adhiéralo a la piel de acuerdo con los pesos, etc. 3. aplique todas las texturas y el material que desee. 4. Exporte a su motor.

Ahora puede comenzar a construir su banco de animación para este esqueleto de personaje o similar si lo asocia a más de uno (generalmente ese es el caso si el esqueleto está lo suficientemente cerca o es modular). Algunas de las animaciones contendrán solo una jerarquía parcial (para poder combinar solo parte de la animación, por ejemplo, la parte inferior del cuerpo se está ejecutando mientras que la parte superior del cuerpo puede usar una animación diferente o cinemática inversa), disparar a un enemigo durante la ejecución es una buen ejemplo para eso).

Ahora finalmente llegas a la parte del código. Necesita construir un sistema que asocie las animaciones al esqueleto y lo renderice correctamente. Este sistema también necesita poder combinar animaciones e IK (por ejemplo, cambiar de posición a correr), y combinar varias animaciones y animaciones parciales, por ejemplo, caminar (animación de cuerpo entero), mirar a alguien (IK para la parte superior del cuerpo), agitando una mano (IK con animación parcial) y respirando (animación parcial) al mismo tiempo combinaría 4 combinaciones diferentes parciales o completas.

No mencioné el hecho de que necesita construir el importador y también hay una diferencia entre la acción y la animación de la acción. La acción puede tener varias animaciones combinadas o escogidas al azar: se asociarán a través de un archivo de mapeo de datos.

Sugiero que eche un vistazo a XNA, tiene muchos ejemplos, importadores y mucho más y contiene muchas de las cosas básicas en las bibliotecas para que no tenga que empezar de cero. Como también se mencionó, Blender3D es una buena opción para editor + y podría ser Torque solo por la experiencia de un motor de juego.

Una última palabra: si vas a probarlo, no va a ser una caminata por el parque, pero bueno, es muy divertido y los resultados te harán sentir orgulloso de ti mismo.


Visita Unity3d.com y estarás haciendo tu juego en poco tiempo. Las animaciones se hacen en el software de modelado Maya, etc., pero algunas se hacen en el motor. La unidad hace que la física sea fácil y estás creando más o menos tu mundo y relacionando cómo interactúan los objetos.

Ejemplo: tiene una cámara -> Puede configurar la cámara desde la interfaz de usuario para seguir al personaje principal y la transformación XYZ del lugar donde se encuentra la cámara. También se puede hacer visualmente.

Compruébalo, es muy divertido y con menos código que lo que imaginas. Desde allí, puedes escribir tu propio código para hacer tu propio juego. Se explica fácilmente como escribir un script y arrastrarlo al objeto en el que desea que se ejecute el script.

Eso es lo más laico que puedo obtener. Aclamaciones.


Me parece peculiar que haya tantos enlaces para aprender herramientas específicas. Si fuera a aprender desarrollo de juegos, me gustaría un foro / sitio general para este fin. Apesta como GameDev.net .

PD: Esto pretende ser una respuesta complementaria, no una completa.


No noté demasiadas respuestas sobre qué buscar exactamente. En los últimos años se ha publicado mucha más información sobre cómo hacer esto de una manera más fácil, aún bastante compleja.

Gratis

Pagado


Como este tema está viendo una nueva vida, pensé que contribuiría. He estado usando Autodesk 3Ds Max por más de 12 años produciendo productos 3D y me he enfocado más en la animación, pero sé que Autodesk ofrece una extensa biblioteca de clases con módulos de scripting avanzados y capacidades integradas que tienen todas las herramientas para escribir un 3D juego dentro de este programa. Por supuesto, debe aprender "Max Script" y cómo interactuar con dichos paquetes incorporados con nombres como "Biped", "Particle Flow", el motor de simulación de realidad "Havoc", etc., sin mencionar el renderizado motor (generalmente la línea de exploración predeterminada, Mental Ray, VRay) que necesitará una gran cantidad de parámetros.

Si no tiene un presupuesto o está en fuente abierta, ¡consulte Blender! Es increíble lo que este software y comunidad de código abierto tiene para ofrecer. Incluso tienen un "motor de juego" que también se puede enganchar: http://www.blender.org/features/ Tienen recursos para ayudarlo a comenzar.

Quiero agregar que también menciono que Unreal parece bastante prometedor, ya que lo lanzaron por "gratis", solo lea la letra pequeña, aproximadamente el 5% de regalías, si su juego realmente despega. https://www.unrealengine.com/what-is-unreal-engine-4