2010-05-23 18 views
17

Soy desarrollador por solo 6 meses, y como disfruto de la programación, he comenzado pequeños programas como encripters, calculadoras, herramientas, cosas para jugar con DropBox (hehe), cosas que juegan con mapas de bits, dibujo de gráficos e incluso un programa para actualizar la imagen de la pantalla de MSN de acuerdo con las ilustraciones de la música que está escuchando en iTunes.¿Cómo debería comenzar a jugar con 3D?

Uno de mis otros hobbies es el modelado en 3D (completely amateur) y me gustaría mezclar estos pasatiempos. Así que leí un poco al respecto y pensé que tendría que tener buenas nociones sobre geometría, matemática, posición espacial puntual (lo que hago, desde mi experiencia de modelado en 3D), pero no sé cómo usar las API para así que he 'simulado' en 3D simple con un programa simple que hice (un spinning cube).

Aquí hay algunas preguntas:
1) lo que sería una herramienta de desarrollo 3d agradable para un programador .NET como yo?
2) ¿Hay alguna manera de usar modelos 3D hechos en 3DS Max? (Tengo la intención de modelar caracteres)
3) ¿Qué conocimiento debo tener para poder renderizarlo y moverlo?
4) ¿Qué API debería usar?

NOTA: No una víctima, lo que estoy pidiendo instrucciones específicas para el desarrollo .NET posiblemente utilizando 3ds MAX, y no hubo preguntas sobre el mismo hasta el momento


EDIT:

Tengo tres respuestas que parecen bastante buenas, así que permítanme especificar un poco y tal vez puedan decirme cuál es la herramienta más apropiada.
Lo que me gustaría construir pronto sería como:

  • portátil (click'n'run, no hay necesidad de instalar, y (con suerte) no hay necesidad de enviar a lo largo de DLL)
  • "incrustación 3D "en la aplicación de Windows Forms, como un cuadro de imagen que podría hacer en
  • winforms aplicación real-como (que tienen todos de API del sistema como IO, Dibujo y etc)

El entorno de desarrollo sería bueno si:.

  • tenido la posibilidad de importar modelos loro 3D (no es fundamental, pero un plus)
  • tenido la capacidad de crear modelos 3D mediante programación (imprescindible)
  • tiene Posiblemente una herramienta para materiales y texturas (que sería ser una gran ventaja)
  • es bien conocido (alta disponibilidad de tutoriales, preguntas en SO, foros ..)

Y sería muy bueno si pudiera utilizar C# todo el camino :)

+1

Ese es un buen cubo de giro! :) –

+0

@Lucas_Jones jaja .. gracias, pero es un poco lento, la perspectiva debe ser más suave ... Lo he hecho con geometría simple, y system.drawing =) – Marcelo

+1

Hola Marcelo, disculpas por la ligera tangente, pero como Entusiasta de 3D, usted puede estar interesado en el sitio propuesto de Modelado de Intercambio de Apilamiento 3D: http://area51.stackexchange.com/proposals/5022/3d-modeling-techniques-and-software Sería genial si pudiera inscribirse y difundir el palabra más allá. :) –

Respuesta

7

Voy a dar otro voto a XNA. El comentario de que es demasiado "centrado en el juego" no es inicial: proporciona un bucle de representación con retroalimentación sobre qué tan rápido se está ejecutando todo para que pueda ajustar su renderizado para tratar de mantener una velocidad de fotogramas específica (si lo desea). Esto no es particularmente centrado en el juego, ya que es algo que la mayoría de las aplicaciones 3D deberían preocuparse. Lo único que está realmente inusualmente centrado en el juego es que proporciona un acceso fácil a los controladores de juegos. No dude en ignorar ese bit si no desea usarlo.

El único inconveniente para usted que utiliza XNA es su requisito de que sea click'n'run, XNA tiene un redistributable del que debe preocuparse. Tenga en cuenta que Win7 tiene esto instalado por defecto, pero Vista y versiones anteriores no lo tienen.

EDITAR: XNA está hecho para aplicaciones que son estrictamente 3D. Como tal, no admite de forma nativa el uso de controles de ventana típicos dentro de un proyecto XNA. Pero, hay formas de evitar esto ... Algunos enlaces útiles. Incorporación de XNA en un WinForm: http://forums.xna.com/forums/p/6471/34180.aspx#34180 WPF controla directamente dentro de un proyecto XNA: http://www.c-sharpcorner.com/UploadFile/iersoy/256/Default.aspx

+0

Si la gente solo tiene que ejecutar esto una vez antes de ejecutar cualquier cosa que yo haga, no va en contra de mis requisitos, solo odio la idea de tener una configuración para un simple ejemplo de programa, si ejecuta este framework hará que la experiencia del usuario sea tan simple como lo sería para una aplicación de winforms, está bien. ¿Está bien? – Marcelo

