unityって標準で布が表現できるらしい!知らなかった!!!
この公式記事が多分一番詳しいです。
Planeを布にする
planeにAdd ComponentからClothコンポーネントをつけます。
こんな感じです。とりあえずパラメーターは何もいじらないでやってみます。
planeの下に球とカプセルをおきました。
さっきのclothコンポーネントの下の方にこれをセットします。sizeに入れた数字分セットできます。
カプセルとSphereしか当たり判定?はできないそうです。
そして実行。
おおー!
パラメーター
StretchingとBending
Stretchingが延びにくさ、Bendingが捻りにくさだそうです。
Stretchingを小さくしたら、マントみたいにビヨンビヨンになりました。
Bendingを大きくしたら、硬くて厚い布みたいになりました。
bendingはわかりやすいけどstretchはよくわからん
Damping
モーションの速さ。
1にするととてもゆっくり動く。
Friction
Frictionは摩擦。球やカプセルなどのコライダーとの摩擦の大きさ。
その上の二つWorld~Scaleは速度と加速度を受けた時の影響力。
固定する
固定することもできるそうです。Edit Const~を押します。
黒い点が出るので、固定したい場所を範囲選択したり、ぽちぽち押していきます。
そして完全固定なら、Max Distanceにチェックを入れます。
緩めの固定なら、下のSurface~を押して、緩さを値で決めます
するとこんな感じです。真ん中の部分は固定されて動きません!
ちなみにこの固定決めのペイント、やり直しはできないそうです。
力を加えて揺らす
外部から力を加えないと揺れないシーンがありました。
そんなときはRandom Accelerationに数字を加えるとその方向に力が働きます。
ちなみにwind zoneという葉っぱやパーティクルを揺らす風のコンポーネントは使えませんでした。
スカート
スカートの揺らしたくない部分を固定にして、
太ももやお尻部分にsphereやcapselなどを入れます。mesh renderのチェックは外す。
とてもえっち。
布以外
貞子のポリゴン髪の毛。初めてこの髪に命が宿った!
球はクッションみたいになります。
シャボン玉もできる
( ゚д゚)それっぽいマテリアルを作ってClothを使ったらほどよいシャボン玉がでけた
— てるなり@クラウドファンディング実施中 (@terunari) 2018年5月14日
Unityだけで作ったのでHMDで動かす感じになるようす #VRChat pic.twitter.com/vxR8De7yaO
真似した。
テクスチャはこれ
use gravityをoffにして、底辺を固定したらこんな感じになりました。
こちらの本にもCloth解説の章があるよ