見出し画像

Resoniteで距離に應じてモノを操作(移動・囘轉・擴大縮小・表示非表示)する方法【UserDistanceValueDriver】

どうも、萬朶櫻です。

Resoniteでは、ユーザーの距離におうじて、物體オブジェクトなどに色んな動きをさせることが出來ます。

  • 近づくと出現し、遠ざかると消えるポスター

  • 距離におうじて大きさがはる看板

  • 自動ドア(近づくと開き、離れると閉ぢる)

UserDistanceValueDriverといふコンポーネントで實現じつげんできることが分かりましたので、今囘はそれを紹介しようと思ひます


UserDistanceValueDriver<T>と、その型

UserDistanceValueDriverの場所は次の通り。

このコンポーネントは、更に「型」を指定する必要がある。

「UserDistanceValueDriver<T>」の「<T>」は、「データタイプ(Data Type)」の「T」と思はれる。

緑色背景の「UserDistanceValueDriver<T>」の項目を開くと、更に次の通り、どの型のUserDistanceValueDriverを使ふかを決めて、その型のUserDistanceValueDriverを割りてることになる。

とても種類が多いが、よく使はれる型は限られる

實際じつさいに何かの値を切り替へる

UserDistanceValueDriverで操作するのは次の項目。

  • Node」に「None」以外(だいたいHeadとかで良い)を

  • Distance」に値を切り替へる基準の距離を

  • TargetField」に操作したい物を

  • NearValue」に「Distance」で設定した距離よりも近い時の値を

  • FarValue」に「Distance」で設定した距離よりも遠い時の値を

それぞれ入れるとよい。


それにより、次の状態を操作できる。

  • 物體オブジェクトの何らかの状態

    • 位置(Position)

    • 囘轉(Rotation)

    • 大きさ(Scale)

    • 色(Color)

    • 表示・非表示(Active)

  • 他のコンポーネントなどの状態

    • 有效・無效(Active)

    • その他の値

位置・大きさを切り替へる(UserDistanceValueDriver<float3>)

PositionまたはScaleの「Position」「Scale」と書かれた文字の所を直接摑んで、TargetFIeldの「null」の所で離す。

その後、「Distance」と「NearValue」「FarValue」の所を好きな値に設定する。また、「Node」に「None」以外(だいたいHeadとかで良い)を指定する。

囘轉Rotationの角度を切り替へる(UserDistanceValueDriver<floatQ>)

Rotationの「Rotation」と書かれた文字の所を直接摑んで、TargetFIeldの「null」の所で離す。

その後、「Distance」と「NearValue」「FarValue」の所を好きな値に設定する。また、「Node」に「None」以外(だいたいHeadとかで良い)を指定する。

色を切り替へる(UserDistanceValueDriver<ColorX>)

色をへたいマテリアルを開き、變へたい所の文字を直接摑んで、TargetFIeldの「null」の所で離す。

その後、「Distance」と「NearValue」「FarValue」の所を好きな値に設定する。また、「Node」に「None」以外(だいたいHeadとかで良い)を指定する。

表示・非表示、有效か無效かを切り替へる(UserDistanceValueDriver<bool>)

そのスロット(オブジェクト)のActiveの「Active」と書かれた文字の所を直接摑んで、TargetFIeldの「null」の所で離す。

または、別コンポーネントのEnabledの「Enabled」と書かれた文字の所を直接摑んで、TargetFIeldの「null」の所で離す。

その後、「Distance」と「NearValue」「FarValue」の所を好きな値に設定する。また、「Node」に「None」以外(だいたいHeadとかで良い)を指定する。


以下のワールド「アバター自慢會 展示會場」にある萬朶櫻ブースでは、小さい立ちに「UserDistanceValueDriver」を使って、近づくと立ち繪が出現するといふ仕掛けを組み込んでゐる。

https://go.resonite.com/record/U-1NjMijcBmim/R-2578ad2e-c167-4736-91cd-0aeab04d2d80

UserDistanceValueDriverの各項目

  • Persistent: このコンポーネントを充てられてゐる物をインベントリなどに保存する時に、このコンポーネントも一緒に保存するかどうか

  • UpdateOrder: このコンポーネントの更新順序

  • Enabled: このコンポーネントを有效・無效


  • Node: どこを規準にするか

    • None: デフォルト値。何も參照してゐない。(内部の處理しよりはともかく)EnabledをOFFにした時と見かけ上は同じになる

    • Root: ユーザーのROOT(からだ全體ぜんたい)の原點ぐゑんてん

    • GroundProjectedHead: よく解らないが、「Feet」の時と同じやうな動きをする

    • Head: ユーザーの頭部

    • Hips: ユーザーの腰部

    • Feet: ユーザーの脚部

    • View: ユーザーの目の位置

  • Distance: 値が切り替はる距離

  • TargetField: どの値を切り替へるか

  • NearValue: Distanceで決めた距離よりも近い時の値。ここの形式は、データ型の種類によって異なる

  • FarValue: Distanceで決めた距離よりも遠い時の値。ここの形式は、データ型の種類によって異なる

この記事が気に入ったらサポートをしてみませんか?