
Carrom とは

ルールの設定

その他にも細々としたルールを設定していますが
大きな流れは上記のようになっています。
Background と Object を配置

スコア機能の作成

ストライカーの動作処理
今回はクリックした場所にストライカーを飛ばすよう設定しました。
Striker.cs
if (Input.GetMouseButtonDown(0))
{
Vector3 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 shotForward = mouseWorldPos - transform.position;
shotForward = Vector3.Scale(shotForward, new Vector3(1, 0, 1))
shotForward = shotForward.normalized;
rigidbody.AddForce(shotForward * strikerSpeed);
}
実装後Unity 内 Main Cameraの Projection を Orthographic に切り替えます。
Perspective ... 遠近法を使った描写
Orthographic ... 平行投射を使った描写
Perspectiveを利用するとゲーム画面に奥行きができます。今回の開発したゲームは遠近法を利用しないものだったので Orthographic を利用しました。
ターン制の実装
対戦相手用のObject(ストライカー)を配置後、ターン制を実装させるための
スクリプトを作成しました。
ターン制は真偽値を利用しました。
下記はターン制を簡単に再現したコードです。
GameManager.cs
public classGameManager : MonoBehaviour
{
public GameObject Sphere;
public static bool PlayerTurn;
void Start()
{
Sphere.SetActive (true);
PlayerTurn = true;
}
void Update()
{
if (PlayerTurn == true)
{
Sphere.SetActive (false);
PlayerTurn = false;
}
}
}
相手のスコア機能実装

勝利TextとRETRYボタンの実装

Blenderでコイン作成 配置


まとめ
個人でのゲーム開発は初めてでしたがとても面白かったです。
色々な気付きや発見、失敗がありました。
技術不足はもちろんですが、設計書に関しても反省がありました。
開発途中に設計書のミスに気付き修正した部分が多く、設計書の荒が課題だと感じました。
今回の学びをこれからのものづくりに活かしていきます。