BloomScheme Blog

株式会社ブルームスキーム公式ブログ

スキニングの影響ボーン数制限処理(Blender)

こんにちは!Bloomschemeの佑介です。

 

DCCツール上では一つの頂点に対していくつでもボーンの影響をつけられますが、ゲームエンジンやブラウザ上のレンダラなどの運用環境では大体4ボーンまでの影響しかもたせられないということが多いです。

 

弊社では制作ツールはBlender、サービス上ではthree.jsを使用しており、やはりBlender上でモデルを作成する際に、頂点にもたせるウェイト数が問題になりました。

 

今回はBlender上で、既についてしまっているウェイトを4ボーンまでに制限する方法を解説します。

 

 

f:id:BloomScheme:20190115222636p:plain

大量のウェイト

試しに「エンベロープのウェイトで」スキニングしてみたもの。選択頂点(赤い点)に大量のウェイトが設定されています。ここまでではないにしろ、4グループ以上の影響をもったデータができてしまうというのはままあることです。

手動で全頂点のウェイトを4つに削除する、なんて想像をすると卒倒しそうですが、Blenderには超簡単にウェイトをクリーンアップできるツールが搭載されています。

 

ウェイト関係のツールは、ツールパネル内にズバリ「ウェイトツール」としてまとまっています。(編集モードでしか出現しないので注意)

f:id:BloomScheme:20190115223827p:plain

全てのメッシュを選択してから、

f:id:BloomScheme:20190115224008p:plain

クリーン

f:id:BloomScheme:20190115224137p:plain

合計を制限

f:id:BloomScheme:20190115224257p:plain

合計を制限のオプション。制限数を任意に変えられます。今回は運用環境にあわせて4です。

f:id:BloomScheme:20190115224337p:plain

*1

f:id:BloomScheme:20190115224505p:plain

 

 

をしてから頂点のウェイトを確認してみると、

f:id:BloomScheme:20190115224638p:plain

4つに制限されてますね!

あとは運用時の都合にあわせて「全てを正規化」などかけるとよいでしょう。

簡単!

*1:オプション欄はツールバー下部にあります。