見出し画像

Dg WebGPU Player|DAZアニメーション&ポージングモデルのWebビュアーをGemini3で制作し公開

DAZ Genesis9 のアニメーションモデルとポージングモデルのGLB版を360° 3DVRで見回せる、WebGPUとTHREE.JSを用いたWebビュアーをGemini3 Pro Canvasで制作したので、DAZサンプルモデルとともに紹介します。

★ DAZモデルはライセンスの関係で、3Dモデルデータを自由に配布や販売はできないので、従来はSketchfabで一般公開してきましたが、今後はこのWebビュアーのDAZサンプルモデルによる公開を予定しています。

★ ユーザーが制作したDAZモデルなどのGLBファイルを読み込んで見回すことも基本的に可能です。


Dg WebGPU Player アルファ版

以下のリンクを開いて、右上のメニューからサンプルを読み込んでお試しください。GLBサンプルモデルのファイルサイズを2種類用意しています。

GLBモデル - オリジナル版

GLBモデルのファイルサイズ:
・アニメーション:142MB
・ポージング:131MB

一般的なPCやモバイルデバイスでは多少動作が重くなります。

GLBモデル - OptimizeGLB版

OptimizeGLBによりファイルサイズを圧縮しています。オリジナル版ではサンプルモデルのファイルが読込できない場合や、動作が重すぎる場合などにお試しください。

★ Dg WebGPU Playerは今のところDraco圧縮には対応していないので、Dracoのチェックを外してWebPで圧縮しています。

・アニメーション:58MB41%に圧縮)
・ポージング:35MB27%に圧縮)

スクリーンショット集

Dg WebGPU Player アルファ版 初期画面
メニュー
環境マップ(HDR)のサンプルを読み込んだ状態
DAZアニメーションモデルのサンプルを読み込んだ状態
DAZポージングモデルのサンプルを読み込んだ状態

対応ブラウザー

最新版のChromeブラウザーを前提に制作しテストしていますが、EdgeやSafari、Braveなどの最新版でも基本的に動作することを確認済です。

★ 古い低スペック(ATOM CPUなど)のWindows PC、あるいはMac mini Late2012でも、ChromeOS Flexをインストールすれば、PCの性能に応じた速度で基本的に動作しますが、古いWindowsやMacOSでは動作しません。

★ Windows11やアップルシリコンMac、Chromebook Plusなどの比較的新しいデスクトップPCのマウス操作を前提に制作しテストしていますが、比較的新しいモバイルデバイスのタッチ操作も可能です。

Chromeブラウザーの実験的機能の設定

以下の設定をしなくても動作はしますが、設定することで動作が安定したり高速化が期待できます。

URL窓に「chrome://flags」と入力しEnter/Returnを押します。

gpu」で検索し「GPU rasterization」を「Enabled」にし、「webgpu」で検索し「WebGPU Developer Features」を「有効」にし、Chromeを再起動します。

2つの実験的機能を有効にし再起動

★ Windows11のEdgeやLinux(Zorin OSなど)のBraveブラウザーなどのChrome系ブラウザーでも「edge://flags」などで同様の設定が可能です。

DAZサンプルモデル

今回サンプルモデルとして採用したDAZモデルや各種アイテムは以下です。

★ サンプルモデルは、都合により、DAZモデルや各種アイテムなどの構成を変更する場合があります。

DAZモデルのGLB化

DAZ Studioからは直接GLBエクスポートができないので、スケール0.01(cmからmに単位変換)でOBJエクスポート(dForce後)します。

アニメーションモデルZIP圧縮してMixamoでアニメーションし、FBXをBlenderにインポート

ポージングモデルOBJを直接Blenderにインポート

各種マテリアルやテクスチャーの設定・加工後に、開始フレームにキーフレームを打ってIキーを押す)からアニメーションオンGLBエクスポートします。
(テクスチャのベイクやノーマルマップなどはDAZ to Blenderを利用)

使い方

初期状態とエラーからの回復

初期状態の回転する赤い立方体が表示されれば、WebGPUとTHREE.JSが正常に読み込まれ動作しています。

ログにエラーが表示される場合は、ブラウザーの再読み込みやメニューの「再起動」を行ってください。

マウス操作(デスクトップPC)

左ドラッグ:シーンを回転
右ドラッグ:モデルを移動
ホイール:シーンをズーム(カメラの焦点距離)

左シングルクリックで、アニメーションモデルではアニメーションの一時停止・再開、ポージングモデルではシーンの自動回転(ターンテーブル)の開始・停止ができます。
(速度と回転方向は、プロモードで調整が可能)

画面タッチ操作(モバイルデバイス)

シングルスワイプ:シーンを回転
ダブルスワイプ:モデルを移動
ピンチ:シーンをズーム(カメラの焦点距離)

★ シングルタップは、マウス操作の左シングルクリックと同じです。

プロモード

メニューの「プロモード」を選ぶと、以下のパネルが開き、詳細なシーンやモデルなどの設定が可能です。

プロモード設定パネル

この設定は、メニューの「設定を保存(JSON)」で、任意のローカルフォルダーに保存し、「ファイルを開く」で読み込めます。

没入モード

右上の目のアイコンをクリック/タップすると「没入モード」に切り替わり、ユーザーインタフェースのほとんどが非表示になり、タイトルや目のボタンなどは半透明のウォータマークっぽく表示されます。

通常モード
没入モード

シーンのスクリーンショットなどでご活用ください。

まとめ

WebGPUとTHREE.JSを用いたDAZモデル向けのWebビュアーをGemini3 Pro Canvasで制作したので、DAZサンプルモデルとともに紹介しています。

現在はアルファ版なので、もし機能や使い勝手でご要望や改善点などがあれば、コメントやダイレクトメッセージでご連絡ください。次回のベータ版にできるだけ反映したいと思います。

今後は、オリジナルのDAZモデル作品や、Meshy AIなどの生成AIで制作した3Dモデル作品の公開に使っていきたいと考えています。

従来は、SketchfabやSpline 3Dなどの有料サービスを使っていましたが、課金を負担に感じていたので、(Gemini Proへの課金は除き)今後は無料で公開できます。

このWebアプリのHTMLコードのユーザーへの提供は、今のところ考えていませんが、ご要望があれば、有料(「チップで応援する」機能を使用)にて提供することも可能ですので、ダイレクトメッセージにてお問い合わせください。

参考リンク

★ 上記記事で紹介しているWebビュアーは、Meshy AIモデルのカスタム設定で160cmの身長でエクスポートしたFBX/GLBファイルの読込をサポートしていますが、今回のモデルのように1.6mに単位変換している場合は、1.6cmの身長となり、米粒ほどの大きさでほとんど見えなくなります。



いいなと思ったら応援しよう!