Forum

User posts DENIS
16 April 2020 00:25
Ответ на сообщение пользователя Dragon3DGraff
кажется бобик здох… Бленд4Веб умер. Не надо было выгонять братьев Ковеленовых.
Помню, B4W планировал сделать свой 3D-редактор, а в итоге всё умерло
Denis
29 March 2020 00:52
Тут есть кто?
Denis
29 February 2020 19:03
???
Denis
27 February 2020 21:59
Ошибка запуска плагина под 2.82

путь прописан но плагин не стартует
W10x64
Blender 2.82
B4W Blend4Web 18.05.0 SDK

скрин в аттаче
Denis
10 March 2018 23:26
А может кто обнаруживал какие то проблемы при совместном использовании jQUERY и B4W ?
Denis
08 March 2018 02:47
Ответ на сообщение пользователя Александр Романов
В качестве параметра необходимо передавать специальный объект
вида:
{
        left:m_vec4.create(),
        right:m_vec4.create(),
        top:m_vec4.create(),
        bottom:m_vec4.create(),
        near:m_vec4.create(),
        far:m_vec4.create(),
    


Да я конечно подумал, что инициализировать надо массив массивов, но посмотрев в документацию в которой написано, что MAT4 создается просто через create(); так и сделал..
думается, что стоит документацию в этом разделе расширить.. а то не ясно совсем, как пользоваться этим, а копаться все время в исходниках не вариант. да и вроде всегда сразу проверяется объект, который приемником является и если не подходит то сразу пишет.. а тут нет..
Denis
07 March 2018 00:27
Ответ на сообщение пользователя Александр Романов
так. out параметр обязателен в конкретно этой функции. Он используется в качестве буфера, в который будет записано возвращаемое значение. Все модули используют подобный подход, который позволяет переиспользовать память, а не выделять ее каждый раз.
НУ не то чтобы все …. : https://www.blend4web.com/api_doc/module-camera.html#.get_camera_angles
а так понятно в целом.

Ответ на сообщение пользователя Александр Романов
Боюсь, что скопировать параметры проекции будет очень затруднительно, поскольку неактивные камеры загружаются как обычные объекты и данные о перспективных преобразованиях теряются. Таков текущий дизайн. Получится скопировать только tsr.
…..
Как я уже сказал, она загружается как обычный объект. Найти ее можно при помощи get_object_by_name итп.

Вторая камера не загружается ни как … хотя в JSONe есть … я проверил не один раз выводя все объекты и вызывая в лог имена, кроме того раз на ее не переключиться и параметры не скопировать то оно и не подойдет, возвращаемся к плану "А" а именно:

вопрос есть ли где то пример такого :

- Имеем перспективную таргет камеру с управлением Camera,

- сохраняем текущие параметры таргет-камеры перед сменой вида,
m_cam. get_target ……

- делаем ее статической ,
m_cam.static_setup(camera);

- переносим в нужную точку, разворачиваем на нужную точку,
m_cam_a.move_camera_to_point(camera, camera_top_position, cam_lin_speed, cam_angle_speed, camera_top_cb);

- БЫЛ ПЛАН получить данные с примера камеры, (( но оказывается там не будет данных
тогда как создать правильную проекцию с камеры которая есть в бленедре верно настроенная?
cam_ortho_planesObj = m_cam.get_frustum_planes(camera_top, cam_ortho_planesObj );
- далее нужно отключить перспективу, а точнее сделать другую проекцию ВОТ ТУТ И ВОПРОСЫ

cam_ortho_FuturismMatrix = m_mat4.ortho(cam_ortho_planesObj.left, cam_ortho_planesObj.right, cam_ortho_planesObj.bottom, cam_ortho_planesObj.top, cam_ortho_planesObj.near, cam_ortho_planesObj.far)
m_cam.set_projection(camera, cam_ortho_FuturismMatrix);

- назначить нужный Скейл
m_cam.set_ortho_scale(camera, ORTO_SCALE);

-при обратном преобразовании все откатить назад к таргет камере обычной
m_cam.target_setup(camera …..

ДОПОЛНЮ:

при выполнении метода :
var cam_ortho_planesObj=m_cam.get_frustum_planes(camera, _mat4_tmp);

вываливается на копировании данных матрицы
/**
* Copy the values from one vec4 to another
*
* @param {Vec4} a the source vector
* @returns {Vec4} out
* @param {Vec4} out the receiving vector
* @method module:vec4.copy
*/
function copy(a, out) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
return out;
};


С СООБЩЕНИЕМ :
Uncaught TypeError: Cannot set property '0' of undefined
at Object.copy (b4w.js:5908)
Denis
06 March 2018 17:58
Ответ на сообщение пользователя Александр Романов
Нельзя. Но можно копировать положение камер, правда вручную.
Вопрос обсуждался здесь. По нему пока ничего не изменилось.

да как раз, по той теме, похоже это то что надо! Только как скопировать параметры?, которые нужны для
https://www.blend4web.com/api_doc/module-camera.html#.set_projection изменения проекции
а именно матрицу: эти самые параметры ortho(left, right, bottom, top, near, far, out) → {Mat4}
https://www.blend4web.com/api_doc/module-mat4.html#.ortho
например с уже существующей(второй камеры которая установлена как надо)

ну и конечно нужно сохранить проекцию прошлой камеры чтоб вернуть на место все?

ДОКУМЕНТАЦИЯ: тот самый параметр OUT в описании модуля MAT4 не обозначен, как опциональный, так же как в описании других модулей, но по факту, как я понимаю, это именно так. Данные возвращаются функцией и плюсом в параметр OUT ! кроме этого описано что возвращается МАТ4 матрица, она же массив Float32Array , но когда смотрим описание https://www.blend4web.com/api_doc/module-camera.html#.set_projection не видим MAT4 в описании .. а только массив .

Дополню: пытаюсь подгрузить в основной сцене и вторую камеру ортогональную из которой скопировать нужные параметры, как говорилось выше, но не тут то было .. похоже, что при загрузке загружает только одну камеру, что выбрана как активная в сцене, верно? т.к. второй камеры в списке загруженных объектов просто нет …
Denis
06 March 2018 01:39
Например,

есть perspective камера - как узнать fovy, aspect, near, far?
есть ortho камера - как узнать left, right, bottom, top, near, far?

а удалось то собрать параметры матрицы все вместе включаяя OUT ?
чем тема то кончилась?
Denis
06 March 2018 00:05
Нельзя. Но можно копировать положение камер, правда вручную.
про "копировать" это как? можно подробнее?
Denis