2012-07-12 16 views
26

? Me estoy moviendo bien aprendiendo ThreeJS como una interfaz para WebGL. Gracias a todos por su ayuda previa.¿Hay dos contrapartes JS en TRES JS

Estoy desarrollando un nuevo enfoque de la Dinámica 3D y me gustaría un componente 3D para el libro de texto. Los ejemplos se encuentran aquí: http://eon.sdsu.edu/~impellus/DMF/

No son los mejores, pero estoy aprendiendo.

Paralelamente, me gustaría investigar algunas animaciones en 2D Estática y 2D INTERACTIVE Free Body Diagrams. El objetivo es presentar un objeto, separar sus aspectos y reemplazar la sección descartada con fuerzas (básicamente: construir interactivamente diagramas de cuerpo libre mediante la eliminación de contactos). Normalmente, consideraría Flash, pero me han desaconsejado.

Se puede ver aquí que he usado threejs para crear un tutorial 2D en líneas de corriente, streaklines, pathlines:

http://eon.sdsu.edu/~impellus/FLOW/

Pero mi sensación es que no es natural para usar el poder de threeJS para 2D animaciones interactivas.

¿Debo preguntar si hay una versión Two JS de Three JS? Creo que solo hacer la pregunta debe ser evidencia de lo que estoy buscando, pero déjenme ser más claro. Estoy buscando una interfaz para webGL que esté dedicada a animaciones 2D. Sí, puedo usar ThreeJS, pero creo que eso sería un error. ¿Podría alguien guiarme?

Respuesta

9

también he explorado el uso de un motor 2D pero al final acaba de utilizar Three.js. Si configura su cámara para que nunca se mueva en la dirección Z, y coloque todos los elementos visuales en el mismo z = plano constante, entonces es un motor 2D.

Lo único que tendría que abordar es el orden z de los elementos en el plano. Una forma de hacerlo es asignar a cada elemento un valor Z ligeramente diferente:

Por ejemplo, si dibuja en el plano Z = 0, entonces podría establecer que el elemento 1 se dibuje en Z = 0 y el elemento 2 en Z = 0.0001, por lo que el elemento 2 siempre se dibujará encima del elemento 1.

Una forma mejor de lograr el orden z sería piratear el motor y establecer el orden de dibujo para cada elemento con el fin de forzar la extracción de un elemento antes que otro

También otro problema con el uso de three.js es que (en el momento de escribir esto) no maneja muy bien los sprites 2D.

28

pixi.js fue lanzado recientemente: es un motor 2D respaldado por WebGL para el rendimiento, pero con un respaldo de lona 2D para la compatibilidad. No lo he usado, pero vale la pena echarle un vistazo.

+6

La API también parece estar muy inspirada en three.js. – mrdoob

+0

ivank.js es más completo, también usa webgl (alternativa al lienzo o Dom), lo estoy probando ahora y tiene muchos eventos (clic, arrastre) y vectores. Parece más completo. –

+0

Otro motor 2D de juegos/aplicaciones en lienzo, pero al parecer acaba de ser lanzado y desde un aspecto (muy) rápido parece agradable y fácil de usar: iioengine.com – poshaughnessy

5

he encontrado IvanK bastante rápido y completo de características que tiene mucho más características que Pixijs.

Échale un vistazo (tiene webgl, canvas, svg renderers con respaldo automático).

http://lib.ivank.net/?p=demos

me encontré con otra biblioteca, fabricjs.com, bastante potente pero lento.