リジッドボディの抵抗(Drag)を参照できるスクリプトをつくり、落下する速度を変えてみましょう。
抵抗の数値を変えることで空気抵抗が生じ、ボールがゆっくり落下するようにします。
関連記事:
落下スピードをランダムにする
指定の座標まで落下すればPrefabを削除
抵抗(Drag)で落下の速さを変える
Sphereを作成し、リジッドボディを追加。
Y座標を8に変更します。
抗力(Drag)の値が0の場合、このようなスピードで落下します。
抗力の値を3にしてみましょう。
プレイして、落下スピードを確認します。
空気抵抗が大きくなり、先ほどと比べてゆっくり落下していきます。
抵抗(Drag)にアクセスするスクリプト
抵抗をいったん0に戻します。
抵抗にアクセスして値を変えられるように、スクリプトを作成しましょう。
BallUp.csを作成し、Sphereに追加します。
BallUp.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallUp : MonoBehaviour { public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void UpwardForce() { rb.drag = 10; } void Update() { if (Input.GetKey(KeyCode.UpArrow)) { UpwardForce(); } } } |
ゲームプレイして、十字キーの上を押してみましょう。
抵抗の値が10に変わり、Sphereの落下がゆっくりになります。