【基本操作】的当てゲーム~1/2 オブジェクト作成【アクション】

●球作成

▷球作成

球を作成し、位置を(-9, 10, 0)に設定します。

【球作成】球を作成し、位置を(-9, 10, 0)に設定
  1. ヒエラルキー左上の「+」をクリックし、「3Dオブジェクト>スフィア」をクリック
  2. 「Ball」と入力し、ENTERキーを押す
  3. インスペクターのTransformにある縦の三点リーダーをクリックし、リセットをクリック
  4. インスペクターのTransform>位置を(-9, 10, 0)に設定
  5. CTRLキーを押しながらSキーを押す

▷カメラ設定

カメラの位置Zを(-30)に設定し、ゲームビューのアスペクト比を(9:16)に設定します。

【カメラ設定】カメラの位置Zを(-30)に設定し、ゲームビューのアスペクト比を(9:16)に設定
  1. ヒエラルキーの「Main Camera」をクリック
  2. インスペクターのTransform>位置Zを(-30)に設定
  3. CTRLキーを押しながらSキーを押す
  4. ゲームビューの「FreeAspect」をクリック
  5. 「9:16 Aspect」をクリック、無い場合は以降を操作
  6. 左下の「+」をクリック
  7. ドロップダウン「タイプ」をクリックし、「アスペクト比」をクリック
  8. 幅&高さの「X」に(9)、「Y」に(16)を入力
  9. 「OK」をクリック

▷色設定

球を青色に設定します。

【色設定】球を青色に設定
  1. プロジェクトの「Assets」を右クリックし、「作成>マテリアル」をクリック
  2. 「matBall」と入力し、ENTERキーを押す
  3. インスペクターの「アルベド>カラーバー」をクリックし、色ダイアログの16進数を「0000FF」に設定
  4. 色ダイアログの右上にある「×」をクリック
  5. プロジェクトの「matBall」をヒエラルキーの「Ball」にドラッグ&ドロップ
  6. CTRLキーを押しながらSキーを押す

▷物理設定

球を落下するように設定します。

【物理設定】球を落下するように設定
  1. ヒエラルキーの「Ball」をクリック
  2. インスペクターの「コンポーネントを追加」をクリックし、「Physics>Rigidbody」をクリック
  3. インスペクターの「Rigidbody>衝突判定」右のドロップダウンをクリックし、「連続的かつ動的」をクリック
  4. CTRLキーを押しながらSキーを押す
  5. エディタ上中央の「▶」をクリック
  6. 球が落下することを確認
  7. エディタ上中央の「▶」をクリック

●フリッパー作成

▷フリッパー作成

箱を作成し、位置(2, 0, 0)、回転(0, 0, 0)、スケール(4, 0.5, 1)に設定します。

【フリッパー作成】箱を作成し、位置(2, 0, 0)、回転(0, 0, 0)、スケール(4, 0.5, 1)に設定
  1. ヒエラルキー左上の「+」をクリックし、「3Dオブジェクト>キューブ」をクリック
  2. インスペクターの「Transform>位置」を(2, 0, 0)に設定
  3. インスペクターの「Transform>回転」を(0, 0, 0)に設定
  4. インスペクターの「Transform>スケール」を(4, 0.5, 1)に設定
  5. CTRLキーを押しながらSキーを押す

▷フリッパーの階層化

空オブジェクトを作成してリセット、位置(-10, -14, 0)に設定し、Cubeを子に設定します。

【フリッパーの階層化】空オブジェクトを作成してリセット、位置(-10, -14, 0)に設定し、Cubeを子に設定
  1. ヒエラルキー左上の「+」をクリックし、「空のオブジェクトを作成」をクリック
  2. 「Flipper」と入力し、ENTERキーを押す
  3. インスペクターのTransformにある縦の三点リーダーをクリックし、リセットをクリック
  4. ヒエラルキーの「Cube」をヒエラルキーの「Flipper」にドラッグ&ドロップ
  5. ヒエラルキーの「Flipper」をクリック
  6. インスペクターの「Transform>位置」を(-10, -14, 0)に設定
  7. CTRLキーを押しながらSキーを押す

