Forum

User posts ice99
13 December 2016 13:28
Собственно, необходимо сохранить пролет камеры по определенному маршруту по сцене, включая звуки и анимацию в видео файл.
Не вижу всей картины, но вы плавно подводите к Fraps-у из командной строки.
13 December 2016 13:15
2 ответ ставит крест на использование Blend4Web для моего приложения.
Погодите с категоричными высказываниями. Может сейчас гуру проснуться, и предложат решение.
13 December 2016 13:06
1) Возможно-ли сохранить изображение полученной отрендеренной сцены в форме Jpg ?
https://www.blend4web.com/api_doc/module-screenshooter.html


2) Возможно ли сохранить пролет камеры по сцене + анимации из броузера
Ну, либо path - анимация в блендере, либо если пользователь динамически задает движение камеры, то считать каждый фрейм её положение (записывать), далее воспроизводить при надобности.


в виде какого либо видео файла, например Mov ?
Ну, думаю поискать стороннюю либу, которая из последовательности screen0001…screen000n сварганит видеофайл.
Но, что-то мне подсказывает, что в реалтайме это будет делать затруднительно (ресурсоёмко).
13 December 2016 11:21
В итоге пока сделал через цикл, куда отправляю массив объектов на которых надо поменять материал..
не удобно это (( может есть какая то группировка которую можно задать сразу .. итд
в том же блендере материал то единый.
Костыль то можно и сварганить, но мне кажется очень очевидным введение функции например "update_material", которая обновляет материал на всех объектах, у которых он присутствует.
10 December 2016 15:31
Кстати, после присоединения файла с одним меш-объектом (камеры, лампы нет в импортируемом файле).
В объектах сцены появляется 2 объекта
- сам объект
- объект с именем name "%meta_world%World"
Это баг или фича?
С одной стороны ресурсов он не занимает, а с другой стороны "замусоривается" список объектов.
Пробовал его удалять, после подгрузки из файла, но не могу его выбрать через
m_scenes.get_object_by_name("%meta_world%World",data_id);

имя пробовал указывать в различных форматах и комбинациях.
В общем, это нормально, или с этим надо что-то делать, а то "не аккуратненько как-то"
08 December 2016 12:29
Поле Description находится в blender'е и да, Юрий предлагал помещать строку, вида {"x":5,"y":8}. А потом получать это поле и декодить его.
В принципе, это поле хорошо подходит для "признака" объекта. Допустим признак "stul". Можно, конечно зашить этот признак в имя объекта (если их много и создаются динамически yапример stul_01…stul_09), а затем его извлекать но проще мне кажется действительно, забить его в Description.


Либо если понравился JSON можно так
var config = JSON.parse('{"mebel":{"stul":{"x":2,"y":3},"stol":{"x":5,"y":8}}}');

т.е. вы хотите сказать, что следующая конструкция работать не будет?
<script type="text/javascript" src="config.json"></script>
var json = JSON.parse(config);



Либо если понравился JSON

Да тут вопрос не в "понравился", а в оптимальном решении, исходя из задачи хранения такого конфига.
Забыл сказать, этот конфиг будет неизменяемым ,т.е. в нем будут хранится параметры по умолчанию. В процессе работы приложения они меняются, но далее они хранятся в web storage (с ним я уже разобрался).
Просто все советовали JSON как файл данных, а вы рекомендуете по сути еще один Javascript с одной переменной, где хранятся все параметры. Мне как-бы не за что зацепиться при выборе оптимального варианта.

Кстати, а чтение значения при условии js-файла а не Json, будет таким же?
var x = config.mebel.stul.x ;
08 December 2016 10:40
Зачем… Используйте JSON. Он встроен в браузер изначально
Кирилл, огромное спасибо за маленький но достаточный пример.

И всё-таки видимо я не совсем догоняю.

Юрий написал
кодировать такие свойства в JSON строку и хранить/извлекать их с помощью поля Meta Tags > Description

Просто получается тогда "Meta Tags > Description" - лишнее звено в этой цепочке, т.к. я могу напрямую писать и считывать из приложения (main.js) в файл json.
Или имеется в виду, что я забиваю свои параметры в поле Description у объекта например ({x:2, y:5, stoka: 'asdasdasd', "opana": new Array(5,6,7,8)})б потом делаю get_meta_tags(obj), а затем извлекаю нужный мне параметр в приложение согласно типу ObjectMetaTags ?

Я поясню вообще, что я хочу. Понимаю ,что решение не единственное, но прозрачная для меня логика следующая:
1. В приложении я оперирую с объектами ObjectName которых например stol и stul.
2. Я хочу, чтобы из СОСЕДНЕГО с main.js файла считывались параметры этих объектов.

Грубо говоря это файл cfg для exe-шника.
Да, можно зашить всё в один main.js, но логичней использовать соседний файл с настройками объектов.
Проще мне кажется изменить текстовый файл настроек ,чем в блендере кликать по объектам и менять их поле Description.

т.е. я планирую заполнить JSON-файл - ВРУЧНУЮ.

Я правильно понимаю ,что мне нужно сначала подключить этот файл следующим образом
<script type="text/javascript" src="config.json"></script>
<script type="text/javascript" src="main.js"></script>


config.json в моём случае должен быть следующего содержания:
{ 
   "mebel":{
       {
         "stul": {"x": 2, "y": 3}
       }
       {
         "stol": {"x": 5,"y": 8 }
	   }	 
	}
}

}


Далее я читаю его через
var json = JSON.parse(config);


а далее обращаюсь к моим параметрам через

var x = json.mebel.stul.x ;


Протестировать код сейчас не могу, просто прошу дать оценку подходу, и синтаксису организации файла JSON.
07 December 2016 17:41
Мы намеренно отказались от поддержки кастомных свойств. Вместо этого мы предлагаем кодировать такие свойства в JSON строку и хранить/извлекать их с помощью поля Meta Tags > Description.
т.е. я получается должен сам разработать правила парсинга, того что я сам забил в Description.
Допустим я хочу сопоставить объекту переменные
x=5
y=7
name="foo"
В этом случае я должен самостоятельно например закодить следующие правила
ДОПУСТИМ
1. Читаем построчно
2. До знака равно - это имя переменной
3. После знака равно - значение переменной.
Ну, или точкой с запятой разделять блоки.

Или может всё придумано до меня, и есть свод правил, которых нужно придерживаться? Если да, то можно линк или пример?
P.S. Пример с анкорами смотрел, но там весь "description" интерпретируется как текст, т.е. нет разделения на несколько переменных.
07 December 2016 09:40
Заявлено 8 уроков. 5-ть уже вышли. А можно узнать темы оставшихся?
04 December 2016 09:49
Если данных не много, их вообще можно хранить в url адресе, так делают сервисы карт от яндекс
Если я правильно понимаю, то это "немного" должно укладываться в 8192 байт (хотя, зависит от сервера). С другой стороны эта последовательность символов может быть допустим zip-архивом, который парсит приложение.