Konzola Python
Konzola Python je rýchly spôsob vykonávania príkazov, s prístupom k celému API Pythonu, históriou príkazov a automatickým dokončovaním. Príkazový riadok je typický pre Python 3.x, interpreter je načítaný a je pripravený prijať príkazy po výzve „>>>“.
Konzola Python je dobrý spôsob, ako preskúmať možnosti vstavaného Pythonu v Blenderi. Konzolu Python možno použiť na testovanie malých bitov kódu Pythonu, ktoré je potom možné prilepiť do väčších skriptov.
Rozhranie
Hlavné zobrazenie
Priradenie kláves
← / → – pohyb kurzora.
Ctrl-← / Ctrl-→ – pohyb kurzora po slovách.
Backspace / Delete – Zmazať znaky.
Ctrl-Backspace / Ctrl-Delete – Zmazať slová.
Enter – Vykonať príkaz.
Shift-Enter – Pridať do histórie príkazov bez vykonania.
Použitie
Aliasy
Pre konvenciu sú k dispozícii niektoré premenné a moduly:
C
: Rýchly prístup kbpy.context
.D
: Rýchly prístup kbpy.data
.bpy
: Modul API Blender Python API na najvyššej úrovni.
Prvý pohľad na prostredie konzoly
Ak chcete skontrolovať, čo sa nahráva do prostredia interpretera, zadajte do príkazového riadku príkaz dir()
a spustite ho.
Automatické dokončovanie
Teraz zadajte bpy.
A potom stlačte Tab a uvidíte funkciu automatického dokončovania konzoly v akcii.
Všimnite si, že sa vo vnútri bpy
objaví zoznam pod-modulov. Tieto moduly obsahujú všetko, čo môžeme robiť s Blender Python API a sú veľmi výkonnými nástrojmi.
Uvedie zoznam celého obsahu modulu bpy.app
.
Všimnite si zelený výstup nad výzvou, kde ste povolili automatické dokončovanie. To, čo vidíte, je výsledok výpisu automatického dokončovania. Vo vyššie uvedenom zozname sú všetky priradené názvy modulov, ale ak vidíte akýkoľvek názov končiaci na (
, potom je to funkcia.
Toto často používame, aby sme si pomohli rýchlejšie sa naučiť API. Teraz, keď ste sa dostali do toho, poďme preskúmať niektoré moduly v bpy
.
Pred pohrávaním s modulmi
Ak sa pozriete na 3D záber v predvolenej scéne Blender, všimnete si tri objekty: kocka, svetlo a kamera.
Všetky objekty existujú v kontexte a môžu existovať rôzne režimy, v ktorých sa s nimi pracuje.
V každom prípade je aktívny iba jeden objekt a môže existovať viac ako jeden objekt.
Údaje všetkých objektov sú v blend-súbore.
Existujú operátory/funkcie, ktoré vytvárajú a upravujú tieto objekty.
Pre všetky scenáre uvedené vyššie (nie všetky boli uvedené, nezabudnite…) poskytuje modul bpy
prístup k údajom a ich úpravu.
Príklady
bpy.context
Poznámka
Ak chcete, aby nižšie uvedené príkazy zobrazovali správny výstup, musíte v 3D zábere vybrať objekty.
bpy.context.mode
Vytlačí aktuálny režim 3D záberu (Objekt, Editácia, Sochárstvo atď.).
bpy.context.object
alebobpy.context.active_object
Poskytne vám prístup k aktívnemu objektu v 3D zábere.
Zmeniť umiestnenie X na hodnotu 1:
bpy.context.object.location.x = 1
Presunúť objekt z predošlého umiestnenia X o 0,5 jednotky:
bpy.context.object.location.x += 0.5
Zmeniť umiestnenie X, Y, Z:
bpy.context.object.location = (1, 2, 3)
Zmeniť iba komponenty X, Y:
bpy.context.object.location.xy = (1, 2)
Typ údajov umiestnenia objektu:
type(bpy.context.object.location)
Teraz máte veľa údajov, ku ktorým máte prístup:
dir(bpy.context.object.location)
bpy.context.selected_objects
Umožní prístup k zoznamu všetkých vybratých objektov.
Napíšte to a stlačte Tab:
bpy.context.selected_objects
Ak chcete vytlačiť názov prvého objektu v zozname:
bpy.context.selected_objects[0]
Zložité… ale týmto sa vytlačí zoznam objektov, ktoré nezahŕňajú aktívny objekt:
[obj for obj in bpy.context.selected_objects if obj != bpy.context.object]
bpy.data
bpy.data
má funkcie a atribúty, ktoré vám umožňujú prístup ku všetkým údajom v blend-súbore.
V aktuálnom blend-súbore máte prístup k nasledujúcim údajom: objekty, povrchové siete, materiály, textúry, scény, obrazovky, zvuky, skripty atď.
To je veľa údajov.
bpy.ops
Systém nástrojov je postavený na koncepcii operátorov. Operátory sa zvyčajne vykonávajú pomocou tlačidiel alebo ponúk, ale je možné ich vyvolávať priamo aj z Pythonu.
Zoznam všetkých operátorov nájdete v dokumentácii API bpy.ops.