バーチャル夜光虫:水の流れを媒介とした光と音のインタラクション
相田恭兵†

長田典子†

Virtual Noctiluca: Interaction between light and music through stream
KYOHEI AIDA†1.

NORIKO NAGATA†

はじめに水の流れや光の振る舞いは古くから，芸術の対象としてさまざまな形で扱われてきた．また，現在は水や光を扱ったディジタルコンテンツが多数提案されている．Brown は近づく人の動きに応じて LED の色や音が変化するコンテンツ”Bion”１） を提案している．
米澤らは流水をインタフェースに用いた楽器システム”
Tangible Sound”２）を提案している．本稿では夜光虫をモチーフとしたインタラクティブコンテンツ”バーチャル夜光虫”について述べる．夜光虫は海洋性のプランクトンであり，物理的な刺激を受けると発光する性質がある．真っ暗な場所で，夜光虫の漂う水面をか

図1 システム概要

き混ぜると，水面がきらめき，水の流れとともに光が減衰していくことによって，神秘的で幻想的な体験を3.

流体シミュレーションとオブジェクトト
ラッキングを用いたインタラクションの実現

3.1

流体シミュレーションすることができる．本研究では，このような体験をCG を用いて仮想的に実現することを目的とする．また，発光とともに効果音を鳴らし，その音の印象を色で表現することで，水の流れを媒介とした光と音のイ

流 体 シ ミ ュ レ ー シ ョ ン に は Smoothed Particle

ンタラクションを実現する．

Hydrodynamics（以下，SPH 法）を用いる３）．SPH 法

基本コンセプトは流体を粒子の集合(以下，水粒子)と近似してシミュ

2.

レーションを行う手法で，流体のうねりや渦といったバーチャル夜光虫を実現するためには，夜光虫の特ダイナミックな形状の変化に対応し易い．SPH 法で徴である”水の流れ”と”刺激による発光”を表現す

は水粒子の持つ物理量を圧力項，粘性項，外力項に分ることが求められる．本研究では水の流れや広がり感解して算出し，それらの和をとることで水粒子の加速を表現するために実時間での流体シミュレーションを度を求める．この加速度を用いて水粒子の速度と座標行う．また，ユーザインタラクションのための入力物を毎タイムステップにおいて更新することで流体を解体の検出とオブジェクトトラッキングにはステレオカくことができる．

メラを用いて行う．これにより，”刺激による発光”を表現するだけでなく，水の流れや発光色などをインタラクティブに変更することを実現可能とする．システ
ムの概要を図１に示す．

† 関西学院大学理工学部
Kwansei Gakuin Universityvit  t  vit ti( f i press  f i vis  f i g )xit t  xit  vit t t

(1)

(2)

情報処理学会 インタラクション 2010

図2 入力例：手を振り上げる

3.2

オブジェクトトラッキングと衝突判定

3.3.2 発光色と効果音の変化

入力となる物体の検出とトラッキングを行うことにユーザの動作に合わせて粒子の発光色と効果音を変より，ユーザは水の流れや色や効果音を操作すること化させる仕組みを実装した．レンダリングにはポインができる．入力物体の検出にはステレオカメラ

トスプライトという手法を用いており，これは１頂点（Point Grey Research 社，Bumblebee2）を用いる．スにテクスチャを張り常に視点に正対する処理や頂点サ

テレオ処理によって得られる物体表面点列(以下，オイズの変更などを低コストで行うことができ，水や炎ブジェクト粒子)の３次元座標値をシステムへの入力といった多数の粒子を描画するのに適したレンダリンとする．オブジェクト粒子と SPH 法によって生成さグ手法である．また，張りつけるテクスチャの種類やれた水粒子との衝突判定を行い，衝突が検知された水色はリアルタイムに変更することができる．

粒子（以下，衝突粒子）のみを描画する．時間経過と入力物体の加速度を用いてユーザの動作を認識し，ともに光を減衰していくことで”刺激による発光”をそれを発光時に鳴る効果音のパラメータとする．効果表現している．

音には和音を用いる．その和音の印象に合った色を発3.3

インタラクション

光色とすることで，水の流れ・光・音の一体感を高め

オブジェクトトラッキングにより様々なユーザインている．現在は”上下方向”や”入力物体を認識したとタラクションを実現する．ここでは“水の流れ”とき（IN）”など単純な動作のみを実装している．動作，“発光色と効果音”をインタラクティブに操作する手

和音，色の関係を表１に示す．和音と色の対応は，藤法について説明する．

澤らの和音性評価モデル４）に基づいて RGB 値を算出

3.3.1 水の流れの操作している．ここで得られた RGB の値を図 2 に示すよ

オブジェクト粒子の座標値を加算平均した値を入力

うなグレースケールのテクスチャの RGB 値にリアル物体の重心とし，その重心のフレーム間の差分を入力タイムに加算することで色を変更することができる．

物体の加速度とする．ここで算出された加速度を衝突

また，速度に応じて粒子の色や透明度を変化させるこ粒子の速度に加えることで，衝突粒子の速度をユーザとで，水の揺らぎを表現している．の動作方向に変化させることができる．また，これらの速度が変化した粒子の速度が SPH 法による流体シ

表1 動作・和音・色の関係
動作

和音基本―

ユーザは水の流れをインタラクティブかつ直感的に操IN

Cm11

R: 0.585181 G: 0.419253 B: 1.0■

作することができる．図 2 はユーザの手を入力として，

OUT

Gm11

R:0.55753 G: 1.0■

手を下から上に振り上げた場合の動作を連続的に示し

上

Abm7

R: 0.585181 G: 0.419253 B: 0.611072

