ad

Blenderで直接ガウススプラットオブジェクトをインポートして編集・レンダリングできる無料アドオン 『3DGS render』

フリーコンテンツ

V4.0アップデート情報を追加

Kiri Engine によるオープンソースの無料Blenderアドオン『3Dgs Render By Kiri Engine』の紹介です。

3DGS Render とは

3DGS Render は、Blenderで直接ガウススプラットオブジェクトをインポート、編集、アニメーション、レンダリングできるようになるオープンソースの無料アドオンです。

このアドオン使用すると次のようなことが可能となります。

  • 使い慣れた環境で3DGSコンテンツを扱う
  • 3DGS変換前の点群の編集と最適化
  • アニメーションやモーショングラフィックスの作成
  • オブジェクトが照明に反応して影を落とす

最新のバージョン4では、編集作業とレンダリングプレビューが完全に同期する、リアルタイムなワークフローが実現されています。また、、Gaussian SplatデータとBlenderの標準的なメッシュオブジェクトを、1つのシーンとして完璧に合成してレンダリングすることができるようになりました。

3DGS Render addon by KIRI Engine 4.0 Release Trailer – Free addon

主な機能

ワークフローの完全な統合

3DGS オブジェクトを通常のBlenderオブジェクトのように変形、複製、編集することができます。

また、後述する編集モディファイアやアニメーションツールといった機能も含まれています。

レンダリングは、Eeveeを使用 しており、サードパーティのビルドは不要です。

HDRIに対応し、影も反映されます。

シェーディングコントロール

カラーマスク:オブジェクト内の特定の色をターゲットにして、その色を別の色と特定のブレンド モードで置き換えることができます。カラーマスクの表示を有効にすると、最大 3 つのカラーマスクを有効/無効にすることができます。

ホワイトバランス調整:スキャン中にホワイトバランスが正確に設定されなかった場合、ここでホワイトバランスを調整できます。

編集モディファイア

3DGSオブジェクトの面の数を減らし、パフォーマンスを向上させる働きをするモディファイアが用意されています。アニメーション目的にも使用できます。良いパフォーマンスを得るためには、最低でもCamera Cullを使用することが推奨されています。

それぞれのモディファイアは、3DGS Renderモディファイア(面を更新する)に必要なパフォーマンスを減らすように働きますが、これらのモディファイアが効果を発揮するためには、ある程度のパフォーマンスが必要です。そのため、モディファイアを使用して編集を行い、再度変更しない場合は、モディファイアを適用するのがベストとのことです。

  • Add Wire Sphere / Cube:ワイヤーフレームの立方体/球体をシーンに追加します。このオブジェクトはレンダリングされず、様々なモディファイア(クロップボックスなど)のターゲットとして使用できます。
  • Camera Cull:パフォーマンスと使いやすさの点で最も重要なモディファイア。このモディファイアは、カメラ境界の外側にある面とカメラまでの距離に応じて面を削除します。
  • Decimate:面の総数から 0 ~ 100 の割合で面を削除します。Decimate Seed によって、削除する面が変更されます。
  • Crop Box :切り抜きオブジェクトまたはコレクションと切り抜き方法を指定できます。切り抜きオブジェクトの内側、外側、または距離によって面を削除できます。
  • Colour Edit:面を色に応じて削除します。色の選択と削除方法を設定できま、顔の色が選択色と等しい、等しくない、暗い、明るい場合に削除できます。
  • Remove Stray – サイズやエッジの長さに基づいて面を削除します。
    • Remove Small Faces:最も小さな面はアーティファクトではないかもしれませんが、全体的なビジュアルクオリティにはあまり寄与しないかもしれません。これらの不要な面を削除し、モディファイアを適用することで、パフォーマンスを向上させることができます。
    • Remove Stretched Faces:多くの場合、特に単一の孤立したオブジェクトで作業している場合、フローティングアーティファクトは(オブジェクトの残りの部分に対して)最も大きく、または最も引き伸ばされた面を持っています。そのため、最大のエッジ長を持つ面をターゲットにすることで、この方法でアーチファクトを除去できることがあります。

