2016年10月18日火曜日

Sketchfab設定メモ

他にもブログを作っているけど、Blender関連の話題を分けたいので立ち上げました

SketchfabというWeb上の3Dビューアーサイトがあります

そちらに期間を決めてデータあげる企画があって
事前のリサーチにBlenderのデータをアップロードしてみたのでメモ



今更ですが、動きのついた3DデータがWebブラウザで見れるというのはいいものですね

さて、SketchfabはBlenderのファイルに対応していて
基本的にファイルを選択してアップロードするだけなので
英語サイトとはいえ 簡単なものなのですが
他の日本語で解説されてる方も含めて躓いているポイントがいくつかあって

  • テクスチャ画像
  • モデファイア
  • 動きのループ範囲
  • NLAエディッタやアクションとの関係


このこの辺りについて少し書いてみようかと思います

テクスチャ画像

Blenderのテクスチャ画像は通常は外部参照ファイルのなので
そのまま.blendファイルをアップロードするとテクスチャが剥がれてしまいます

「ファイル>外部データ>すべて.blendにパック」を実行すると
.blendファイル内に画像データが保存されます
また UV/画像エディッタ の 「画像>画像をパック」 でも同様に
表示中の画像をファイル内に保存されるようです。

添付画像中の パックの項目に下にある 「すべてを相対パスに」 と併せて
他のマシンにファイルを移動したい時などにも有効な方法ですね

モデファイア

モデリング途中にいくつかモデファイアを併用して
表示の 使用/不使用を切り替えているのですが
Sketchfabではモデファイアが残った状態だと全て適応された状態になるようです
上の画像では 指定した頂点グループを消すことができるマスクと
細分割のモデファイアがありますが
利用のチェックが外れた状態でも Sketchfab上ではこの適応状態での表示になりました

動きのループ範囲

Blenderでは 選択したオレンジの範囲でループするように設定してモーションを作成しました


ところがSketchfabでは全てのキーフレーム(画像で選択していない白色のキーフレーム)
の範囲でループすることになるようです。

NLAエディッタとアクション

上記の問題からNLAエディッタを使ってみることにしました

キーフレームアニメーションの一部をトリミングしたり 複数のアニメーションを合成したりできる仕組みで
UnrealEngeneへモーションデータを範囲付きで読み込ませるのに
NLAエディッタの範囲指定を使うようですが 逆に全くモーションが読み込まれなくなりました

色々試した結果
NLAエディッタには ストリップが一切ない状態にしないといけないようです
つまりループさせたい場合は ループ部分と始端と終端にキーフレームを打たないといけないようですね


NLAでのアクションのトリミングや重ね合わせはできない代わりに
複数のアクションをファイルに入れて Sketchfabのビューアー上で切り替えることはできるようです

今回はモーション中心の検証でしたが
スペキュラーやノーマル 発光といったテクスチャをビューアー上で設定できるようですし
カラーバランスやブルームといったポストエフェクトも色々あるようなので色々試していきたいところです