Panel Ovládače#

../../_images/animation_drivers_drivers-panel_panel.png

Vyskakovacie okno Upraviť ovládač.#

Referencia

Editor:

Editor grafov

Režim:

Ovládače

Panel:

Bočný panel ‣ Ovládače

Skratka:

N

Referencia

Ponuka:

Kontextová ponuka ‣ Upraviť ovládač

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.

../../_images/animation_drivers_drivers-panel_add-variable.png

Tlačidlá Pridať, Kopírovať, Prilepiť.#

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ť
../../_images/animation_drivers_drivers-panel_single-property.png

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 alebo location[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 prilepiť výsledok do ovládača pomocou Prilepiť premenné ovládača.

Kanál transformácie
../../_images/animation_drivers_drivers-panel_transform-channel2.png

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.

../../_images/animation_drivers_drivers-panel_rotational-difference.png
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ť
../../_images/animation_drivers_drivers-panel_distance.png

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
../../_images/animation_drivers_drivers-panel_context-property.png

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 alebo camera.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žitie camera.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ú:

../../_images/animation_drivers_drivers-panel_angle-curve.png

Krivky dopadu pre vážené uhly.#

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.