戻る

A Gift for My Dog

犬のための、まるごとひとつの夢の世界です。峡谷ほどに拡大されたリビングや果てしない「取ってこい」の原っぱを抜け、いつも半メートル先にある光るボールを追いかけて、5 つの贈り物を集めると、夢は本物の犬用ベッドへと帰り着きます。

作者: x7peepsソースコード
ライブで試す
A Gift for My Dogライブで試す

説明

愛犬にまるごとひとつの世界を贈れるとしたら?「A Gift for My Dog — A Dog's Dream」はブラウザで遊べる世界で、プレイヤーは犬の夢の中を歩いていきます。そこには、峡谷ほどに拡大されたリビング、果てしない「取ってこい」の原っぱ、そしていつも半メートル先にある光るボールがあります。

夢のエリアをめぐって 5 つの贈り物を集めると、夢はついに本物の犬用ベッドへと帰り着きます。「この世界はきみのためのもの」。作者は自分の愛犬への贈り物としてこの作品を作りました。

Three.js で作られた単一ファイルの Web ビルドで、依存関係はすべてローカルにあります。5 つのエリアに 48 個のインスタンス化オブジェクトを配置し、リアルタイムの影とブルームを備えながら、1440p で 60 fps を維持します。モバイルではタッチ、デスクトップでは WASD で操作します。

26 点以上の 3D アセットはすべてハッカソン期間中に Tripo API で生成されました。生成、リギングからアニメーション、エンジンへの取り込みまで、パイプライン全体が最初から最後までスクリプトで自動化されており、3D ソフトでの手作業は一切ありません。

Tripo の活用方法

3D パイプライン全体を動かしたのは Tripo です。26 点以上のアセットはすべて Tripo API v3 で生成し、最初から最後までスクリプトによる無人処理で、DCC ツールでの手作業はありません。

  • 主役級の小道具:ソファ、ベッド、ギフトボックス、犬用ベッドは H3.1 のテキストから 3D で作成しました。
  • 量産用の小道具:ボール、骨、スリッパ、植物は P1 のローポリ生成によるもので、48 個のインスタンス化オブジェクトとして 60 fps でレンダリングされます。
  • 浮遊島:コンセプト画を画像から 3D でモデル化し、スタイルの統一された島々に仕上げました。
  • 犬:生成後、四足歩行としてオートリギング(rig-check と rig-v2.0)し、歩行と待機のアニメーションを animate_in_place でリターゲットして、そのままエンジンに投入しました。
  • スクリプトひとつ:プロンプトからエンジンですぐ使える GLB まで、テキストから 3D と画像から 3D、ライティング除去、PBR、オートリギング、リターゲットのすべてを、単一の Python クライアントでつないでいます。

トレーラー