Zbierka - Voronoiove objekty - Blender
Voronoiove objekty - časť: Blender
V predošlej úlohe sme sa pokúsili vytvoriť si voronoiov objekt v OpenSCADe a prišli sme k záveru, že takýto spôsob nie je úplne jednoduchý ani optimálny. Preto teraz prechádzame k nástroju Blender a pokúsime sa implementovať podobné objekty jednoduchšími spôsobmi pomocou funkcionalít, ktoré Blender už obsahuje. Použijeme pritom vysokoúrovňový programovací jazyk Python. Budeme pomocou neho implementovať funkcie, ktoré nám umožnia modifikovať objekt a rzšíria nám možnosti manipulácie s ním. Keďže parametrické 3D modelovanie využíva definované parametre na vytváranie modelov, čo umožňuje ľahkú úpravu a iteráciu, tieto funkcie budú využívať rôzne parametre, ktoré môžu a nemusia byť od seba závíslé. Generatívne 3D modelovanie zas vytvára modely pomocou algoritmov, pravidiel a procedúr, čo umožňuje vytváranie zložitých štruktúr a vzorov, pokúsime sa pre to implementovať základné algoritmy, ktoré nám neskôr takéto generatívne modelovanie umožnia.
Zadanie úlohy
Cieľom tejto úlohy je najmä naučiť sa používať Python s Blenderom, pracovať s nástrojmi v Blenderi a ukázať si ako môžeme generovať objekty s parametrickým dizajnom rýchlejšie než v predošlom OpenSCADe. Narozdiel od predošlých úloh, v tejeto si nemusíte vytvárať základný objekt, môžeme si nejaký stiahnuť, prípadne vybrať z ponuky v Blenderi.
Inštrukcie
- Zapneme si nástroj Blender a z horných tabov si vyberieme ten s názvom "Scripting" pre otvorenie okna na písanie programu.
- Klikneme na ikonku "New," ktorou si vytvoríme nový súbor.
- Uistíme sa, že v druhom okne máme otvorenú časť "3D viewport" s módom "Object Mode." Naše rozloženie okien by malo vyzerať nasledovne:
- S takto nastaveným prostredím môžeme začať písať kód. Prvým krokom je importovať si knižnice, ktoré budeme potrebovať, hlavnou je knižnica bpy, ktorá nám sprostredkúva funkcionality pre prácu s Blenderom. Importujeme a použijeme ju nasledovne:
Takýmto volaním vieme získať objekt, ktorý máme aktuálne v scéne, kde pomocou "print" si dávame do konzoli vypísať jeho meno. Aby sme videli tento výstup v konzole, musíme si ju otvoriť v okne a to spravíme nasledovne:
Súbor:Bender system console.png
Testovanie a úpravy
Prezrite a skontrolujte si objekt a odpovedzte si na to či daný 3D model zodpovedá zadaniu a či ste s ním spokojní. Ak chcete skúsiť model upraviť, navrhujeme:
Spätná väzba
Ak ste spokojní so svojím výsledným modelom, prezentujte ho ostatným, zhodnoťte koncepty, ktoré ste použili a ako ste ho implementovali, buďte otvorení k hodnoteniam od ostatných a k prípadným návrhom na zlepšenie.
Odkazy na materiály
V tejto sekcii nájdete odkazy na materiály, ktoré vám môžu pomôcť pri riešení daných problémov a naučia vás ako používať požívané nástroje:
- Python syntax - tu nájdete syntax a použitie jazyka Python s ukážkami použitia
- Blendere Python API - dokumentácia Python API v Blenderi - nájdete tu všetko čo sa týka programovania s Python API (s knižnicou bpy) v Blenderi
Vzorové riešenie
Ak budete potrebovať motiváciu alebo si skontrolovať váš výsledný model, v nasledujúcich odkazoch nájdete implementáciu daného modelu v nástrojoch, ktoré ste na implementáciu mohli použiť: