Нужна помощь

16 ноября 2016 19:16
Там еще звук должен быть, но он работает только на хроме, на сафари, айпад и телефоне звук не загружается.
Потому что они не поддерживают ogg формат, для кроссбраузерности нужно держать все звуки в нескольких базовых форматах. В командах проекта есть пункт "convert resources" - он должен сконвертировать все ресурсы из папок проекта. Текстуры можете поудалять, если вам пока они не нужны, а для ogg звуков он должен создать имя_файла.altconv.m4a файлы, которые автоматически подхватятся движком при загрузке.
Рекомендуется прочитать вот этот раздел: Конвертация ресурсов
16 ноября 2016 21:20
Ответ на сообщение пользователя stilist
Подскажите, а как можно интегрировать b4w библиотеки в IDE? Я использую brackets.io и было бы очень удобно, если бы там была подсказка не только п JQuery, но по всему фаршу из b4w.
Вот это круто было бы. Мини урок какой бы нибудь для новичков.
Вроде разработчики на Atom сидят. Хотелось бы узнать как у них там все устроенно, отладка, IDE, тестирование кода и демок происходит. Как они тестируют это все на целом зоопарке устройств.
16 ноября 2016 21:28
В командах проекта есть пункт "convert resources" - он должен сконвертировать все ресурсы из папок проекта. Текстуры можете поудалять, если вам пока они не нужны, а для ogg звуков он должен создать имя_файла.altconv.m4a файлы, которые автоматически подхватятся движком при загрузке.
Рекомендуется прочитать вот этот раздел: Конвертация ресурсов

Иван, спасибо за ответ.

Все скомпилировал, все работает. Правильно ли я понял, что при компиляции ригиналы не меняются, дополнительно создаются их скомпилированные варианты, которые подтягиваются браузерами по необходимости, в зависимости от совместимости, плюс все пути, которые проходят в json и js остаются?
Ребилд делать не надо, так как речь идет только о ресурсах?
При "удалении текстур" если скрипты блендера и сам блендер с ними работают - по имени объектов, по стрингам их расширений, как они дальше будут корректно находить файлы, если расширения меняются?
Алексей
16 ноября 2016 21:32
Иван, еще вопрос, а зачем мне текстуры min50 если я сам уже сделал уменьшил разрешение до приемлемых. Эти мин50 где используются?

Если я хочу конвертировать только звук, как можно отключить конвертацию текстур (тем более, что на всех браузерах и устройствах все работает, а я уже PILом все сделал в части уменьшения разрешения).????
Алексей
17 ноября 2016 00:01
ну вот гляньте, если интересно amave.valpo.ru
да, есть косяк с персонажем - идёт поначалу не в ту сторону, пока обзор не покрутить
зря управление мышью убрали, с клавиатуры немного непривычно это делать - долго разворачиваться

Еще хотелось бы разрушение конструкций
Ничего такого специального у нас в движке нет. Можно попробовать имитировать это анимацией, ключами формы, просто отдельными объектами и т.д., т.е. лучше будет исходить из конкретной задачи.
17 ноября 2016 00:28
Правильно ли я понял, что при компиляции ригиналы не меняются, дополнительно создаются их скомпилированные варианты, которые подтягиваются браузерами по необходимости, в зависимости от совместимости, плюс все пути, которые проходят в json и js остаются?
да, главное, что рядом с оригиналом лежит сконвертированный файл с тем же именем - движок просто определяет какое расширение грузить

Ребилд делать не надо, так как речь идет только о ресурсах?
не надо

При "удалении текстур" если скрипты блендера и сам блендер с ними работают - по имени объектов, по стрингам их расширений, как они дальше будут корректно находить файлы, если расширения меняются?
Немного не понятно… Но я говорил об удалении сконвертированных файлов изображения, вроде .dds и .min50, т.к. конвертируется по команде сразу все, а вопрос был только про звук. Оригиналы, естественно удалять не стоит.

Иван, еще вопрос, а зачем мне текстуры min50 если я сам уже сделал уменьшил разрешение до приемлемых. Эти мин50 где используются?
Не, можно и не использовать . Они тоже могут подхватываться движком, но только если передан соответствующий флаг при инициализации приложения (там же в документации, кстати, описано). Ну, это уже не кроссбраузерность, а оптимизация - например, можно проверить, что пользователь зашел с мобильника, выставить соответствующий флаг, и подсунуть ему пережатые текстуры и экономим на видеопамяти. У нас они для всех сцен конвертируются, так мы автоматом получаем 2 набора текстур.
Если у вас текстуры и так небольшие и все устраивает, то оптимизацией заниматься не нужно.
17 ноября 2016 00:58
Подскажите, а что означает привязка sensor_manifold к объекту, если вызываемая калбэк функция реализует все предусмотренные действия?
Не совсем понимаю связи и для чего она используется: персонаж это или камера, или null в качестве первого передаваемого параметра - сенсор сработал - сторонняя функция запустилась…
Алексей
17 ноября 2016 01:10
да, есть косяк с персонажем - идёт поначалу не в ту сторону, пока обзор не покрутить
зря управление мышью убрали, с клавиатуры немного непривычно это делать - долго разворачиваться

Этот кватернион почему-то работает в крайних положениях [1,0,0,0] или [0,0,0,1] и персонаж действительно изменяет направление движения при тех же нажатых клавишах на 180'. Дальше я чего только в него не закладывал - все равно ходит вдоль осей - по какому принципу определяется угол поворота - совершенно не понятно, так как вектора, которые в него загружались были и с кадров анимации, и с камеры, и просто с объекта. Я даже на айпаде загрузил программку для определения кватернионов, развернул вектора на похожий угол, загрузил через set_translation - все то же самое.

Перенос персонажа она выполняет корректно. Если вообще её отключить, то привязка угла поворота к камере выполняется без нареканий и покачивание камерой.

Насчет захвата мыши - сафари (а им пользуется куча народу) эту функцию не поддерживает, плюс на кнопки на экране давить не удобно, надо через esc переключаться - это усложняет общий процесс. Так как там эта функция - второстепенная плюшка, решил не трогать мышку, оставив ей стандартные действия.
Алексей
17 ноября 2016 08:49
да, есть косяк с персонажем - идёт поначалу не в ту сторону, пока обзор не покрутить
Было такое. Решил у себя вот так.
m_phy.set_transform(m_scenes.get_object_by_name("MyPers"), [3,2,1], [0,2,1,0])

По сути здесь важен только последний параметр (вектор стартовой ротации)
17 ноября 2016 23:58
Коллеги, а у Вас вообще какие-нибудь слеты и сходки проводятся? Хочется познакомится, пообщаться и посмотреть чем народ занимается.
Алексей
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.