【Unreal Engine対応】破綻を抑え、ねらいどおりに揺らす物理演算プラグイン「Silicon Studio Bone Dynamics」
シリコンスタジオが開発するUnreal Engine(以下、UE)向け揺れものプラグイン 「Silicon Studio Bone Dynamics」最新版となる、Ver.1.3.0がリリースされた。 誕生の背景や製品の特長、ワールドコリジョンをはじめとする新機能について開発陣に聞いた。
「Silicon Studio Bone Dynamics」
製品の詳細は、こちら。
<動作環境・提供形態>
提供形態:ライブラリ
対応OS:Windows、Android、iOS
対応ゲームエンジン:Unreal Engine
※SS Bone Dynamicsは、SPCR Joint Dynamicsをベースに開発しています
ボーンベースだから軽量・高精度で、破綻が少ない
ゲームや映像制作向けのCG技術に定評のあるシリコンスタジオ。同社がゲーム開発会社に制作上の課題をヒアリングしたところ、多く挙がったのが「揺れもの」に関する問題だった。
「とにかく『突き抜けるんです』と。スカートを足が貫通したり、見えてはいけないものが見えたりすると、QAで一発アウトです。パラメータを調整してようやく直っても、モーションを変えるとまた突き抜ける。そのイテレーションが開発の終盤まで続くのが悩みだ、という声を複数の会社さんから伺いました」と、神鳥泰章氏はふり返る。
2023年頃に調査を始めた同社は、当初クロスシミュレーションの高速化を検討した。しかし負荷が高い上、物理的に正確なので「ここだけ大きく揺らしたい」といった演出上の制御が難しい。そこでボーンの節点を動かして衝突を解消するボーンベースの手法に切り替え、独自のロジックを積み重ねた。
「Silicon Studio Bone Dynamics」の開発初期から社内外の制作スタッフの意見を採り入れ、「突き抜けない」、「いい感じに揺れる」、「使いやすい」、「パフォーマンスが良い」という4要件を全て満たすことを目指した。
ゲームや映像制作をはじめ、自動車、建築など幅広い業界に3DCG技術を提供するほか、クリエイター職に特化した人材事業も展開する。「YEBIS」、「Enlighten」などのミドルウェアは、多くのAAAタイトルに採用されている。
www.siliconstudio.co.jp
技術の核は破綻対策だ。少ないボーンでもすり抜けないよう、ボーン間の中間点やフレーム間の動きを補間してコリジョンを判定する。
分割数は動きの速さやボーンの間隔に応じて自動調整される。膝の動きにスカートを連動させる「バーチャルペアレント」に加え、すり抜けを自動検出し、自然に正常な状態へ戻す機能も備える。
「当初は何が何でも抜けないようにと考えていましたが、抜けても戻ればいい、という発想も出てきました」(神鳥氏)。
使い勝手にも現場の声が活きている。ボーンチェーンの設定は自動生成され、コリジョンにはUE標準の物理アセットを利用できる。衣装別のプリセットを選んで簡易調整で仕上げる手順を基本に、細かな設定は[詳細設定]で行えるように集約した。
調整結果はリアルタイムで反映される。評価ライセンスでの試用も可能で、プロジェクトに特化した設定サポートやカスタマイズ(有償)にも対応する。最新版(Ver.1.3.0)ではUE 5.8に対応したほか、3つの目玉機能が加わった。
3つの目玉機能<1>シーン内のオブジェクトとも衝突判定。対象を絞り込み、軽さを保つ「ワールドコリジョン」
従来、揺れもののコリジョンはキャラクターのボディが主な対象だった。しかし実際のゲームでは、髪や衣装が壁や床、障害物に触れる場面も多い。
「竹林を走り抜けるような表現をつくりたい、という要望がありました」(神鳥氏)。ただ、フィールド上のオブジェクトは無数にあり、全てを判定すれば処理は重くなる。そこでワールドコリジョンでは判定の対象を大きく絞り込み、もともと軽量なコリジョン計算と組み合わせることで、大量のオブジェクトが並ぶ状況でも判定できるようにした。
岩のような複雑な形状には凸包(Convex Hull)で対応。走り回るキャラクターのマントや髪が、周囲の障害物に自然に反応するわけだ。
3つの目玉機能<2>毎フレーム生成する簡易コライダーで、揺れもの同士のめり込みを防ぐ「クロスコリジョン」
2つ目の目玉が、複数の揺れもの同士でコリジョン判定を行うクロスコリジョン(通称:重ね着機能)だ。フリルスカートの上にパレオのような布を重ねたアイドル系の衣装や、コートの上に羽織るベール、何枚も重なる民族衣装などでは、下の揺れものが上に突き抜けやすい。
揺れものは常に形を変えるため、「下の揺れものの形状に合わせて毎フレーム簡易なコライダーを生成し、判定しています」と曹 梓源氏。
計算の負荷が大きい処理だが、高速化のための工夫が数多く盛り込まれている。髪の機能の開発中に、下のマントへのめり込みが気になったことも開発の契機になったという。設定も簡潔で、髪の毛に対してマントを指定するだけで重ね着の判定が有効になる。
3つの目玉機能<3>ばらつき、ディレイ、外力。髪の毛の「らしさ」と演出性を両立する高度なヘア表現
そして3つ目は、高度なヘア表現だ。
デザイナーから寄せられたのは「ばらついた感じとディレイ感がほしい」という要望。そこでチェーン単位でばらつきを付与する機能や、慣性で揺れに遅れをもたせる機能、飛び降りた際に髪がふわりと広がるよう落下時の抵抗を調整する機能を加えた。
さらに、物理的な正確さより見た目の良さを優先する演出に向け、外力を発生させるしくみを追加。いわば「仮想扇風機」を好きな位置に置き、走行中だけ髪をなびかせたり、シーケンサーと連動させてカットシーンで髪を大きく舞い上がらせたりできる。デモでは約2,000本のボーンを仕込んだ髪が、リアルタイムで動作している。
お問い合わせ
シリコンスタジオ株式会社
TEL:03-5488-7481 ※営業時間:9:30〜17:30(土日祝日を除く)
www.siliconstudio.co.jp
TEXT & EDIT_NUMAKURA Arihito