本日はMRTKのExamplesシーンの勉強枠です。
Elastic System Examplesを調査していきます。
〇Elastic Systemとは?
Elasticとは弾性、伸縮性を意味します。
このサンプルではHoloLensのMixedReality体験の中で弾性の物理シュミュレーションを体験することができます。
〇シーン構成
シーンではDiscriptionPanelのほか3つのフィールド分かれてオブジェクトが配置されています。

〇Discription

ほかのサンプルシーン同様このシーンの概要、できることに関して説明がされています。
ElasticSystemはMRTKでのダイナミックで応答性の高いフィードバックとアニメーションを可能にしており、出力は、シェーダー、マテリアル、トランスフォームなどさまざまな形で使用できるようです。
ElasticSystemは、次の2つの構成情報によって駆動されます。
①エクステント情報
定義した最小/最大のエンドポイントとスナップ間隔/ポイントを設定することができます。
②弾性スプリング
その物体の質量、張力定数、エンドスナップスプリング定数、スナップ間隔スプリング定数、ドラッグ/ダンピング係数、スナップポイント半径などを設定できます。
二つの設定を組み合わせることで物理シュミュレーションを行うようです。
〇Basic ObjectManipulator Integration(基本的なオブジェクトマニュピュレーターの統合)
今回は[Basic ObjectManipulator integration]を調査します。

[Basic ObjectManipulator integration]には3つのコーヒーカップオブジェクトが配置されており、それぞれ違う設定となっています。
それぞれを見ていきます。
〇VolumeElasticSystem(体積弾性体)

このマグカップには立体的なバネのような設定がされており、元の位置にはねながら戻るようなっています。
これはカップオブジェクトにアタッチされた[Elastic Manager]コンポーネントによって機能しています。

[Elastic Manager]コンポーネントにはどのように動作するのか?[Transration Elastic]、[Transration Elastic Extent]の設定項目があります。
[Transration Elastic]の設定項目には[Transration Elastic Configuration]がアタッチされており、質量、手の定数、終了定数、スナップ定数が設定できます。

・Mass K
この値を上げることでばねの振幅が大きくゆっくりとなります。 また筆者環境では若干fpsが落ちました。


・Hand K
この値は手の感度に当たるようです。 0にするとつかめないようになります。


・End K
この値を下げることで手を離す前に物理挙動が始まります。


・Snap K
この値は元の場所に戻ろうとする力を指します。


・Drag
この値はばねの抵抗を示します。


以上がTransration Elasticの設定項目です。
次回以降続きを見ていきます。