Unity, Torque3D, Google O3D, WebGl.... какой выбрать?

Для разработки интерактивных 3D веб-приложений, какой движок рекомендуется?

Мне известно, что в ближайшем будущем WebGL станет стандартизированным для всех браузеров (1–2 года).

Я боюсь, что, вкладывая время в собственный игровой движок, такой как Unity, крутящий момент будет невелик, когда появятся 3d-движки с открытым исходным кодом без плагинов (webgl, JavaScript для 3D).

Это глупо беспокоиться? Должен ли я начать с Unity (его демонстрации и инструменты были сногсшибательными).

17 ответов

WebGL не является провалом в создании. То, что это провал, говорит о невежестве этих людей.

Тем не менее, если вы только начинаете, изучить ваши варианты. Если вы ищете больше глаз, чем просто пользователей Windows, держитесь подальше от проприетарных решений. Доминирование Microsoft уже не так велико, как думают люди. IE теряет популярность благодаря их нелепому кодированию.

Запустите на всех платформах, используйте открытые стандарты.

Единство имеет три огромные проблемы. Во-первых, они бесплатно запечатывают классы в своем API. Это означает, что вы не можете переопределить их функциональность, если не хотите делать что-то "по-своему". Во-вторых, они не раскрывают ничего, кроме самых верхних уровней их API. (Например, они предоставляют свою физическую систему, но не API-интерфейс PhysX, на котором она основана.) Это означает, что вы не можете отделить слои их API-интерфейса для создания собственной функциональности. В конце концов, если вам нужен исходный код, чтобы вы могли делать что-то иначе, чем они вам говорят, это стоит "в 6 цифр" в соответствии с продажным существом Unity, с которым я говорил.

Один мудрец однажды сказал, что инструмент делает простые вещи легкими, а сложные - возможными. С другой стороны, игрушка делает простые вещи легкими, а сложные - невозможными. По этой рубрике Unity - очень хорошая игрушка, но не более того.

Также обратите внимание, что ЛЮБУЮ технологию, которая требует от пользователя установки плагина, нельзя использовать в школах, библиотеках или других общедоступных системах Windows, где у пользователя нет прав администратора. В этом году на GDC Unity сделала сообщение о версии, которая будет развернута во Flash, чтобы обойти эту проблему, НО существует множество вопросов без ответа об этом продукте, включая производительность (Flash VM отстой) и физику (PhysX API для Flash не существует).)

У WebGL есть один ОГРОМНЫЙ камень преткновения, то есть Microsoft. MSFT ненавидит OpenGL, поскольку конкурирует с Direct3D. Вероятно, это будет холодный день в аду, прежде чем они поддержат его в IE, который, в зависимости от статистики, на которую вы хотите верить, все еще составляет 30- 60% рынка браузеров. Мы надеемся, что вместо этого MSFT выпустит "WebDX", а какой-нибудь предприимчивый производитель сценографов Javascript создаст слой, на котором будет работать любой из них.

O3D мертв. Это так просто. По словам ребят из Google, с которыми я разговаривал на GDC в этом году, у Google нет рабочей силы. Они переориентируются на WebGL и хотят, чтобы другие написали сценограф. Copperlicht выглядит довольно хорошо, если вы зададите направление, в котором хотите идти.

Torque3D имеет репутацию глючного beign и, опять же, требует запуска плагина в веб-браузере.

Производительность Papervision до настоящего времени была ДЕЙСТВИТЕЛЬНО низкой. Мы говорим о горстке плоских заштрихованных уловок и не более. В этом может помочь новое ускорение Flash 3D. Лично я также был поражен их функциональностью, но посмотрите на их API самостоятельно.

Так что, действительно, пока нет хорошего ответа на ваш вопрос, извините. Я бы поставил свои деньги на WebGL за исключением проблемы Microsoft, которая является большой.

Изменить: я начал смотреть на Away3D 4, и я до сих пор впечатлен. Жаль, что их версия Webgl/Javascript имеет две версии назад, но вы всегда можете обернуть их движок Flash в API Javascript. Что-то, что я действительно собираюсь сделать...

У WebGL есть шанс, потому что это не промежуточное ПО, и многие из вас должны помнить, что существуют проблемы с производительностью и безопасностью, которые часто возникают из-за плагинов. Поскольку WebGL является нативным и по умолчанию будет использоваться во всех браузерах, его проникновение на рынок происходит автоматически. Все, что ему нужно, - это хороший контент, который будут использовать многие компании.

Кроме того, у него есть поддержка nVIDIA, AMD, Intel, Mozilla, Opera и Apple (Safari) и многие другие. Этого достаточно, чтобы знать, что оно куда-нибудь пойдет.

