---
title: ~ Mixed Reality Toolkit V2の試験的機能 ~ Elastic Systemで遊ぶ
tags:  #holomagicians #hololens #mixed reality #mrtk  
author: [Miyaura](https://www.docswell.com/user/m-taka596)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/KJ46P6Q571.jpg?width=480
description: Tokyo HoloLens ミートアップ vol.24~HoloLens日本上陸四周年記念！~LT登壇資料 MRTK V2.5.0のElastic Systemを使って遊んでみた話。 具体的な使い方などは「XRでStylishなUX/UIを実現を可能にするElastic Systemを調べてみた話」https://qiita.com/miyaura/items/2ba85d51220267912d8eでも紹介。動画：https://youtu.be/unpZU2j2M8s
published: January 18, 21
canonical: https://www.docswell.com/s/m-taka596/Z1JVXV-elastic-system-20210118
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/KJ46P6Q571.jpg)

~ Mixed Reality Toolkit V2の試験的機能 ~
Elastic Systemで遊ぶ
takabrz1
大阪駆動開発
Takahiro Miyaura


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LE1V9VP27G.jpg)

Microsoft MVP for Windows Development 2018-2021
某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず）＝ XRは趣味です（貢献領域：Mixed Reality）
宮浦 恭弘
(Miyaura Takahiro)
◼ 大阪駆動開発コミュニティに生息
◼ HoloLens日本販売してからXR系技術に取組む
◼ 普段はよくMixed Reality Toolkitに関する調査している
✓
✓
✓
リリース機能調べたり・・・
面白い機能使ってみたり・・・
新しい実験してフィードバックしたり・・・
◼ 新しい技術や、MRに使えそうな技術を調べる
技術Tips : https://qiita.com/miyaura
takabrz1
※よかったらこれを機にお知り合いになってください


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GEWLQL2272.jpg)

最近の取組み
Mixed Reality Toolkit中心に遊んでます
HoloLens 1アプリのマイグレ
試験的機能を試す
MRDL「Lunar Module」を
HoloLens 2で動かす
魅惑のElastic Systemにハマる
動くけど、コードリファクタリング中
※最終的にMRTK V2で動かす計画
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 4

![Page Image](https://bcdn.docswell.com/page/47ZMWMD4E3.jpg)

今日のお題
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YJ6NGN1GJV.jpg)

魅惑のElastic Systemと戯れる
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJ55V54XJ4.jpg)

代表的なMixed Reality向けライブラリ群
用途/プラットフォームで提供
◼Unity向け
◼クロスプラットフォーム
◼最新バージョンはV2.5.3
✓UX部品
✓イベント制御系 etc…
2021/01/18
◼Unreal向け
◼サブセットがいくつかある
◼第一弾はUXTools for Unreal
◼ 最新はV0.10.0
◼第二弾はGraphics Tools New!
◼ オブジェクトの質感/エフェクト定義を支援
Copyright © 2020 Takahiro Miyaura
◼Unity向け
◼UXデザインのサンプル
◼Periodic Table
◼Lunar Module
◼Surface


# Page. 7

![Page Image](https://bcdn.docswell.com/page/9E2N3NVQ7R.jpg)

代表的なMixed Reality向けライブラリ群
用途/プラットフォームで提供
◼Unity向け
◼クロスプラットフォーム
◼最新バージョンはV2.5.3
✓UX部品
MRTK V2.5.0から追加
✓イベント制御系
etc…
「Elastic System」
を使う
2021/01/18
◼Unreal向け
◼サブセットがいくつかある
◼第一弾はUXTools for Unreal
◼ 最新はV0.10.0
◼第二弾はGraphics Tools New!
◼ オブジェクトの質感/エフェクト定義を支援
Copyright © 2020 Takahiro Miyaura
◼Unity向け
◼UXデザインのサンプル
◼Periodic Table
◼Lunar Module
◼Surface


# Page. 8

![Page Image](https://bcdn.docswell.com/page/D7YP1P3Y7M.jpg)

Elastic Systemとは
コンテンツに弾性表現を追加できる
「見えないバネ」でコンテンツの動きにアクセントを
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 9

![Page Image](https://bcdn.docswell.com/page/VEN525VRJ8.jpg)

堪能した・・・
カクつく対策
youtube公開動画リンク
指先に追従するバネ付きオブジェクトを振り回すだけのアプリ
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 10

![Page Image](https://bcdn.docswell.com/page/Y79Y1Y6ZE3.jpg)

Elastic Systemの導入
Object Manipulatorと組合わせる
設定だけでこんな動きが！
2021/01/18
演算結果を活用する
実装でアクセントを加えること可能
Copyright © 2020 Takahiro Miyaura


# Page. 11

![Page Image](https://bcdn.docswell.com/page/G78646PYJD.jpg)

Elastic Systemの導入
Object Manipulatorとの組合せ
物体を一定範囲に閉じ込める
物体をポイント毎にスナップ動作
移動に遊びを加える
2021/01/18
Copyright © 2020 Takahiro Miyaura
Object Manipulatorのパラメータで
Elastic Managerを追加するだけ


# Page. 12

![Page Image](https://bcdn.docswell.com/page/L7L96919ER.jpg)

独自実装も簡単！
XXXXElasticSystemクラスの初期化と呼出のみ
[SerializeField]
// The elastic properties of our springs.
private ElasticProperties elasticProperties = new ElasticProperties {
Mass = 0.4f,
HandK = 4.0f,
EndK = 4.0f,
SnapK = 1.0f,
Drag = 0.6f
};
以下の型に対応
Float, Vector3, Quaternion
ばね定数
オブジェクトの制約
// The elastic extent for our backplate scaling.
private VolumeElasticExtent volumeExtent = new VolumeElasticExtent { （空間固定やスナップ移動など）
SnapPoints = new Vector3[0]
};
初期化
（初期位置、初期速度、各種パラメータ設定）
private void Start() {
elasticSystem = new VolumeElasticSystem(new Vector3(0, 0, .5f), Vector3.zero, volumeExtent, elasticProperties);
}
現在の状態から次の状態を計算
（次フレーム位置を計算）
private void Update() {
transform.position = elasticSystem.ComputeIteration(IndexTipObject.position, Time.deltaTime);
}
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4EMZ5ZWV7W.jpg)

皆も振り回してみてね！
◼今日のコードはgitに公開
カクつく対策
youtube公開動画リンク
◼https://github.com/TakahiroMiyaura
/ElasticObjects
◼詳細はQiitaに
「XRでStylishなUX/UIを実現を可能にするElastic Systemを調べてみた話」
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 14

![Page Image](https://bcdn.docswell.com/page/PER636YWJ9.jpg)

まとめ
Elastic System = コンテンツに弾性表現を加えられる
◼ ばね定数を与えるだけで複雑な演算はすべてしてくれる
◼ Object Manipulatorとの組合せはノンコーディング
◼ HoloLens 以外のデバイスでも使える
様々な表現や動きに活用できるので楽しいですよ！
2021/01/18
Copyright © 2020 Takahiro Miyaura


# Page. 15

![Page Image](https://bcdn.docswell.com/page/P7XM4MGVJX.jpg)

大阪駆動開発
関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ
2021/01/18
Copyright © 2020 Takahiro Miyaura


