山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

Unityでボウリングを作る その2

ボウリング

前回からあまり進捗していませんが、報告したいと思います。

やったこと

ピンを10本配置しました。ピンの大きさや配置などは公式で定められていますが、そこまで厳密にやらなくても良いので、自分の感覚で配置しました。

ボールにスクリプトを貼り付けてキー入力で動かせるようにしました。まあ、理想的には加える力と方向を与えてボールが動くようにした方が良いと思いましたが、今後改善したいと思います。

動画

youtu.be

ボールのスクリプト

このスクリプトは僕がUnityを始めたときの公式のチュートリアルで使ったものです。玉転がしのゲームですね。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ControllBall : MonoBehaviour {

    // speedを制御する
    public float speed = 10;
    private void FixedUpdate() {
        float x = Input.GetAxis("Horizontal");
        float z = Input.GetAxis("Vertical");

        // 同一のGameObjectが持つRigidbodyコンポーネントを取得
        Rigidbody rigidbody = GetComponent<Rigidbody>();

        // rigidbodyのx軸(横)とz軸(奥)に力を加える
        rigidbody.AddForce(speed * x, 0, speed * z);
    }
}

感想

ゲームというより、物理シミュレーションだなこれ。

今後はスクリプトでピンを配置させたり、ピンが倒れているかどうかの判定を作りたいと思います。