Если ваше 3D веб-приложение в этом году или в следующем, используйте Unity3D. Это обеспечивает быструю высококачественную среду разработки, с которой очень немногие двигатели могут конкурировать. Выбрав Mono для своих нужд скриптинга, они сделали его "выбрать свой язык". На данный момент поддерживаются следующие языки: Boo, C# и JavaScript.

Если вам нужна поддержка Linux, присоединяйтесь к форумам и присоединяйтесь к людям, которые обращаются за поддержкой Linux. Unity, кажется, на самом деле слушает своих пользователей о том, что они должны добавить в Unity3D. Когда я начал использовать Unity 1 год назад, у них не было редактора на базе Windows. Они слушали своего клиента, и теперь они делают. Unity3.0 получает поддержку Android для проигрывателя, и, как вы знаете, Android основан на Linux, так что это не далеко от настольной версии Unity3D для Linux. В основном то, чего Unity боится в Linux, - это IDIC разновидностей Linux. Двоичные файлы в Linux не гарантированно работают в каждом дистрибутиве.

Но если ваше трехмерное веб-приложение будет на пять лет вперед. К тому времени WebGL или Google O3D могут стать достаточно зрелыми, чтобы соответствовать вашим потребностям. Но я бы на это не рассчитывал. WebGL - это просто очередная реализация длинной очереди сбоев - VRML. Он был успешным 15 лет назад, и вряд ли будет успешным 15 лет назад. Что касается Google O3D, я играл с ним. Он может делать то, что нужно, но были неожиданные полсекундные блокировки. Я уверен, что Google будет, или уже исправил блокировки. Но без IDE, нацеленной на это, развитие будет медленным. Добавьте к этому необходимость использования JavaScript, и ваше приложение теряет максимальную скорость, которую ваш процессор может обеспечить. Более сложным 3D-приложениям требуется строго типизированный язык, чтобы достичь максимальной скорости, доступной из ЦП.

Я не играл с Torque3D, поэтому я не могу высказать свое мнение по этому вопросу.

Чтобы просмотреть это сообщение и соответствующие ссылки, перейдите на мой форум, чтобы прочитать его. Включает более 10 ссылок на библиотеку WebGL

Я бы предложил C3DL, который я сейчас использую для разработки игры для любителей. Он находится на ранней стадии разработки, но так же, как и WebGL, и, на мой взгляд, является ведущей библиотекой WebGL. Есть несколько ошибок и тому подобное, потому что эта технология все еще считается "бета" и еще не является стандартом. С этим можно многое сделать, и тот факт, что он сокращает ваше время разработки. Также для "pqnb" IE не удерживает долю рынка для браузеров. Firefox, затем IE, с chrome на третьем месте и растущим, я ожидаю, что к следующему году chrome превзойдет как FF, так и IE. Также обратите внимание, что DirectX исключительно на Windows. Поэтому, если вы хотите поразить большинство людей и создать браузерную игру, я бы использовал WebGL и протестировал бы ее на FF и Chrome. Главным образом потому, что к моменту окончания игры она будет стандартной и полностью функциональной. Учитывая сроки разработки и тому подобного у средней игры. Это тоже одна вещь, на которую никто в действительности не смотрел. Он спрашивает, какой движок использовать, поскольку, поскольку это браузерная игра, он уже должен иметь некоторый опыт работы с HTML CSS JS и, возможно, XML. WebGL является единственным языком, который большинство веб-разработчиков могут использовать и использовать, потому что он основан на Javascript. Флэш, у вас была бы кривая обучения для ActionScript, и, конечно, у других есть свои языки, и у меня нет опыта в них, поэтому я не буду вдаваться в языковые дискуссии по ним.

WebGL Pros

  1. На основе Javascript, кривая быстрого обучения
  2. Не на основе плагинов, а работает в браузере. Быстрее всего, так как сторонний плагин не требуется
  3. Его OpenGL, там уже есть сотни учебных пособий для него, которые было бы просто преобразовать как учебные пособия NeHe, которые уже были
  4. Множество библиотек на выбор: C3DL(рекомендуется), Copperlicht, EnergizeGL, GLGE, SceneJS, SpiderGL и другие

WebGL Минусы

  1. Это все еще бета, и все находится на ранней стадии разработки.

НАКОНЕЦ НАЙТИ ОТВЕТ.

Так как я задал этот вопрос почти 2 года назад.... Я жду и жду смотреть каждый день растущий flash3d.

В любом случае unity3d только что представил предварительный просмотр своей функции экспорта из flash 11.

даже физика, все, что работает на unity3d работает на flash, по-видимому....

http://blogs.unity3d.com/2011/09/01/unity-and-flash-a-sneak-peek/

Я оригинальный создатель вопроса.

