движение за мышкой
25 ноября 2015 01:00
Здравствуйте, интересует возможно ли создание подобного с помощью blend4web http://radugadesign.com/ ? интересует именно движение обьекта за мышкой. Нужно разместить логотип на сайт как это сделано у вас и на представленном сайте. Если не сложно не могли бы расписать подробнее (особенно код) тк в этом плохо разбираюсь и хотелось бы пошаговую инструкцию либо ссылку на подробное описание тк с js плохо знаком, а с webgl столкнулся впервые. Заранее спасибо
25 ноября 2015 10:34
Добрый день и добро пожаловать на форум!
Да, конечно. Можно и сложнее. Вот тут рассмативался аналочигный случай. Только тут объект изменял геометрию при движении мышки. Аналогичным образом можно вращать объект, как в вашей ссылке (тут именно вращается объект, а не следует за курсором мыши).
Есть статья по поводу размещения сцен на сайтах. Если будет что-то непонятно - задавайте вопросы, ответим.
По webgl достаточно знать только ограничения (ограничения на максимальный размер используемой текстуры и т.д.) и что некоторые очень древние устройства (времен раннего мезозоя ) не поддерживают эту технологию. Ограничения и поддержку для каждого конкретного устройства можно посмотреть тут: http://webglreport.com/ Вас должно интересовать поле "Textures", остальная информация уже для разработчиков.
интересует возможно ли создание подобного с помощью blend4web
Да, конечно. Можно и сложнее. Вот тут рассмативался аналочигный случай. Только тут объект изменял геометрию при движении мышки. Аналогичным образом можно вращать объект, как в вашей ссылке (тут именно вращается объект, а не следует за курсором мыши).
Нужно разместить логотип на сайт как это сделано у вас и на представленном сайте. Если не сложно не могли бы расписать подробнее (особенно код) тк в этом плохо разбираюсь и хотелось бы пошаговую инструкцию либо ссылку на подробное описание тк с js плохо знаком
Есть статья по поводу размещения сцен на сайтах. Если будет что-то непонятно - задавайте вопросы, ответим.
а с webgl столкнулся впервые
По webgl достаточно знать только ограничения (ограничения на максимальный размер используемой текстуры и т.д.) и что некоторые очень древние устройства (времен раннего мезозоя ) не поддерживают эту технологию. Ограничения и поддержку для каждого конкретного устройства можно посмотреть тут: http://webglreport.com/ Вас должно интересовать поле "Textures", остальная информация уже для разработчиков.
03 декабря 2015 16:59
03 декабря 2015 17:12
Добрый день.
Вы забыли добавить сам поворот объекта. Вы берете координты мышки на канвасе, нормируете их на координаты экрана. И все. А надо бы их привязать к повороту объекта.
Проставьте на объекте, который собираетесь вращать, в Blender'e на панели с настройками объекта галочку "Force dynamic object", выберите ваш объект и добавьте в код поворот объекта. Примерно вот так:
Вам подойдут функции модуля transform. Не забывайте, что координатные оси повернуты и соответсвуют WebGL. Вам надо связать координаты экрана с углом поворота
Вы забыли добавить сам поворот объекта. Вы берете координты мышки на канвасе, нормируете их на координаты экрана. И все. А надо бы их привязать к повороту объекта.
function mouse_move_cb(move_event) {
var x = m_mouse.get_coords_x(move_event);
var y = m_mouse.get_coords_y(move_event);
var vert = y / window.innerHeight;
var hor = x / window.innerWidth;
}
Проставьте на объекте, который собираетесь вращать, в Blender'e на панели с настройками объекта галочку "Force dynamic object", выберите ваш объект и добавьте в код поворот объекта. Примерно вот так:
function mouse_move_cb(move_event) {
var x = m_mouse.get_coords_x(move_event);
var y = m_mouse.get_coords_y(move_event);
var vert = y / window.innerHeight;
var hor = x / window.innerWidth;
var obj = m_scenes.get_object_by_name("NAME_FROM_BLENDER");
if (obj) {
// тут должен быть поворот, логика зависит от вашей задумки
}
}
Вам подойдут функции модуля transform. Не забывайте, что координатные оси повернуты и соответсвуют WebGL. Вам надо связать координаты экрана с углом поворота