見出し画像

Sketchfabでのマテリアルとテクスチャの取り扱いについて

こんにちは、Nakaoです。

先日、初めてSketchfabへモデルをアップしました。
ポートフォリオや商品陳列として素晴らしいビューワーなのですが、その機能と速さを存分に発揮してもらうためにはガイドラインを読まないとわからないことが多々ありました。
その中で、マテリアルとテクスチャの取り扱いについてまとめたものを共有します。公式ソースは以下の通り。

SketchFabの販売者ガイドラインまとめも以前noteにアップしたものがあります。ご参考までに。

[マテリアル]

画像3

- 1シーンのなかに複数マテリアルと複数オブジェクトを保持できる。(上の図のように、マテリアルがプルダウン形式でリストアップされ、色を選択したり、接続するテクスチャを選択し直したりできる)
- マテリアルには特有の名前をつけること。3D Editorでは、マテリアル名に基づいてオブジェクトがマージされるため。
- マテリアルを共有するメッシュは可能な限り結合するとパフォーマンスが良い。
- OBJ形式でアップするとき、.MTL(MaterialLibraryFile)を同封すること。
- マテリアルは100種類までサポート。100以上を検知した場合は、まず同一のマテリアルをマージし、それでも100以上ある場合は全てを一つのマテリアルにマージされる。

[テクスチャ]

- イメージテクスチャを使用していない場合、カラーピッカー機能で選択できる。

画像2


- モデルのファイルと同じ階層にテクスチャやテクスチャフォルダを同封するか、モデルファイル自体に組み込む(Pack)すること(BlenderやFBXなど)。
- テクスチャがマテリアルから適切に接続されている、あるいは指定のルールに従ってテクスチャ名がつけられていれば、自動的に各マテリアルにアプライされる。

スクリーンショット 2021-01-18 11.20.05

ー"マテリアル名_種類.拡張子"が基本フォーマット。(例:Roof_diffuse.png)
ー特殊記号は使用しないこと。
ー連続した単語に同じ単語が含まれているのも推奨されない(例:"roof"と"roofedge"など)
- モデルに振り分けられたマテリアルが一つだけの場合、テクスチャ名の"種類"の部分(_diffuseや_roughness)が一致していれば自動的に接続される。
- テクスチャ解像度の上限は8192×8192まで。
- テクスチャのデータサイズは一枚当たり75MBまでアップロードできるが、パフォーマンスを踏まえると10MB以下がベスト。
- RGBかつLinearのイメージのみサポートされている。CMYKカラースペースは避けること。
- アップロードできる形式は、JPG/PNG/TIFF/TGA/DDS/GIF/BTM/VTF。この内、JPGかPNGでないものは、自動的にPNGに変換される。
- アップロード後でも、3D Editorでテクスチャを別途追加できる。この時アップできるテクスチャの拡張子は、JPG/PNG/TGA(TGAはPNGに自動変換される)。

画像4

[Processingと圧縮]

- モデルのダウンロード時間を短縮するため、各テクスチャは圧縮される。
- 圧縮の程度は、テクスチャの種類(diffuse, normal, etc.)やチャンネルの要件(RGB, Luminance, Alpha)に基づき、3D Viewerでの表示クオリティを保てる範囲でのダウンサイズになる。
- 上記と同時に、視聴側の環境やデバイスによって使い分けるために、オリジナルサイズ〜32×32ピクセルの間でEvery Power of 2のサイズが自動生成される。

[UV]

画像5

- 1つのマテリアルで2つ以上のUVマップを使用している場合、どのUVマップを使用するかオプションメニューが表示される。
- UVのオフセットやタイリングは現在(2021/02/03)サポートされていない

[テクスチャラップモード]

- テクスチャ座標(u,v)からサーフェイス座標(s,t)のマッピングレンジは(0,0)~(1,1)
- Wrap SとWrap Tというプルダウンメニューで、各サーフェイス座標のマッピング方式を変更できる。
 ・Repeat:テクスチャはタイリングされる。
 ・Mirror:テクスチャはミラーリングされる。
 ・Clamp:[0,1]のレンジからはみ出しているテクスチャピクセルはその境界線に固定される。

[サードパーティーのレンダリングエンジン]

- V-rayやMental Rayなどは、諸々ベイクするのがベスト。
- 3ds Max Exporterなど、マテリアルのベイクとアップロードが自動的に行えるものもある。
- Keyshotは現在ベイキング機能が無く、マテリアルエンコーディングのサポートは限られているので、他のソフトでマテリアルとテクスチャを準備するか、テクスチャは使わずSketchfabでPBRモードを使用すること。

まとめは以上になります。

次は、以前作った窓とドアのセットをアニメーション付きでアップする予定です。その際にアニメーション付きモデルの取り扱いについても調べることになるので、まとめたらnoteにアップしようと思います。

この記事が気に入ったらサポートをしてみませんか?