Обновление: теперь я полностью сосредоточен на Unity3d, так как они объявили, что будут добавлять опцию экспорта для Flash Player 11. Да, они могут не включать физику, но сейчас все мутно. Ничто не установлено в камне. В Unity есть все, что облегчает игру, или, по крайней мере, они это рекламируют. Я узнаю.

Из того, что я прочитал, реализации Chrome WebGL используют ANGLE/DirectX в Windows. Я думаю, что скрытие исходного кода станет проблемой для некоторых разработчиков. Эти разработчики могут использовать Flash 11 или Silverlight. Я не думаю, что X3D останется позади, потому что есть X3DOM и XML3D- не уверен, собирается ли VRML сделать это или нет - возможно, он будет переведен в XML.

http://iewebgl.com/ я думаю, что с этим.. нет сомнений, чтобы пойти с WebGL

Я говорю Flash 11

  • Unity3D - только 70% пользователей принимают загрузку (в соответствии с номерами единства, опубликованными на MIGS 2010)
  • Google O3D - устарел от Google (теперь библиотека JavaScript)
  • WebGL - пока недоступен, за исключением бета-версии в Chrome и Firefox.

Flash 11 еще не вышел, НО

  • Имеет простой API
  • Будут отличные сторонние обертки, такие как Alternativa, Away 3D
  • Проникнет на 90% в течение нескольких месяцев после выхода

Так что, если вы НАЧИНАЕТЕ свой проект и находитесь в медленном домашнем графике, тогда да, вы можете принять эту ставку. Лично я

WebGL включен в последние версии Chrome и Firefox.

Если вы еще не уверены в том, что WebGL все еще не работает, включите WebGL в ночной сборке Firefox и посетите эту веб-страницу: http://www.iquilezles.org/apps/shadertoy/

Вот как включить WebGL в Firefox: http://blog.vlad1.com/2009/09/18/webgl-in-firefox-nightly-builds/

Я бы выбрал WebGL и имел бы запасной вариант на Flash с Papervision или Sandy 3D.

WebGL уже работает в ночных сборках всех браузеров, кроме IE. MS определенно придумает свое собственное решение, но кто-то, связанный с webgl, наверняка предоставит плагин для IE. Проверьте, что уже можно сделать с помощью WebGL, например, здесь: http://www.spidergl.org/

ура, рб

Я бы пошел на Away3D во вспышке. Очевидно, вы не можете сравнить производительность между флэш-памятью и упомянутыми плагинами, но посмотрите, например, на http://www.syerit.com/ чтобы увидеть, сколько 3d теперь возможно во флэш-памяти. Также я согласен с предыдущим постом. Adobe должна начать продвигать серьезные 3D во флэш-памяти, иначе они потеряют много разработчиков игр (на самом деле, это уже началось)

Я говорю, нет.

Причины:

  • Unity3D - не работает на Linux, низкое проникновение на рынок
  • Torque3D - пока нет
  • Google O3D - хорошее начало, но не очень хорошее проникновение на рынок
  • WebGL - пока недоступно.

Мое решение:

Papervision3D - на основе Flash - это 95% проникновение на рынок и гарантирует, что "почти" каждый сможет играть в вашу игру.

Flash также очень развит и имеет множество библиотек для разработки игр, таких как jiglib для физики, встроенная поддержка воспроизведения mp3, видео и многое другое.

Это зависит от того, что вы хотите сделать. Это игры?

Я выбрал WebGL. Это в версиях Chrome, Safari и FF прямо сейчас. Конечно, это не будет включено для широкой публики некоторое время.

Я сравнил Unity3D с Torque3D. Все в среде Unity3D намного лучше (документация, сценарии (Javascript и C#), учебные пособия, поддержка и функции). Torque3D полон ошибок, он практически бесполезен. Вам определенно понадобится исходный код, потому что вы должны исправить их ошибки. Не используйте двоичный файл Torque3D, потому что вы не сможете использовать его для создания игры. Не прислушивайтесь к шумихе и не принимайте решение на основе красивых картинок, которые вы видите на их сайте.

Я построил полную игру, используя один из их учебных пособий за несколько часов, и она выглядит великолепно. Я использовал их активы. В тот же период времени я никуда не попал с Torque3D. Он продолжал удалять мои ландшафты и не сохранял изменения.

На самом деле не имеет значения, что делает Firefox или Chrome, потому что большая часть рынка компьютерных игр управляется Microsoft и Direct X

если у WebGL нет встроенного Microsoft, это провал в разработке. Я на 100% уверен, что Microsoft будет продвигать аппаратное ускорение 3D через Silverlight, что не является лучшей культурой Microsoft, чтобы открыто отдавать вещи.

Другие вопросы по тегам