Interaktivní prvek [experimentální] – MRTK2
Zjednodušený centralizovaný vstupní bod do vstupního systému MRTK. Obsahuje metody správy stavu, správu událostí a logiku nastavení stavu pro základní stavy interakce.
Interactive Element je experimentální funkce podporovaná v Unity 2019.3 a novějších verzích, protože využívá novou funkci Unity 2019.3: Serializovat reference.
Interaktivní inspektor elementů
Během režimu přehrávání poskytuje inspektor interaktivních prvků vizuální zpětnou vazbu, která označuje, jestli je aktuální stav aktivní nebo ne. Pokud je stav aktivní, zvýrazní se azurovou barvou. Pokud stav není aktivní, barva se nezmění. Čísla vedle stavů v inspektoru jsou hodnoty stavu, pokud je stav aktivní, pak hodnota je 1, pokud stav není aktivní, hodnota je 0.
Základní stavy
Interactive Element obsahuje základní stavy a podporuje přidání vlastních stavů. Základní stav je ten, který už má logiku nastavení stavu definovanou v nástroji BaseInteractiveElement
. Následuje seznam aktuálních stavů jádra řízených vstupy:
Aktuální základní stavy
Základní stavy blízké a vzdálené interakce:
Blízké základní stavy interakce:
Základní stavy vzdálené interakce:
Ostatní základní stavy:
Postup přidání základního stavu prostřednictvím inspektoru
V inspektoru interaktivního elementu přejděte na Přidat stav jádra .
Vyberte tlačítko Vybrat stav a zvolte základní stav, který chcete přidat. Stavy v nabídce jsou seřazené podle typu interakce.
Otevřete přeložku Konfigurace událostí a zobrazte události a vlastnosti spojené se stavem.
Postup přidání základního stavu prostřednictvím skriptu
AddNewState(stateName)
Pomocí metody přidejte základní stav. Seznam dostupných názvů základních států najdete v výčtu CoreInteractionState
.
// Add by name or add by CoreInteractionState enum to string
interactiveElement.AddNewState("SelectFar");
interactiveElement.AddNewState(CoreInteractionState.SelectFar.ToString());
Vnitřní struktura stavů
Stavy v interaktivním elementu jsou typu InteractionState
. An InteractionState
obsahuje následující vlastnosti:
- Název: Název státu.
- Hodnota: Hodnota stavu. Pokud je stav zapnutý, hodnota stavu je 1. Pokud je stav vypnutý, hodnota stavu je 0.
- Aktivní: Určuje, jestli je stav aktuálně aktivní. Hodnota vlastnosti Active je true, když je stav zapnutý, false, pokud je stav vypnutý.
- Typ interakce: Typ interakce stavu je typ interakce, pro který je stav určen.
None
: Nepodporuje žádnou formu interakce vstupu.Near
: Podpora blízké interakce. Vstup se považuje za blízkou interakci, když má artikulovaná ruka přímý kontakt s jiným herním objektem, tj. umístění artikulované ruky blízko pozice herního objektu ve světovém prostoru.Far
: Podpora vzdálené interakce. Vstup se považuje za dalekou interakci, když se nevyžaduje přímý kontakt s herním objektem. Například vstup prostřednictvím paprsku kontroleru nebo pohledu se považuje za vstup vzdálené interakce.NearAndFar
: Zahrnuje podporu blízké i vzdálené interakce.Other
: Podpora interakce nezávislé na ukazateli.
- Konfigurace události: Konfigurace události pro stav je vstupní bod profilu serializovaných událostí.
Všechny tyto vlastnosti jsou nastaveny interně v interaktivním elementu State Manager
. Pro úpravu stavů použijte následující pomocné metody:
Pomocné metody nastavení stavu
// Get the InteractionState
interactiveElement.GetState("StateName");
// Set a state value to 1/on
interactiveElement.SetStateOn("StateName");
// Set a state value to 0/off
interactiveElement.SetStateOff("StateName");
// Check if a state is present in the state list
interactiveElement.IsStatePresent("StateName");
// Check whether or not a state is active
interactiveElement.IsStateActive("StateName");
// Add a new state to the state list
interactiveElement.AddNewState("StateName");
// Remove a state from the state list
interactiveElement.RemoveState("StateName");
Získání konfigurace události stavu je specifické pro samotný stav. Každý stav jádra má konkrétní typ konfigurace události, který je uveden níže v částech popisujících jednotlivé stavy jádra.
Tady je zobecněný příklad získání konfigurace událostí stavu:
// T varies depending on the core state - the specific T's are specified under each of the core state sections
T stateNameEvents = interactiveElement.GetStateEvents<T>("StateName");
Výchozí stav
Výchozí stav je vždy k dispozici v interaktivním elementu. Tento stav bude aktivní jenom v případě, že nejsou aktivní všechny ostatní stavy. Pokud se aktivuje jakýkoli jiný stav, nastaví se výchozí stav interně na vypnuto.
Interaktivní prvek je inicializován se stavy Výchozí a Fokus v seznamu stavů. V seznamu stavů musí být vždy uveden výchozí stav.
Získání výchozích událostí stavu
Typ konfigurace události pro výchozí stav: StateEvents
StateEvents defaultEvents = interactiveElement.GetStateEvents<StateEvents>("Default");
defaultEvents.OnStateOn.AddListener(() =>
{
Debug.Log($"{gameObject.name} Default State On");
});
defaultEvents.OnStateOff.AddListener(() =>
{
Debug.Log($"{gameObject.name} Default State Off");
});
Stav fokusu
Stav fokusu je stav blízké a vzdálené interakce, který si můžete představit jako hybridní realitu, která odpovídá najetí myší. Rozlišovací faktor mezi blízkou a vzdálenou interakcí pro stav fokusu je aktuální typ aktivního ukazatele. Pokud je typ ukazatele pro stav fokusu Ukazatel poke, považuje se interakce za blízkou interakci. Pokud primárním ukazatelem není Ukazatel poke, pak se interakce považuje za vzdálenou interakci. Stav fokusu je ve výchozím nastavení v interaktivním elementu.
Chování stavu
Stav kontroly stavu
Získání událostí stavu fokusu
Typ konfigurace události pro stav fokusu: FocusEvents
FocusEvents focusEvents = interactiveElement.GetStateEvents<FocusEvents>("Focus");
focusEvents.OnFocusOn.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Focus On");
});
focusEvents.OnFocusOff.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Focus Off");
});
Fokus blízko vs. vzdálené chování fokusu
Fokus blízko státu
Stav Blízko fokusu se nastaví při vyvolání události fokusu a primárním ukazatelem je ukazatel Poke, který označuje blízkou interakci.
Focus Near State Behavior
Focus Near State Inspector
Získání událostí FocusNear State
Typ konfigurace události pro focusNear State: FocusEvents
FocusEvents focusNearEvents = interactiveElement.GetStateEvents<FocusEvents>("FocusNear");
focusNearEvents.OnFocusOn.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Near Interaction Focus On");
});
focusNearEvents.OnFocusOff.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Near Interaction Focus Off");
});
Fokus na dálku
Stav Fokusu daleko se nastaví, když primárním ukazatelem není ukazatel Poke. Například výchozí ukazatel paprsku kontroleru a ukazatel GGV (Gaze, Gesture, Voice) jsou považovány za ukazatele vzdálené interakce.
Chování fokusu v
Součást Fokus far State Inspector
Získání událostí vzdáleného stavu fokusu
Typ konfigurace události pro stav FocusFar: FocusEvents
FocusEvents focusFarEvents = interactiveElement.GetStateEvents<FocusEvents>("FocusFar");
focusFarEvents.OnFocusOn.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Focus On");
});
focusFarEvents.OnFocusOff.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Focus Off");
});
Stav dotykového ovládání
Stav dotykového ovládání je stav blízké interakce, který se nastaví, když se artikulovaná ruka dotkne objektu přímo. Přímý dotyk znamená, že ukazováček artikulované ruky je velmi blízko světové pozici objektu. Ve výchozím nastavení NearInteractionTouchableVolume
je komponenta připojena k objektu, pokud je stav dotykového ovládání přidán do seznamu stavů. K detekci událostí dotykového NearInteractionTouchableVolume
ovládání se vyžaduje přítomnost komponenty nebo NearInteractionTouchable
. Rozdíl mezi NearInteractionTouchableVolume
a NearInteractionTouchable
spočívá v tom, že NearInteractionTouchableVolume
detekuje dotyk na základě uchytávače objektu a NearInteractionTouchable
detekuje dotyk v definované oblasti roviny.
Dotykové chování stavu
Touch State Inspector
Získávání událostí stavu dotykového ovládání
Typ konfigurace události pro stav dotykového ovládání: TouchEvents
TouchEvents touchEvents = interactiveElement.GetStateEvents<TouchEvents>("Touch");
touchEvents.OnTouchStarted.AddListener((touchData) =>
{
Debug.Log($"{gameObject.name} Touch Started");
});
touchEvents.OnTouchCompleted.AddListener((touchData) =>
{
Debug.Log($"{gameObject.name} Touch Completed");
});
touchEvents.OnTouchUpdated.AddListener((touchData) =>
{
Debug.Log($"{gameObject.name} Touch Updated");
});
Výběr vzdáleného státu
Stav Vybrat daleko je IMixedRealityPointerHandler
zobrazení. Tento stav je stav vzdálené interakce, který detekuje kliknutí na dalekou interakci (klepnutí vzduchem) a drží se pomocí ukazatelů vzdálené interakce, jako je výchozí ukazatel paprsku kontroleru nebo ukazatel GGV. Možnost Select Far state (Vybrat daleko) má možnost v překládání konfigurace události s názvem Global
. Pokud Global
je true, pak IMixedRealityPointerHandler
je registrován jako globální vstupní obslužná rutina. Fokus na objekt není nutný k aktivaci událostí vstupního systému, pokud je obslužná rutina registrována jako globální. Pokud například uživatel chce vědět, kdykoli se provede gesto klepnutí nebo výběr vzduchu bez ohledu na objekt v fokusu, nastavte Global
na hodnotu true.
Vybrat chování vzdáleného stavu
Výběr možnosti Vzdálená kontrola stavu
Získání událostí vybrat vzdálený stav
Typ konfigurace události pro stav SelectFar: SelectFarEvents
SelectFarEvents selectFarEvents = interactiveElement.GetStateEvents<SelectFarEvents>("SelectFar");
selectFarEvents.OnSelectUp.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Pointer Up");
});
selectFarEvents.OnSelectDown.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Pointer Down");
});
selectFarEvents.OnSelectHold.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Pointer Hold");
});
selectFarEvents.OnSelectClicked.AddListener((pointerEventData) =>
{
Debug.Log($"{gameObject.name} Far Interaction Pointer Clicked");
});
Stav kliknutí
Stav Kliknutí se ve výchozím nastavení aktivuje kliknutím na dalekou interakci (Vybrat stav Daleko). Tento stav se interně přepne do polohy Zapnuto, vyvolá událost OnClicked a okamžitě se přepne do polohy Vypnuto.
Poznámka
Vizuální zpětná vazba v inspektoru založená na aktivitě stavu není k dispozici pro stav Kliknutí, protože je okamžitě zapnutá a vypnutá.
Clicked State Behavior (Chování stavu
Clicked State Inspector
Příklad blízkého a dalece klikaného stavu
Stav kliknutí lze aktivovat prostřednictvím dalších vstupních bodů pomocí interactiveElement.TriggerClickedState()
metody . Pokud například uživatel chce, aby dotykem blízké interakce aktivovalo kliknutí na objekt, přidal by metodu TriggerClickedState()
jako naslouchací proces ve stavu dotykového ovládání.
Získávání událostí stavu kliknutí
Typ konfigurace události pro stav kliknutí: ClickedEvents
ClickedEvents clickedEvent = interactiveElement.GetStateEvents<ClickedEvents>("Clicked");
clickedEvent.OnClicked.AddListener(() =>
{
Debug.Log($"{gameObject.name} Clicked");
});
Přepnout zapnuto a vypnout stav
Stavy Zapnout a Vypnout jsou dvojice a oba stavy musí být k dispozici pro chování přepínače. Ve výchozím nastavení se stavy Přepnout a Vypnout aktivují kliknutím na dalekou interakci (vyberte vzdálený stav). Ve výchozím nastavení je stav Přepnout vypnuto aktivní při spuštění, což znamená, že přepínač se inicializuje na vypnuto. Pokud uživatel chce, aby byl stav Přepnout zapnutý na začátku, pak ve stavu Přepnout na hodnotu IsSelectedOnStart
true.
Funkce ToggleOn a Toggle Off State Behavior
Součást ToggleOn a Toggle Off State Inspector
Příklad blízkých a vzdálených přepínacích stavů
Podobně jako ve stavu Kliknutí může mít nastavení přepínacího stavu více vstupních bodů pomocí interactiveElement.SetToggleStates()
metody . Pokud například uživatel chce dotykové ovládání jako další vstupní bod pro nastavení přepínacích stavů, přidá metodu SetToggleStates()
k jedné z událostí ve stavu Dotykové ovládání.
Načítají se události stavu, které jsou zapnuté a vypnuté.
Typ konfigurace události pro přepínací stav: ToggleOnEvents
Typ konfigurace události pro stav ToggleOff: ToggleOffEvents
// Toggle On Events
ToggleOnEvents toggleOnEvent = interactiveElement.GetStateEvents<ToggleOnEvents>("ToggleOn");
toggleOnEvent.OnToggleOn.AddListener(() =>
{
Debug.Log($"{gameObject.name} Toggled On");
});
// Toggle Off Events
ToggleOffEvents toggleOffEvent = interactiveElement.GetStateEvents<ToggleOffEvents>("ToggleOff");
toggleOffEvent.OnToggleOff.AddListener(() =>
{
Debug.Log($"{gameObject.name} Toggled Off");
});
Stav klíčových slov řeči
Stav Klíčové slovo řeči naslouchá klíčovým slovům definovaným v profilu Mixed Reality řeči. Všechna nová klíčová slova musí být před spuštěním zaregistrovaná v profilu příkazu speech (postup najdete níže).
Chování klíčového slova funkce Speech Klíčové
Komponenta klíčového slova pro kontrolu stavu funkce Speech Klíčové slovo řeči
Poznámka
Stav klíčového slova speech se aktivoval v editoru stisknutím klávesy F5 ve výše uvedeném obrázku gif. Nastavení při testování řeči v editoru je popsané v následujících krocích.
Registrace příkazu nebo klíčového slova služby Speech
Vyberte objekt hry MixedRealityToolkit .
Vyberte Kopírovat a přizpůsobit aktuální profil.
Přejděte do části Vstup a výběrem možnosti Klonovat povolte úpravu vstupního profilu.
Posuňte se dolů do části Speech ve vstupním profilu a naklonujte profil řeči.
Vyberte Přidat nový příkaz pro řeč.
Zadejte nové klíčové slovo. Volitelné: Změňte kód klíče na F5 (nebo jiný kód klíče), aby bylo možné testovat v editoru.
Zpět do stavového inspektoru Interactive Element Speech Keyword a vyberte Přidat klíčové slovo.
Zadejte nové klíčové slovo, které bylo právě zaregistrováno v profilu služby Speech.
Pokud chcete otestovat stav klíčového slova řeči v editoru, stiskněte keycode, který byl definován v kroku 6 (F5), aby se simulovala událost rozpoznávání klíčového slova řeči.
Získání událostí stavu klíčových slov řeči
Typ konfigurace události pro stav SpeechKeyword: SpeechKeywordEvents
SpeechKeywordEvents speechKeywordEvents = interactiveElement.GetStateEvents<SpeechKeywordEvents>("SpeechKeyword");
speechKeywordEvents.OnAnySpeechKeywordRecognized.AddListener((speechEventData) =>
{
Debug.Log($"{speechEventData.Command.Keyword} recognized");
});
// Get the "Change" Keyword event specifically
KeywordEvent keywordEvent = speechKeywordEvents.Keywords.Find((keyword) => keyword.Keyword == "Change");
keywordEvent.OnKeywordRecognized.AddListener(() =>
{
Debug.Log("Change Keyword Recognized");
});
Vlastní stavy
Jak vytvořit vlastní stav prostřednictvím inspektoru
Vlastní stav vytvořený prostřednictvím inspektoru se inicializuje s výchozí konfigurací události stavu. Výchozí konfigurace události pro vlastní stav je typu StateEvents
a obsahuje události OnStateOn a OnStateOff.
V inspektoru interaktivního elementu přejděte na Vytvořit vlastní stav .
Zadejte název nového stavu. Tento název musí být jedinečný a nesmí být stejný jako existující základní stavy.
Vyberte Nastavit název státu a přidejte ho do seznamu stavů.
Tento vlastní stav se inicializuje s výchozí
StateEvents
konfigurací událostí, která obsahujeOnStateOn
události aOnStateOff
. Pokud chcete vytvořit vlastní konfiguraci událostí pro nový stav, přečtěte si téma : Vytvoření vlastního stavu pomocí konfigurace vlastní události.
Vytvoření vlastního stavu pomocí skriptu
interactiveElement.AddNewState("MyNewState");
// A new state by default is initialized with a the default StateEvents configuration which contains the
// OnStateOn and OnStateOff events
StateEvents myNewStateEvents = interactiveElement.GetStateEvents<StateEvents>("MyNewState");
myNewStateEvents.OnStateOn.AddListener(() =>
{
Debug.Log($"MyNewState is On");
});
Vytvoření vlastního stavu s vlastní konfigurací událostí
Ukázkové soubory pro vlastní stav s názvem Klávesnice najdete tady: MRTK\SDK\Experimental\InteractiveElement\Examples\Scripts\CustomStateExample
Následující postup vás provede existujícím příkladem vytvoření vlastní konfigurace událostí stavu a souborů příjemce.
Představte si název státu. Tento název musí být jedinečný a nesmí být stejný jako existující základní stavy. Pro účely tohoto příkladu bude název státu Klávesnice.
Vytvořte dva soubory .cs s názvem state name + "Receiver" a state name + "Events". Pojmenování těchto souborů se bere v úvahu interně a musí se řídit konvencí pro název stavu + událost/příjemce.
Další podrobnosti o obsahu souboru najdete v souborech KeyboardEvents.cs a KeyboardReceiver.cs. Nové třídy konfigurace událostí musí dědit z
BaseInteractionEventConfiguration
a nové třídy příjemců událostí musí dědit zBaseEventReceiver
. Příklady nastavení stavu pro stav klávesnice najdete vCustomStateSettingExample.cs
souboru .Přidejte stav do interaktivního elementu pomocí názvu stavu. Název stavu se rozpozná, pokud existují konfigurace událostí a soubory příjemce událostí. Vlastnosti v konfiguračním souboru vlastní události by se měly zobrazit v inspektoru.
Další příklady konfigurace událostí a souborů příjemců událostí najdete v souborech v těchto cestách:
- MRTK\SDK\Experimental\InteractiveElement\InteractiveElement\Events\EventConfigurations
- MRTK\SDK\Experimental\InteractiveElement\InteractiveElement\Events\EventReceivers
Příklad scény
Ukázková scéna pro Vizualizér interaktivních elementů a stavů se nachází tady: MRTK\SDK\Experimental\InteractiveElement\Examples\InteractiveElementExampleScene.unity
Tlačítko Komprimovatelné
Ukázková scéna obsahuje prefaby s názvem CompressableButton
a CompressableButtonToggle
, tyto prefaby odrážejí chování tlačítek vytvořených pomocí interaktivního PressableButtonHoloLens2
elementu a vizualizéru stavu.
Komponenta CompressableButton
je v současné době kombinací PressableButton
+ PressableButtonHoloLens2
s BaseInteractiveElement
jako základní třída.
Vizualizér stavu [experimentální]
Komponenta Vizualizér stavu přidá animace do objektu na základě stavů definovaných v propojené komponentě Interactive Element. Tato komponenta vytvoří animační assety, umístí je do složky MixedRealityToolkit.Generated a povolí zjednodušené nastavení klíčových snímků animace přidáním animovatelných vlastností k cílovému hernímu objektu. Pokud chcete povolit animační přechody mezi stavy, vytvoří se asset Animator Controller a vygeneruje se výchozí stavový počítač s přidruženými parametry a všemi přechody stavu. Stavový počítač můžete zobrazit v okně Animatoru Unity.
Vizualizér stavu a animační systém Unity
Vizualizér stavu aktuálně využívá animační systém Unity.
Když stisknete tlačítko Generovat nové klipy animace ve Vizualizéru stavu, nové klipy animace se vygenerují na základě názvů stavů v interaktivním elementu a umístí se do složky MixedRealityToolkit.Generated. Vlastnost Klip animace v každém kontejneru stavu je nastavená na přidružený klip animace.
Vygeneruje se také stavový počítač Animatoru pro správu plynulého přechodu mezi klipy animace. Ve výchozím nastavení stavový počítač využívá Any State k povolení přechodů mezi libovolným stavem v interaktivním elementu.
Vizualizéry stavu aktivované v animátoru se také generují pro každý stav. Parametry triggeru se používají ve Vizualizéru stavu k aktivaci animace.
Omezení modulu runtime
Vizualizér stavu musí být přidán do objektu prostřednictvím inspektoru a nelze ho přidat pomocí skriptu. Vlastnosti, které upravují AnimatorStateMachine/AnimationController, jsou obsaženy v oboru názvů editoru (UnityEditor.Animations
), který se při sestavení aplikace odebere.
Jak používat Vizualizér stavu
Vytvoření datové krychle
Připojit interaktivní element
Vizualizér stavu připojení
Vyberte Generovat nové klipy animace.
V kontejneru Stav fokusu vyberte Přidat cíl.
Přetažení aktuálního herního objektu do cílového pole
Otevření animatovatelné vlastnosti datové krychle
Vyberte rozevírací nabídku vlastnosti Animatable a vyberte Barva.
Vyberte Přidat vlastnost Animatable barvy.
Zvolit barvu
Stiskněte tlačítko Přehrát a sledujte přechodovou změnu barvy.
Animovatelné vlastnosti
Hlavním účelem animatovatelné vlastnosti je zjednodušit nastavení klíčových snímků klipu animace. Pokud je uživatel obeznámen se systémem Unity Animation a dává přednost přímému nastavení klíčových snímků na vygenerovaných klipech animace, pak jednoduše nemůže přidat animatovatelné vlastnosti k cílovému objektu a otevřít klip v okně Animace Unity (Windows > Animation > ).
Pokud pro animaci používáte vlastnosti Animatable, je typ křivky nastavený na EaseInOut.
Aktuální animatovatelné vlastnosti:
Posun měřítka
Vlastnost Scale Offset Animatable převezme aktuální měřítko objektu a přidá definovaný posun.
Posun pozice
Position Offset Animatable vlastnost přebírá aktuální pozici objektu a přidává definovaný posun.
Barva
Vlastnost Color Animatable představuje hlavní barvu materiálu, pokud má hlavní vlastnost barvy. Tato vlastnost animuje material._Color
vlastnost.
Barva shaderu
Vlastnost Shader Color Animatable odkazuje na vlastnost shaderu typu barva. Název vlastnosti je vyžadován pro všechny vlastnosti shaderu. Následující obrázek gif ukazuje animování vlastnosti barvy shaderu s názvem Fill_Color, která není hlavní barvou materiálu. Sledujte změny hodnot v inspektoru materiálu.
Float shaderu
Vlastnost Shader Float Animatable odkazuje na vlastnost shaderu typu float. Název vlastnosti je vyžadován pro všechny vlastnosti shaderu. V následujícím obrázku gif sledujte změny hodnot v inspektoru materiálu pro vlastnost Metallic.
Vektor shaderu
Vlastnost Shader Vector Animatable odkazuje na vlastnost shaderu typu Vector4. Název vlastnosti je vyžadován pro všechny vlastnosti shaderu. V následujícím obrázku gif sledujte změny hodnot v inspektoru materiálu pro vlastnost Odklácení (Hlavní Tex_ST).
Jak najít animatovatelné názvy vlastností shaderu
Přechod na animaci > okna >
Ujistěte se, že je v hierarchii vybraný objekt s vizualizérem stavu.
Výběr libovolného klipu animace v okně animace
Vyberte Přidat vlastnost a otevřete překlopení rendereru sítě.
Tento seznam obsahuje názvy všech názvů vlastností, které se dají animatovat.