ugrás a tartalomhoz

cross-browser 3d megjelenítés

krisy · 2012. Okt. 16. (K), 09.12
Sziasztok!

Szeretnénk egy online szoba-tervező alkalmazást készíteni, ami kb. az alábbi módon működne:
- Windows, Linux, iOS, Android)
- FF, IE, Chrome, Safari alatt működjön
- lenne egy szoba-alaprajz a képernyő közepén
- oldalról drag and drop-pal rá lehetne dobálni mindenféle bútorokat az alaprajzra
- alapértelmezetten felülről (két dimenzióban) mutatná a képet, viszont lehetőség lenne három dimenziós megjelneítésre váltani; ilyenkor a szoba teljesen körbejárható, forgatható, zoom-olható, stb. lenne

Az első négy dolog nem túl bonyolult, azonban nem tudom, hogy a harmadik mennyire megvalósítható?

Néztem 3d-s javascript könyvtárakat, de mindegyik WebGL-t használ, ami elég sok böngésző-típus kilőne ...

Szóval egyelőre nem találtam olyan megoldást, amivel el lehetne készíteni a fentieket :-(

Ti találkoztatok már hasonlóval, szerintetek megoldható ez?

Köszi,
krisy
 
1

Készítsd el Flash-ben.

Hidvégi Gábor · 2012. Okt. 16. (K), 09.30
Készítsd el Flash-ben.
2

HTML

krisy · 2012. Okt. 16. (K), 09.40
HTML-ben lenne rá szükség :-(

(az van mögötte, hogy szeretném, ha iOs alatt is működne, illetve legalább 5 évre tervezném az alkalmazást - amennyire pedig tudom, a flash egyre kevésbé használható/lesz használható erre)

Azért köszi!
3

Ja, az iOS-t nem említetted.

Hidvégi Gábor · 2012. Okt. 16. (K), 10.00
Ja, az iOS-t nem említetted. Elképzelhetőnek tartom viszont, hogy van olyan rendszer, ami egy forrásból legenerálja az actionscriptet és a webgl-t is.
4

Módosítottam

krisy · 2012. Okt. 16. (K), 10.22
Jogos, módosítottam is a topic-ot. Köszi!
5

2 lehetőséget látok, amiből

Kubi · 2012. Okt. 16. (K), 13.00
2 lehetőséget látok, amiből igazából egy az elfogadható:

- threejs.org
Van benne lehetőség canvas renderer-re, de ebben az esetben nem használhatsz webgl-es cuccokat, nem tudom pl. hogy egy öszetetteb modelt (bútorok, virág stb.) így meg tudsz e jeleníteni vele. Mobilon pedig a performance, nos hát, nem gyors, bár ott használhatod a webgl renderer módot és csak ie esetén fallback canvas módra.


- Unity3d
Ez igaz, hogy fizetős, de ios, android és pc-re is tudsz vele 3d-s programot készíteni. Böngészőbe fel kell hozzá telepíteni egy plugint, ez az egy hátránya, de aki játszott manapság böngészős 3d játékkal, annak fent van.

Szerintem az utóbbival, Unity3d-vel állj neki, ha a projekt anyagi helyzete engedi, mert csak azzal lesz elfogadható minőségű maga a program.
6

tökjó

krisy · 2012. Okt. 16. (K), 14.12
Tök jó ötletek, köszönöm!

Three.js
Kipróbáltam, a performancia tényleg nem egetrengető sajnos (FF alatt (Ubuntu) 7fps-sel jelenít meg, Chrome alatt 40fps ...), illetve ha jól láttam IE 9+ kell hozzá legalább :-(

Unity
Ez nagyon menő :-) Ha jól láttam, akkor viszont sajnos elég sokba kerül, így kilőve :-(
7

3D gyorsítás

Poetro · 2012. Okt. 16. (K), 14.32
És van az Ubuntudban 3D gyorsítás? Csak mert az mindenképp kellene, hogy normális teljesítményt kapj Fx alatt.
8

Chrome vs FF

krisy · 2012. Okt. 16. (K), 14.36
Nem tudom, hogy a 3D-s gyorsítás meglététől mennyire függ; Chrome ugyanúgy Ubuntu alatt piszokul hasít :-)
9

Én viszonylag sok

dropout · 2012. Okt. 16. (K), 17.16
Én viszonylag sok cross-browser 3D-t csináltam már és azt kell, hogy mondjam, hogy a flash-nél nincs jobb megoldás pillanatnyilag.
Mobilon böngészőben természetesen szó sem lehet semmilyen 3D-ről, ott mindenképpen natív alkalmazásban kell gondolkozni.
A legjobb megoldás a Unity lenne mert nagyon változatos a kimenete, de mivel említetted, hogy drága marad a flash.
WebGL támogatottsága nagyon hektikus, pl.: linux-os driver macera, vagy ha például szeretnéd bejáratni FPS nézetben a házat/szobát rengeteg gondod lesz az irányítással (pointer lock). Canvas-ra raszterizálni, nagyon gagyi (kivétel ha ilyen cartoon-szerű babaszobát csinálsz) és lassú is.

Esetleg Java Applet-et csinálhatsz, de nemtudom mennyire lesz egyszerű azt iOS natív alkalmazásra fordítani és tapasztalataim szerinte nem túl jó a felhasználói élménye.
10

Flash?

krisy · 2012. Okt. 17. (Sze), 08.34
Ez akkor - legalább - 2 külön alkalmazást jelentene, ha jól értem :-(
A flash mennyire tartja magát jelenleg böngészőkben? Mobilokon (tudtommal) már vezetik ki rendesen, viszont böngészőkben kb. mennyi időre lehet még tervezni azzal, hogy mondjuk a felhasználók nagy részének (90%) még lesz flash-es böngészője?

köszi,
krisy
11

Nyugodt lehetsz afelől, hogy

Kubi · 2012. Okt. 17. (Sze), 10.22
Nyugodt lehetsz afelől, hogy a flasht a javascript belátható időn belül nem váltja le, aki mást állít, az még nem fejlesztett vagy próbált fejleszteni játékot (komolyabb játékot, nem egy táblás sodokut) javascript-ben. A unity viszont esélyes hogy betör a helyére.
12

Még nagyon sokáig.

dropout · 2012. Okt. 17. (Sze), 11.21
Nehéz megmondani pontosan, de én megkockáztatnám, hogy még nagyon sokáig jelen lesz. A WebGL-re kár várni, ha cross-browser cuccot szeretnél, mert a IE-ben soha sem lesz WebGL, nekik saját GPU API-juk van és nyilván az öltönyösöknek nagyon nem tetszene, ha pl rivális Khronos group szabványait használnák a saját termékeikben.

A két programról csak annyit, hogy nem kell két programot írni. Sokan akik a flash halálhírét terjesztik fingjuk sincs, hogy köszöni jól van, csak profilt váltott és cross-platform 3D alkalmazás és játékfejlesztés lett elsődleges cél. Egyszer megírod és AIR -el küldheted ios-re android-ra desktop-ra, plusz még van egy cross-browser alkalmazásod is.

Keretrendszerként a Minko-t ajánlanám, szerintem sokkal jobb mint az Away3D, de kicsit elfogult vagyok mert az első fejlesztéséhez valamivel én is hozzájárultam így közelebb áll hozzám mint a második, de számtalan objektív dolog is szól mellette.: nem kell assembly gpu kódot spaghettibe as3-al írni, hanem van just in time shader compiler. Sőt node based shader editor is van hozzá, és nemsokára kijön a Minko studio is.

Egyébként ha bármi ilyen fejlesztésbe kezdesz azért azt jó tudni, hogy mindig kell valamit átírni, hozzáírni. Általában kicsi az esélye, hogy minden klappol az ember igényeinek megfelelően így jó tisztában lenni a lineáris algebrával, illetve modern gpu programozás rejtelmeivel.
13

Kódgenerálás

krisy · 2012. Okt. 19. (P), 09.15
Szia!

Köszi az AIR-es ötletet, erre nem is gondoltam :-)

Régebben használtam néhány hasonló alkalmazást (amely több platformra fordít), viszont az ezek által generált kódot utólag még mindig sokat kellett "ütni" (optimalizálni, 1-2 dolgot nem tudott az adott platformra lefordítani, stb.).

AIR-rel kapcsolatos tapasztalatok alapján mennyire jön elő ilyesmi?
(persze nem várom, hogy mindent tudjon, és tökéletes kódot készítsen, csak kb. a nagyságrendeket kérdezem)

köszi,
krisy
14

Nem teljesen értem, de megpróbálok válaszolni

dropout · 2012. Okt. 19. (P), 14.44
Az AIR nem generál ember számára könnyen értelmezhető kódot, az a számítógép számára generál könnyen értelmezhető kódot, így azon utólag már nem nagyon van mit "ütni".
15

Köszi

krisy · 2012. Okt. 19. (P), 15.53
Köszi, megnézem!

u.i.: mindig van mit ütni :-)