アニメーションツールでモーショングラフィックスを作成

Animate モディファイアには、3DGS オブジェクトを使用して様式化されたモーション グラフィック レンダリングをすばやく作成するためのプリセットと設定が用意されています。

アニメーションエフェクトは、グローバル(オブジェクト全体に適用)にすることも、選択したオブジェクトまたはコレクションまでの距離に応じて適用することもできます。

【プリセット一覧】

  • ノイズ変位:標準のBlenderノイズテクスチャに基づいて面を変位させます。
  • ボロノイ変位:Blender ボロノイノイズテクスチャに基づいて面を変位させます。
  • Pixelateエフェクト:各面のポイントがBlenderのワールドグリッドにスナップされ、グリッドパターンが形成されます。
  • ポイントプリセット:アニメーション化された面がポイントに変わります。
  • Carveプリセット:アニメーション化された面がカーブに変わります。

Pixelateエフェクト

Carveプリセット

面の更新は既に非常にパフォーマンスを消費するタスクであるため、次のことが強く推奨されています。

  • 面の数を減らすために、できるだけ多くのモディファイアを使用して適用。
  • 完全な 3DGS シーンではなく、スキャンの分離されたオブジェクト/個別の部分で作業します。
  • アニメーションの影響を受ける面の数を減らすには、アニメーションの縮小スライダーを使用します。

Omniviewシステム(実験的)

ゲームの「インポスター(imposter)」と同様のアプローチを利用することができます。

標準の 3DGS オブジェクトには 3DGS ポイントごとに 1 つの面があり、この面は現在のビューに対して回転します。

Omniview オブジェクトにはポイントごとに複数の面があり、各面は特定の軸に永続的に位置合わせされます。

これらのオブジェクトは更新する必要がなく、「インスタンス化」できるため、一部のタスク (森の作成など) のパフォーマンスが大幅に軽減されます。

頂点ペイント

3DGS オブジェクトは、Blender のネイティブ頂点ペイント機能を使用して直接ペイントできます。

頂点ペイントを有効にするには、まず「Enable vertex Painting」を切り替えます。

「Start Painting」を押すと、頂点ペイントモードに入ります。ペイント用のブラシ設定には、Blenderのデフォルトの頂点ペイントメニューから利用でき、右クリックするか、上部のヘッダーからアクセスできます。

  • Reset Paint:ペイントに満足できず、元の状態に戻したい場合は、「Reset Paint」ですべてのペイント編集が元の状態に戻ります。
  • Blend Modeと「Mix Factor」:色の置き換えのスタイルと強度、置き換え強度を調整できます。
  • Mask by Object:すべてのペイント編集は、「Mask by Object」を有効にしてマスクオブジェクトを選択することでマスクできます。

さらに、画像オーバーレイ機能があります。この機能は、「Enable Image Overlay」を切り替えることで有効化でき、画像テクスチャをスプラットの色に影響を与えることができます。「Masking」と組み合わせて使用して、ロゴやテキスト画像をペイントすること可能です。

Mesh 2 3DGS

Mesh 2 3DGSは、.OBJメッシュメッシュを3DGSに変換する機能です。この機能は、将来的には他のOSも追加される可能性がありますが、現在Windowsのみでサポートされています。

注意点:OBJメッシュは三角形分割されており、対応するカラー画像を.JPGまたは.PNG形式で、正確な.MTLファイルが必要です。すべてのファイルは同じフォルダに存在し、.MTLファイル内の名前が正確である必要があります。

「Validate Mesh, Texture and .MTL」トグルは、あなたのメッシュと関連ファイルが変換を実行するための要件を満たしているかどうかをチェックしようとします。

チェックを入れたままにしておくことのがおススメですが、アドオンが正しいメッシュとファイル構造を誤ってフラグ付けしていると思われる場合は、無効にしてこのチェックをスキップできます。
「Select .OBJ」を押すと、インポートウィンドウが開きます。ここから、.OBJファイルを選択してください。

