![見出し画像](https://assets.st-note.com/production/uploads/images/62992317/rectangle_large_type_2_a35fa43c3e587750987273396bd85a7f.png?width=1200)
Obi Softbodyで揺らしたおっぱいを衣服に追従させる方法で沼った話
前回の記事「Obi Softbodyでおっぱいを揉みたい」で裸のボディーにソフトボディ―を仕込むことは成功しました。
では次にやることといえば何か?服を着せた上で服の上からおっぱいを揉むことですよね。
ではそれらしきことができそうな公式リファレンスを読んでみましょう。
Particle attachments
ありました。ふむふむ。ObiParticleAttachmentというスクリプトを使うことで、ObiActor (rope、cloth、softbody)オブジェクトを他のオブジェクトにAttach(接着)できるんですね。
ほうほうこれは便利!!つまりsoftbodyおっぱいを仕込んだボディーオブジェクトに、クロスオブジェクトの一部分を接着したらおっぱいの揺れに布がついてくる!!!と思ったのですが……。
さて、結論から言いますと(私の理解度では)できませんでした。
ObiParticleAttachmentで布メッシュをボディーに貼り付けること事体はできるのですが、ボディー側の演算が布メッシュにどうやっても伝わらないのですよね。
やり方知っている人がいたら教えてください。
しかしここまでやって引き下がるのは悔しい為、次善の策を考えることにしました。
今回私が思いついたのは、「ソフトボディ―に追従させたい部分(肌と密着しているオブジェクト)を素体オブジェクトと統合し、スカート部分にだけクロスを当てる」です。つまりこういうことですね。
オブジェクトを切り分けた理由はObiソフトボディ―とObiクロスを同時に同じオブジェクトにアタッチすることができない為です。
>Can't add ObiCloth to Body because a ObiSoftbody is alredy added to the gamae object!
A GameObject can only one ObiActor coponent.
ワンピースですが。ツーピースになってしまいました。でもこれで理論上はイケるはずです。
できた!!!!!!!!!!!!!!!!雑に作ったのでスカート部分と胸部分のメッシュが分かれているのわかっちゃうけどそれはまぁ適当にごまかしましょう。ここまで辿りつくのにめちゃくちゃ疲れたのでObi Clothのパラメータを公開します。
まずSkinned cloth blue print。Softbodyの時と同じく、パーティクルグループでスカートの端をボーンに関連付けます。
Obi Solverの設定はこんな感じ
ObiParticleAttachment、ObiSkinnedClothRender、ObiSkinnedClothの設定は以下。
まだ現在進行形で試行錯誤している為、この設定がベスト!とは言えませんが、とりあえず上記の動画程度の精度では動いています。
また補足ですが、素体のおっぱいと服のメッシュオブジェクトが離れている場合は、素体と服のメッシュをまとめてソフトボディ―を当てようとするとエラーをはいたりするので、それぞれ別オブジェクトとしてソフトボディ―を当てた方がよさそうです。
でも考えてみれば、Obi softbodyにObi Clothが吸着できないのなら、布の演算は、設定が簡単なMagica Clothでよくね?Obi Clothを買う意味なくね???
……。
完!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
【補足】
ボディーメッシュと服のメッシュを同じオブジェクトにしちゃったら、服脱がせられないじゃんと思われるかもしれませんが、「ユニティちゃんシェーダー(unitychan shader)」はtransparentを選択して、アルファ値を0にすることで服を透明にできました。(UTS2は無理っぽい?