glTFでリンク形状やリプリケータ形状をファイルサイズを抑えて出力する

  • リンク形状とリプリケータを使用したシーンを用意する
  • glTF形式でエクスポートする
  • リンク形状とリプリケータを実体化してエクスポートする
  • 2つのエクスポートしたファイルのサイズを確認する
glTFでリンク形状やリプリケータ形状をファイルサイズを抑えて出力する。

Shade3D Ver.26.2より、glTFのエクスポート時にリンク形状やリプリケータで配置される形状などの仮想形状がバイナリリソースを参照するようになりました。従来の仮想形状を実体化してからのエクスポートに比べてファイルサイズの軽減やビュワーでのフレームレートの改善も図れるようになりました。

ここではリンク形状やリプリケータで配置された仮想形状を含むシーンを26.2と従来の方式ででエクスポートした際のファイルサイズの比較とサイズを抑えて出力する制作手順を紹介します。

1.エクスポートするシーンを用意する

1-1.使用するシーン

リンク形状とリプリケータを使用したシーンを用意します。ここではポリゴンメッシュで作成した木のモデルを「サーフェスリプリケータ」で長方形のポリゴンメッシュの面に配置したものをリンク形状で複数配置したものを用意しました。このサンプルシーン「gltf_export_replicator_link_as_reference_sample.shd」はこちらよりダウンロードすることができます。

1-2.シーンの構成

A.木のポリゴンメッシュのマテリアルはマスターマテリアルの緑と茶色をフェイスグループで設定しています。

B.「リプリケータ」パートの一番上に配置するポリゴンメッシュの長方形があり、その下の「サーフェスリプリケータ」パートの中に木のポリゴンメッシュを入れています。

C.リプリケータは「サーフェスリプリケータ」を使用し、「形状をランダムに複製」を「オン」にするため「衝突判定」は「無し」、「個数」は「12」、「拡大縮小」はY軸方向に「0.4」の割合で拡大縮小するように設定されています。

※サーフェスリプリケータについてはこちらの記事をご覧ください。

D.「リンク」パート内にリンク形状が入っています。リンク形状は、長方形とリプリケータをパートにまとめたものを「ツールボックス」 > 「作成」 > 「移動/複製/リンク」 > 「リンク」 > 「直線移動」でリンク形状として複製したものをマニピュレータでY軸回転しながら複数配置しています。

※リンク形状の作成方法については「こちら」の記事もご覧ください。

2.仮想形状を参照方式でエクスポートする

エクスポート時に設定する項目はありません。Ver.26.2より自動的に参照形式でエクスポートされるようになりました。

2-1.「glTF Export」ダイアログを表示する

メインメニュー > 「ファイル」 > 「エクスポート」 > 「glTF(gltf/glb)…」で「glTF Export」ダイアログボックスを表示します。

2-2.全ての形状を指定する

「基本設定」 > 「出力」グループ > 「出力」で「全ての形状」を選択して「OK」します。

2-3.名前をつけて保存する

この後の手順で実体化したファイルと比較するために名称を設定して保存します。「OK」で表示される「ファイル」ダイアログボックスで名称を設定します。
ここでは「Link_Type.glb」としました。

3.リプリケータとリンク形状を実体化する

Ver.26.2以前では自動的に全てのリプリケータやリンク形状などの仮想形状が実体化されてからエクスポートされていました。それを再現するために手動で仮想形状を実態化します。

3-1.リプリケータを実体化する

「ブラウザ」で「サーフェスリプリケータ」パートを選択し、「ツールパラメータ」 > 「リプリケータを実体化」で実体化します。

3-2.リンク形状を実体化する

A.「ブラウザ」で「リンク」パートを選択し、CtrlWindows/optionmacOS+右矢印でパート内のリンク形状全てを選択します。

B.「ツールパラメータ」 > 「リンク形状を実体化」で全てのリンク形状を実体化します。

4.実体化したシーンをエクスポートする

手順2と同様の手順で実体化したシーンをエクスポートします。
保存するファイル名は「Fix_Type.glb」としました。

5.エクスポートしたファイルのサイズを比較する

PCのファインダーで2つのファイルのサイズを確認します。
Windowsファイルを右クリックして「プロパティ」を開き「サイズ」の欄を確認します。
macOSファイルを選択しcommand+iで「情報」を開き「サイズ」の欄を確認します。
※ファイルサイズはPC環境によって変化する場合があります。ここでの数値は筆者のPC上でのサイズとなります。

・左:Ver.26.2で仮想形状のままエクスポートしたサイズ:510KB
・右:実体化してエクスポートしたサイズ:106.5MB

参考値:Shade3D形式でのサイズ:236MB

Ver.26.2でエクスポートした場合に大幅にファイルサイズが小さくなっていることが確認できます。

カテゴリー: glTFでリンク形状やリプリケータ形状をファイルサイズを抑えて出力する