あなたの学習をサポートする6つのツール
Unityのすべてのモノは「ゲームオブジェクト」です。そして、その機能は「コンポーネント」が担います。
💡 Inspectorウィンドウでコンポーネントを追加・編集しよう。
オブジェクトにリアルな物理挙動をさせるには、2つのコンポーネントが基本になります。
💡 プレイヤー操作には`Rigidbody.AddForce()`が便利。
C#スクリプトはUnityの頭脳です。決まった「イベント関数」の中に行動を記述します。
💡 `Debug.Log("メッセージ");` でコンソールに情報を表示して、変数の値などを確認する癖をつけよう。
「プレハブ」は、設定済みのゲームオブジェクトを保存しておける設計図のような機能です。
💡 ヒエラルキーからプロジェクトウィンドウにドラッグ&ドロップするだけでプレハブが作れる。
キーボードの矢印キー(またはWASD)でプレイヤーを動かす基本的なスクリプトです。`Rigidbody`コンポーネントが必要です。
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5.0f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.velocity = movement * moveSpeed;
}
}
指定したターゲット(プレイヤー)を追いかけるスクリプトです。Inspectorで`target`にプレイヤーオブジェクトを設定してください。
using UnityEngine;
public class EnemyChaser : MonoBehaviour
{
public Transform target; // 追いかける対象
public float speed = 3.0f;
void Update()
{
if (target != null)
{
// ターゲットの方向を向く
transform.LookAt(target);
// 前に進む
transform.Translate(Vector3.forward * speed * Time.deltaTime);
}
}
}
設定した確率(`dropChance`)でアイテムをドロップ(生成)する関数です。敵を倒した時などに呼び出します。
using UnityEngine;
public class ItemDropper : MonoBehaviour
{
public GameObject itemPrefab; // 生成するアイテムのプレハブ
[Range(0, 1)]
public float dropChance = 0.3f; // 30%
public void TryDropItem()
{
// 0.0から1.0の間のランダムな値を生成
float randomValue = Random.value;
if (randomValue < dropChance)
{
// アイテムを生成する
Instantiate(itemPrefab, transform.position, Quaternion.identity);
}
}
}
経験値の増加パターンを数学で設計!等比数列の漸化式を使って、成長スピードを調整します。
💡 発展:AnimationCurveで感覚的に調整
コードで公比を調整するだけでなく、Unityの`AnimationCurve`を使えば、グラフを直接編集して「レベルが上がるほど、次のレベルまでが急に大変になる」といった経験値カーブを感覚的に作ることもできます。
レアアイテムが出る確率を制御!乱数を使い、確率的な処理をゲームに導入します。
💡 発展:重み付き抽選(Loot Table)
「ノーマル70%、レア25%、激レア5%」のように、複数のアイテムに異なる確率を設定するにはどうすれば良いでしょう?全確率の合計値までの乱数を生成し、どの範囲に入ったかでアイテムを決める「重み付き抽選」が一般的な手法です。
敵をプレイヤーに向かって動かすロジックを設計!位置ベクトルや正規化を活用します。
💡 発展:ベクトルの応用
聖学院の教育理念5つの柱に基づき、生徒主体の学び、実践的な技術教育、学外の経験を重視。大学生・企業と協働し、成果物制作を通じて自律と成長を促進します。
対象は高2GIC。2025年10月~11月にかけて、全10コマの授業を実施。対面を基本とし、最終回には外部講評者を招いた成果発表会を行います。
高校生3名(プログラマー、UI/UXデザイナー、ゲームプランナー)と、技術伴走を行う大学生1名でチームを編成。役割を分担し、協力して開発を進めます。
| 回 | 日程 | 内容 | 主な学び・活動 |
|---|---|---|---|
| 第1回 | 10/3 (金) 13:30-15:20 | オリエンテーション/Unity基礎/知財講座・企画立案 | LOTTEキャラ紹介/Unity基本操作/著作権/ゲーム仕様策定 |
| 第2回 | 10/4 (土) 8:50-10:40 | 大学生紹介/スクーミー体験/プロトタイプ制作⓪ | 顔合わせ/目標設定/制作開始 |
| 第3回 | 10/24 (金) 13:30-15:20 | プロトタイプ制作① | 基礎実装・UI初期デザイン |
| 第4回 | 10/25 (土) 8:50-10:40 | プロトタイプ制作② | 機能実装/ゲームバランス調整 |
| 第5回 | 11/7 (金) 13:30-15:20 | プロトタイプ制作③ | 機能実装/ゲームバランス調整 |
| 第6回 | 11/8 (土) 8:50-10:40 | プロトタイプ制作④ | 機能実装/ゲームバランス調整 |
| 第7回 | (日程未定) | 成果発表会 | 発表スライド制作/プレゼン/企業講評 |