自分のUnityでのアクションゲームの作り方は、プレイヤーにRigidBodyをアタッチして、ボタンをタップした時に RigidBody.AddForce() してキャラを動かしています。
ググると Update() で AddForce している例も見かけるのですが…まだまだ勉強不足感が否めない。
なにより…動かす速度の調整が一番うまく実現できていない…。
最初のアプリでも、うまく調整できず…苦し紛れに Time.timeScale で速度を調整しました。
幸い、キャラがプレイヤーのみだったので、ゲームの時間の流れを早くすればそれっぽく見えるようになりました。
しかし、次のアプリでは、アイテムの落下速度だけをどんどん早くして、プレイヤーの速度はそのままにしたいので、Time.timeScaleの方法ではうまくいかない…。
どうしたものかとググっていると、RigidBody のプロパティに Drag というのがありました。
「 Drag 」値が低いと、オブジェクトが重く見えるようになります。この値が高いと、軽く見えます。
「 Drag 」の通常の値は、.001 (金属の塊) と 10 (羽) の間です。
「 Drag 」の通常の値は、.001 (金属の塊) と 10 (羽) の間です。
ということで、最初は Drag の値を大きめに設定し、難易度を高くするために 次第に Drag の値を小さくするようにしました。