BD3Dが無料で公開しているBlender用 LOD/Proxy システムアドオン「 Lodify 」の紹介です。
このアドオンを使用すると、blender 2.8以上でLOD/Proxyシステムが利用できます。基本的にメッシュデータのエクスチェンジャーとして機能し、バウンディングボックスを使わずにシーンを最適化したい場合や、すべてを隠しておきたい場合に役に立ちます。プロキシシステムとしても機能し、オプションでメッシュデータのバックアップもできるということです。
以下の動画でアドオンが動作している様子を確認することができます。
アドオンについて
- アクティブなビューポートに表示する “lods “を選択し、レンダリングされたビューや最終的なレンダリングを個別に行うことができます。
- LODシステムは、オブジェクト内に格納されているAPIプロパティとオブジェクトデータ
プロパティを使用します。 - 「Suzanne LOD 0」、「Suzanne LOD 1」、「Suzanne LOD 2」などのネーミングシステムを使用している場合は、名前に応じて自動的にlodを検索できます。
- 例えば、破壊的なハードサーフェスモデリングの作業中にメッシュデータを保存する必要がある場合、このLODシステムをデータのバックアップ管理システムとして使用することができます。
- マテリアルデータは、それぞれのLODごとに保存されているため、それぞれのLODにはそれぞれのマテリアルを持つことができます。メッシュであり、オブジェクトごとではありません。
- ポインタはデータの利用者とみなされることに注意してください。削除されたオブジェクトに残ったポインタは、’cleanse data-block’ オペレータを使ってクリーンアップしたほうが良いです。
- モディファイアを使ってアニメーションを作成している場合(例:Bones)、LODシステムは、Vグループが各詳細レベルに正しく割り当てられていることを前提に、アニメーションと完全に連動します(トポロジーを単純化したり、縮小したりすると、自動的にVグループが割り当てられるので、最終モデルからLODを作成するのがより簡単です)。シェイプキーのアニメーションはLODに対応していません。
- レンダリングされたビューの自動メッシュデータ切り替えについて:
Lodifyは “blender内部更新信号”(depsgraph更新と呼ばれる)ごとにメッシュデータを更新しようとするので、カスタムショートカットやパイメニューを使用している場合、これらの “depsgraph更新 “を送信しないようにするには、ビューポートのどこかをクリックして新しいものを送信した方がいいかもしれません。(デフォルトのヘッダシェーディングビューポートボタンは100%の確率で動作します)。 - このアドオンは外部ブレンドからのリンクを念頭に置いて作られたものではありません。
アドオンのpythonコードについて
- このアドオンは基本的に、UIリストに格納されたブーリアンに応じてメッシュデータを交換する大きなメッシュデータ交換システムとして機能します。
- オオブジェクトメッシュデータ内で描画していて、アクティブメッシュを常に切り替えているため、「lod_original」ポインターがコンスタンスとして使用され、すべてのメッシュデータオーナーのオブジェクトプロパティに保存されます。lodify APIを使用する必要がある場合は、常にこのコンスタンスを使用してください。object.data は単に信頼性が低いです (-> ‘true_mesh_data’)
- すべてのLodスイッチは、各depsg udpateのfctを介して行われます(-> ‘analyse_and_exchange_data’)
このコードは、すべてのオブジェクトの ui-lists を解析し、リストが存在し、ブール値が満たされていれば、それに応じてメッシュデータを交換したり、復元したりします。 - レンダリングビュー中に、depsgraphのfctからデータを変更すると、Blenderが瞬時にクラッシュしてデスクトップに戻ってしまいます。これに対処するために、ユーザーがレンダリングビューにいるときにレンダリングされたboolanを変更すると、ビューが前後にトグルされるようになりました。825行目と827行目の’toggle_shading’を削除すれば、このバグを自分で体験できます。
このアドオンのより詳しい情報はこちらから
Lodify のダウンロードはこちらから(github)
コメント