Не хотел бы холиварить на эту тему.
Частично я согласен с этой статьей chikuyonok.ru/2009/03/flash-sites-are-bad/
Т.е. то, что можно делать не на флэш, лучше делать не на флэш.
В случае с продуктами для каталога придется для каждого продукта создавать флэш файл или подсовывать ему картинки, что вообще лишает смысла его использования.
Да, это смена картинок, технически сложного тут ничего нет.
Собственно и во флэш версиях это тоже просто смена картинок 3dbin.com/
на флеше есть есть и «честные» 3d-движки: Sandy3D, Papervision3D, Away3D, Alternativa3D, Infinity3D. Впрочем, подобные есть и на JS — они рисуют на Canvas, вот только они по скорости сильно флешовым уступают.
Посмотрите на загрузку ЦП ) У меня больше 50%
Не каждый человек может себе позволить сделать такую модель для флэша.
Хотя не спорю, выглядит очень круто!!!
Просто не нужно прыгать выше головы, и все будет ок. Я вообще считаю, что 3д кроме как для эффекта wow в браузере больше ни за чем не нужен. Хотите модель посмотреть — проще снять ролик к каждой модели. И 3д вам честное, и проц не убьет, и вообще очень круто и реалистично.
«Т.е. то, что можно делать не на флэш, лучше делать не на флэш.»
Я бы даже сказал больше: то, что можно реализовать без jQuery, лучше реализовать без jQuery. Зачем для решения такой простой задачи смены картинок клиенту подгружать объемную библиотеку? Лучше на чистом Javascript небольшой алгоритм написать.
Если человек вешает механизм смены картинок а-ля «Вращение 3д модели объекта» — какова вероятность, что у него не будет больше никаких сложных скриптов?
Скорее всего это будет большой навороченный сайт, где jQuery придется очень кстати.
С другой стороны, я согласен, зачастую простенькие алгоритмы зазря прикручивают к сложным framework-ам, что приводит, например, к отказу от использования этого алгоритма. Тут нужно чувствовать тонкую грань 8-)
Формула на самом деле должна звучать как «то, что лучше делать не на флэше, лучше делать не на флэше.».
Потому что на яваскрипте можно очень многое сделать ради proof of concept, но некоторые вещи просто банально невыгодны по трудозатратам, скорости работы и прочим компромиссным уступкам.
Отличный плагин, можно реализовать ещё частичное вращение при отсутствии всех кадров. Сам думаю сделать такое для просмотра фотографий одного объекта, сделанных с разных точек, получаются псевдо стерео фотографии. Если уже будет готовый плагин, то мне не придется писать его.
Стоит попробовать сделать через css спрайты, чтобы картинка была только одна, так и серверу легче и анимация плавнее будет, если нет предзагрузки картинок, и кода меньше и т.д.
Вау, на яваскрипте оказывается можно менять картинки, вау. И даже флеш не нужен, вау.
Вот от таких людей и идут лучи поноса в сторону флеша, не осознают бедные, что на данный момент альтернатив практически нет :( А для подобных задач флеш и правда ни в одно место не уперся.
Полегче)
Всему свое место. Картинки менять — точно не задача для флэша.
Я просто сделал альтернативный вариант, каких раньше не встречал.
Чуть позже сделаю вариант с css-спрайтом.
Я использую jQuery и для меня размер будет даже меньше. А вообще систематизация по плагинам на мой взгляд намного лучше, чем набор разношёрстных нативных скриптов, в которых будет делаться одно и тоже по 10 раз и в итоге размер ещё станет больше.
Извините, но передвижения не плавные. Сразу понятно, что это смена изображений.
Можно было потрахаться и сделать плавное переливание из одного состояния в другое.
А какая интернет-магазину разница? Он же не кодом магазина торгует.
Если же вы о уязвимости, то тоже какая разница? Надо будет, сломают, за строго отведённый промежуток времени и закрытый и открытый код.
Молодец. Плагин хорошо.
Правда магазины могут обломаться делать столько фотографий :) Это ж их еще и обработать надо — чтоб все смотрелось хорошо.
Я так посчитала — у тебя в примере используется 14 фотографий.
Сделали б ещё возможность все эти картинки в спрайт склеить… И как-то плавности не хватает, хотя м.б. это из-за малого кол-ва картинок (имею в виду пример с самсунговским телефоном на офсайте). А вообще, конечно, заголовок обещал больше, чем фотогалерею ;-)
Только думал о том как такое сделать без флеша и на тебе.Автору респект.
Я так понял автоматически оно должно крутиться автоматически только при нажатии кнопки auto?
А то если долго зажимать кнопку влево в опере 9.6 получается эффект как от галочки auto хотя она выключена.
Еще один баг заметил. Вроде бы рисунка два, и реагируют оба одинакова на нажатия клавиш, но если быстро и бессистемно жать на лево право на клавиатуре, то можно добиться расхождения. Хотя такого быть не должно.
Может проконсультируете — можно использовать свободно практически везде.
Изменять сохраняя авторство.
Но нельзя включать в тиражируемые коммерческие продукты (cms и т.п.) без согласования с автором.
Я прочитал несколько статей и решил, что GPL2 оптимальна.
Нет общего понимания того, что нужно шарить и в каком виде, если иcпользуется JS GPL библиотека.
Есть мнения что в таком случае нужно, чтобы весь остальной JS код также был под GPL.
С другой стороны, это может быть не верно.
Но тогда и от тиражируемых коммерческих продуктов GPL не защищает, потому что они по определению содержат библиотеку в том виде, в котором она была исходно написана (в виде исходного кода на JS).
На самом деле, серьёзный заказчик принципиально не разрешит использовать это в любом типе не-OSS проекта. Просто потому что не очевидно, к чему это обязывает.
Идея хорошая ) И на практике это реально может пригодиться. Жаль вот только что это не совсем 3D. И если захочешь сделать вращение и вдоль горизонтальной оси, то потребуется нереальное количество фоток.
Как-то на хабре проскакивала статья про 3D Photo builder — habrahabr.ru/blogs/startup/30685/
(сам сайт проги: www.anything3d.com/product/software/builders.php3). Вот она позволяет обрабатывать фотки, склеивать их (не знаю, как на счет спрайтов) и экспортировать получившиеся панорамы и объекты во флэш или HTML файл с изображениями и JS скриптом. По моим ощущениям их скрипт был тормознутей, чем Ваш.
Желаю удачи с разработкой!
Спасибо за труд.
Плагин действительно интересный. Я бы назвал это не 3D, а «вращение объекта», т.к. осей вращения здесь не более одной.
Не забудьте описать требования к фотографиям — не могу сейчас подобрать точные слова, но суть в том, что они должны быть с разных ракурсов по горизонтали, но с одного по вертикали, или наоборот, но не одновременно со сменой двух осей.
Проект на Google Code в Вашем случае, увы, пока выполняет роль файлового хостинга, тем более что скачать есть откуда, благо сайт проекта есть :) Было бы интересно по-наблюдать за изменениями и ростом проекта в svn. Да и всегда интересно увидеть процесс разработки других людей, даже на таком маленьком проекте.
Я было в начале подумал, что будут заметная нагрузка не проц, или браузер подвисать будет, ан нет всё ок. Можете сделать пример с большим количеством картинок?
Можно сделать альфа-смешение соседних кадров — тогда анимация будет выглядеть плавнее. Вот, за 5 минут набросал, как это может выглядеть (слева обычная анимация, правая — со смешением соседних кадров):
На мой взгляд правая хуже, хоть она и выглядит плавней, но не несет главной целе, она размыта, и на ней сложно что то рассмотреть. И глаза да нее смотреть устают.
Хм, хоть бы написали, что это не полноценное 3D, а обыкновенное слайд-шоу. А то я начал об это догадываться только после того, как прочитал: «вставляем картинки в какой-нибудь div».
И, кстати, как вы представляете себе анимацию сразу в 2 направлениях? (гор + верт)
Это оооочень много фоток. ^_^ Повернули под углом, пофоткали по кругу, и так пока не надоест. Или же не отфоткает до конца, чем меньше градус поворота чем плавней должно получиться, правда и фоток будет гораздо больше, и весить это будет оооочень не хило :(
Ну как видите я не топик стартер и таким не занимаюсь. Имхо лучше загрузить настоящий 3д объект он и весить будет меньше, и удобней. Правда создавать такой заметно накладней.
Блин, ребята.
Все аналогичные штуки на флэше сделаны по принципу преключения фотографий.
Я написал про трехмерное ПРЕДСТАВЛЕНИЕ.
Вам нужно дать пользователю покрутить предмет? Нате!
У меня не было задачи сделать это через канвасы и тому подобное.
Написать что-то типо «это все делается за 5 мин» — может любой. Спасибо за статью. Кому-то поможет съэкономить денег — использовать данное решение дешевле чем заказывать полноценные 3D модели во Flash.
Как я понимаю, во флеше на это уходит один запрос на сервер, на саму флешку, а в вашем варианте количество запросов равно количеству кадров — не true :))
А если попробовать это все склеить в один спрайт и анимацию делать через смещение картинки, как в 2D-играх? По-идее и работать шустрее должно.
Вращение предметов без флэш