Помогите ! не выбирается объект по нажатию

16 августа 2017 06:54
Делал с вашего примера "меблируем комнату", сделал динамическое добавление объектов в сцену, задача перемещать тумбу по комнате, в первой версии тумба двигалась только кликнув по ее задней части а нужно по фасаду…. переделал немного со второй попытки тумба не определяется вообще по клику… сами координаты на канвасе получаю, тумбу как объект не видит, в блендере все что нужно активировано, физика статика, призрак, динамический объект и т.д, в сцене тоже все по вашему мануалу.. прикрепил скрины
16 августа 2017 18:13
Могу дать совет сравнить настройки вашего объекта в Блендере со свойствами тех, что в нашем примере. Может забыли галочку какую-нибудь включить.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
16 августа 2017 18:16
Юрий а больше ничего не подскажите ? я двое суток все перепроверяю, очень прошу помощи в небольшом этом нюансе
16 августа 2017 18:42
Возможно вывернуты нормали на модели. Или что-то в коде. Других идей пока нет.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
17 августа 2017 07:47
В вашем примере "меблируем комнату" вычисляются координаты для клика мыши по канвасу вроде как написано, но по сути координаты при клике отсчитываются от самого браузера, в моем случае когда я канвасу сделал 80% ширины а остальные 20% для меню выделил, выходит при клике получал не те координаты , отсюда и невозможность выбрать объект для перемещения - он находился не там….
17 августа 2017 10:42
Понятно. Рад, что всё получилось.
Руководитель проекта | VK | Twitter | Facebook | Linkedin
17 августа 2017 12:19
В вашем примере "меблируем комнату" вычисляются координаты для клика мыши по канвасу вроде как написано, но по сути координаты при клике отсчитываются от самого браузера, в моем случае когда я канвасу сделал 80% ширины а остальные 20% для меню выделил, выходит при клике получал не те координаты , отсюда и невозможность выбрать объект для перемещения - он находился не там….
Если коротко, то нужно делать так:
var x = m_mouse.get_coords_x(e, false, true);
var y = m_mouse.get_coords_y(e, false, true);

Подробнее написано в этом разделе документации: Нестандартное расположение и ориентация элемента Canvas
Команда Blend4Web
17 августа 2017 13:52
может еще подсказку дадите молодому не опытному тогда ?? чем или как можно менять ширину объекта если я так понимаю все его значения либо в json либо в bin ???
18 августа 2017 10:41
Вообще есть метод set_scale, но он к сожалению работает сразу по всем измерениям, поэтому, если нужно только ширину, то придется использовать другие варианты. Самый простой, наверное, - через Shape Keys - можно создать ключи в Блендере, и менять их потом в приложении через API.
Ещё можно через скелетную анимацию, если сделать, чтобы кость влияла на вершины, растягивая в нужном направлении (по сути аналогично shape keys, но посложнее), и использовать API модуля armature.js для перемещения кости.
Есть ещё низкоуровневые методы для работы с геометрией, вроде, extract_vertex_array и update_vertex_array, т.е. можно взять позиции всех вершин, вручную их "растянуть", а потом записать обратно в объект.
Команда Blend4Web
18 августа 2017 13:40
Иван вы лучший, респект и уважуха !!
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.