▷色設定

球を緑色に設定します。

【色設定】球を緑色に設定
  1. プロジェクトの「Assets」を右クリックし、「作成>マテリアル」をクリック
  2. 「matFlipper」と入力し、ENTERキーを押す
  3. インスペクターの「アルベド>カラーバー」をクリックし、色ダイアログの16進数を「008000」に設定
  4. 色ダイアログの右上にある「×」をクリック
  5. プロジェクトの「matFlipper」をヒエラルキーの「Cube」にドラッグ&ドロップ
  6. CTRLキーを押しながらSキーを押す

▷フリッパー物理制御

フリッパーにリジッドボディを設定し、Is Kinematicをオン、衝突判定を連続的かつ動的に設定します。

【フリッパー物理制御】フリッパーにリジッドボディを設定し、Is Kinematicをオン、衝突判定を連続的かつ動的に設定
  1. ヒエラルキーの「Flipper」をクリック
  2. インスペクターの「コンポーネントを追加」をクリックし、「Physics>Rigidbody」をクリック
  3. インスペクターの「Rigidbody>Is Kinematic」をチェック
  4. インスペクターの「Rigidbody>衝突判定」右のドロップダウンをクリックし、「連続的かつ動的」をクリック
  5. CTRLキーを押しながらSキーを押す

▷フリッパー制御準備

スクリプトを作成してフリッパーに割り当てます。

【フリッパー制御準備】スクリプトを作成してフリッパーに割り当て
  1. プロジェクトの「Assets」を右クリックし、「作成>C# スクリプト」をクリック
  2. 「Flipper」と入力し、ENTERキーを押す
  3. ヒエラルキーの「Flipper」をクリック
  4. プロジェクトの「Assets>Flipper」をインスペクターの「コンポーネントを追加」にドラッグ&ドロップ
  5. CTRLキーを押しながらSキーを押す

▷フリッパー制御

スペースが押されていたら+4、押されていなかったら-4度ずつ回転、回転範囲は-20度~0度に制限します。

【フリッパー制御】スペースが押されていたら+4、押されていなかったら-4度ずつ回転、回転範囲は-20度~0度に制限
  1. プロジェクトの「Assets>Flipper」をダブルクリック
  2. Start関数のコメントより上にfloat型の変数「zAngle」を定義
  3. Update関数に以下の処理を記述
  4. ・スペースキーが押されていた場合、zAngleを4加算
  5. ・スペースキーが押されていない場合、zAngleを4減算
  6. ・zAngleの値を-20~0までに制限
  7. ・現在の回転量を取得
  8. ・Z回転量をzAngleで上書き
  9. ・回転量をクォータニオンに変換
  10. ・リジッドボディのMoveRotationを使い、クォータニオンを設定
  11. Unityエディタのタイトルをクリック
  12. エディタ上中央の「▶」をクリック
  13. 開始時にフリッパーが傾くことを確認
  14. スペースキーを押すとフリッパーが水平になるまで動くことを確認
  15. フリッパーで球を弾けることを確認
  16. エディタ上中央の「▶」をクリック

▷スクリプトの記述例

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

public class Flipper : MonoBehaviour
{
    // float型の変数「zAngle」を定義
    float zAngle;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        // スペースキーが押されているかチェック
        if (Input.GetKey(KeyCode.Space) == true) {
            // 押されていた場合、zAngleを4加算
            zAngle += 4;
        } else {
            // 押されていない場合、zAngleを4減算
            zAngle -= 4;
        }
        // zAngleの値を-20~0までに制限
        zAngle = Mathf.Clamp(zAngle, -20, 0);

        // 現在の回転量を取得
        Vector3 angle = transform.rotation.eulerAngles;
        // Z回転量をzAngleで上書き
        angle.z = zAngle;

        // 回転量をクォータニオンに変換
        Quaternion quat = Quaternion.Euler(angle);
        // リジッドボディのMoveRotationを使い、クォータニオンを設定
        GetComponent<Rigidbody>().MoveRotation(quat);
    }
}

●マト作成

▷銅マト作成

箱を作成してリセット、位置(10, -11, 0)、スケール(4, 8, 1)に設定します。

