Какая опция для кросс-браузерной / системной совместимости 3D-графики на веб-странице?


10

Я хотел бы развить немного функциональности для веб-сайта, который включает немного 3D - пользователь может перемещаться вокруг объектов, вращать их и текстурировать их.

До сих пор я изучал:

  • WebGL (в частности, Three.js), и он выглядит великолепно, но не поддерживается ни в IE, ни в IOS.

  • IOS поддерживает <canvas>тег, но только 2d. Похоже, что Three.js имеет неподдерживаемый хак, чтобы заставить 3D-объект использовать 2d-холст вместо текстур, но это похоже на хак.

  • Я также рассмотрел возможность использования Flash, который работает в большинстве браузеров, но не работает на IOS.

Какой мой лучший вариант для создания трехмерной веб-графики на множестве браузеров и интерфейсов?

В данный момент я думаю о WebGL для веб-сайтов (и прошу людей использовать Chrome или Firefox, а также воспользоваться IE), а затем, возможно, написать нативное приложение для IOS, но я не уверен, что есть лучшие альтернативы, которые я не знаю


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

4
Я не спрашиваю, какая технология лучше .. Я спрашиваю, что будет работать в большинстве случаев для 3D-вещей.
Роклан

3
Голосование возобновить. LachlanB, его «лучше» не использовать такие слова, как «лучший» в вопросах. Но в остальном я думаю, что это достаточно ответственный вопрос. Вы можете перефразировать это как «какая технология будет использоваться в большинстве браузеров».
GrandmasterB

1
@LachlanB Я отредактировал ваш вопрос, чтобы попытаться уточнить, что вы спрашиваете не о «наилучшей» технологии, а о самой кросс-совместимой технологии для 3D-графики на веб-страницах. Я проголосовал, чтобы вновь открыть вопрос, но ему все еще нужно 3 других голоса сообщества, чтобы быть вновь открытыми. Если он не привлекает внимание, необходимое для повторного открытия в течение нескольких дней, вы также можете попробовать пометить его как модератора и попросить вновь открыть вопрос (обязательно объясните, что он был отредактирован в сообщении флага). Удачи с этим :)
Рэйчел

3
Там нет правильного ответа. Это должно быть закрыто. Инструмент может быть правильным для одного проекта, а не для другого. Это не то, как вы задаете этот вопрос. GO исследовать разные библиотеки, а затем вернуться и задать конкретные вопросы. Если вы спросили, поддерживается ли функция XXX во всех браузерах, то есть правильный ответ.
Reactgular

Ответы:


2

Нет, и, вероятно, никогда не будет никакого подхода, который бы был кросс-браузерным и кросс-системным, если рассматривать несколько мобильных (размер телефона и размер планшета) операционных систем и браузеров для настольных систем.

В этом смысле, не может быть никакого ответа, который будет правильным - есть плюсы и минусы каждого подхода.

Лучшая / наиболее перекрестная метрика также является плохо определенной. Это сырые хиты страницы по типу браузера ? Это просто количество браузеров? или это учитывает привычки просмотра людей в разных системах ? Должны ли определенные географические районы быть более приоритетными, чем другие ?

Вы упомянули WebGL - но это также не очень хорошо поддерживается на Android - значит ли это, что версия Android также должна рассматриваться? Flash также является «интересной» средой для поиска мобильных устройств.

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

После того как вы определили рамки и веса, исследуйте каждую из них и наберите число (0 - 10) в каждой ячейке для этой структуры и посмотрите, какая из них окажется «лучшей».

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


0

В прошлом мне немного повезло, используя это: https://code.google.com/p/jsc3d/ Это сработало на всем, что я попробовал, мне просто пришлось изменить какой-то JavaScript, чтобы сделать его интерактивным с мобильными устройствами, но я думаю, теперь они приняли мои изменения, и это должно работать для сенсорных событий.

Это делается с помощью Chrome, Safari, Firefox, IE <9, IE> = 9, телефона Android, планшета Android, iPad, iPhone.

Однако производительность оставляет желать лучшего. Но это здорово, я создал модель в Google SketchUp, экспортировал файл obj, а затем представил его мультиплатформенным с текстурами.


Вопросы рекомендаций по инструменту не по теме на Programmers.SE. Ответы на не относящиеся к теме вопросы, даже с правильной информацией, дадут стимулы для вопросов задавать вопросы, не относящиеся к теме.
Адам Цукерман

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.