重くなるUnityを使う 23 「Shall we Move? - 引きずる1」
今回からは動くObjectを作りたいと思います。まず、物体を引きずることにします。
新しくGameObjectを作ります。
動くObjectは紙飛行機(??)にするので、KamiPlaneにします。(Kami Airplaneの略)
InspectorのTagというところをPlayerにします。TagはたくさんのObjectを区別するときに便利です。初期ではUntaggedになってます。
それではAdd Componentします。とりあえず、Mesh→Mesh Filter,Mesh Renderer,
Phyics→Sphere Colliderを選択します。
Mesh系2つは無いと描画されないので入れます。Mesh FilterはSphere(球体)Mesh RendererはMaterialを適当に指定してください。また、Transformはお気に入りの場所で。
Sphere Colliderはスフェアの衝突処理です。これは特に何も変えません。
次に、このObjectに物体としての機能を足します。Add Component→Physics→ Rigidbodyを選択します。マニュアルではこうなっています。
プロパティ
プロパティ: | 特徴: |
---|---|
Mass | オブジェクトの質量 (単位 : kg)。 質量は,他のリジッドボディのおよそ 100 倍 以上にすべきではありません。 |
Drag | 力により動く際に,オブジェクトに影響する空気抵抗の量。 0 の場合,空気抵抗が 0 で,無限の場合,オブジェクトは直ちに動きを止めます。 |
Angular Drag | トルクにより回転する際に,オブジェクトに影響する空気抵抗の量。 0 の場合,空気抵抗なし。このパラメータの値を無限 (infinity) に設定するだけでは,オブジェクトの回転を直ちにを止められないことに留意して下さい。 |
Use Gravity | 有効にすると,オブジェクトは重力の影響を受けます。 |
Is Kinematic | 有効にすると,オブジェクトは物理特性エンジンによって駆動されませんが,その Transform によってのみ操作できます。 これは,プラットフォームを移したい場合や,HingeJoint を追加したリジッドボディをアニメート化したい場合に便利です。 |
Interpolate | Rigidbody の動きがぎこちないとき,次のオプションを試して下さい |
None | 補間を適用しない。 |
Interpolate | 前フレームの Transform にもとづいて Transform のスムージング。 |
Extrapolate | 前フレームの Transform にもとづいて Transform のスムージング。 |
Collision Detection | 高速で動くオブジェクトが,衝突を検知せずにすり抜けることを防止するために使用します。 |
Discrete | Use Discreet collision detection against all other colliders in the scene. Other colliders will use Discreet collision detection when testing for collision against it. Used for normal collisions (This is the default value). |
Continuous | 動的な コライダ (リジッドボディあり) にはDiscrete (不連続) な 衝突,静的なメッシュコライダ (リジッドボディなし) には Continuous (連続)な衝突を適用します。Continuous Dynamic を適用した リジッドボディ に対する衝突は,Continuous な衝突検知をします。これはContinuous Dynamic を適用したオブジェクトの衝突相手として使用します。(物理演算のパフォーマンスに大きく影響するため,高速なオブジェクトの衝突で問題が出ない場合はDiscrete のままにして下さい。) |
Continuous Dynamic | Continuous および Continuous Dynamic 衝突を適用したオブジェクトに対して,Continuous な衝突検知を行ないます。 静的なメッシュコライダ (リジッドボディ なし) にも Continuous な 衝突 を適用します。その他の コライダ については Discrete な衝突検知を行なう。高速で動くオブジェクトに使用します。 |
Constraints | リジッドボディの動きに関する制限:- |
Freeze Position | ワールド座標系の X,Y,Z 軸で移動するリジッドボディを選択的に停止します。 |
Freeze Rotation |
ワールド座標系の X,Y,Z 軸で回転するリジッドボディを選択的に停止します。 |
これを紙飛行機に設定します。Massは0.03に(30g)、Dragは大体5ぐらいに、Use Gravityで、他は変えなくていいです。
残りは次に。
*1:Unity Documentation