Uneori este convenabil să mutați obiecte folosind vectori de următorul format:
[Tx,Ty,Tz,S,Rx,Ry,Rz,Rw]
Aici, Tx, Ty și Tz sunt componentele vectorului de translație, S – vectorul de redimensionare și Rx, Ry, Rz, Rw sunt componentele vectorului quaternion. De aici și numele acestui vector: TSR sau TSR-8.
Acest vector poate fi operat prin intermediul modulului tsr, precum și prin intermediul metodelor set_tsr() / get_tsr() ale modulului de transformare.
Motorul Blend4Web are, de asemenea, o opțiune de a randa liniile definite de seturi de puncte.
Metodele API utilizate pentru randarea liniei în sine sunt localizate în modulul geometry, iar stilul liniei randate (de exemplu, culoarea și grosimea) poate fi setat cu metoda set_line_params() a modulului pentru material.
Pentru a utiliza randarea liniei, în scenă trebuie să fie prezent cel puțin un obiect de tip Empty care să aibă activată opțiunea de randare linie.
Pentru a randa o linie, trebuie mai întâi să obțineți legătura la obiectul Empty.
Punctul de origine al acestui obiect va fi apoi utilizat ca un centru de coordonate pentru randarea liniilor.
Linia însăși poate fi randată apelând metoda API draw_line(). Primul parametru este legătura la obiectul Empty (vezi mai sus), iar al doilea este un șir de vertecși care vor fi folosiți pentru a construi linia. Metoda are, de asemenea, un al treilea parametru opțional care definește modul de redare: dacă metoda va produce o singură linie sau un set de linii definite de perechi de noduri (în ultimul caz, numărul total de noduri ar trebui să fie par).
Dacă un obiect Empty este folosit pentru a randa mai mult de o linie la un moment dat, doar ultima va fi vizibilă. Pentru a randa mai multe linii, va trebui ca pentru fiecare linie să utilizați câte un obiect Empty.
Următorul exemplu prezintă o parte a axelor de coordonate ale obiectului din imaginea de mai sus randată utilizând linii:
var m_scenes = require("scenes");var m_material = require("material");var m_geometry = require("geometry"); var m_rgba = require("rgba");...//setarea obiectului Empty pentru randarea liniei var line_1 = m_scenes.get_object_by_name("MyEmpty_1");//setarea parametrilor style pentru liniim_material.set_line_params(line_1, { width: 3color: m_rgba.from_values(0, 0, 0, 1.0)});//coordinates for main axesvar points_1 = new Float32Array([0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 5]);//drawing main axesm_geometry.draw_line(line_1, points_1, true);Acest cod produce doar axele principale ale obiectului, deoarece listarea tuturor elementelor sale va face codul lung și repetitiv. Celelalte elemente ale obiectului sunt randate în același mod.