9
2

More than 1 year has passed since last update.

話題のChatGPTでAIにゲームを作ってもらいたい(不具合修正編1) [Unity]

Last updated at Posted at 2022-12-05

お詫び

この記事は前後編の予定でしたが、文量や時間の都合で3~4編構成に分割させていただきます。ご了承下さい。
この記事ではChatGPTに前回書いてもらったコードの不具合をChatGPT自身に修正してもらいます。

前回

FirstPersonControllerの修正

まず、ファーストパーソンでプレイヤーが動くようにします。
前回作ってもらったFirstPersonControllerをプレイヤーのゲームオブジェクトにアタッチして早速動かしてみます。

動画(視点が回っているため画面酔い注意)

movie_001_640x360_2.gif

カメラが回ってしまいました。
これはFirstPersonController内でカメラがx軸周りにも回転するような処理を行っているのに、回転処理とプレイヤーの移動処理を同一オブジェクトに対して行ってしまっているためです。

FirstPersonController.cs
using UnityEngine;

public class FirstPersonController : MonoBehaviour
{
    // 省略

    void Start()
    {
        // Rigidbody コンポーネントをキャッシュしておく
        // ここで自分のRigidbodyを取得している
        playerRigidbody = GetComponent<Rigidbody>();
    }

    void Update()
    {
        // 省略

        // マウスの移動量を元に、カメラの Transform を更新する
        // 自分のtransformを更新
        transform.Rotate(-mouseMovement.y, mouseMovement.x, 0.0f);
    }

    void FixedUpdate()
    {
        // 省略

        // 自分のRigidbodyを更新
        playerRigidbody.AddForce(movement * speed);
    }
}

一旦スクリプトの責務を分けるため、ChatGPTにプレイヤーの移動スクリプトとカメラを動かすスクリプトを分割してもらいましょう。
スクリーンショット 2022-12-05 230339.png
答えが返ってきました。
スクリーンショット 2022-12-05 230536.png
スクリーンショット 2022-12-05 230559.png
言われたとおりに修正します。
movie_002_Trim_640x360.gif
カメラとプレイヤーを別々に動かすことができるようになりました。
ただ、カメラの向きとは関係なくワールドのz軸方向にプレイヤーの前方が向いてしまっているので操作しづらいのと、カメラが斜めに傾くので画面が見づらいですね。
これもChatGPTは直してくれるでしょうか?
スクリーンショット 2022-12-05 231611.png
スクリーンショット 2022-12-05 232133.png
簡単に直してくれました。
動かしてみます。
movie_003_Trim_640x360_fps20.gif
ちゃんと動くようになりました。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2