アバターの被服の剥ぎ取り、移植の仕方
【注意】今回解説する方法をそのまま行う場合はアクセサリー等小物のみに有効です。ジャケットやズボン等は別途自分で設定し直す必要があります。
※いつもど~り、解説はよという方は目次を参照してください。
合体!僕が使っているアバター!
剥ぎ取るはちょっと言い方よくないですけれど、やることはほぼ同じです。服(メッシュ)をドラッグして必要ない部分をポイする。山賊もくっ殺系オークもびっくり。………本編では拝借と言い換えましょう。
タイトルで悩みまくった話はさておき、BOOTH等で配布、販売されているVRChat向けアバターは大体被服が付いてきています。
その被服をほかのアバターに着せたいなーと思ったことはありませんか?
僕は、アバターと僕自身のイメージを固定化させるためにいつも「Rgray」というアバターを使っています。そして先日、新しいアバターを買ったのですが、雰囲気は似ているとはいえ表情豊かでかわいい子だったのでこれまでのイメージと乖離が起きそうだなと。そこで、Rgrayの特徴や色合いを取り入れて前の雰囲気を残しつつかわいさもアップな改変をしたいと思いました。
しかし、アバターの被服を別のアバターに移植するというのは、ボーンだったりルートボーンだったりアンカーがどうのこうのの関係で結構大変でした。この方法を見つけるまでは。
詳しく調べてないだけで同じような方法もしくはもっと簡単な方法でやっている人がいるかもしれないけれど(少なくとも自分で調べた限りはそういった人はいなかった)。
ということで今回はアバターの被服を別のアバターに移植する方法を解説していきます。
※fbxデータがあるのであれば、新規Game objectにMesh FilterとMesh Renderを追加して設定した方が早いし楽です。
では、本編です。
必要な物
MeshDeleterWithTexture beta自体は被服を含めたアバターのメッシュを指定した分だけをUnity内で消すことができるツールなのですが、こちらのツールの特性を利用していきます。
ちなみに超ばっさりメッシュについて説明すると、見えているそれその物を構成しているもの。体で言えば皮膚、服でいえば布の様なものです。恐らく、今回このツールを使えばなんとなくイメージが浮かぶと思います。
方法
ここからはMeshDeleterWithTextureがUnityにimportしてある前提で解説していきます。
MeshDeleterWithTextureはBild TargetがAndroidだと使えません。Windowsにしておきましょう。
①拝借元のアバターをHierarchieにD&D
.prefabのアバターをHierarchieにいれます。
②Meshを削除する
画面上部のGatoToolからMeshDeleterWithTextureを選択するとウィンドウが出てきます。
ウィンドウ右上部のNoneに拝借する部分のマテリアル(メッシュ)を選択します。今回はスカーフを拝借したいと思います。
すると、テクスチャの上に網が張られた様な画面が出てきます。それがメッシュになります。
ウィンドウの右側でペンを選択し、削除したいメッシュを塗っていきます。この時、sceneを確認すると塗られた部分に色が付いていきます。ですので、テクスチャのどの部分が削除したい所なのか把握しやすくなります。
もし、「どこも削除せずそのまま取り出したい」といった場合でも、ツールの動作関係上一部分だけ削除してください。後から戻すことが可能です。
塗り終わったらウィンドウ右下のメッシュを削除をクリックします。メッシュ削除には少しだけ時間がかかります。
④出力された.prefubをHierarchyにいれる。
実はこのツールを使うと、「(元モデル名)_deleteMesh.prefub」という名前の.prefubがAssetsの中に出力されます。
これをHierarchyの中に入れると…。
スカーフだけ拝借できました!
もし、「どこも削除せずそのままがいい!」という場合はInspectorからメッシュを元に戻してください。
後はスケールや座標を調整して、移植先のアバターに着せるだけです。
最後に
今回はfbxデータが無かった時など向けの解説となりました(事後)。
拝借して且つ余分な部分を削除したい時はこの方法が一番だと思いますが、Mesh Filterが設定できるのであればそっちからやった方が絶対早いですし速いです。
ご不明な点があれば、可能な限りお答えします。
Twitterに送ってくれれば早めに返信すると思います。
では、また今度。
この記事が気に入ったらサポートをしてみませんか?