Jaka jest najbardziej kompatybilna z różnymi przeglądarkami / systemami opcja grafiki 3D na stronie internetowej?

10

Chciałbym rozwinąć trochę funkcjonalności strony internetowej, która wymaga trochę 3D - użytkownik może poruszać się po obiektach, obracać je i teksturować.

Do tej pory sprawdziłem:

  • WebGL (w szczególności Three.js) i wygląda świetnie, ale nie jest obsługiwany w IE ani IOS.

  • IOS obsługuje <canvas>tag, ale tylko 2d. Wygląda na to, że Three.js ma nieobsługiwany hack, aby 3D mógł użyć płótna 2D zamiast tekstur, ale to wygląda na hack.

  • Rozważałem także skorzystanie z Flasha, który działa w większości przeglądarek, ale to nie działa na IOS.

Jaka jest moja najlepsza opcja do robienia grafiki 3D w szerokiej gamie przeglądarek i interfejsów?

W tej chwili zastanawiam się nad WebGL do Internetu (i poproszę ludzi o użycie chrome lub firefox i skorzystaj z IE), a potem może napisz natywną aplikację dla IOS, ale nie jestem pewien, czy są lepsze alternatywy niż ja nie wiem.

Rocklan
źródło
Chciałbym wiedzieć, dlaczego to pytanie zostało odrzucone i jak mogę je naprawić, myślę, że jest to bardzo pomocne pytanie i pasuje do q i formatu.
Rocklan
4
Nie pytam, która technologia jest lepsza. Pytam, co zadziała w większości przypadków 3D.
Rocklan
3
Głosowanie w celu ponownego otwarcia. LachlanB, „najlepiej” nie używać w pytaniach słów takich jak „najlepszy”. Ale poza tym uważam, że jest to rozsądnie możliwe do odpowiedzi pytanie. Możesz przeredagować to na coś takiego: „która technologia byłaby użyteczna w większości przeglądarek”.
GrandmasterB
1
@LachlanB Dokonałem edycji Twojego pytania, aby wyjaśnić, że nie pytasz o „najlepszą” technologię do użycia, ale o najbardziej kompatybilną technologię grafiki 3D na stronach internetowych. Głosowałem za ponownym otwarciem pytania, ale nadal potrzebuje 3 innych głosów społeczności, aby ponownie otworzyć. Jeśli nie zwróci uwagi, którą należy ponownie otworzyć w ciągu kilku dni, możesz również oflagować go dla moderatora i poprosić go o ponowne otwarcie pytania (pamiętaj, aby wyjaśnić, że zostało edytowane w wiadomości z flagą). Powodzenia :)
Rachel
3
Nie ma właściwej odpowiedzi. Powinien być zamknięty. Narzędzie może być odpowiednie dla jednego projektu, a nie innego. Nie tak zadajesz to pytanie. GO zbadaj różne biblioteki, a następnie wróć i zadaj konkretne pytania. Jeśli zapytałeś, czy funkcja XXX była obsługiwana we wszystkich przeglądarkach, istnieje prawidłowa odpowiedź.
Reactgular

Odpowiedzi:

2

Nie ma i prawdopodobnie nigdy nie będzie żadnego podejścia, które byłoby oparte na wielu przeglądarkach i systemach, jeśli weźmie się pod uwagę wiele systemów operacyjnych i przeglądarek mobilnych (rozmiar telefonu i tabletu) dla systemów stacjonarnych.

W tym zakresie nie można udzielić odpowiedzi, która byłaby właściwa - w każdym podejściu występują zalety i wady.

Metryka najlepsza / najbardziej przekrojowa jest również źle zdefiniowana. Czy to nieprzetworzone wyświetlenia strony według typu przeglądarki ? Czy istnieje tam sama liczba przeglądarek? czy bierze pod uwagę nawyki przeglądania Internetu w różnych systemach ? Czy niektóre obszary geograficzne mają wyższy priorytet niż inne ?

Wspominasz o WebGL - ale to też nie jest dobrze obsługiwane na Androidzie - czy to oznacza, że ​​należy również rozważyć wersję na Androida? Flash jest również „interesującą” strukturą, na którą można celować, patrząc na urządzenia mobilne.

Powszechnym podejściem podejmowanym przez firmy jest tworzenie arkusza kalkulacyjnego - wymień kryteria i wagę każdego z nich. Jeśli przeglądanie liczb jest kluczowe, zważ to. Jeśli kluczem jest łatwość użycia frameworka, zważ to w ten sposób, jeśli różnorodność obecnych przeglądarek itp.

Po zidentyfikowaniu szkieletów i wag, zbadaj każdy z nich i wrzuć liczbę (0–10) w każdej komórce dla tego szkieletu i sprawdź, który z nich jest „najlepszy”.

Poza tym decyzje biznesowe najlepiej podejmować osoba odpowiedzialna za nie i podejmująca ryzyko. Proszenie losowych osób w Internecie o zrobienie ich dla ciebie może być problematyczne - nie jesteśmy świadomi wszystkich czynników, które są brane pod uwagę przy danym zestawie rozwiązań (czas, zasoby).


źródło
0

W przeszłości miałem trochę szczęścia, używając tego: https://code.google.com/p/jsc3d/ Działało na wszystkim, czego próbowałem, musiałem tylko zmienić skrypt JavaScript, aby był interaktywny z urządzeniami mobilnymi, ale myślę, że teraz wzięli moje zmiany i powinno to działać w przypadku zdarzeń dotykowych.

To renderowane z Chrome, Safari, Firefox, IE <9, IE> = 9, telefon z Androidem, tablet z Androidem, iPad, iPhone.

Jednak wydajność jest niska. Ale fajnie, stworzyłem model w Google Sketchup, wyeksportowałem plik obj, a następnie uczyniłem go wieloplatformowym z teksturami.

OlivierM
źródło
Pytania dotyczące rekomendacji narzędzi są nie na temat w Programmers.SE. Odpowiedzi na pytania tematyczne, nawet z prawidłowymi informacjami, zachęcą plakatów do zadawania pytań tematycznych.
Adam Zuckerman