3DModelViewerとして便利なSketchfabに3Dモデルをアップロードするときに
- ファイル形式は?
- Material数は?
- Textureは?
など、色んな疑問を調査する記事になります。
結論、ドキュメントに書いてありますが、英語なんですよね...なので日本語でガシガシまとめていきたいと思います。
Improving Viewer Performance (Viewerのパフォーマンス向上)
結論
- 極力マテリアル数は少なく
- 50以下のジオメトリ/メッシュ数
- テクスチャは10枚以下 (4Kテクスチャの場合)
- 50万ポリゴン以下
- ボーン数は1ジオメトリあたり35以下
- シーンが複雑でない
- 立地な透明化方式は避ける
- カメラをアタッチしたときに、ライトが影を落とさないようにする
- 適切にShadelessモードを検討する
- ファイルサイズは圧縮して500MB以下
ダウンロード時間
極力ダウンロード時間が短いほうがいい。そのためにできること
Textures
we will never use a texture larger than 8192×8192 pixels.
8192×8192 pixelsより大きなサイズを決して使わないこと。(8192を含むのかは調査中)
極力、Texture数とTextureサイズを小さくする努力をする。
Mesh Size
頂点数、ポリゴン数が多いほどダウンロードに時間がかかります。
Background
HDRi environmentsは大きい画像データになる。また、固定画像の背景も同様にダウンロードが必要。
一方でSolid Colorの背景はダウンロードが必要ないため、一番最適である。
Scene最適化
できること
- 同一のマテリアルをマージする
- 同じマテリアルを共有するメッシュ(ジオメトリ)のマージ
- シーングラフの簡素化
- 未使用のUVを削除
- 未使用の頂点カラーを削除
- 未使用の法線と接線を削除
- チャンネルパックテクスチャ
Rendering Performance
Materials
Material数が多いとレンダリングのボトルネックになる。
Sketchfabは1つのシーンで最大100のマテリアルをサポートしている。
Textures
- テクスチャサイズの数は少ないほどよい
- 例えば4Kテクスチャは50MBほどのメモリを必要とする
- 4Kがちょうどよい限界であることが多い
Meshes
シーン内のメッシュ/オブジェクト/ジオメトリが別れているほど、パフォーマンスは低下する。理想は各マテリアルに対してメッシュが1つであること。
Polygons / Vertices (ポリゴン/頂点)
ポリゴン数を減らすことは有効である。殆どの場合数百万ポリゴンというのは不要。
Normal Mappingを使用することで、ポリゴン数を偽装することができる。
モバイル端末で閲覧する場合は、100万~150万ポリゴンを最大として考えると良い。
Supported 3D File Formats (対応している3Dファイル形式)
おすすめ
ファイル形式 | ファイル名 |
---|---|
.obj | Alias Wavefront |
.blend | Blender |
.fbx | Autodesk Filmbox, FBX |
.gltf (+.bin), .glb | GL Transmission Format |
その他対応している形式
ファイル形式 | ファイル名 |
---|---|
.3dc | 3DC point cloud |
.3ds | 3DS |
.abc | Alembic |
.dae,.zae | Collada |
.igs,.iges | Initial Graphics Exchange Specification, IGES |
.las | LIDAR point clouds |
.ply | Polygon File Format |
.stl | Stereolithography, Standard Tessellation Language |
.usd,.usdz,.usda,.usdc | Universal Scene Description (USD) |
Uploading 3D Models (3Dモデルのアップロードの仕方)
Zipアップロード
ファイルサイズを削減するためにも、Zipにしてアップロードすることをおすすめする。必要なのは
- Textureファイル
- Materialファイル (OBJ形式の場合)
- 3Dモデルファイル
である。
このようにサブフォルダーを作っても良い。
ファイルサイズの制限はプランによって異なる。
Premiumプランは500MBが上限。
Textures
対応形式
アップロード時の対応形式
.JPG
.PNG
.TIFF
.TGA
.DDS
.GIF
.BMP
3D Setting時の対応形式
.JPG
.PNG
.TGA
.VTF
Processing & Compression
サイズを2のべき乗にする。
32×32 ~ 8192×8192