ソリューション

solutions

メタバースの開発業務

(2024年9月) 制作物の例に「数値解析結果の可視化」を追加しました。

TDAP3での地震応答解析結果の可視化オブジェクト 粒子法による流体解析結果の可視化オブジェクト

(左:TDAP3での地震応答解析結果の可視化オブジェクト、右:粒子法による流体解析結果の可視化オブジェクト)

概要:TDAP3で地震応答解析を行った出力結果と、弊社で作成した粒子法による流体解析結果をVRChat上で可視化することを目的とし、それぞれの出力結果であるFemap Neutral形式、VTU形式から、可視化オブジェクトを作成する手法を確立しました。

業務概要

 VRChatのワールド制作において必要な技術要素についての社内研究を継続的に行っています。 その成果物として、VRChatのワールドを試作しました。ワールド内にはいくつかの技術要素を試した、天気予報やドローン等の試作オブジェクトを置いています。
背景:近年、VR SNSが一般的に広く浸透してきています。中でもVRChatは大規模なVRイベントが盛んに行われており、企業広告としての活用が注目されています。 VRChatでは、個人が楽しむだけでなく企業が自社製品やサービスを展示することもできるバーチャル空間を公開できます。

開発実績

試作したワールドのイメージ

技術要素

  • VRChatのワールド作成(Unity)
  • VRChatのギミック作成(UdonSharp, ShaderLab等)

制作物の例

目次

  1. ワールドの全体像
  2. 天気予報パネル
  3. 弊社ロゴオブジェクト
  4. ドローンオブジェクト
  5. 乗車可能な乗り物
  6. 数値解析結果の可視化(2024年9月更新)



ワールドの全体像

 展示室として利用するための空間をプリミティブオブジェクトから作りました。各展示部分には展示に注目を集めるためのスポットライト、展示の説明、展示オブジェクトを配置しています。 壁や床はUnityのプリミティブオブジェクトから作り、説明台はモデリングをして作りました。

ワールドの全体像

関連する技術要素:

  • Unityでのワールド作成(プリミティブオブジェクトの配置、ライティング、ライトのベイク)
  • 簡単なモデリング(Blender)

天気予報パネル

 皆さんが普段使用しているニュースサイトやチャットサイトでは、常に新しい情報が画面に表示されていると思います。 このような、情報が更新されるサイトのことを動的サイトといいます。逆に、いつ開いても同じ情報が表示されるサイトを静的サイトといいます。 動的サイトではWebAPIというインターネット上の情報を取得する技術を使うことで情報を更新しています。 様々なギミックを作成できるVRChatですがWebAPIにアクセスする機能は制限されており、使うことができないようになっています。 つまりVRChatでは基本的に静的ワールドしか作ることができません。

 一方でVRChatではインターネット上の動画をワールド内で再生することができるという機能があります。 この機能を抜け道として利用し、動画を経由して任意のWebAPIから情報を取得する仕組みを構築しました。 サンプルとして1週間天気予報を表示するギミックを作成しました。天気予報の情報は更新ボタンを押下することで最新の情報に更新されます。

天気予報パネル

以下にVRChatのワールド内からWebAPIにアクセスする流れを説明します。
① VRChatワールド内でインターネット上の動画A(存在しない動画)の再生をリクエストする。
② 動画Aへのアクセスを検知し、目的のWebAPIにアクセスする。
③ ②から情報を取得する。
④ ③で取得した情報を0/1のビットデータに変換し白黒の動画を作成する。
⑤ ④で作成した動画を①でリクエストされた動画AとしてVRChatワールドに送信する。
⑥ 再生された白黒の動画から④と逆の手順で情報を復元する。
このようにインターネット上の通信を中継するものをプロキシと呼びます。 今回はプロキシとしてIBM CloudのFunctionsを使用し、白黒の動画を保存しておくストレージとしてCloudObjectStrageを使用し、以下のようなシステムを構築しました。

天気予報パネル仕組み

関連する技術要素:

  • httpリクエスト
  • VRC AVProVideoPlayer
  • ビットデータのエンコード/デコード

 弊社のロゴが水面に浮いているイメージのオブジェクトです。ロゴの画像はアニメーションで回転しています。 床のテクスチャはシェーダ―でリアルタイムに波動関数を解き、床上を物体が移動すると波紋が広がるように見える仕組みになっています。

