Форум

Сообщения, созданные пользователем Константин Хомяков
05 июля 2016 13:04
Hi Simon,

After loading the test-scenes using the b4w.min.js libraries of 16.05 and 16.06 respectively there is still a difference in performance (on my workstation it's about 50fps for 16.05 and about 30fps for 16.06)
First of all, thank you very much for an excellent test example

We've checked the issue. It really has nothing to do with the node material. There is an internal bug with resize_to_container functionality.
We've already fixed it. An updated version of the LTS engine will be available on Thursday (the 7th). It will bring back the normal level performance to your apps
Команда Blend4Web - разработчик
Twitter
LinkedIn
04 июля 2016 16:07
Hi Daniel,

On more powerful test-systems there was a performance drop from 60 to 50 fps,
while less powerful systems had a noticeable drop from 50 to 25 fps.
The VectorTransform-node is rather performance costly (it contains 1 or 2 matrix multiplication depending on its parameters).

But we've tried to change our node system spacing in the most user-painless way, so that there should be minimal changes in old materials to look the same as earlier. Our demo scenes required adding 1-2 Vector Transform nodes or no changes at all after migrating to the 16.06 version. So if it is possible, it would be great if you could send us (here or via support email) a small example of your node setup, so we could check it for possible optimizations.


Could it have something to do with the changes to SSAO or anisotropic filtering?
Don't think so. There were no changes in SSAO and anisotropic filtering in the 16.06 engine.
Команда Blend4Web - разработчик
Twitter
LinkedIn
23 июня 2016 10:39
Attached a couple of screenshots of what I'm trying to say.
Ideally the object looks "tiny" as in "cut.jpg" but can render at bottom as in "extrawidth.jpg".
Is there any easy way to make this happen??
Hello!

For now all the supported camera types always fit height. With zooming allowed objects may get cut.
You can somehow reduce such situations playing with camera limits dynamically.

I am sorry but we don't fully understand your question.
Could you please provide us a little bit more details of your task
Команда Blend4Web - разработчик
Twitter
LinkedIn
22 июня 2016 17:24

Спасибо! очень нравится b4w, буду изучать.
Отлично!
Задавайте, вопросы, если что. Постараемся помочь
Команда Blend4Web - разработчик
Twitter
LinkedIn
22 июня 2016 15:49

Доброго времени суток!
скажите пожалуйста как реализовать авторизацию в бд в blender4web
то есть у пользователя рисуется сцена на которой например Cube и поле ввода
логин, пароль. Через эти поля передаем GET запрос в PHP. Есть такая возможность у b4w?
//я нулевой в этой области (изучал unity и там через UI wwwform передавал данные в PHP и также мог получить данные обратно через PHP) в b4w это возможно?
Хочу отправлять данные игры в бд и получать данные из бд что бы использовать их в игре
Добрый день!
Все, что Вы описали возможно
Интерфейс для b4w сцен можно реализовать с помощью стандартных HTML элементов, которые отрисовываются поверха canvas с Blend4Web сценой. Пример такого интерфейса:
https://www.blend4web.com/apps/code_snippets/code_snippets.html?scene=morphing
В нашем sdk можно найти множество других примеров.

То есть для взаимодействия с пользователем Вам доступна таже функциональность, что и на любом вебсайте без 3D контента

Данный туториал (3-ий пункт) так же может быть Вам полезен:
https://www.blend4web.com/ru/article/55/
Команда Blend4Web - разработчик
Twitter
LinkedIn
21 июня 2016 10:20

This is a screenshot of the console log
Hmm… strange. Log says that everything is loaded correctly.

Could you please provide your system specs.
Does the black screen appears in all browsers and are other scenes from the sdk or from our website demo section loaded correctly?
Команда Blend4Web - разработчик
Twitter
LinkedIn
20 июня 2016 19:01

So I have linked /usr/bin/python3 with python. Now Project Manager works, I can create project etc
but when I want to test my scene .html (app_dev/test) I get a black window in my browser.
What am i making wrong ?
Hello!

Scene is shown correctly on my machine. The screen is black during loading the scene. Could you please attach a screenshot of your browser console log
Команда Blend4Web - разработчик
Twitter
LinkedIn
10 июня 2016 14:26
Changing the Object-Rendering-Property to 'is Dynamic Geometry' will have an impact in Memory usage and performance, right?
(Bigger memory footprint / the object-mesh-data maintains in main-memory? Perhaps less fps, too?)
Yes, dynamic objects (animated/have shape keys/have physics/have dynamic geometry etc) affect performance. They store more dynamic data and cause additional drawcalls.
Команда Blend4Web - разработчик
Twitter
LinkedIn
10 июня 2016 11:53

Perhaps there exists already a function or a similar (internal) feature, but I couldn't find it, yet. Please help.
There is a m_transform.get_object_bounding_box method, but it returns world-spaced bounding box, so it's canvas projection won't be always accurate


A more optimal approach would be to gain access to the already 'Model-, View-, Projection-Matrix' transformed vertex-data of an object.
The projection matrix isn't accessible in our engine

[UPD]
The model matrix can be simply obtained via object's world_tsr:
...
m_transform.get_tsr(obj, world_tsr);
m_tsr.to_mat4(world_tsr, model_matrix);

The view matrix can be obtainde like this:
...
m_transform.get_tsr(cam, cam_tsr);

var trans = m_tsr.get_trans_view(cam_tsr);
var quat = m_tsr.get_quat_view(cam_tsr);
m_mat4.fromRotationTranslation(quat, trans, world_matrix);

m_mat4.rotateX(world_matrix , -Math.PI/2, world_matrix );
m_mat4.invert(world_matrix , view_matrix);

Команда Blend4Web - разработчик
Twitter
LinkedIn
10 июня 2016 11:46
Hello!

Sorry for the delay!

A more optimal approach would be to gain access to the already 'Model-, View-, Projection-Matri
The closest path to a solution I found would be to project each object-vertex-point to canvas
m_camera.project_point(camobj, point3D, destCanvas2D)

This would require to access object-vertice in world-space coordinates. How could I access them?
This solution is the most accurate for your task.
To access vertex coordinates in world space you need:

1) Get an array of materials names for specified object via method m_material.get_materials_names(obj)

2) Use extract_vertex_array to get vertex coordinates in object space. This method requires "Dynamic Geometry" option to be enabled:

It takes 3 arguments: object name, material name and attribute name (a_position in your case) and returns Float32Array array. So method call shoud look like:
var vert_array = m_geometry.extract_vertex_array(obj, mat_name, 'a_position');

The method should be called for every material.

3) Then you should use m_tsr.transform_vec3 with object's world_tsr as parameter for every vertex:
...
m_transform.get_tsr(obj, world_tsr);
m_tsr.transform_vec3(vert_coord, world_tsr, vect_coord);


Команда Blend4Web - разработчик
Twitter
LinkedIn