Programarea vizuală se realizează prin crearea unui arbore logic de noduri în zona editorului de noduri din Blender. Aceste noduri pot extinde funcționalitatea scenei în mod semnificativ fără codificare.
Pentru a activa logica la scena dată, setați proprietatea Logic Editor din fila Scene și adăugați / selectați arborele activ de noduri.
Pentru a edita un arbore logic, în zona Node Editor selectați tipul de arbore Blend4Web Logic:
Apoi selectați arborele de noduri cerut:
Nodurile sunt create utilizând comanda rapidă de la tastatură Blender Shift-A.
Nodurile în sine sunt blocuri logice care sunt executate de la nodul Entry Point care nu are intrări și are doar o ieșire. Toate celelalte noduri au atât intrări, cât și ieșiri și pot fi inserate în orice loc în arborele logic. Excepție este nodul Page Redirect, care poate fi inserat numai la sfârșitul arborelui de noduri. Nodurile care au două ieșiri permit ramificarea, astfel că următoarea ieșire este selectată pe baza condițiilor specificate pentru astfel de noduri.
Pentru a implementa o logică complicată, există variabile care pot avea valori numerice sau de șir. Variabilele pot fi utilizate pentru stocarea unei anumite stări de scenă (de exemplu, aceasta poate fi un contor al redării animațiilor etc.).
Exemplu de utilizare a editorului Logic:
Toate nodurile valabile sunt descrise mai jos.
Aici începe scenariul. Prin utilizarea mai multor puncte de intrare puteți crea aplicații cu mai multe fire.
Parametri de intrare - Nu sunt.
Parametri de ieșire - Nodul Next.
Parametri interni
Poate fi folosită pentru a urmări selecția oricărui obiect din lista cu obiecte.
Parametri de intrare
Parametrii de ieșire
Parametri interni
Merge la nodul specificat dacă este îndeplinită o anumită condiție. Parametrii (operanzii) pot fi, de asemenea, variabile care sunt activate prin comutatoarele corespunzătoare.
Parametri de intrare
Parametri de ieșire
Parametri interni
Acest nod compară mai multe variabile cu o valoare dată și execută un salt condițional în funcție de rezultat.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a apela o metodă callback personalizată JavaScript, definită în aplicația Blend4Web.
Parametri de intrare
Parametri de ieșire
Parametri interni
Acest nod poate fi folosit pentru a combina mai multe noduri logice într-o funcție - o subrutină care poate fi accesată din configurația logică principală. Acest nod reprezintă întotdeauna un punct de plecare al unui arbore nod separat și, prin urmare, nu are parametri de intrare.
Parametri de intrare - Nu sunt.
Parametri de ieșire
Parametri interni
Acest nod poate fi folosit pentru a apela o funcție definită în nodul Define Function (descris mai sus).
Parametri de intrare
Parametri de ieșire
Parametri interni
Acest nod poate fi folosit pentru a controla animațiile NLA. Nodul Play Timeline redă fragmentul NLA începând cu cadrul specificat de marcator. Animația este redată până când întâlnește următorul marcator sau până la sfârșitul liniei de timp a scenei. După aceea, controlul trece la următorul nod.
Parametri de intrare
Parametri de ieșire
Parametri interni
Oprește redarea animației NLA începută de nodul Play Animation.
Parametri de intrare
Parametri de ieșire
Parametri interni
Acest nod poate fi folosit pentru a reda animația obiectului.
Animația poate fi de tip:
Regular Action:
Shader Action:
Particle system:
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit la oprirea animației unui obiect.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a muta obiectul Camera, inclusiv interpolarea lină a poziției sale.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a modifica stilul de mutare al obiectului Camera selectat.
Parametri de intrare
Parametri de ieșire
Parametri interni
Următoarele opțiuni sunt disponibile numai dacă parametrul New Camera Move Style nu este setat la Static:
Următorii parametri sunt utilizați pentru a specifica o țintă sau un punct de pivotare al camerei și sunt disponibili numai dacă parametrul New Camera Move Style este setat fie la Hover, fie la Target:
Dacă parametrul Use object este dezactivat, următoarele trei opțiuni devin disponibile:
Acest nod poate fi folosit pentru a seta limitele camerei selectate. Nodul afișează toate limitele disponibile, însă sunt aplicate numai cele care sunt compatibile cu tipul camerei.
Parametri de intrare
Parametri de ieșire
Parametri interni
Se folosește pentru a afișa obiectele 3D.
Parametri de intrare
Parametri de ieșire
Parametri interni
Se folosește pentru a ascunde obiecte 3D.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a transforma locația, mărimea și rotirea obiectelor.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a muta obiectele.
Parametri de intrare
Parametri de ieșire
Parametri interni
Setează factorul Shape Key.
Parametri de intrare
Parametri de ieșire
Parametri interni
Controlează efectul de contur al obiectului.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit pentru a seta valoarea pentru modul shader (de culoare). Deocamdată pot fi folosite doar nodurile Value și RGB.
Parametri de intrare
Parametri de ieșire
Parametri interni
Copie / moștenește atributele unui material la alt material.
Parametri de intrare
Parametri de ieșire
Parametri interni
Salvează o valoare de tip numeric sau string la o variabilă.
Parametri de intrare
Parametri de ieșire
Parametri interni
Realizează o operație matematică și stochează rezultatul în variabile. Oricare dintre parametri (operanzi) poate fi fie o valoare numerică, fie o variabilă.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosită pentru a realiza operații cu două șiruri de caractere (strings) și salvează rezultatul într-o variabilă.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosită la redarea unui sunet.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit la oprirea sunetului din difuzor.
Parametri de intrare
Parametri de ieșire
Parametri interni
Trimite o cerere HTTP GET la adresa URL specificată și salvează răspunsul într-un câmp de tip variabilă.
Parametri de intrare
Parametri de ieșire
Parametri interni
Notă: Datele primate trebuie să fie în format JSON:
{"var0": 1,"var1": 10,"var2": 144}Acest nod poate fi folosit pentru a codifica și a decodifica obiecte JSON complexe.
Parametri de intrare
Parametri de ieșire
Parametri interni
Folosirea nodului logic JSON pentru a codifica obiectul JSON
Setarea nodului logic din imaginea de mai sus codifică un obiect JSON și stochează datele în variabila R1. Un astfel de obiect JSON poate să arate astfel:
{"main":{"part1":7,"part2":12,"part3":"abc"}}Folosirea nodului logic JSON pentru a decodifica obiectul JSON
Imaginea de mai sus afișează setarea unui nod logic care primește un obiect JSON din server, îl stochează în variabila R1 și îl decodifică. Un astfel de obiect JSON ar putea arăta astfel:
{"a": {"b": 17,"c": "abc"}}La decodificarea obiectului JSON folosind nodul logic JSON rezultă trei variabile numite varO, var1 și var2 (acestea nu trebuie create anterior) care vor conține diferite părți ale obiectului JSON. În acest exemplu, variabila var1 are valoarea 17, variabila var2 are valoarea “abc”, iar variabila var0 conține următorul fragment din obiectul JSON:
{"b": 17,"c": "abc"}Permite stocarea parametrului unei pagini web în acea variabilă.
Parametri de intrare
Parametri de ieșire
Parametri interni
Poate fi folosit la redirecționarea browserului pe o altă pagină. Acest nod marchează întotdeauna sfârșitul lanțului de noduri și nu are parametri de ieșire.
Parametri de intrare
Parametri de ieșire - Nu are.
Parametri interni - Adresa URL a paginii web care va fi deschisă. Poate fi definită manual sau folosind o variabilă (dacă este activ parametrul Variable URL). Setat implicit la "https://www.blend4web.com".
Acest nod întoarce ca rezultat timpul și data.
Parametri de intrare
Parametri de ieșire
Parametri interni
Timpul și data sunt întoarse ca un set de numere (anul curent, luna, ziua etc.), fiecare dintre ele poate fi stocată într-o variabilă specifică. Aceste numere includ:
Acest nod poate fi folosit pentru a prelua cadrul curent din animația NLA sau din linia timpului (timeline).
Parametri de intrare
Parametri de ieșire
Parametri interni
Acest nod întoarce timpul scurs de când a fost randat cadrul anterior.
Parametri de intrare
Parametri de ieșire
Parametri interni - Nodul logic Elapsed are un parametru intern care permite să fie specificată variabila în care se salvează numărul de secunde care au trecut de la randarea cadrului anterior. Implicit, folosește variabila R1.
Introduce o întârziere (măsurată în secunde) înainte de a trece la următorul nod.
Parametri de intrare
Parametri de ieșire
Parametri interni
Un element auxiliar folosit pentru a separa nodurile în grupuri.
Sfat: Folosirea lui nu este necesară, dar este recomandată în cazul setărilor complexe de noduri pentru a le înțelege mai ușor.
Elementele din Frame au mai mulți parametri care pot fi găsiți în panoul lateral cu proprietăți. Acești parametri includ eticheta (poate fi folosită pentru a seta un titlu pentru Frame) și Color (definește culoarea pentru Frame).
Acest element este, de asemenea, disponibil în editorii obișnuiți de noduri din Blender.
Acesta este un nod simplu pass-through care nu efectuează nici o operațiune pe cont propriu. Poate fi folosit pentru a combina mai multe fire logice într-unul sau pur și simplu pentru a face configurarea nodului logic mai ușor de citit și de înțeles.
Parametri de intrare
Parametri de ieșire
Parametri interni - Nu are.
Editorul Logic Editor are și elemente Reroute, noduri care nu fac nimic în afară de trecerea controlului la nodul următor sau la următorul element Reroute. Astfel de elemente pot fi folosite pentru a crea structuri ciclice sau pentru a face structura arborescentă de noduri mai ușor de citit și de înțeles.
Spre deosebire de nodul Empty, elementul Reroute se poate ocupa numai de un singur fir logic.
Notă: Parametrul de ieșire nu poate fi conectat la parametrul de intrare al aceluiași nod. Dacă trebuie să faceți acest lucru (pentru a face un ciclu, de exemplu), ar trebui să utilizați elemente Reroute.
Acest nod afișează în consola browserului web valorile variabilei și text suplimentar. Poate fi folosit pentru depanare.
Parametri de intrare
Parametri de ieșire
Parametri interni
Alte caracteristici
În scopul depanării, unele noduri din arborele logic pot fi dezactivate. Pentru aceasta, selectați nodul necesar și apăsați tasta M. Nodurile distruse nu sunt evaluate și pur și simplu trec controlul la celelalte. Dacă nodul dezactivat are două ieșiri, execuția continuă de la ieșire cu rezultat negativ (Miss, False).