Motorul Blend4Web suportă următoarele constrângeri pentru obiecte:
- Copy Location,
- Copy Rotation,
- Copy Transforms și
- Track To.
Notă: Atunci când constrângerile pentru obiecte sunt folosite în Blend4Web, nu se ține cont de parametrul Space (este setat întotdeauna la World Space).
Aceste constrângeri pot fi setate direct în Blender. Deocamdată nu sunt suportate alte tipuri de constrângeri, dar unele metode API din modulul constraints acționează similar.
Acestea includ:
- constrângerea Copy Location poate fi emulată cu append_copy_loc();
- constrângerea Copy Rotation funcționează similar cu metoda append_copy_rot();
- constrângerea Copy Transforms funcționează similar cu metoda append_copy_trans();
- constrângerea Copy Transforms poate fi emulată cu metoda append_follow(), deși trebuie notat că această metodă nu stabilește o distanță exactă între obiecte (în schimb, stabilește distanțele minime și maxime posibile).
- constrângerea Track To poate fi înlocuită cu metoda append_track().
Alte constrângeri nu au omologi distinctivi în API, deși comportamentul lor poate fi, într-o oarecare măsură, imitat folosind metodele API.
Modulul de constrângeri include, de asemenea, mai multe metode suplimentare:
- append_semi_soft() - Această metodă poate fi utilizată pentru a atașa un obiect la altul folosind o constrângere de tip semi-soft. Obiectul va urmări cu ușurință celălalt obiect. Poate fi utilizată pentru crearea obiectelor Camera third-person.
- append_semi_stiff() - Această metodă poate fi utilizată pentru a atașa un obiect la alt obiect folosind o constrângere semi-stiff, ceea ce înseamnă că obiectul copil se va mișca și se va roti împreună cu părintele său, dar este posibil să îl rotiți independent în spațiul local al părintelui. Astfel, poate fi creat un comportament similar cu cel al turelei tancurilor.
- append_stiff() - Această metodă atașează obiectul la un alt obiect (sau la un os din armătură) folosind o constrângere stiff. Obiectul copil se va deplasa, se roti și se va scala împreună cu părintele său. Exemple: o obiect sabie care are ca și obiect părinte mâna personajului; un personaj care stă într-un vehicul.
- append_stiff_trans() - Această metodă leagă obiectul de un alt obiect folosind o constrângere rigidă a translației. Obiectul copil se mută împreună cu părintele său, dar nu se rotește împreună cu acesta (totuși, acesta poate fi rotit independent de părinte).
- append_stiff_trans_rot() - Poate fi folosit pentru a atașa obiectul la un alt obiect folosind o constrângere rigidă de translație / rotire. În acest caz, obiectul copil se mișcă și se rotește împreună cu părintele său, dar fără a fi redimensionat. Cu toate acestea, obiectul poate fi redimensionat independent de obiectul părinte. Exemplu: o sursă de fum atașată la țeava de eșapament a tractorului; efectele de sunt obținute prin redimensionarrea sursei (emitter).
- append_stiff_viewport() - Atașează obiectul la obiectul Camera folosind o constrângere rigidă în fereastra de vizualizare (astfel încât obiectul copil își va păstra orientarea în fereastra de vizualizare a camerei). Această constrângere poate fi utilizată pentru a crea elemente de interfață 2D / 3D pe ecran
- remove() - Această metodă șterge toate constrângerile care au fost aplicate anterior la obiect.