処理が完了すると、出力フォルダが開き、新しい.PLYファイルが作成されます。ファイル名はベースメッシュ名に_mesh2gsという拡張子が付きます。

「Window…」から「Toggle System Console」を開き、プロセスが実行されていることを確認することができます。

エクスポート

エクスポートメニューには、1つのトグルと1つのチェックボックスのみが表示されます。

「Reset Origin」スイッチは、有効にすると、エクスポート前にオブジェクトをワールド原点に戻します。

「Export 3DGS」または「Export Points For 3DGS」ボタンを押すと、アクティブなオブジェクトのすべてのモディファイア、色の編集、および3DGSトランスフォームを適用。その後、エクスポートウィンドウが開きます。ファイルのパスを選択し、オブジェクトに名前を付けて、「Export PLY」をクリックしてエクスポート完了です。

注意点:

  • アドオンのポップアップに記載されているように、3DGSオブジェクトを回転またはスケールし、Blenderのネイティブ機能である「Apply Scale / Apply Rotation」を使用してそれらのトランスフォームを適用した場合、3DGS属性は正しく更新されず、オブジェクトを他の3DGSアプリにエクスポートできなくなります。
  • 3DGSメニューとポイントクラウドメニューの両方のエクスポート機能は、エクスポート前に3DGS属性を正しく更新します。
  • Spherical Harmonic / F_Rest の値は更新されないため、エクスポートはf_restの値が任意であるプログラム(例:Supersplat)でのみ機能することに注意してください。
  • エクスポート機能は、エクスポート前にオブジェクトのすべてのモディファイアを適用するため、エクスポートする前にオブジェクトのコピーを作成することをお勧めします。

より詳しい情報はドキュメントページへ

更新情報

バージョン4

バージョン4 では、Blenderを単なるGaussian Splatビューアから、統合された編集・レンダリング環境へと変貌させる新機能が追加されました。

公式の文書が更新されていないようなので次のリリース動画で紹介されている内容をもとに新機能を紹介します。ので、また更新するかもです。

Gaussian Splatting in Blender – Free addon – 3DGS Render 4.0

シームレスな「編集↔レンダリング」ワークフロー

バージョン4の最大の進化は、編集作業とレンダリングプレビューが完全に同期する、リアルタイムなワークフローの実現です。これにより、試行錯誤のサイクルが効率化します。

このワークフローは、インポート時に生成されるプロキシオブジェクトによって実現されます。PLYファイルをインポートする際、「Create proxy object」オプションを有効にすることで、高品質なレンダリング専用のオブジェクトが自動的に作成されます。

この機能により、以下のような直感的な編集が可能になります。

  1. 編集モードで操作: Blender標準の選択ツールを使い、スキャンデータ内の不要な背景ポイントを選択して削除します。
  2. 即座にプレビュー: レンダーモードに切り替えると、たった今行った変更が、レンダリング結果に自動的かつ即座に反映されます。

ポイントの削除だけでなく、アドオンで行う色の変更やアニメーションの調整など、あらゆる編集がリアルタイムで高品質なプレビューに同期します。これにより、Blenderが本格的なGaussian Splat編集ツールとして機能するようになりました。

メッシュオブジェクトとの統合レンダリング

Gaussian SplatデータとBlenderの標準的なメッシュオブジェクトを、1つのシーンとして完璧に合成してレンダリングすることができるようになりました。

この機能を利用するには、レンダーサブメニューにある「Combine with native render」オプションを有効にします。これにより、アドオンはBlenderのネイティブレンダラーと連携して動作します。

合成レンダリングの手順
  1. シーンの準備: Gaussian Splatオブジェクトに加え、キャラクターや背景など、通常のメッシュオブジェクトをシーンに配置します。
  2. オプションの有効化: レンダー設定で「Combine with native render」にチェックを入れます。
  3. レンダリング実行: 静止画またはアニメーションのレンダリングを開始します。

