Unity チュートリアル - 10 分でわかる 3D 回転キューブ

スクリプトを編集する

今度はキューブを回転させてみましょう。

  • プロジェクト ウィンドウで SpinCube スクリプトをダブルクリックします。これにより、Visual Studio が自動的に開始されます。これを初回に実行する場合には、時間がかかることがあります。

    スクリプトが強調表示された Unity のプロジェクト ウィンドウ

  • プロジェクト ウィンドウで SpinCube スクリプトをダブルクリックします。これにより、Visual Studio Code が自動的に開始されます。これを初回に実行する場合には、時間がかかることがあります。

    スクリプトが強調表示された Unity のプロジェクト ウィンドウ

  • Visual Studio は、完全に読み込まれると次のようになります:

    自動生成された一部のコードが表示されている Visual Studio のエディター ウィンドウ

    生成された C# コードには 2 つのメソッドがあります:

    • Start(): 3D シーンでキューブが作成される場合に一度実行されるメソッドです。
    • Update(): 3D エンジンが画面に描画するオブジェクトの各フレームごとに一度実行されるメソッド。これは、エンジンがシーン内のキューブの位置を把握するたびに実行されることを意味します。
  • Visual Studio Code は、完全に読み込まれると次のようになります:

    自動生成された一部のコードが表示されている Visual Studio Code のエディター ウィンドウ

    生成された C# コードには 2 つのメソッドがあります:

    • Start(): 3D シーンでキューブが作成される場合に一度実行されるメソッドです。
    • Update(): 3D エンジンが画面に描画するオブジェクトの各フレームごとに一度実行されるメソッド。これは、エンジンがシーン内のキューブの位置を把握するたびに実行されることを意味します。

回転を制御する変数を作成して、立方体を回転させるスクリプトを書いてみましょう。

  • Start メソッドの上に、強調表示されたコード行を挿入します。このコードでは、3D 空間での回転をコントロールするx、y、z 座標を持つパブリック Vector 3 を作成します。

    C#
    public Vector3 RotateAmount;
    // Start is called before the first frame update
    void Start()
    {
  • 次に、Update メソッドの中に、強調表示されたコードを追加します。Unity にあるすべてのゲーム オブジェクトは、3D 空間で存在する場所と 3D 空間で回転する場所を指示する 変換 スクリプトがあります。ここでは、Rotate メソッドを使用して、そのゲーム オブジェクトに発生させる回転量を指定します。

    C#
    // Update is called once per frame
    void Update()
    {
    	transform.Rotate(RotateAmount);
    }
  • CTRL + S を押して Visual Studio の変更を保存します。
  • CMD + S を押して Visual Studio Code の変更を保存します。
  • ここで、Unity エディターに戻り、階層 ウィンドウで キューブ オブジェクトをもう一度選択します。

  • インスペクター ウィンドウで、作成したパブリック変数が、キューブに追加した新しいスクリプトの下に表示されていることがわかります。

    Unity インスペクター ウィンドウの x、y、z の編集可能な値を表示する、回転型キューブ コンポーネント

  • Y 値を 1 に変更し、Unity エディターの上部中央にあるプレイ ボタンを押します。

    Unity エディターの [再生] ボタン

    Update メソッドはフレームごとに実行されるため、キューブがフレームごとに 1 つずつ回転することがわかります。 これらの値を自由に変更して、楽しんでください。 これで、さまざまなプラットフォーム用のゲームを構築する準備が整いました。