Управление 3D-объектами в окне браузера

viktor_09

Необходимо создать нечто подобное: http://www.lexus.com/models/gs/gallery_exterior_360.html?load=overRide
Существуют ли аналоги viewpoint media player для создания подобных вещей?

viktor_09

Может сделать java-апплет, который каким-то образом будет подгружать 3D-модели?
Кто сможет написать подобное, просьба стукнуться ко мне в личку, могу предложить работу.

pilot

AJAX?
VRML?

viktor_09

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

pilot

VRML: что значит "сделать сложно"?
Возможно тормозить будет
Я не в курсе состояний плагинов к браузерам сейчас.
Я давно на него смотрел (года 4 прошло)

Dasar

vrml - вроде уже устарел, по крайней мере, вместо vrml сейчас активно продвигают x3d
вообще, viewer-ов для x3d полно - есть даже бесплатные - google: x3d viewer
3ds max - экспортировать в x3d тоже умеет: сам, или с помощью доп. плагинов.

NataNata

я когда-то писал
но это добро осталось на харде, который умер
так что это реально, хотя не слишком быстро

dadelos

тож как вариант (геморный достаточно)...
точно на каком-то буржуйском сайте встречался конвертер из 3д макса во флэш (ща не вспомню, найти не смогу, инета нету) (в смысле сама геометрия объекта и др. св-ва)...
Во флэше определяешь этот объект как класс, добавляешь математику 3д движения (от поворотов вплоть до моделей движения и масштабирования в ActionScripte уже есть готовые куски кода в нете, если самому лень выдумывать, точно работает).
Рисуешь нужные стрелки (кнопками делаешь их располагаешь как нравится, каждой свою математику для вышеуказанного класса назначаешь, крутишь-вертишь как хочешь.
ПС. Тут я как понимаю тонкость в конверте из 3д, но решается, точно знаю - встречал. А так если не ломает то перерисовать можно , МХ мощная штука.
Ну а в броузер, публикуешь из флэша, кусочек хтмля копируешь в свою страничку...

viktor_09

Круто! А с какими подводными камнями можно столкнуться в случае флеша?
Возможно ли делать во флеше освещение, глянцевые поверхности?

RED-GREEN

lol бля
а чувак ведь реально на флеше сделает

dadelos

дело в том что для правильного 3д освещения во флэше стандартной комплектации практически нет инструментов (т.е. совсем нет) аналогичных 3д студийным, приходится прибегать ко всякого рода ухищрениям типа маскировочных слоев, и различных полупрозрачных объектов... Можно накопать готовых АкшнСкриптов с уже готовой подборкой свойств "псевдотрехмерного" освещения (так же их можно вписать в стандартный набор экшенов, как свойства определенно тобой класса, потом пользоваться постоянно).
глянцевые поверхности, тут у тебя на сколько фантазии зватит, можешь со стандартным флэшевым градиентом баловаться, или мешать месколько слоев с различными цветами, яркостями и прозрачностями, либо можешь взять готовый битмап с понравившемся тебе рисунком в качестве фона, не принципиально...
Трабл (как ты выразился, подводный камень) в том, что большинство т.н. трехмерных свойств приходится делать вручную на экшнскрипте, их всевозможных, повторюсь, сколько хочешь на любой вкус уже написано толковыми парнями, дело в том что нужно правильно в нужное место код этот вставить, для этого прийдется хоть чуть-чуть почитать флэшевый хелп , он полный, и понятный, главное не напутать с иерархией объектов и их свойств, нудно, конечно, но действенно .
Как таковых других подводных камней нет, если хоть раз делал во флеше простейшие кнопки, то поймешь, тем более, что наверняка будешь делать в МХ, там еще проще (хотя в ранних версиях у меня проблем тоже не было, в 4-5 смело могешь работать).

dadelos

вообще мой ему совет )
если он знает что такое прелоуд картинок в javascripte, он вообще может обойтись без плагинов любой сложности, тем более траты времени на ботву экшнскрипта ...
Если товарисч шарит в 3д максе, то ему ничего не стоит сделать пачку картинок небольшого объема, скажем сначала с поворотом за 30 градусов вокруг одной оси, потом другой, и наконец третьей...
Если каждая дай бог получится на 2 кб, то в сумме на все 36 картинок не много получится, для прелода пойдет , а уж там на сервере, или в яваскрипте, уж написать скриптик, который переприсваивает одной и той же кнопке разные картиинки в соответствии с нажатием труда не составит... Таким образом один небольшой скрипт решит проблему даже базы необходимых объектов ..
А так все равно не сможет сразу подлючиться к базе из флэша нормально, опять прийдется ActionScript+PHP+JavaScript+MySQL или какую нить другую скажем XML+... комбинацию ботать...
А так этот способ хоть и старый, зато по требованию заказчика с освещением и глянцевыми поверхностями у него будет все как в 3d max... ..
Для более плавного движения угол поворота можно уменьшить , а смену кучи картинок на яваскрипте тоже можно найти на просторах нета, если самому лень разбираться...
Мне последний вариан самому, даже как знающему флэш, нравится больше скажем, совсем без гемора, и те юзеры у которыэ флэш плеер не установлен смогут все увидеть...
ПС. кстати на сколько я помню еще где-то в 98-99 году, когда трехмерная графика была не так продвинута в нете, чуть не пернул, когда увидел сфинкса свободно вращающегося во всех плоскостях (это был большой анимированный гиф тут идея почти та же... Удачи, что получится, не жадничай покажи

dadelos

оговорюсь, тогда картинки называть нужно как нить однотипно, типа бублик_x-y-z.gif меняешь координаты, чтоб скрипт один на все объекты пригодился

dadelos

http://www.transparenthouse.com/
пример освещения, прям на заставке

pilot

Собственно, AJAX здесь бы пригодился чтоб не гонять тучу картинок сразу юзеру на страницу.
Тогда сервер мог бы генерить картинки на лету. И угол поворота юзер мог бы выбирать. Если каждая картинка небольшая так вообще счастье.
Типа Google Maps...

pilot

Flash вроде "тяжелее" выйдет для юзера, чем VRML или AJAX.
По крайней мере я flash не уважаю

dadelos

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

dadelos

про гд оговорился, но суть не меняется, с айаксом та же беда, на основании чего картинка?

pilot

На основании Javascript запроса естественно
XMLHTTPRequest Object в Javascript.
А можно просто чтоб шаг поворота переключался...

Andr163

> XMLHTTPRequest
он везде есть ?

dadelos

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

dadelos

тема! у меня при от отключеном этом медиаплеере (предлагал установиться когда я первый раз тыкнул на самую первую сцылку этот лексус выдает именно картинки и фотографий там всего 12 по ходу...

pilot

ActiveXObject в IE
XMLHTTPRequest в Firefox-Safari
А API одинаковый.
maps.google.com пашет?

viktor_09

Что такое прелоуд, я, конечно, знаю. Но если реализовывать трёхмерность просто набором картинок, то насколько извращённо будет, к примеру, менять цвет объекта, и т.д. Сколько же картинок будет и насколько извращённо будет выглядеть, если хотя бы одна не подгрузится. И по весу для пользователя неизвестно, что будет больше, куча картинок или 1 флеш.

pilot

Какой движок? А OpenGL на что? Или мы на сервере не можем по координатам получить картинку? Да хоть набор туда положить (на сервер) - с шагом в градус по всем направлениям
А ставить ничего не надо, окромя браузера
И плагины не нужны никакие.
Просто плагины еще ставить надо.
Flash еще включить надо тоже. Тоже плагин. Народ его не любит смотреть (вроде бы).
А набор картинок : либо их будет слишком много (чтоб вращать красиво) - тогда страница тяжелая, либо слишком мало - тогда некрасиво.

dadelos

говно вопрос...
вот мне дали т.н. "щмыгу" вот с этой странички:
http://www.motionanalysis.com/applications/movement/sports/gallery.html
и говорят верти его на нашем сайте как хошь... Может у парней с того сайта и хватит ума что хошь на чем хошь вертеть, у меня же амбиции поменее будут, и заебусь я координаты этого шмыги для опенгла вводить, прикинь если разных шмыг 100 штук...
С другой стороны, кого бабло тот и танцует

pilot

Ничего не понял...
Можно по-русски?
Какие координаты вводить? о чем это? Кто кому шмыга?

dadelos

ладно, забей... реализовать задум можно по всякому, но каждый делает по старинке - как умеет

pilot

AJAX - по старинке?
Мысль какая: при кааждом изменении состоояния объекта посылается запрос на сервер. В запросе передается инфа(цвет, угол и т.п.). Как уж там эти данные генерятся в странице - дело десятое (вряд ли вводят ).
В ответ на запрос получаем новую картинку. Подставляем на место старой. Готово.
Сервер: обрабатывает инфу, генерит картинку (уж как он ее генерит - дело десятое, но на сервере уже можно забабахать всё что угодно - рисовать с какими угодно эффектами и т.п., или положить набор картинок огромный - чтоб "на любой вопрос ответ")
Вот так.
Сколько будет весить flash? А картинки?
Use AJAX - и будет "на каждое изменение картинки трафик как размер картинки". И сколько кликов будет в среднем? Вот трафик и посчитай. И вес страницы.

bastii

а сервера хватит на всех юзеров генерить 3д картинки?

bobby

Время генерации картинки и передачи её в браузер не учитывается?

pilot

А уж как реализовать!
Неизвестно пока сколько будет юзеров, метод которым генерить (и скорость соотв.).
Ну а можно, говорю же, положить большой набор картинок (собственно, как предлагает, только не присылать всё это юзеру сразу)

pilot

Учти размер картинки.
Если небольшая, то это быстро.
Либо набор на сервере.
И еще: можно хранить current набор на странице, и передавать картинки пачками

pilot

Да, забыл. AJAX асинхронный бывает.
Так что пока ждешь картинку страница "висеть" не будет.

dadelos

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

pilot

>не генерят а подставляют картинки с разным разрешением
ясен пень. У них пользователей-то сколько. Вот сделали набор и готово.

dadelos

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

dadelos

ладно вопрос исчерпан, нужен будет Айакс, знаю кого спросить .

Dasar

> ну дык если думать что на твой сайт зайдет 1 человек в неделю и всю неделю ждать будет пока у него 3д объект загрузится
поэтому проще на клиента передавать x3d, и уже на клиенте его рендерить.

pilot

Зависит от сайта.
Т.е. достаточно ли мотивирован клиент чтобы ставить плагины?
Под свой браузер, свою платформу...
Если достаточно - то конечно же x3d или VRML лучше.

dadelos

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

dadelos

как ты себе представляешь картину:
толстый респект-дядя, выбирает себе по нету жакузи, "достаточно ли мотивирован клиент чтобы ставить плагины" - он себе такой вопрос задаст, ну там еше про конкретную систему и платформу в том же роде?
Теоретики, вы чего?

pilot

У некоторых рабочее место с web-интерфейсом.
Представляешь?!?!?

dadelos

все сдаюсь нах
Оставить комментарий
Имя или ник:
Комментарий: