modular-avatar/docs~/i18n/ja/docusaurus-plugin-content-docs/current/reference/reactive-components/index.md

3.3 KiB

sidebar_position
1

反射コンポーネント

反射コンポーネントとは、付属しているGameObject、その親のアクティブ状態、そしてMenu Itemの選択状態に応じて何かを 引き起こすコンポーネントです。これにより、手動でアニメーションを設定することなく、簡単なトグルを構築したり、衣装の状態に応じてブレンドシェープを 変えたりすることができます。

現在利用可能な反射コンポーネントは次の通りです:

  • Object Toggle - 他のゲームオブジェクトのアクティブ状態を制御します
  • Shape Changer - レンダラーのブレンドシェープを変更します

反射コンポーネントの一般的なルール

一般的に、反射コンポーネントは起動状態ときに何らかの効果を適用します。反射コンポーネントは次の条件が満たされるときに起動状態とみなされます:

  • 付属しているGameObjectとその親がシーン階層でアクティブである
  • 反射オブジェクトがMenu Itemと同じGameObjectにある場合、Menu Itemが選択されている

アバターを構築した後、反射コンポーネントは以下に反応します:

  • GameObjectの状態を変更するアニメーション
  • 他の反射コンポーネントのアクティブ状態に影響を与えるObject Toggle
  • Menu Itemの選択

優先ルール

同時に複数の反射コンポーネントが起動状態であり、その効果が競合する場合(例: 1つがゲームオブジェクトをオフにしようとし、もう1つが オンにしようとする場合)、階層の一番下にあるコンポーネントが優先されます。

反応タイミング

GameObjectのアクティブ状態の変更に反応する反射コンポーネントは、1フレームの遅延後に反応します。ゲームオブジェクトが非アクティブになる場合、 ゲームオブジェクトの非アクティブ化は1フレーム遅れて行われ、同時に行われます。この理由についてはShape Changer を 参照してください。

1つの反射コンポーネントが他の反射コンポーネントの状態を制御する場合、各反射コンポーネントの発動に1フレームの遅延があります。遅延は 個々の反射コンポーネントに適用され、A -> B -> Cのような構造でAがオフになる場合、タイミングは次のようになります:

  • フレーム1: 何も起こらない(Aの無効化が遅延)
  • フレーム2: Aが無効化される(Bの無効化が遅延)
  • フレーム3: BとCが同時に無効化される

プレビューシステム

反射コンポーネントのメッシュ可視性への影響は、エディタのシーンビューに即座に反映されます。ただし、これにはいくつかの制限があります。特に、 オブジェクトの現在のアクティブ状態とMenu Itemの「デフォルト」状態を考慮しますが、Object Toggleが他の反射コンポーネントに与える影響は考慮しません。 反射コンポーネントの完全な効果を見るには、再生モードに入る必要があります。