レンダリングが始まると、一時ファイルが生成された後、最終的に「_composite」という接尾辞が付いた合成済みファイルが出力されます。このファイルには、Gaussian Splatのリアルな質感と、メッシュオブジェクトのシャープなディテールが共存した、高品質なビジュアルが描き出されます。

この機能により、表現の幅が大きく広がり、より複雑で魅力的なシーン制作が可能になりました。

その他の便利な新機能

  • インポートオプションの強化:PLYファイルをインポートする際、用途に応じて2つの形式から選択できます。
    • As Verts(頂点として): パフォーマンスが良く、ほとんどの状況で推奨される形式です。
    • As Faces(面として): 頂点ペイントを行いたい場合に選択します。
  • 柔軟なプロキシ作成:インポート時にプロキシオブジェクトの作成を忘れたり、誤って削除してしまったりした場合でも、後からいつでも再生成できます。編集用のオブジェクトを選択し、「Create proxy from active」ボタンを押すだけで、新しいプロキシが作成されます。
  • トランスフォームの同期制御:レンダリング用プロキシオブジェクトと編集用ソースオブジェクトの連携を、Copy source transformsオプションで制御できます。有効にするとプロキシはソースオブジェクトの動きに追従し、無効にするとそれぞれを独立してアニメーションさせることが可能です。
  • デプスマップ出力:レンダリング設定でデプスパス(Depth Pass)を有効にすると、カラー画像と同時に深度情報を記録した画像も出力されます。これにより、後のコンポジット作業で被写界深度(ボケ)を調整するなど、高度な編集が可能になります。
バージョン3

バージョン3では、ペイントと画像テクスチャを使用した色の編集機能、メッシュから3DGSへの変換、変換と編集内容のエクスポート機能、その他、多くの機能改善が行われているようです。

これにより、用途に合わせて次の3つの異なるワークフローをサポートしています。

  • .OBJファイルを3DGS (.PLY) ファイルに変換: 既存のメッシュデータをGaussian Splatting形式に変換できます。
  • 3DGSスキャンデータのインポート: .PLY形式の3DGSスキャンデータをBlenderに直接インポートし、編集やレンダリングが可能です。
  • Blenderを編集ツールとして活用: インポートした3DGSデータをBlenderで編集し、他の3DGSソフトウェアやビューアにエクスポートできます。
3D Gaussian Splatting in Blender | Free & Open Source | 3DGS Render Addon 3.0 For Blender
バージョン2

リリースノートがないので正確にはわかりませんが、バージョン2では、編集可能なオブジェクト、カメラカリング、クロップボックス、アニメーションプリセット、’ Imposter’ オブジェクト生成、などの役立つ新機能が追加されました。

クイックガイド

ここでは、主要なワークフローの簡単な手順と使用上の注意事項を紹介します。

メッシュオブジェクトから3DGSオブジェクトを作成
  1. Blenderの3DビューポートでアドオンのNパネルを開きます。
  2. アクティブメニューから「Mesh 2 3DGS」を選択します。
  3. 「Validate Mesh, Texture and .MTL」にチェックが入っていることを確認します。
  4. 「Select .OBJ」ボタンを押して、変換したい.OBJファイルを選択します。
  5. 「Mesh 2 GS」ボタンを押します。
  6. 数分待つと、変換が完了し、出力フォルダが開きます。フォルダ内に新しい.PLYファイルが生成されます。
