Reskilling ❘ Programming workshop

プログラミング体験 | Unity

#リスキリング #レジリエンス #ICT教育 #ITスキル #ゲームプログラミング

Unityゲームプログラミング体験授業

これからシステムエンジニアになりたい方やプログラマーを目指している方におすすめの体験授業です。ゲームエンジン「Unity」とプログラミング言語「C#」を使い、ゲームプログラミングを学習します。所要時間:約2時間~3時間

  • 2015年

    創業

  • 120名

    従業員数

  • 2.3M

    月間UU

  • 1,800戸

    管理戸数

Unityの基本

Unityでは、専用のアプリケーションでプレイヤーや敵、地面や建物を配置し、ScriptというC#を使ったプログラミングでゲームの処理を実装していきます。

スクリプトはゲーム内のなんらかのオブジェクト(物体)にセットすることで動作します。例えばプレイヤーを歩かせたり走らせる処理はC#でスクリプトを書いて、ゲーム内に配置した、プレイヤーオブジェクトにそのスクリプトをセットすることで期待する動作が可能になります。

プレイヤーのScriptを用意しよう

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
  public float moveSpeed = 5f;
  private Rigidbody rb;
  private Animator animator; // ★ animatorを追加

  void Start()
  {
    rb = GetComponent();
    animator = GetComponent(); // ★ animatorを取得

    if (rb == null || animator == null)
    {
      Debug.LogError("RigidbodyまたはAnimatorコンポーネントが見つかりません。");
      enabled = false;
    }
  }
  void FixedUpdate()
  {
    // 1. 入力の取得
    // 左右の入力 (Horizontal) は「回転」に使用
    float horizontalInput = Input.GetAxis("Horizontal");
    // 前後の入力 (Vertical) は「移動」に使用
    float verticalInput = Input.GetAxis("Vertical");

    // 2. ★ 旋回(左右)の処理
    // 左右の入力がある場合、Y軸(垂直軸)周りに回転させる
    if (Mathf.Abs(horizontalInput) > 0.1f)
    {
      // 旋回速度 (ここでは moveSpeed を流用)
      float rotationSpeed = moveSpeed * 50f * Time.fixedDeltaTime;

      // 現在のY軸回転に、入力に応じて加算する
      transform.Rotate(0, horizontalInput * rotationSpeed, 0);
    }

    // 3. ★ 前後移動の処理
    // キャラクターの現在の前方方向(transform.forward)を基準に移動ベクトルを計算
    Vector3 forwardMovement = transform.forward * verticalInput * moveSpeed;

    // Rigidbodyの速度を更新(Y速度は維持)
    rb.velocity = new Vector3(forwardMovement.x, rb.velocity.y, forwardMovement.z);

    // 4. アニメーションパラメータの更新
    // Speedは前後移動の大きさ (verticalInputの絶対値) を使用
    animator.SetFloat("Speed", Mathf.Abs(verticalInput));

    // アニメーションに旋回も反映したい場合は、別のパラメータを追加することも検討
    // animator.SetFloat("Horizontal", horizontalInput); 
  }

  void Update()
  {
    // Updateは空でも大丈夫
  }
}
  • 2015年

    創業

  • 120名

    従業員数

  • 2.3M

    月間UU

  • 1,800戸

    管理戸数

ポイント💡

Unityの各項目から、プレイヤーにリジットボディとコライダーを追加する必要があります。同じように、地面のオブジェクトにもコライダーを付与しましょう。コライダーを持つオブジェクト同士が接触すると、ぶつかるようになり、貫通しなくなります。

・本講座の制作
CIT経営開発事務所

・監修
CIT経営開発事務所 代表
井上 隆寛(いのうえ・たかひろ)

IT・事業コンサルタント
IT・開発エンジニア
行政書士R6合格者未登録

大手システム開発会社にてSE兼Webデザイナーとして従事。2021年にコンサルタントとして独立し、企業に対するITコンサルティング・ソリューション導入支援事業を開始。2023年にはイベント企画・運営事業を新たに展開、2024年には行政書士試験に合格。現在はIT・AIコンサルティング、システム開発、エンターテイメントの3事業を柱に、企業の技術顧問や講師としてICT教育やプログラミング授業も手がける。

公開中のリスキリング体験授業・学習教材

リスキリングに役立つ学習教材や体験授業を公開しています。ご自身の学習にお役立てください。

  • 2015年

    創業

  • 120名

    従業員数

  • 2.3M

    月間UU

  • 1,800戸

    管理戸数