ロゴオブジェクト 波紋が生じる床の仕組み

関連する技術要素:

  • Unityのキーフレームアニメーション
  • ShaderLab

ドローンオブジェクト

 インタラクトすることでドローンを操作し、任意の視点からの映像を確認できるギミックです。 ボタンにインタラクトすることでアバターの位置が固定され、移動キーでドローンを操作できるようになります。 ボタンをもう一度押すことでドローンの移動・回転を切り替えられます。

ドローンオブジェクト ドローンオブジェクト仕組み

関連する技術要素:

  • VRC Station(アバターの操作制御)

乗車可能な乗り物

 インタラクトすることで乗車できる乗り物です。アバターがインタラクトして座ることで動き出し、決まったコースを1周すると停止します。

乗り物オブジェクト 乗り物オブジェクト仕組み

関連する技術要素:

  • VRC Station(アバターの操作制御)
  • Unityのキーフレームアニメーション

数値解析結果の可視化(2024年9月更新)

 弊社は、創業当時より数値解析業務に取り組んでおります。特に弊社で開発・販売している構造解析ソフトTDAP3は、建築などの分野で高いシェアを獲得しております。
 さて、コロナ禍では、展示会や学術発表をVR空間上で行う取り組みが盛んになりましたが、多くはVR空間上で画像や動画を用いて発表を行うにとどまっていました。TDAP3をはじめとする解析ソフトで作成された数値解析結果が、3Dのアニメーションとして展示可能になれば、任意の視点から解析結果を確認できるなどのメリットがあり、従来の取り組みに比べ、舞台がVR空間であることをより活かした展示や発表が可能になると考えられます。
 TDAP3によらず、解析ソフトで作成された数値解析結果は専用Viewerソフトで可視化することが一般的で、VRChatのようなエンターテインメント分野に持ち込む手法は確立されていないと思われます。 そこで今回、TDAP3で地震応答解析を行った出力結果と、弊社で作成した粒子法による流体解析結果をVRChat上で可視化することを目的とし、それぞれの出力結果であるFemap Neutral形式、VTU形式から、可視化オブジェクトを作成する手法を確立しました。

TDAP3での地震応答解析結果の可視化オブジェクト 粒子法による流体解析結果の可視化オブジェクト

(左:TDAP3での地震応答解析結果の可視化オブジェクト、右:粒子法による流体解析結果の可視化オブジェクト)

以下がVRChatのワールドにシミュレーション結果を可視化する流れです。

① 解析結果ファイルを用意する。
② 今回開発したBlenderアドオンにより、①の解析データを読み込み、3Dメッシュアニメーションを作成する。この時、シミュレーションの情報はキーフレームアニメーションとしてモデルデータに含める。
③ ②で作成したアニメーションをBlenderの標準機能にてAlembic形式で出力する。
④ ③で作成したAlembicをVRChat上に配置可能なデータ形式(VAT)に変換する。各フレームのデータはテクスチャ画像としてマッピングする。
⑤ ④で作成したVATを VRChat上に配置し、アニメーションとして自動再生するスクリプトを取り付けてオブジェクトが完成。

解析結果をVRChat上で可視化する流れ

(解析結果をVRChat上で可視化する流れ)

VATの補足

 VAT(Vertex Animation Texture)とは、3Dメッシュの変形アニメーションをファイルとして保持する一手法です。変形アニメーションは初期状態の3Dメッシュ情報と、各頂点の時系列変化情報で構成されます。VATは、頂点の時系列変化情報をテクスチャつまり画像として保持し、シェーダーでテクスチャから時系列情報を読み込むことでアニメーションを再生するという手法を取ります。
 画像は1ピクセルごとの色情報としてrgbという3つの値(あるいは透過度αを含めた4つの値)を持っています。これらの値を座標情報(x,y,z)として扱います。下図のように「時系列ステップ数×頂点数」分のピクセルで構成されるテクスチャがVATとして扱われます。

VATの例

(VATの例:各ピクセルのRGB値を頂点の座標情報と紐づけている。)

関連する技術要素:

  • Blender(アドオン・Python)
  • VAT(Vertex Animation Texture)


ソリューション一覧に戻る