Сообщения, созданные пользователем Константин Хомяков
21 апреля 2016 15:13
Работает!!Супер! Рад, что смог помочь
http://joxi.ru/KAgoNBeIgaOG1A
Спасибо вам большое!
Хеппи блендфоблендинг!
Только не забудьте выход "Miss" в нодах Switch Select зациклить на вход самой ноды
Иначе при клике не по объекту их списка нодовая логика встанет
21 апреля 2016 14:32
Должна быть возможность делать паузу на любом кадре и сколь угодно долго держать ее. После, по клику, продолжить до конечного маркера.В таком случае вам необходимо в ноде Play Timeline выставить галочку "Do not wait" далее по условию остановки (например клик по кнопке или объекту) сработает нода Stop Timeline. Если после остановки таймлайна снова использовать ноду Play Timeline, но не указывать в ней начальный маркер, то таймлайн продолжит проигрываться с кадра, на котором произошла остановка.
Примерно так, только вместо нод Delay должны быть условия остановки и выхода из паузы:
21 апреля 2016 14:02
Всем привет!Здравствуйте и добро пожаловать на форум!
Разрабатываю небольшой проект по демонстрации сборки\разборки приусадебных ограждений.
http://joxi.ru/l2ZRZxbs8QlaG2
Анимация элементов сделана с помощью NLA. Запуск ее реализован через ноду Play Tameline в редакторе логики, между парой маркеров. После запуска анимации, она проигрывается от одного маркера до другого, без остановки. Вопрос такой, к уважаемым разработчикам и знатокам blend4web - есть ли возможность, с помощью нодового редактора логики, организовать паузу в проигрывании анимации между двумя маркерами с последующим продолжением этой же самой анимации?
Спасибо за ваши ответы!
Если просто хотите добавить паузу в анимации определенной длительности и на определенном кадре, то можно добавить на таймлайн еще один маркер, проигрывать анмиация до него, далее использовать ноду Delay, в которой можно выставить длительность паузы в секундах, затем проиграть анимацию от добавленного маркера
14 апреля 2016 18:38
14 апреля 2016 17:56
Не записывается значение load в переменную textПроверил. Прокрался баг
что делаю не так ? проверяю в Fast Preview - там увидел что есть параметр load.
Может вопрос к версии движка? с какой эта конструкция должна работать? если конечно она должна :)
На данный момент нода Page Param всегда записывает значение параметра в переменную R1.
Обязательно поправим к следующему релизу.
Если есть желание поправить именно сейчас, то напишите, пожалуйста, какую версию движка используете и я скину вам хотфикс.
14 апреля 2016 12:53
А где то можно подсмотреть пример? в документации очень скудно об этомНу там вроде бы все прозрачно достаточно.
Например, если сцена расположена по адресу:
http://www.iloveb4w.com/?inventory=show#level=2
Тогда нода вида:
запишет в переменную invent строку "show ",
а нода вида:
запишет в переменную level число 2
14 апреля 2016 10:22
У меня вопрос к специалистам. Могу ли я с помощью нодов понять на каком URL я нахожусь, как то разобрать строку, чтобы потом исходя из его содержимого ветвить своё дерево нодов. Допустим я рисую интерфейс персонажа (прячу либо наоборот показываю кнопки, подсвечиваю их )в зависимости от того, на какую страницу он зашел.Добрый день!
На данный момент возможно с помощью ноды "Page Param " считывать параметры переданные в URL (в т.ч. и хеш параметры). Думаю эту ноду вполне можно приспособить под ваши нужды
13 апреля 2016 20:25
Я оставил по горизонтали как у меня былоРад, что смог помочь
m_quat.setAxisAngle(AXIS_Y, delta_x*0.01, quat_Y);
, а по вертикали - как Вы посоветовали.
Вроде то, что я хотел, не знаю как потом будет по геймплею, но это уже увижу когда будет чем играть
Спасибо еще раз
Вообще тут довольно обширное поле для экспериментов.
Коллеги предложили, как вариант, попробовать поиграться с функцией cal_ray
https://www.blend4web.com/api_doc/module-camera.html#.calc_ray
И строить с ее помощью вектор от центра куба то точки начала и окончания трекинга курсора и на их основе строить вращения.
Так что пошаманить есть над чем определенно
13 апреля 2016 18:34
Я хочу, чтобы кубик вращался как бы относительно системы координат параллельных экрану.В данном примере я настроил вращение полностью в системе координат камеры.
Спасибо. вверх и вниз стало работать лучше, а вот вправо-влево - хуже… он как бы "качается" как на качелях. получается непредсказуемо крутится…Вращение по горизонтали можно оставить относительно локальной системы координат кубика, для подобной игры мне такой вариант управления видится весьма интуитивным .
Наверно стоит сказать, что это будет что-то типа этого
Для этого в вызове функции умножения на quat_Y небходимо поменять операнды местами:
//поворот в локальной системе координат объекта
m_quat.multiply(quat_obj, quat_Y, quat_obj);
13 апреля 2016 17:48
Итак
Наиболее прозрачный вариант решения, на мой взгляд:
Обновленный архив с проектом прикрепил
Наиболее прозрачный вариант решения, на мой взгляд:
var cam = m_scenes.get_active_camera();
m_transform.get_rotation(cam, quat_cam);
//получаем глобальные координат для осей X и Y
//из локального пространства координат камеры
//вокруг этих векторов далее и будет происходить вращение
m_util.quat_to_dir(quat_cam, AXIS_X, CAM_X);
m_util.quat_to_dir(quat_cam, AXIS_Y, CAM_Y);
//получаем кватернионы вращения вокруг "глобальных" осей
m_quat.setAxisAngle(CAM_Y, delta_x*0.01, quat_Y);
m_quat.setAxisAngle(CAM_X, -delta_y*0.01, quat_X);
m_transform.get_rotation(_selected_object, quat_obj);
//вращаем наш объект в глобальной системе координат
//порядок операндов важен! в противном случае вращение будет происходить в локальной системе объекта
m_quat.multiply(quat_X, quat_obj, quat_obj);
m_quat.multiply(quat_Y, quat_obj, quat_obj);
m_transform.set_rotation_v(_selected_object, quat_obj);
Обновленный архив с проектом прикрепил