Plane オブジェクトでカーテンを作ります。
Cloth コンポーネントを追加して、この2つをまずは設定しました。伸縮率と曲げ剛性ですね。
Hinge Joint で固定してみたのですが、コライダーは残って、Cloth だけ落下してしまいます。
Cloth を固定するには、Edit Constraints ツールを開きます。
ここで、Max Distance で黒い点(パーティクル)が移動できる距離を指定しないとどこまでも飛んで行ってしまいます。
Max Distance を決めたあとに、このブラシツールで塗ったところは、その Max Distance が設定されて、移動できる範囲がその値に制限されます。
まずは、一番上の列の Max Distance を 0 にして固定します。
さらに、プレイヤー(RigidBodyFPSController)が衝突できるように、Cloth コンポーネントに追加します。Size を増やすとその分アタッチできる場所が作られます。
カーテンのなみなみとした縦のしわなどは、マテリアルで表現してしまいましょう。
ちゃんと固定されていて、ぶつかると揺れますが、後ろの壁にめり込んでしまっています。
下の方のパーティクルにも Max Distance を設定してみましょう。
良い感じになりました。
こちらでは、このプレイヤーのマウスドラッグで、カーテンを開閉できるようにしています。