+0

Sí, la redista solo debe instalarse una vez. Después de ese punto, la actualización de Windows se encargará de asegurarse de que esté actualizado si hay algún cambio. Además, mira mi edición anterior. – Donnie

+0

Whoa .. que realmente es un punto a favor de XNA – Marcelo

3

Dado que está usando C# .Net, la biblioteca XNA será excelente para usted. Está libre del sitio web de Microsoft y se integra en VS IDE. Una gran cantidad de tutoriales disponibles para ayudarlo a comenzar.

Además, si no recuerdo mal. para usar un modelo 3d en XNA, simplemente exporte el modelo completo como (.X). Luego puede ser cargado en su trabajo.

+0

XNA también es compatible con el formato FBX y hay muchos importadores de contenido creados en la comunidad para otros formatos. La capacidad de ejecutar tus juegos en el 360 también es una gran ventaja. –

+0

Ok, entonces, para lo que la gente me ha estado diciendo, en realidad está diseñado casi exclusivamente para juegos. Entonces, si quiero crear una aplicación simple de winforms con interacción simple del usuario, por ejemplo, un cubo que gira (en más de un eje) cuando el usuario hace clic en un botón (como mi ejemplo, pero con 3D real), ¿podría hacerlo? hacer eso fácilmente? – Marcelo

+0

Existen numerosos tutoriales para representar XNA en un control WinForms. El marco no viene con un control preconstruido, pero definitivamente es posible. De hecho, los sitios web de Creators Club tienen una muestra: http://creators.xna.com/en-US/sample/winforms_series1 –

4

Personalmente, me pareció XNA un poco demasiado "Game Centric" para mi gusto. Estaba más interesado en los usos del tipo de diseño/arquitectura.

Puede encontrar SlimDX más a su gusto.

+0

Mi idea inicial (para empezar, para aprender) sería hacer un "flujo de cobertura de imagen". ¿Sería adecuado y fácil para un principiante como yo? ¿podría hacer un EXE con él (junto o no con DLL extra) y encargarlo a las personas? (No es una configuración, un "click-n-run" portátil) – Marcelo

1

Mi voto va para Povray. Es un renderizador 3d con un lenguaje de sintaxis similar a c. No satisface tus necesidades de .net, pero si no es genial para la renderización en 3D. Si tiene algún tipo de interactividad, XNA es probablemente lo mejor que puede. Pero estoy interesado en tus hallazgos.

+0

¿Tiene algún tipo de API o algo para ¿Puedo manejarlo programáticamente? Me parece que es solo para renderizar imágenes y animaciones ... ¡gracias de todos modos! – Marcelo

+0

Sin API ... Supongo que podrías construir uno sin embargo. Es cierto que Ray rastreó tan rápido. – nportelli

+0

Esa sería ciertamente la única solución en la que aprendería más, pero estoy buscando algo más disponible en este momento – Marcelo

1

Re: "Tiene la capacidad de crear modelos en 3D mediante programación (imprescindible)"

Unos pocos punteros:

No hay bibliotecas de .NET soy consciente de que le permiten utilizar las mencionadas bibliotecas/técnicas. Deberá usar PInvoke o C++/CLI para realizar llamadas a estas bibliotecas desde el mundo administrado.

+0

¡Hola! ¿Cómo puedo desequilibrar esto?Me tomó meses recopilar lo que he enumerado aquí. : | –

+0

¡Muchas gracias! ¿No es suficiente el agradecimiento de otra persona? Compartir es el objetivo de este sitio web :) – Marcelo

4

Aunque ya hay grandes sugerencias en esta publicación (como SlimDX y XNA), me gustaría mencionar OpenTK.

OpenTK está más cerca de OpenGL que Direct3D, pero podría ser la mejor solución para aplicaciones 3D .NET multiplataforma.

+0

OpenTK es fantástico y funciona en Mono. –

2

Voto que pruebes Blender. www.blender.org

Es gratis, de código abierto, y tiene una gran comunidad tanto en foros como en IRC.El progreso en la aplicación se ve impulsado por grandes proyectos comunitarios cada año, algunos de los cuales son películas y juegos y han ganado algunos premios. Está ganando aceptación en la industria como una forma de modelar extremadamente rápido.

Desventajas: No se considera "pro" como Maya o ZBrush, y tiene un cerebro muy diferente sobre la interfaz. La curva de aprendizaje puede ser interesante, dependiendo de cómo aprenda y de cuánta ayuda reciba.

Upsides: Es gratis, excelente comunidad, actualizada regularmente, muchos tutoriales y proyectos de la comunidad para trabajar.

Comunidad:

anteriores proyectos de la comunidad:

Cuestiones relacionadas