【銅マト作成】箱を作成してリセット、位置(10, -11, 0)、スケール(4, 8, 1)に設定
  1. ヒエラルキー左上の「+」をクリックし、「3Dオブジェクト>キューブ」をクリック
  2. 「Copper」と入力し、ENTERキーを押す
  3. インスペクターの「Transform>縦の三点リーダー」をクリックし、リセットをクリック
  4. インスペクターの「Transform>位置」を(10, -11, 0)に設定
  5. インスペクターの「Transform>スケール」を(4, 8, 1)に設定
  6. CTRLキーを押しながらSキーを押す

▷銅マト色設定

箱を銅色に設定します。

【銅マト色設定】箱を銅色に設定
  1. プロジェクトの「Assets」を右クリックし、「作成>マテリアル」をクリック
  2. 「matCopper」と入力し、ENTERキーを押す
  3. インスペクターの「アルベド>カラーバー」をクリックし、色ダイアログの16進数を「DA744B」に設定
  4. 色ダイアログの右上にある「×」をクリック
  5. プロジェクトの「matCopper」をヒエラルキーの「Copper」にドラッグ&ドロップ
  6. CTRLキーを押しながらSキーを押す

▷銀マト作成

箱を作成してリセット、位置(10, 3, 0)、スケール(4, 6, 1)に設定

【銀マト作成】箱を作成してリセット、位置(10, 3, 0)、スケール(4, 6, 1)に設定
  1. ヒエラルキー左上の「+」をクリックし、「3Dオブジェクト>キューブ」をクリック
  2. 「Silver」と入力し、ENTERキーを押す
  3. インスペクターの「Transform>縦の三点リーダー」をクリックし、リセットをクリック
  4. インスペクターの「Transform>位置」を(10, 3, 0)に設定
  5. インスペクターの「Transform>スケール」を(4, 6, 1)に設定
  6. CTRLキーを押しながらSキーを押す

▷銀マト色設定

箱を銀色に設定します。

【銀マト色設定】箱を銀色に設定
  1. プロジェクトの「Assets」を右クリックし、「作成>マテリアル」をクリック
  2. 「matSilver」と入力し、ENTERキーを押す
  3. インスペクターの「アルベド>カラーバー」をクリックし、色ダイアログの16進数を「C0C0C0」に設定
  4. 色ダイアログの右上にある「×」をクリック
  5. プロジェクトの「matSilver」をヒエラルキーの「Silver」にドラッグ&ドロップ
  6. CTRLキーを押しながらSキーを押す

▷金マト作成

箱を作成してリセット、位置(10, 15, 0)、スケール(4, 4, 1)に設定します。

【金マト作成】箱を作成してリセット、位置(10, 15, 0)、スケール(4, 4, 1)に設定
  1. ヒエラルキー左上の「+」をクリックし、「3Dオブジェクト>キューブ」をクリック
  2. 「Gold」と入力し、ENTERキーを押す
  3. インスペクターの「Transform>縦の三点リーダー」をクリックし、リセットをクリック
  4. インスペクターの「Transform>位置」を(10, 15, 0)に設定
  5. インスペクターの「Transform>位置」を(4, 4, 1)に設定
  6. CTRLキーを押しながらSキーを押す

▷金マト色設定

金マトを金色に設定します。

【金マト色設定】金マトを金色に設定
  1. プロジェクトの「Assets」を右クリックし、「作成>マテリアル」をクリック
  2. 「matGold」と入力し、ENTERキーを押す
  3. インスペクターの「アルベド>カラーバー」をクリックし、色ダイアログの16進数を「FFD700」に設定
  4. 色ダイアログの右上にある「×」をクリック
  5. プロジェクトの「matGold」をヒエラルキーの「Gold」にドラッグ&ドロップ
  6. CTRLキーを押しながらSキーを押す

作成手順を書いた記事です。

   →紹介
今▷ →1/2 オブジェクト作成
次▷ →2/2 オブジェクト機能

完全手順
※紹介と1~2の手順を1ページにまとめています。
 読み込みに時間がかかるかも知れません。

コメント

タイトルとURLをコピーしました