フルシーンの3DGSスキャンデータをインポートして動画を作成
  1. Eeveeレンダリングエンジンを有効にします。
  2. 3DビューポートでアドオンのNパネルを開きます。
  3. アクティブメニューから「3DGS」を選択します。
  4. インポートメニューを開き、「Import PLY as Splats」を押します。
  5. UV設定に関するウィンドウが開きますが、ここでは無視して「OK」を押します。
  6. インポートしたい3DGS .PLYファイルを選択し、「Import PLY as Splats」をクリックします。インポートが完了するまで待ちます(大きなデータの場合、時間がかかることがあります)。
  7. インポート後、「Camera Updates」は無効になっている可能性があり、スキャンの向きも正しくない場合があります。
  8. 作業中のパフォーマンス向上のため、「Active 3DGS Object」メニューから「Show as Point Cloud」を選択します。
  9. 3DGSオブジェクトを回転、移動、スケールして、希望の位置に調整します。
  10. シーンにカメラを追加し、おおまかな位置に配置します。
  11. スキャンを選択した状態で、アクティブメニューが「3DGS」になっていることを確認し、「Modifiers」メニューを開きます。
  12. 「Camera Cull Modifier」を追加します。必要に応じて設定を調整するか、「Auto Set Up」を押して自動設定します。
  13. 「Camera Cull」モディファイアの「Closer Than」距離を調整して、カメラ前面の不要なスプラットを削除します。
  14. カメラを通して見て、「Camera to View(ビューポートのロックアイコン)」を使用して、3Dビューポートをカメラビューに固定します。
  15. 必要に応じてカメラをアニメーション化します。3DGSがポイントとして表示され、カメラカリングが有効になっていると、作業が非常に高速になります。
  16. シーンの準備ができたら、3DGSオブジェクトを選択し、「Enable Camera Updates」を有効にします。「Use Active Camera」をオンにすると、アクティブカメラの動きに合わせて常にフェースが更新されます。
  17. アニメーションを再生し、必要に応じて編集を行います。
  18. 「HQ / LQ」メニューで、マテリアルを「HQ」に切り替えます。必要に応じて、ビューポートとレンダーのサンプル数を1に設定します。
  19. 単一フレームをレンダリングして設定を確認します。問題がなければ、フルアニメーションをレンダリングできます。
  20. 標準のBlenderのF12レンダリングを使用するか、速度を上げたい場合は、「Render」メニューから「Render Animation」を使用します。これはオフラインレンダラーであり、停止するにはBlenderを強制終了する必要があるため、すべての設定に完全に満足している場合にのみ使用してください。
フルシーンの3DGSスキャンデータを編集してエクスポート
  1. Eeveeレンダリングエンジンを有効にします。
  2. 3DビューポートでアドオンのNパネルを開きます。
  3. アクティブメニューから「Point Cloud」を選択します。
  4. インポートメニューを開き、「Import PLY as Points」を押します。インポートしたい.PLYファイルを選択し、「Import PLY」を押します。*このポイントとしてのインポート/編集は、大きな領域をすばやく削除するために使用します。詳細な編集は後でフェース編集で行います。
  5. 「Point Edit Modifier」を追加すると、マテリアルプレビューモードでポイントの色が表示されます。
  6. 「Modifiers」メニューに移動します。スキャンの一部を分離するには、「Crop Box」モディファイアを有効にします。「Add Wire Cube / Sphere」をクリックすると、クロップオブジェクトとして使用できるワイヤーフレームオブジェクトが追加されます。クロップオブジェクトの内側または外側のポイントを削除することを選択できます。クロップに満足したら、「Active Point Cloud」メニューの「Apply」ボタンをクリックして、ポイント編集モディファイアを適用します。
  7. 「Export」メニューに移動し、「Export Points For 3DGS」を選択します。編集したオブジェクトに名前を付けて、「Export PLY」をクリックします。
  8. 微調整のために、スキャンをメッシュフェースとして再インポートします。
  9. アクティブメニューから「3DGS」を選択します。
  10. 「Import PLY as Splats」を押します。UV設定に関するウィンドウが開きますが、ここでは無視して「OK」を押します。
  11. インポートしたい3DGS .PLYファイルを選択し、「Import PLY as Splats」をクリックします。インポートが完了するまで待ちます(大きなデータの場合、時間がかかることがあります)。
  12. 「Camera Updates」を有効にします。「Update Active To View」を一度押すか、アクティブカメラと「Camera to View(ビューポートのロックアイコン)」を使用して、常に更新を取得します。HQマテリアルを使用している場合は、アクティブカメラを通して見ていることを確認してください。
  13. 編集モードでは、オブジェクトの密集したシルエットから逸脱しているスプラットを簡単に見つけることができます。これらのポイントを選択して削除できます。フェース内の単一点を選択する場合は、必ず「Ctrl Numpad+」を使用してフェース全体を選択してから削除してください。
  14. 正投影ビューではフェースの更新を実行しないでください。「Active 3DGS Object」メニューのX、Y、Zキーを使用して、編集中に正投影のフェースの向きを強制的に設定できます。
  15. レンダリングではなく編集のみを行うため、「Active 3DGS Object」メニューの「Apply Modifiers」ボタンを使用して、いつでも3DGSレンダーモディファイアを適用できます。これにより、編集中のパフォーマンスが向上する可能性があります。
  16. 編集に満足したら、「Export」メニューに移動し、「Export 3DGS」をクリックします。エクスポートウィンドウが開きますので、ファイルに名前を付けて「Export .PLY」をクリックします。
  17. エクスポート機能は、現在のすべての回転とスケールをエクスポートされた.PLYファイルに適用します。オブジェクトのすべてのモディファイアが適用されるため、作業や編集を続行する場合は、エクスポートする前に複製を作成するのが最適です。
  18. 完全なペイントと色の編集については、それぞれの専用セクションで説明します。
