Rigidbody 剛体コンポーネント: 物理プロパティを追加
前回 Rigidbody 剛体コンポーネントをボールに追加した後、ボールを地面から y 軸方向にドラッグすると、ゲームの実行後、ボールは重力が適用されているかのように地面に落ちます。
C# スクリプト コード
前回追加したスクリプトをプレーヤーにドラッグして、コードがゲーム オブジェクトを制御できるようにします。次に、ダブルクリックしてスクリプトを開きます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class player : MonoBehaviour
{
private Rigidbody rd;
// Start is called before the first frame update
void Start()
{
rd = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
rd.AddForce(new Vector3(1,0,0));
}
}
上の図のコードは、ゲーム オブジェクトの剛体コンポーネントを取得し、それを rd に割り当てることができます。x の正の軸に大きさ 1 で力を適用します。コードを保存してゲームを実行すると、ボールがゆっくりと右に移動することがわかります (左に移動し、コードの x 位置の値を -1 に変更し、z 軸を前後に変更します)。
上記は、最初はボールが勝手に動くということなので、ボールの動きをキーボードで操作したい場合は、更新時に数行のコードを追加して修正する必要があります。次のように、
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rd.AddForce(new Vector3(h,0,v));
Horizontal はユーザーのキーを取得し、左右の動きを制御できます (AD キーによって制御されます); Vertical は前後の動きを制御できます (WS キーによって制御されます)。速度が遅すぎると思われる場合は、* などの後ろの値
rd.AddForce(new Vector3(h,0,v)*5);
これにより、はるかに速く移動します。
カメラアングルの調整
Hierarchy ウィンドウで Main Camera を選択し、左上隅の 2 番目の座標パターン ボタンをクリックしてカメラの位置を調整し、左上隅の 3 番目のボタンをクリックしてカメラの角度を調整します。右下隅の小さなウィンドウは、調整後のゲーム実行のパースペクティブです。
壁を追加
キューブ ゲーム オブジェクトを作成し、その座標をリセットし、Z 軸を地面の幅に設定して、地面の境界に移動します。調整後、ctrl+D でゲーム オブジェクトをコピーし、壁を地面の反対側にドラッグできます。
次に、コピーを 2 回続けて 90 度回転し (右の Rotation y 軸入力 90)、適度に調整して、きちんと美しく見えるようにします。壁があるので、走っている遊技球が境界から飛び出しません。
インターフェイスを整然と保つために、すべてのキューブは地面に配置されます。