Shade3DでのglTFエクスポートについては、Shade3Dチュートリアルの「glTFの活用(Pro版 ver.21)」や「glTFフォーマットの活用/ARで形状を見る」ですでに説明されていますが、
さらにごり押ししておきます (glTF/USDもどちらも個人的な推しのフォーマットなので、、)。
ここでは、オープンソース版の「glTF Converter」プラグインを使ったほうがいいか、
ver.21 Pro版で標準としてついている「glTF Converter」プラグインを使ったほうがいいか、という比較をします。
オープンソースとしてのglTF Converterプラグイン
オープンソース版はGitHubの「 https://github.com/ft-lab/Shade3D_GLTFConverter 」で公開しています。
これは、Shade3D ver.16以降のStandard/Professional版で動作します。
ver.21にも対応しています。
これは、Shade3D ver.20 Pro版で搭載された「PBRマテリアル」には対応していません。
というのも、現時点でShade3DプラグインSDKのバージョンはver.15.1であるためです。
プラグインからはそれ以上のバージョンで追加された新機能にはアクセスできないのです。
表面材質のマッピングでの「不透明マスク」や「乗算合成の仕様変更」などの小さい機能追加は対応できています。
表面材質の「PBRマテリアル」は大きな機能追加になるため、これは現在のプラグインSDKではアクセスできないです。
ただし、glTFフォーマット自体はPBRマテリアル表現を行うため、PBRマテリアルをある程度近似したエクスポートを行います。
PBRマテリアルとして出力はしますが、Shade3DではPBRマテリアルとしては扱わない(扱えない)、という立ち位置になります。
ver.21のglTF Converterプラグイン
Shade3D ver.21で搭載されているglTF Converterプラグイン(Pro版のみの動作)は、
Shade3Dの「PBRマテリアル」に対応しています。
そのまま変換することなく、PBRマテリアルの情報をglTFに渡すことができます。
ポージングやアニメーションを行う際のジョイントとして「ボーン」「ボールジョイント」に加えて「回転ジョイント」も対応しています。
また、マテリアルのAlphaModeの指定がShade3D本体でも実装されているため、ここの情報の受け渡しもシームレスです。
カメラ情報もエクスポートできます。
反面、MorphTarget対応が削減されています。VRMインポート機能もありません。
比較
オープンソース版とver.21版の「glTF Converterプラグイン」の比較一覧です。
機能 | オープンソース版 | ver.21版 |
---|---|---|
対応Shade3Dバージョン | ver.16以降のStandard/Professional | ver.21以降のProfessional |
出力テクスチャの種類 | jpeg png |
jpeg png |
インポートできるファイルの種類 | gltf glb vrm |
gltf glb |
エクスポートできるファイルの種類 | gltf glb |
gltf glb |
Shade3Dマテリアル | 対応 | 対応 |
PBRマテリアル | 未対応 | 対応 |
インポート時のマテリアル | Shade3Dマテリアルを使用 | PBRマテリアルを使用 |
ポージング/アニメーション対応ジョイント | ボーン ボールジョイント |
ボーン ボールジョイント 回転ジョイント |
スキン | 頂点ブレンド | 頂点ブレンド |
スキンで1頂点にバインドできる最大ジョイント数 | 4 | 4 |
MorphTarget | 対応 | 未対応 |
VRMインポート(一部) | 対応 | 未対応 |
AlphaModeの選択(OPAQUE/BLEND/MASK) | 対応 (プラグインによる属性指定) |
PBRマテリアルで標準対応 Shade3Dマテリアルでは未対応 |
Occlusion Mapping | 対応 (プラグインによるマッピング指定) |
PBRマテリアルで標準対応 Shade3Dマテリアルでは未対応 |
頂点カラー | 対応 | 対応 |
DoubleSided | マスターマテリアル名に"doubleSided"の文字列があるかで判断 | 本体機能で対応 |
Unlit | 本体機能「陰影付けしない」で対応 | 本体機能「陰影付けしない」で対応 |
複数テクスチャがある場合のベイク | 対応 | 対応 |
エクスポート時のライセンス情報の指定 | 対応 | 対応 |
Draco圧縮 | 対応 | 対応 |
1メッシュでのUVレイヤ数の最大 | 2 | 2 |
1メッシュで割り当てることができる頂点カラーレイヤ数の最大 | 1 | 1 |
カメラ情報のインポート/エクスポート | 未対応 | オブジェクトカメラの対応 |
どっちを使えばよい ?
Shade3D ver.21 Pro版では「PBRマテリアル」やAlphaModeの指定がShade3D本体にあるため、
Shade3D標準のglTFエクスポート/インポート機能を使用したほうが断然いいです(マテリアルの違いなどのめんどくさいことを考えなくて済みます)。
ver.16 – ver.20のバージョン(Standard/Professional)では、オープンソースの「glTF Converter」を使うほうがいいかと思います。