使用上の重要な注意事項
  • Blenderのバージョン: Blender 4.2以降が必要です。旧バージョンでは動作しません。
  • 対応ファイル形式: インポートできるのは3DGS形式の.PLYファイルのみです。通常のポイントクラウド形式の.PLYファイルはエラーの原因となる可能性があります。
  • パフォーマンス: 特にポリゴン数の多い3DGSオブジェクトの編集やレンダリングは、PCのスペックによっては動作が重くなる可能性があります。推奨ワークフローに従うことでパフォーマンスを改善できます。
  • 正投影ビューの制限: 正投影ビューではフェースの更新ができないため、3DGSオブジェクトが警告キューブに変わることがあります。その場合は、正投影ビューを解除し、フェースを再度更新してください。
  • 作業中の表示: オブジェクトの移動やアニメーション設定中は、3DGSオブジェクトをポイントクラウドとして表示することでパフォーマンスが向上します。
  • レンダリングモード: 最終レンダリングには、フリッカーを避けるためにHQモード(ブレンドされたアルファマテリアル)を使用することを推奨します。作業中はLQモード(ディザリングされたアルファマテリアル)を使用できます。
  • サンプル数: HQモードでの最終レンダリング時には、レンダーサンプルを1に設定することでレンダリング時間を大幅に短縮できます。
  • 編集のみでの利用: Blenderをレンダリングに使用せず編集のみに利用する場合は、インポート直後に3DGS Renderモディファイアを適用することでパフォーマンスが向上する場合があります。
  • エクスポート機能: エクスポートおよび3DGS変換適用機能は、スケール、回転、色の属性を更新しますが、「F_rest」球状調和関数の属性値は更新されません。
  • 旧バージョンとの互換性: 旧バージョンのアドオンでインポートされた3DGSオブジェクトは、最新バージョンで正確に動作しない可能性があります。プロジェクトごとにアドオンのバージョンを統一することを推奨します。

より詳しい手順は、KIRI EngineのYouTubeチャンネルで公開されているクイックガイドビデオをご覧ください。

チュートリアル

公式の動画チュートリアル/ドキュメントが公開されています。

Free 3DGS Render Addon for Blender 2.0 – Full Tutorial / Documentation
Free 3D Gaussian Splatting Addon for Blender | Full Tutorial | How To Render 3DGS on Blender

ダウンロード

使用要件は以下の通りです。

  • Blender 4.2+
  • Eevee レンダーエンジン
  • HQレンダリングサポート: Windows/Mac

Github ページはこちらから

コメント

Translate »
タイトルとURLをコピーしました