【Maya】全ジョイントのスキンウェイトを閾値で二値化するツール作りました
目次
はじめに
ロボものの3Dモデルにはウェイト値って0か1でいいと思うんですよ(唐突)。
もちろんケーブル類とかは除いて、装甲の類とか、いわゆる変形させる予定のない「硬い」部分に関しての話です。
少なくとも現在私が直面している場面ではそのような事態ですので、上のように考えるわけです。
しかし、パーツ一つ一つを手作業でヌリヌリするのも手間だし、かと言ってスキンバインドで自動で塗らせるのも限度があるし...ということで、
「じゃあスキンバインドである程度塗らせて、いらない部分を消して(0.0)、いる部分は1.0にすればいいんじゃね? あとは余計に1.0になっているちょっとの部分を消せばええんや!」
と思い立ったのが始まりです。
うーん...ロボものだからウェイトペイントは0か1でいいんだけど(少なくとも今は)、一つ一つぬりぬりしていくの面倒だなぁ...せやっ雑にボクセルペイントさせた後閾値0.5より上か下かで0か1にウェイト値自動で書き換えさせればええんや
— イセミト (@isemito_niko) May 5, 2019
実際に作ったもの
スキンバインドまでを終わらせた段階で、メッシュ選択状態にして上記コードを実行すれば使用できます。
って言っても既にMayaの機能としてありそうではある...