Infinityを設定すると慣性が働かなくなります。回転に対する空気抵抗。Infinityを設定すると回転に対する慣性が働かなくなります。重力の影響をうけるか。あらゆる外部からの物理的影響を受けなくするか。実際にはこんなに重いはずがありませんが、ゲームで物理エンジンを使うときは現実的な値を入れることよりも、結果としてそれらしい動きをする値を入れるのがコツです。それぞれリジッドボディを設定します。チェックを入れておきましょう。これでリジッドボディの設定が終わりました。-ジョイント-リボンに物理演算を適用出来ました。このままでは、衝突と連結の設定をしていないため、全てをすり抜けて、ただ落下していきます。使ってリボンの付け根とリボンのボーンを連結し、互いに引っ張りあえるようにします。追加することができます。ジョイントは、それぞれにそれぞれの連結先のリジッドボディを設定する必要があります。それぞれの連結先(根)となるオブジェクトを設定しましょう。名前の連番が若い方がそれぞれの根になるように設定してください。これでジョイントでの連結が終わりました。ジョイントのパラメータを設定するここまでくると、やっとリボンがそれらしい動きをするようになってきました。可動域が広すぎて垂れてしまっています。次はジョイントの可動域を指定して、リボンの曲がりにくさを設定しましょう。ジョイントに設定できるパラメータはジョイントの種類によってまちまちですが、代表的なものとしては、可動軸、可動域を設定するパラメータ、可動域を超えた場合の反動や弾みを設定するパラメータ、ジョイントが引き戻そうとする力に対する減衰のパラメータがあります。以下の様なパラメータがあります。ジョイントがねじれ曲がる軸の向き。基本的にはジョイントの根に向けて設定します。ジョイントが折れ曲がる軸の向き。折れる曲がる角度の限界。許容する角度の絶対値。ねじれ軸と折れ軸に直角なもうひとつの軸に対する、曲がりを許容する角度の絶対値。今回は以下のように設定しましょう。これで全ての設定が終わりました。WebPlayerで見るリボンがいい感じに揺れました!!歩いている分にはいいのですが、走った時にリボンがガクガクしてしまいます。しても気になる場合は、以下のスクリプトを任意のオブジェクトに適応し、物理演算の間隔をゲームループの間隔に近づけましょう。(それでも物理演算のタイミングと画面の更新タイミングの問題で、リボンが伸びてしまいますが、さすがにこれは仕方がありません。参考に、スクリプトで物理挙動をシミュレーションするとよいでしょう。Time.deltaTime;}}おまけWebPlayerで見る同様に髪の毛に物理演算を適用するとこのようになります!ぜひチャンレジしてみてください。使って揺れものの制御を行いました。文中で述べたように、ユニティちゃんv1.2から揺れものが対応されました。こちらはSpringManager.csをはじめとするスクリプトで、独自の物理演算を行って実現しているようです。Unityの物理演算は、ゲームループと非同期という癖があるため使いドコロが難しいですが、背景の扉や鎖など、プレイングに影響しないところでうまく活用して、より世界をリアルなものにするとよいでしょう。次回はまた違う機能(と少々スクリプト)を使って、ユニティちゃんを更にブラッシュアップします。Norén%d人のブロガーが「いいね」をつけました。