黄昏より暗きもの、血の流れより赤きもの

読者です 読者をやめる 読者になる 読者になる

黄昏より暗きもの、血の流れより赤きもの

自分の好きな事を好きなように書いて行きます。

東京ゲームショウ2016:「弾性体のリアルタイム接触シミュレーションと触覚提示手法」の研究発表を聞いてきた(CEDEC2016より)

微分積分 拡張現実感 数値計算 画像処理 衝突判定 勉強会 セミナー 微分方程式 線形代数 力学

今年の東京ゲームショウも楽しかった。特に良かったのがCEDECの一部展示を見る事が出来た事だ。CEDECとはゲームや映像コンテンツの開発・研究に携わる開発技術情報やビジネス情報を公開・共有するカンファレンスの事。毎年8月下旬、パシフィコ横浜にて開催される。東京ゲームショウと違い、任天堂もシルバースポンサーとして参加してるのも特徴だ。同じCESA(一般社団法人コンピュータエンターテインメント協会)が主催しているので、その絡みもあると思う。


f:id:program_study:20160917153014j:plain

カンファレンスに参加してみよう!

アメリカのサンフランシスコ等で行われる「Game Developer Conference」の日本版と言った所だ。ゲームのみならず、画像処理やCGに興味のある方 は「SIGGRAPH」などもおススメ。2013年の発表になるが、DisneyとULCA(カ ルフォルニア大学バークレー校)による雪が壁にぶつかったりしたときの飛び散り具合をシュミレーションした「Disney's Frozen A Material Point Method For Snow Simulation」などがある。興味のある方は論文「Disney ULCA Snow material point Method 」等と合わせて是非読んでみて欲しい。



Disney's Frozen A Material Point Method For Snow Simulation

このようにゲームやCGに関するカンファレンスも多数あり、興味のある方は是非参加してみて欲しい。と言いたいとこだが、この手のイベントは会費が高めなのがねえ。

今年度のSIGGRAPH Asiaはマカオで行われる模様だ。こちらによれば、どうも事前予約すると安くなるのとBasic Conference Passに至っては1,900HKD(=2.5万円)となる。話を戻してCEDECでも同じで前日早期申し込みで32,400円(全日参加可能)。このため気の抜け ない戦いとなる事必須である。と、言う訳で会費の面でも気を抜いて参加できるのも良かった点だし、1,000円の会費でこういうイベントの一部を見る事は 嬉しい限りだ。

弾性体のリアルタイム接触シミュレーションと触覚提示手法

以下は佐瀬氏らに依る「“弾性体のリアルタイム接触シミュレーションと触覚提示手法(理論 編)",CEDEC 2016 ショートセッション, 横浜,2016. [slide(PDF)]」によるもの。メディア掲載事例も多く、皆さん4年間よく頑張った!以下簡単に紹介したい。余裕の有る方はslide(PDF)を手に取って聞いて欲しい。


f:id:program_study:20160917153018j:plain

まず下の写真を見て欲しい。コントローラー(Geomagic Touch)で画面の球(ボール)を操作しよう。ウサギにぶつけると、ウサギにめり込んだ深さに応じてコントローラーに抵抗が加わる と言うもの。画面上に何らかの操作をすると、手にかかる抵抗がリアルに再現されると言う話だ。これは医療用の機械のコントローラー向けのもので、十年以上先を投げている研究で感激だ。

キーボードとマウス以外の入力方法が増える事で、実際の作業に近い感じで色色こなせるようになる。以下スライドを読んで分かった所までを紹介したい。


f:id:program_study:20160924001943j:plain

コントローラーへの抵抗:バーチャルカップリング法

コントローラーと画面上のウサギとに当たった方法として、バーチャルカップリング法と言うものが用いられている。これはコントローラー(球)とウサギの間にバネを設置し、その強さに応じて処理すると言うもの。

物体の凹むのにかかった力を一本のバネにかかったものと見なす事で、デバイスの抵抗力(?)以上の力がかかる事を防ぎ、よりコントローラーの正確性が増す という利点がある。一般にバネの伸びをd、バネ定数をkとすることで、バネにかかる力の大きさを|F|=kdと表す ため、物体にめり込んだ深さに応じて線形的(一次関数的)にコントローラーに力が加わるようになる。

物体同士の当たり判定(衝突判定、衝突検出):符号付距離場

例えばゲームなどで、キャラクター(物体A)の攻撃が敵(物体E)に当たっているかを調べるために、物体Aと物体Eとの当たり判定の処理が行われる。当たり判定の結果、キャラクターや敵の体力の減算処理が行われ、「ダメージを受けた」と言う流れとなる。

今回の場合もスライドのP25〜P49に渡って説明されていて、その一部をかいつまんで説明したい。この場合も例外なく、画面のウサギとボールがぶつかる かどうかの判定が行われる。今回使われている方法は物体上の点P_1,P_2,....,P_nと、物体内に侵入した深さφ(x)を計算し、点P_1のようにφ(x) < 0 (領域内)となるかどうかで判定している。点P_4のように格子点で無い場合は、座標の数値を丸めるなどして計算している模様。


f:id:program_study:20160924002041j:plain

そこで領域内の格子点全ての深さをあらかじめ計算しておく事で、計算量の削減を行っているようだ。この手の研究開発の勘所は「A,B,C,D....のそ れぞれをどう折り合い付けていくか?」と言うこと。この研究の場合だと以下の2点の折り合いをどう付けるかがポイントとなるだろう。

  • 精度:「コントローラーにかかる力の大きさをどう正確に計算するか?」
  • 速度:「コントローラーの応答速度の速くするにはどうすれば良いか?」

この研究はどちらかと言えば速度重視の印象で、コントローラへの応答速度(60Hz)で、微分方程式の近似解をニュートン法数値計算しているが、1回の計算で済ませているなどフリーズしないような工夫がなされていた。このような計算をGPUを使わず、CPUのみで計算していると言うから驚きだった。

関連になりそうな論文