web applications - Unity, Torque3D, Google O3D, WebGl... ¿cuál elegir?
web-applications unity3d (17)
para el desarrollo de aplicaciones web interactivas en 3D, ¿qué motor se recomienda?
Soy consciente de que se ha anunciado que WebGL se estandarizará para todos los navegadores en el futuro cercano (1 ~ 2 años).
Me temo que al invertir tiempo en un motor de juego propietario como Unity, el torque no sería tan bueno una vez que aparezcan los motores 3d de código abierto sin complementos (webgl, JavaScript para 3D).
¿Es esto una cosa estúpida de la que preocuparse? ¿Debería comenzar con Unity (sus demos y herramientas fueron alucinantes).
Depende de lo que quieras hacer. ¿Son juegos?
Elegí WebGL. Está en versiones de Chrome, Safari y FF en este momento . Por supuesto, no se encenderá para el público en general por un tiempo.
He comparado Unity3D con Torque3D. Todo sobre el entorno de Unity3D es mucho mejor (documentación, scripts (Javascript y C #), tutoriales, soporte y características). Torque3D está lleno de errores, es prácticamente inútil. Definitivamente necesitarás el código fuente porque tienes que corregir sus errores. No lo haga con el binario Torque3D, porque no podrá usarlo para construir un juego. No escuche la exageración o tome una decisión basada en las imágenes bonitas que ve en su sitio.
Construí un juego completo usando uno de sus tutoriales en unas pocas horas, y se ve genial. Usé sus activos. En el mismo período de tiempo, no llegué a ninguna parte con Torque3D. Siguió eliminando mis terrenos y no guardaba los cambios.
La unidad tiene tres grandes problemas. El primero es que ellos sellan las clases de manera gratuita en su API. Esto significa que no puede anular su funcionalidad si no quiere hacer las cosas "a su manera". En segundo lugar, no exponen nada excepto las capas superiores de su API. (Por ejemplo, exponen su sistema de física, pero no la API de PhysX en la que se basa.) Esto significa que no puede despegar capas de su API para construir su propia funcionalidad. Finalmente, si quieres el código fuente para poder hacer las cosas de una manera distinta a la que te dicen, cuesta "bien en las 6 cifras" de acuerdo con la criatura de ventas de Unity con la que hablé.
Un sabio dijo una vez que una herramienta hace que las cosas simples sean fáciles y complejas. Un juguete, por otro lado, hace que las cosas simples sean fáciles y complejas. Según esta rúbrica, Unity es un juguete muy bonito, pero no más.
También tenga en cuenta que CUALQUIER tecnología que requiera que el usuario instale un complemento no puede utilizarse en escuelas o bibliotecas u otro sistema público de Windows donde el usuario no tenga privilegios de administrador. En GDC, este año, Unity hizo ruidos sobre una versión que se desplegará en Flash para evitar este problema, pero hay muchas preguntas sin respuesta sobre este producto, incluido el rendimiento (Flash VM es una mierda) y la física (no hay API PhysX para Flash. )
WebGL tiene un gran obstáculo: Microsoft. MSFT odia OpenGL ya que compite con Direct3D. Es probable que sea un día frío en el infierno antes de que lo admitan en IE, que, dependiendo de las estadísticas en las que quieras creer, sigue siendo del 30% al 60% del mercado de los navegadores. Nuestra mejor esperanza es que MSFT publique un "WebDX" en su lugar y algún emprendedor creador de escenas de JavaScript construya una capa que funcione.
O3D está muerto. Es así de simple. Google no tiene mano de obra según los tipos de Google con los que hablé en GDC este año. Theya vuelve a centrarse en WebGL y quiere que otros escriban el scenegraph. Copperlicht se ve muy bien si esa es la dirección en la que quieres ir.
Torque3D tiene una reputación de ser realmente defectuoso y, una vez más, requiere un complemento para ejecutarse en un navegador web.
La actuación de Papervision hasta ahora ha sido MUY baja. Estamos hablando de un puñado de ploygons sombreados planos y nada más. La nueva aceleración de Flash 3D podría ayudar. Personalmente, también me decepcionó su funcionalidad, pero mira tu API tú mismo.
Entonces realmente NO hay una buena respuesta para su pregunta, lo siento. Apostaría mi dinero en WebGL excepto por el problema de Microsoft, que es uno grande.
Editar: Empecé a buscar en Away3D 4 y estoy muy impresionado hasta ahora. Es una pena que su versión de Webgl / Javascript tenga dos versiones atrás, pero siempre podría incluir su motor de Flash en una API de Javascript. Algo que realmente estoy considerando hacer ...
Para ver esta publicación y los enlaces respectivos, diríjase a mis forums para leerla. Incluye más de 10 enlaces de biblioteca WebGL
Sugeriría C3DL, que actualmente estoy usando para desarrollar un juego de aficionados. Es temprano en el desarrollo, pero también lo es WebGL y también es la biblioteca WebGL líder en mi opinión. Hay algunos errores y eso porque, bueno, esta tecnología todavía se considera "beta" y aún no es un estándar. Hay mucho que puedes hacer con eso y el hecho de que reduce tu tiempo de desarrollo de manera MUY baja. También para "pqnb" IE no tiene la cuota de mercado para navegadores. Firefox lo hace, luego IE, con Chrome un CERCA en tercer lugar y en aumento, espero que el próximo año Chrome supere tanto a FF como a IE. También tenga en cuenta que DirectX está exclusivamente en Windows. Entonces, si quieres golpear a la mayoría de la gente y crear un juego de navegador, usaría WebGL y lo probaría en FF y Chrome. Principalmente porque para cuando termines el juego será un estándar y totalmente funcional. Dadas las líneas de tiempo de desarrollo y tal del juego promedio. Esa es también una cosa que nadie ha visto realmente. Él está preguntando qué motor usar, ya que es un juego basado en navegador, ya debería tener cierta experiencia en HTML CSS JS y tal vez en XML. WebGL es el único idioma que la mayoría de los desarrolladores web pueden utilizar y ejecutar porque está basado en Javascript. Flash tendría una curva de aprendizaje para Actionscript y, por supuesto, los demás tienen sus idiomas y no tengo experiencia en ellos, así que no entraré en ninguna discusión de idiomas sobre ellos.
WebGL Pros
- Basado en Javascript, curva de aprendizaje rápido
- No está basado en complementos, y se ejecuta de forma nativa en el navegador. Más rápido que todo, ya que no se requiere un complemento de terceros
- Su OpenGL, hay cientos de tutoriales ya disponibles que serían simples de convertir como los tutoriales de NeHe, que ya han sido
- Un montón de bibliotecas para elegir: C3DL (recomendado), Copperlicht, EnergizeGL, GLGE, SceneJS, SpiderGL y más
Cons de WebGL
- Todavía es beta y todo está en desarrollo temprano.
Realmente no importa lo que haga Firefox o Chrome porque la mayoría del mercado de juegos para PC está regido por Microsoft y Direct X
a menos que WebGL tenga Microsoft a bordo, es una falla en la fabricación. Estoy 100% seguro de que Microsoft empujará la aceleración de hardware 3D a través de Silverlight, no en la mejor cultura de Microsoft para regalar cosas abiertamente.
Según lo que he leído, las implementaciones de Chrome de WebGL usan ANGLE / DirectX en Windows. Creo que ocultar código fuente se convertirá en un problema para algunos desarrolladores. Esos desarrolladores pueden usar Flash 11 o Silverlight. No creo que X3D se quede atrás porque hay X3DOM y XML3D. No estoy seguro de si VRML lo hará o no, tal vez se traducirá a XML.
Si su aplicación web 3D es este año o el próximo, vaya con Unity3D. Proporciona un entorno de desarrollo rápido y de alta calidad, con el que muy pocos motores pueden competir. Al elegir Mono para sus necesidades de scripting, básicamente lo han hecho para "elegir su propio idioma". Los idiomas admitidos actualmente son Boo, C # y JavaScript.
Si necesita soporte de Linux, únase a los foros y únase a las personas que solicitan soporte de Linux. La unidad parece escuchar a sus usuarios en cuanto a lo que deberían agregar a Unity3D. Cuando comencé a usar Unity hace 1 año, no tenían un editor basado en Windows. Escucharon a su cliente y ahora lo hacen. Unity3.0 está obteniendo soporte de Android para el reproductor, y como usted sabe, Android está basado en Linux, por lo que no es un gran paso para una versión de escritorio de Linux de Unity3D. En general, lo que Unity le teme a Linux es el IDIC de los sabores de Linux. Los binarios en Linux no están garantizados para ejecutarse en todas las distribuciones.
Pero si su aplicación web 3D dura 5 años más tarde ... para entonces WebGL o Google O3D podrían ser lo suficientemente maduros para satisfacer sus necesidades. Pero no contaría con eso. WebGL es solo la siguiente implementación de la larga línea de fallas que es VRML. Fue exitoso hace 15 años, no es probable que sea un éxito dentro de 15 años. En cuanto a Google O3D, jugué con eso. Puede hacer lo que se necesita hacer, pero hubo bloqueos de medio segundo inesperados. Estoy seguro de que Google lo hará o ya arregló los bloqueos. Pero sin un IDE orientado a él, el desarrollo será lento. Además de eso, debes usar JavaScript, y tu aplicación pierde la velocidad máxima que tu CPU podría proporcionarle. Las aplicaciones 3D más complejas necesitan un lenguaje fuertemente tipado para lograr la velocidad máxima disponible desde la CPU.
No he jugado con Torque3D, así que no puedo ofrecer una opinión educada sobre ese tema.
Soy el creador de la pregunta original.
Actualización: ahora estoy enfocado completamente en Unity3d, ya que anunciaron que agregarán la opción de exportación para Flash Player 11. Sí, es posible que no incluyan la física, pero ahora todo está oscuro. Nada está escrito en piedra. La unidad simplemente viene con todo lo que hace que las cosas sean más fáciles de preparar un juego o al menos lo anuncian como. Voy a averiguar.
WebGL está incluido en las últimas versiones de Chrome y Firefox.
Si aún no está convencido de que WebGL sea un éxito, habilite WebGL en una versión nocturna de Firefox y visite esta página web: http://www.iquilezles.org/apps/shadertoy/
Aquí se muestra cómo habilitar WebGL en Firefox: http://blog.vlad1.com/2009/09/18/webgl-in-firefox-nightly-builds/
Escogería WebGL y tendría una alternativa en Flash con Papervision o Sandy 3D.
WebGL no es una falla en la fabricación. Hablar como si fuera un fracaso muestra la ignorancia de estas personas.
Dicho esto, si recién está comenzando, explore sus opciones. Si busca más ojos que solo los usuarios de Windows, manténgase alejado de las soluciones propietarias. El dominio de Microsoft no es tan grande como la gente piensa, nunca más. IE está perdiendo popularidad, gracias a su código ridículo.
Ejecutar en todas las plataformas, use estándares abiertos.
WebGL tiene una oportunidad porque no es middleware, y muchos de ustedes deben recordar que hay problemas de rendimiento y seguridad que a menudo resultan de los complementos. Como WebGL es nativo y estará en todos los navegadores que vale la pena usar de forma predeterminada, su penetración en el mercado es automática. Todo lo que necesita es un buen contenido, que muchas compañías usarán.
Además, cuenta con el respaldo de nVIDIA, AMD, Intel, Mozilla, Opera y Apple (Safari), por nombrar algunos. Eso es suficiente para saber que irá a algún lado.
WebGL ya está trabajando en las versiones nocturnas de todos los navegadores web, excepto IE. MS definitivamente tendrá su propia solución patentada, pero alguien relacionado con webgl seguramente proporcionará un complemento para IE. Compruebe lo que ya se puede hacer con WebGL, por ejemplo aquí: http://www.spidergl.org
aplausos, RB
Yo digo Flash 11
- Unity3D: solo el 70% de los usuarios aceptan la descarga (según los números de unidad publicados en MIGS 2010)
- Google O3D: obsoleto por Google (ahora es una biblioteca de JavaScript)
- WebGL: aún no disponible, excepto como versión beta en Chrome y Firefox.
Flash 11 aún no ha salido PERO
- Tiene una API simple
- Tendrá excelentes envoltorios de terceros como Alternativa, Away 3D
- Obtendrá 90% de penetración dentro de unos meses después de salir
Entonces, si está INICIANDO su proyecto y tiene un calendario lento hecho en casa, entonces sí puede hacer esa apuesta. Yo personalmente soy.
Yo digo, ninguno .
Razones:
- Unity3D: no funciona en Linux, baja penetración en el mercado
- Torque3D: aún no ha salido
- Google O3D: si bien es un buen comienzo, no tiene una buena penetración en el mercado
- WebGL: aún no disponible.
Mi solución:
Papervision3D : basado en Flash, tiene una penetración de mercado del 95% y garantizará que "casi" todos puedan jugar su juego.
Flash también es muy maduro y tiene muchas bibliotecas de desarrollo de juegos, como jiglib para física, compatibilidad con reproducción nativa de mp3, video y más.
Yo iría por Away3D en flash. Obviamente, no puede comparar el rendimiento entre el flash y los complementos mencionados, pero busque en http://www.syerit.com por ejemplo para ver cuánto 3d ahora es posible en flash. También estoy de acuerdo con la publicación anterior. Adobe debería comenzar a imprimir serios tridimensionales en flash, de lo contrario perderán muchos desarrolladores de juegos (de hecho, ya comenzó)
http://iewebgl.com/ Creo que con este ... no hay duda de ir con WebGL
FINALMENTE ENCONTRÓ UNA RESPUESTA.
Desde que hice esta pregunta hace casi 2 años ... He estado esperando y esperando ver cada día el creciente flash3d.
de todos modos, unity3d acaba de presentar una vista previa de su función de exportación flash 11.
incluso la física, todo lo que funciona en unity3d funciona en flash aparentemente ...
http://blogs.unity3d.com/2011/09/01/unity-and-flash-a-sneak-peek/