Форум

движение за мышкой

25 ноября 2015 01:00
Здравствуйте, интересует возможно ли создание подобного с помощью blend4web http://radugadesign.com/ ? интересует именно движение обьекта за мышкой. Нужно разместить логотип на сайт как это сделано у вас и на представленном сайте. Если не сложно не могли бы расписать подробнее (особенно код) тк в этом плохо разбираюсь и хотелось бы пошаговую инструкцию либо ссылку на подробное описание тк с js плохо знаком, а с webgl столкнулся впервые. Заранее спасибо
25 ноября 2015 10:34
Добрый день и добро пожаловать на форум!

интересует возможно ли создание подобного с помощью blend4web

Да, конечно. Можно и сложнее. Вот тут рассмативался аналочигный случай. Только тут объект изменял геометрию при движении мышки. Аналогичным образом можно вращать объект, как в вашей ссылке (тут именно вращается объект, а не следует за курсором мыши).

Нужно разместить логотип на сайт как это сделано у вас и на представленном сайте. Если не сложно не могли бы расписать подробнее (особенно код) тк в этом плохо разбираюсь и хотелось бы пошаговую инструкцию либо ссылку на подробное описание тк с js плохо знаком

Есть статья по поводу размещения сцен на сайтах. Если будет что-то непонятно - задавайте вопросы, ответим.

а с webgl столкнулся впервые

По webgl достаточно знать только ограничения (ограничения на максимальный размер используемой текстуры и т.д.) и что некоторые очень древние устройства (времен раннего мезозоя ) не поддерживают эту технологию. Ограничения и поддержку для каждого конкретного устройства можно посмотреть тут: http://webglreport.com/ Вас должно интересовать поле "Textures", остальная информация уже для разработчиков.
25 ноября 2015 18:35
Большое спасибо за ответ!
03 декабря 2015 16:59
Здравствуйте. Получилось сделать web приложение, но вращение за мышкой ни как не получается.
Вот файл exampl.js в котором пытался это реализовать

Если не сложно подскажите что не так пожалуйста.

03 декабря 2015 17:12
Добрый день.

Вы забыли добавить сам поворот объекта. Вы берете координты мышки на канвасе, нормируете их на координаты экрана. И все. А надо бы их привязать к повороту объекта.
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. Вам надо связать координаты экрана с углом поворота
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.