Panel Ovládače#
Referencia
- Editor:
Editor grafov
- Režim:
Ovládače
- Panel:
- Skratka:
N
Referencia
- Ponuka:
- Skratka:
Ctrl+D
Tento panel je viditeľný v bočnom paneli editora Ovládače alebo ako vyskakovacie okno pri pridávaní ovládača do vlastnosti.
Zobrazí sa vlastnosť, ktorá je ovládaná nasledovnou sériou nastavení určujúcich fungovanie ovládača.
Nastavenia ovládača#
Typ#
Existujú dve kategórie ovládačov:
Vstavané funkcie (Priemer, Súčet, Min a Max)
Ovládaná vlastnosť bude mať hodnotu priemeru, súčtu, najnižšej alebo najvyššej (v uvedenom poradí) hodnoty odkazovaných Premennými ovládača. Ak existuje len jedna premenná ovládača, tieto funkcie poskytnú rovnaký výsledok.
Vlastný (Skriptový výraz).
Ľubovoľný výraz jazyka Python, ktorý môže odkazovať na Premenné ovládača podľa názvu. Pozri Výrazy.
Hodnota ovládača#
Aktuálny výsledok nastavenia ovládača. Užitočné na účely ladenia.
Premenné#
Pozri Premenné ovládača.
Aktualizácia závislostí#
Vynúti aktualizáciu závislostí hodnoty ovládača.
Zobraziť v editore ovládačov#
Otvorí plne funkčný editor Ovládače. Toto tlačidlo sa zobrazuje len vo vyskakovacej verzii panela Ovládače.
Premenné ovládača#
Premenné sú odkazy na vlastnosti, transformačné kanály alebo výsledok porovnania transformácií dvoch objektov.
Ovládače by mali pristupovať k údajom objektov prostredníctvom Premenných ovládača a nie priamych odkazov vo výraze Python, aby sa správne sledovali závislosti.
- Pridať premennú vstupu
Pridá novú premennú ovládača.
- Kopírovať/Prilepiť premenné
Skopíruje aktuálny zoznam premenných, aby ho bolo možné prilepiť do zoznamu premenných iného ovládača.
- Názov
Názov na použitie v skriptových výrazoch. Názov musí začínať písmenom a obsahovať len písmená, číslice alebo podčiarkovníky.
- Typ premennej
Typ premennej, ktorá sa má použiť.
- Jednotlivá vlastnosť
-
Opätovne získava hodnotu vlastnosti RNA určenú odkazom bloku údajov a reťazca cesty.
V prípade vlastností transformácie sa vráti presná hodnota vlastnosti užívateľského rozhrania, zatiaľ čo kanál transformácie podľa potreby zohľadní rodičovstvo vlastnosti a/alebo vynútenia.
Pozrite si tiež Užívateľské vlastnosti.
- ID typu
Typ ID bloku. Napríklad: Kľúč, Obrázok, Objekt, Materiál.
- ID
ID typu ID bloku. Napríklad: „Material.001“.
- Cesta RNA
Názov RNA vlastnosti založený na vnorenom nastavení syntaxe prístupu k atribútom v jazyku Python. Napríklad:
location.x
alebolocation[0]
pre hodnotu animačného kanála polohy X (pred rodičovstvom alebo vynúteniami) alebo["prop_name"]
pre svoju vlastnosť.- Spätná väzba
Ak je povolená, umožňuje špecifikovať záložnú hodnotu, ktorá sa použije ako hodnota premennej, ak nie je možné vyriešiť RNA Path, namiesto toho, aby došlo k zlyhaniu vyhodnotenia ovládača. Viac informácií nájdete v časti Kontextová vlastnosť nižšie.
Tip
Najjednoduchší spôsob, ako vytvoriť premennú tohto typu, je použiť možnosť kontextovej ponuky Kopírovať ako nový ovládač vstupnej vlastnosti a vložiť výsledok do ovládača použitím Prilepiť premenné ovládača.
- Kanál transformácie
-
Opätovne získava hodnotu kanála Transformácia z objektu alebo kosti.
- ID
ID objektu. Napríklad: Kocka, Armatúra, Kamera.
- Kosť
V prípade armatúr názov kosti armatúry. Napríklad: „kost“, „kost.002“, „rameno.p“.
- Typ
Napríklad Poloha X, Rotácia X, Mierka X.
Možnosť Priemerná mierka načíta kombinovanú hodnotu mierky, ktorá sa vypočíta ako odmocnina z celkovej zmeny objemu. Na rozdiel od možnosti Mierka X/Y/Z môže byť táto hodnota záporná, ak je objekt prevrátený zápornou zmenou mierky.
- Režim (rotácia)
Pre kanály rotácie určuje typ údajov rotácie, ktoré sa majú použiť, vrátane rôznych explicitných Eulerových radov. Predvolene sa použije Eulerov rad cieľa. Pozri Režimy kanálov rotácie.
- Priestor
Svetový priestor, transformovaný priestor, lokálny priestor.
- Rozdiel rotácie
Poskytuje hodnotu rozdielu rotácie medzi dvoma objektami alebo kosťami v radiánoch.
- Kosť
V prípade armatúr názov kosti armatúry. Napríklad: „kost“, „kost.002“, „rameno.p“.
- Vzdialenosť
-
Poskytuje hodnotu vzdialenosti medzi dvoma objektami alebo kosťami.
- Kosť
V prípade armatúr názov kosti armatúry. Napríklad: „kost“, „kost.002“, „rameno.p“.
- Priestor
Svetový priestor, transformovaný priestor, lokálny priestor.
- Vlastnosť kontextu
-
Poskytuje hodnotu vlastnosti, ktorá sa implicitne vzťahuje buď na scénu, alebo na vrstvu pohľadu aktuálne vyhodnocovaného animačného systému. Ide o slabý odkaz, ktorý nevedie k tomu, aby sa scéna alebo vrstva zobrazenia, na ktorú sa odkazuje z ovládača, prepojila pri prepojení animačných údajov.
Príkladom, kedy sa takéto vlastnosti dostávajú do hry, je transformácia aktívnej kamery. Je možné nastaviť ovládač v súbore s postavou a prinútiť ovládač, aby používal nastavenú kameru, keď je postava prepojená do sústavy.
- Kontext
Aktívna scéna, Aktívna vrstva zobrazenia.
- Cesta RNA
Názov RNA vlastnosti založený na vnorenom nastavení syntaxe prístupu k atribútom jazyka Python. Napríklad:
camera.location.x
alebocamera.location[0]
pre hodnotu animačného kanála umiestnenia kamery X (pred rodičovstvom alebo vynúteniami) alebo["prop_name"]
pre svoju vlastnosť.- Spätná väzba
Ak je povolené, umožňuje špecifikovať záložnú hodnotu, ktorá sa použije ako hodnota premennej, ak nie je možné vyriešiť RNA Path, namiesto toho, aby došlo k zlyhaniu vyhodnotenia ovládača.
Táto funkcia môže byť veľmi užitočná na zvýšenie robustnosti ovládačov pri implementácii globálnych možností scény pomocou vlastných vlastností. Keď je objekt prepojený s inou scénou, tieto vlastné vlastnosti tam nemusia existovať a na poskytnutie rozumných predvolených hodnôt sa môžu použiť spätné funkcie.
Spätné väzby možno použiť aj na emuláciu správania sa vyhľadávania v režime Vrstvy zobrazenia atribútu uzla materiálu.
Tip
Hoci hodnoty animačných kanálov x/y/z pre umiestnenie kamery sú prístupné prostredníctvom
camera.location[0/1/2]`
, načítanie jej umiestnenia a orientácie v priestore sveta po priradení rodičovstva a vynútenia v súčasnosti vyžaduje použitiecamera.matrix_world
. Túto vlastnosť možno ľahko pochopiť, ak sa na maticu pozeráme ako na pole štyroch vektorov v priestore Sveta:matrix_world[0][0/1/2]
je vektor smeru Obrazovka vpravo (lokálny X kamery).matrix_world[1][0/1/2]
je vektor smeru Obrazovka hore (lokálny Y kamery).matrix_world[2][0/1/2]
je oproti smeru, ktorým kamera mieri.matrix_world[3][0/1/2]
je poloha kamery.
- Hodnota
Zobrazuje hodnotu premennej.
Režimy kanála rotácie#
Transformácia kanálov rotácie podporuje niekoľko prevádzkových režimov vrátane:
- Automatický Euler
Používa Eulerov rad cieľa na rozloženie rotácie do kanálov.
- Euler XYZ, …
Explicitne určuje Eulerov rad rotácie, ktoré sa má použiť.
- Kvaternión
Poskytuje kvaternión reprezentujúcu rotáciu.
- Výkyv a Zakrútenie X/Y/Z
Rozloží rotáciu na dve časti: rotáciu výkyvu, ktorá smeruje zadanú os v jej konečnom smere, po ktorej nasleduje rotácia zakrútenia okolo tejto osi. Toto je často potrebné na riadenie korekčných kľúčových tvarov a kostí pre organickú rotáciu kĺbov.
Tento rozklad sa často vytvára vo výbavách použitím pomocnej kosti s vynútením Stlmiť dráhu na extrakciu časti výkyvu a jej potomka s kopírovaním transformácie na extrakciu komponentu zakrútenia.
Hodnoty kanálov pre Výkyv a Zakrútenie Y sú:
- Rotácia Y
Skutočný uhol rotácie.
- Rotácia W
Skutočný uhol rotácie výkyvu, nezávislý od jej smeru.
- Rotácia X, Rotácia Z
Vážené uhly, ktoré predstavujú veľkosť výkyvu okolo osi X/Z.
Veľkosť uhla sa rovná Rotácii W, keď sa rotácia uskutočňuje výlučne okolo danej osi a pri zmene smeru smerom k inej osi sa zmenšuje až na nulu, pričom sa riadi krivkami dopadu z grafu vpravo.
Matematicky sa uhly výkyvu vypočítajú zo zložiek kvaterniónu použitím \(2 \arccos(w)\) pre W a \(2 \arcsin(x)\) atď. pre ostatné. Zložka rotácie výkyvu, ktorá zodpovedá osi zakrútenia, je vždy 0 a je nahradená uhlom zakrútenia.
Výrazy#
- Výraz
Textové pole, do ktorého môžete zadať ľubovoľný výraz jazyka Python, ktorý odkazuje na Premenné ovládača podľa ich názvov.
Výraz má prístup k sústave štandardných konštánt a matematických funkcií z modulov
math
,bl_math
a ďalších modulov, ktoré sú k dispozícii v Priestore názvov ovládača. Príklad pridania vlastnej funkcie do priestoru názvov nájdete v príklade Priestor názvov ovládača.Z výkonnostných dôvodov je najlepšie čo najviac používať podskupinu Jednoduché výrazy.
- Použiť vlastné
Ak je táto možnosť povolená, premenná
self
môže byť použitá pre ovládače na odkazovanie na ich vlastné údaje. Užitočné pre objekty a kosti, aby sa zabránilo vytváraniu Premennej ovládača ukazujúcej samú na seba.Príklad:
self.location.x
aplikovaný na vlastnosť Y rotácie toho istého objektu spôsobí, že sa objekt pri pohybe prevráti.Upozorňujeme, že závislosti pre vlastnosti, ku ktorým sa pristupuje cez
self
, nemusia byť úplne snímané.
Jednoduché výrazy#
Blender dokáže priamo vyhodnotiť užitočnú podskupinu výrazov ovládača Python, čo výrazne zvyšuje výkon, najmä na viacjadrových systémoch. Aby ste to mohli využiť, výraz ovládača musí používať iba nasledujúce funkcie:
- Názvy premenných
Používajte len znaky ASCII.
- Literály
Celé číslo s pohyblivou desatinnou čiarkou a celé desatinné číslo.
- Globály
frame
- Konštanty
pi
,True
,False
- Operátory
+
,-
,*
,/
,==
,!=
,<
,<=
,>
,>=
,and
,or
,not
, podmienený operátor/ trojité if- Štandardné funkcie
min
,max
,radians
,degrees
,abs
,fabs
,floor
,ceil
,trunc
,round
,int
,sin
,cos
,tan
,asin
,acos
,atan
,atan2
,exp
,log
,sqrt
,pow
,fmod
- Funkcie poskytované Blenderom
lerp
,clamp
,smoothstep
Jednoduché výrazy sa vyhodnocujú, aj keď je vykonávanie skriptov Python zakázané.
Ak sa použije výraz mimo tejto podskupiny, Blender zobrazí upozornenie „Spomalenie výrazu Python“. Pokiaľ však väčšina ovládačov používa jednoduché výrazy, použitie zložitého výrazu v niekoľkých vybraných je v poriadku.
Viď aj