Ответ 1
pixi.js был выпущен совсем недавно - это 2D-движок, поддерживаемый WebGL для производительности, но с резервным копированием 2D-холста для совместимости. Я не использовал его сам, но стоит проверить.
Я продвигаюсь хорошо, изучая триJS как интерфейс к WebGL. Спасибо всем за вашу предыдущую помощь.
Я разрабатываю новый подход к 3D Dynamics и хочу, чтобы в учебник входил 3D-компонент. Примеры можно найти здесь: http://eon.sdsu.edu/~impellus/DMF/
Они не самые лучшие, но я учусь.
Параллельно я хотел бы исследовать некоторые анимации в 2D-статистике и 2D-ИНТЕРАКТИВНЫХ диаграммах свободного тела. Цель состоит в том, чтобы представить объект, срезать его аспекты и заменить отброшенный раздел силами (в основном: интерактивно строить свободные диаграммы тела путем удаления контактов). Обычно я бы рассматривал Flash, но мне посоветовали против него.
Здесь вы можете увидеть, что я использовал три js для создания 2D-учебника по линиям тока, полосам линий, линиям пути:
http://eon.sdsu.edu/~impellus/FLOW/
Но я чувствую, что неестественно использовать силу трех JS для 2D интерактивных анимаций.
Могу ли я спросить, есть ли две JS-версии Three JS? Я думаю, что просто вопрос должен быть доказательством того, что я ищу, но позвольте мне быть более ясным. Я ищу интерфейс для webGL, который посвящен 2D-анимации. Да, я могу использовать три JS, но я думаю, что это была бы ошибка. Может ли кто-нибудь вести меня?
pixi.js был выпущен совсем недавно - это 2D-движок, поддерживаемый WebGL для производительности, но с резервным копированием 2D-холста для совместимости. Я не использовал его сам, но стоит проверить.
Отъезд Jono Brandel two.js!
https://github.com/jonobr1/two.js
Отличная демонстрация здесь: http://jonobr1.github.io/two.js/
Я также изучил использование 2D-движка, но в итоге просто использовал Three.js. Если вы настроили камеру, чтобы никогда не двигаться в направлении Z, и размещайте все визуальные элементы на одной и той же плоскости z = constant, то это 2D-движок.
Единственное, что вам нужно было бы адресовать, это z-порядок элементов на плоскости. Один из способов - присвоить каждому элементу немного другое значение Z:
Например, если вы рисуете на плоскости Z = 0, вы можете установить элемент 1 на Z = 0 и элемент 2 при Z = 0,0001, поэтому элемент 2 всегда будет нарисован поверх элемента 1.
Лучшим способом достижения z-порядка было бы взломать движок и установить порядок рисования для каждого элемента, чтобы заставить один элемент рисоваться перед другим.
Еще одна проблема с использованием three.js заключается в том, что (на момент написания) он не справляется с 2D спрайтами очень хорошо.
Я нашел IvanK довольно быстро, и функция завершена, у него есть больше возможностей, чем Pixijs.
Проверьте это (у него есть webgl, canvas, svg renderers с автоматической резервной поддержкой).
я нашел другую библиотеку, fabricjs.com, довольно мощную, но медленную.
Попробуйте свою версию с этим Javascript игровым движком:
https://github.com/bebraw/jswiki/wiki/Game-Engines
Некоторые из них предназначены для 2D-анимации со спрайтами или физикой Box2d.
Также есть коммерческие продукты для рисования 2D-анимаций HTML5, например http://www.sencha.com/products/animator/