■ている．

下

Ebm7

R:1.0

G: 0.179757 B: 0.179757

■

手前

Dm7-5

R:1.0

G: 0.028189 B: 0.86117

■

奥

Fm9

R:1.0

G: 0.897691 B: 0.0283834■

ミュレーションによって他のすべての粒子に相互的に伝播し，新しい水の流れを生み出す．このようにして，

色R: 0.1

G: 0.3

B: 0.4

B: 0.380542■

バーチャル夜光虫：水の流れを媒介とした光と音のインタラクションに示す．

図3 グレースケールテクスチャ

4.

処理の高速化
図5 座標テクスチャ

流体シミュレーションや粒子群同士の衝突判定は非常に計算コストが高く，リアルタイムアプリケーショ

テクスチャの各テクセルには，本来 RGBA の値がンとして扱うことは難しい．ここではそれらの処理を格納されており，それらによって色が構成される．こ実時間で行う手法について説明する．

こでは RGB の代わりに x，y，z の座標値とを格納し4.1

バケット構造を用いた近傍粒子探索

SPH 法のような流体を粒子と近似する手法では毎ている．SPH 法では座標，速度，密度，バケットの４つの値をそれぞれテクスチャとして用意することで，タイムステップにおいて，互いに影響し合う粒子を探

近傍粒子探索から粒子の座標の更新まで SPH 法にお索しなければならない．影響半径は任意であるが，距けるほとんどの処理を GPU 上で並列的に処理するこ離が遠くなるにつれ影響力は小さくなり，影響範囲外とができ，計算速度が飛躍的に向上する．の粒子は無視できるため，効率的に近傍の粒子を探索

5.

結果と考察することで処理を高速化できる．本研究では計算領域を格子状に分割(バケット)し格子と粒子番号を関係づ2けることで，計算量を O(n )から O(n)に削減している．

システムは Visual Studio 2005 上で DirectX9，HLSLを用いて開発した．実時間流体シミュレーションとス
テレオカメラによる入力物体のオブジェクトトラッキングを行うことで夜光虫の特徴である”水の流れ”，”刺激による発光”など夜光虫を仮想的に体験するための基本的な機能を実装した．
GPU を用いて高速化した流体シミュレーションは安定して 60fps を維持し，システム全体としても20fps を維持していることから，インタラクティブコンテンツとして十分なレスポンスを獲得できたと考える．

図4 バケットを用いた近傍粒子探索

4.2

GPU の利用

SPH 法による流体シミュレーションではすべての粒子に対して同じ計算式を適用するため，GPU を用いた並列処理によって高速化が可能である７）．しかし，
GPU はグラフィックス処理に特化したプロセッサであるためメインメモリを直接参照することができない．
GPU で数値計算を行うためには，座標値や速度などの物理量をビデオメモリにテクスチャとして格納する必要がある．座標値をテクスチャに格納した例を図 5

入力物体の加速度からユーザのモーションを計測することで，ユーザは直感的に水の流れを操作できる．
また，水の流れが変化するだけでなく，特定のモーシ
ョンを検出したときに効果音をインタラクティブに変更し，その音の印象を色で表現する仕組みを取り入れた．これは実際の夜光虫にはないユーザインタラクシ
ョンであり，ユーザの没入感の向上が期待できる．しかし，現在は上下や前後といった単純なモーションのみを用いているため，モーションの種類やモーションと音との関連性など，まだまだ改善の余地がある．

情報処理学会 インタラクション 20102) 米澤朋子, 安村通晃, 間瀬健二, Tangible Sound:
流体を用いたインタラク ションによる音表現とその拡張, NICOGRAPH/MULTIMEDIA 論文コンテスト, 2000.
3) J.J. Monaghan. Smoothed particle hydrodynamics.
Annu. Rev. Astrophys, 30:543-574, (1992)
4) 藤澤隆史・谷光彬・長田典子・片寄晴弘 (2009).
和音性の定量的評価モデルに基づいた楽曲ムードの色彩表現インタフェース，情報処理学会論文誌, 50(3), 1133-1138.
5) M. M”uller, D. Charypar, and Greg Turk. Rigid fluid:
simulation for interactive applications. Proc. Of
Siggraph Symposium on Computer Animation, pages
154-159, (2003)
6) P. Kipfer, M. Segal, and R. Westermann. Uberflow: A
gpu-based particle engine. Proceedings of the ACM
SIGGRAPH/EUROGRAPHICS 6 Conference onGraphics Hardware, pages 115-122, (2004)
7) Takahiro Harada, Seiichi Koshizuka, Yoichiro
Kawaguchi. Smoothed Particle Hydrodynamics onGPUs. Computer Graphics International, (2007)

図6 モーションによる発光色の変化例

6.

おわりに

本研究では実時間流体シミュレーションとステレオカメラを用いて夜光虫をモチーフとしたインタラクテ
ィブコンテンツの開発を行い，夜光虫の特徴の表現やユーザのモーションに応じて水の流れや発光色，効果音が変化するインタラクションを実現した．
今後はモーションの種類を増やすと同時にモーションと音との関連性について検討し，システム全体としての一体感を向上していきたい．また，現状のオブジェクトトラッキングはすべてのオブジェクト粒子を加算平均して重心を算出しているため，単一の入力物体のみしか対応できない．複数の物体やマルチユーザに対応させるため，入力物体を個別にトラッキングすることが望ましいと考える．
また，ヘッドマウントディスプレイを用いることでAR アプリケーションへの応用を検討している．

参考文献1) Adam Brown ,Andrew Fagg.
SIGGRAPH 2006 art gallery, (2006)

Bion,

ACM