夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Elastic System Examples ~MixedRealityToolkitExamplesを触ってみる。 その⑤ 4D Quaternion Snapping

本日はMRTKExamples の調査枠です。

Elastic System Examplesを調査します。

〇Elastic System Examplesとは?

Elastic System ExamplesはMRTKで物理シュミュレーションを提供する機能を見ることができるデモシーンです。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

〇Advanced Configurations

f:id:Holomoto-Sumire:20201106090858j:plain

[Advanced Configurations]は[Basic ObjectManipulator Integration]同様3つのオブジェクトで構成されています。 そのうち4D Quaternion Snappingを除く二つに関しては以前中身を除いています。

〇3D Spring Extent

redhologerbera.hatenablog.com

〇3D Interval Snapping

redhologerbera.hatenablog.com

〇4D Quaternion snapping

f:id:Holomoto-Sumire:20201116085504j:plain

[4D Wuaternion snapping]オブジェクトでは繰り返しオイラー角でののスナップ間隔が指定されています。

f:id:Holomoto-Sumire:20201116091234g:plain

このオブジェクトは他のElasticSystemのオブジェクトと違い移動することはできません、しかしその場で回転を与えることでスナップが働きます。

・回転の機能

 MRTKで提供されている機能でオブジェクトをつかむことを検知する[NearInteractionGrabbable]コンポーネントと[Object Manipulator]コンポーネントによってオブジェクトを動かすことができます。

 f:id:Holomoto-Sumire:20201116092132j:plain

しかしこの状態ではオブジェクトが回転だけではなく移動します。

そこで移動の制御を行うための[MoveAxisConstraint]コンポーネントがアタッチされています。

f:id:Holomoto-Sumire:20201116092325j:plain

ここで設定された値で移動が制限(移動しなくなる)されます。

このコンポーネントと設定を行うことで移動をせず回転のみを行う設定になっています。

〇Elastic System

[Elastic Manager]コンポーネントでは[Manipulation types using elastic feedback:]に[Rotate]が設定されており、回転の運動に対して物理シュミュレーションが行われるようになっています。

f:id:Holomoto-Sumire:20201116092935j:plain

[Rotation Elastic Extent]の[Snap Points]で物理シュミュレーションの設定が行われています。

f:id:Holomoto-Sumire:20201116093044j:plain

[MoveAxisConstraint]コンポーネントと[Elastic Manager]によって4D Quaternion Snappingの動きを実現しています。