状況
Unityで2Dの振り子を作ったのですが、時間が経つと振れ幅が減衰して止まってしまいます。
やりたいこと
空気抵抗のような効果を無くして、振れ幅が減衰しないようにしたいです。
質問
RigidbodyでAngular Drag(回転運動の空気抵抗)パラメータは0にしているのですが、他に調整すべき項目があればご教示いただきたいです。
オブジェクトの設定
支点(Circle)
RigidbodyでBody typeをStaticにして空間に固定し、Hinge Jointで軸(Square)オブジェクトに結合しています。
軸(Square)
RigidbodyでAngular Drag(空気抵抗)を0にし、Fixed Jointでおもり(Circle)オブジェクトに結合しています。
おもり(Circle)
おもりと軸のMassとGravity Scaleを0にしてみてください
多分空気抵抗よりもそこの重さと重力がかかっている方に原因があるかと思います
おもりと軸のMassとGravity Scaleを0にしてみましたが、初期位置(おもりが支点と水平になる高さ)から動かなくなります。重力が作用せず、静止してしまうようです。
ちょっと試しに自分でも触ってみましたが、恐らく重力を用いて振り子の動作を使うからには、減衰は必ず働くので、減衰なしで同じ動きを繰り返すようにしたいのであればScriptで制御するしかないかと思います。
なるほど、自然な動作にするために減衰が前提になっていそうですね。
試していただきありがとうございます。Scriptで試してみます。
回答1件
あなたの回答
tips
プレビュー