VITALIFY.ASIA logo

ThreeJSでホーチミンのオフィスをバーチャル空間上に再現

Web 3D技術(Three.js)を用いて、ベトナムオフィスをブラウザ上に構築。カメラウォークやインタラクティブUIの組み込み事例。

ThreeJSでホーチミンのオフィスをバーチャル空間上に再現
目次

ThreeJSを使って、弊社のホーチミンにあるオフィスをバーチャル空間上に再現してみました。

マウスをスクロールしたり、ナビゲーションボタンをクリックすると実績や会社紹介が表示されます。

画像
画像

デモは下記からご覧いただけます。
https://udl-3d-landing-page.vercel.app/

使用した技術

R3F

このデモのフロントエンドには、ReactJSを採用しました。また、ReactとThreeJSをシームレスに統合するため、react-three-fiber (R3F)を利用しました。ReactJSはユーザーインターフェイスの構築を担い、ThreeJSは3Dグラフィックスの実現を担います。

react-three-fiberはこれら二つのライブラリを橋渡しし、ReactJSでの3Dグラフィックスの統合を容易にします。

GitHub - pmndrs/react-three-fiber: 🇨🇭 A React renderer for Three.js
🇨🇭 A React renderer for Three.js. Contribute to pmndrs/react-three-fiber development by creating an account on GitHub.

Drei

React Three Fiberは、ブラウザでの3D体験を構築するための神ライブラリです。しかし、ときどき繰り返しのタスクやボイラープレートコードに行き詰まることがあります。そのためDreiというライブラリを導入しました。

GitHub - pmndrs/drei: 🥉 useful helpers for react-three-fiber
🥉 useful helpers for react-three-fiber. Contribute to pmndrs/drei development by creating an account on GitHub.

Dreiは、React Three Fiberの開発を簡素化し加速するために設計された、事前に構築されたコンポーネントと関数のコレクションです。3Dプロジェクトのクリエイティブな側面に集中させるための便利なヘルパーがいっぱいのツールボックスと考えてください。

事前に構築されたコンポーネントには、カメラコントロール、照明、アニメーションなど、必要なものがすべて準備されています。

Blender

ThreeJSはシーン照明のためのさまざまなリアルタイムのライティング機能を提供していますが、このデモでは、照明をすべて事前にテクスチャに焼き付けることにしました。

この作業にはBlenderを使用し、すべての照明を4Kテクスチャに焼き付けた上で圧縮しました。これにより、ウェブサイトで使用するすべての3Dモデルやテクスチャがわずか12.3MBに収まりました。

このデモで達成したこと

上述の通り、全コンテンツを12.3MBに圧縮したことで、わずか2秒でバーチャルオフィスがブラウザにロードされるようになりました。また、RAMの使用が50MBに収まるようパフォーマンスが最適化されています。

フレームレートも一般的なPCのブラウザで60FPSを達成しています。

1,000社以上の事業成長を支えた圧倒的な『スピードと柔軟性』で、御社のアイデアを最短で形にします。まずは無料で壁打ちしませんか?

ブログに戻る

関連記事

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する3D

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する

3DGSと2DGSは、どちらも3次元空間のシーンを表現するGaussian Splatting技術ですが、使うGaussianの形状と重視する点が異なります。本記事では、3次元Gaussianを使う3DGSと、平面状Gaussianで表面形状の整合性を高める2DGSの違いを整理し、2D画像を表現するGaussianImageとの違いも解説します。

Toshihiko Nagaoka
3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?3D

3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?

3DGSとフォトグラメトリは、どちらも複数の写真から3D空間を再構成する技術です。本記事では、SfMによるカメラ位置・姿勢推定やSparse Point Cloudまでの共通点と、その後にフォトグラメトリがMVS・Dense Point Cloud・メッシュ生成へ進み、3DGSがGaussianの初期化・最適化へ進む違いを整理して解説します。

Toshihiko Nagaoka
3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?3D

3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?

3DGSは、従来のメッシュとは異なり、大量のGaussianを空間に配置して現実の見た目を再現する3D表現技術です。本記事では、メッシュとの違い、写真から3D空間を生成する仕組み、不動産・建築・文化財・映像・XRへの活用例、そして3DGSが従来の3D制作を置き換えるのかまで、初心者向けに整理して解説します。

Toshihiko Nagaoka
ぼくはデューパー、なんでもきいてね!