Unityに関連する記事です

こちらはオブジェクトに対する操作(回転情報)を決定するクラスです。
CubeControllerという名称にはなっていますが、他のオブジェクトにアタッチすればそちらでも利用できます。

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

/// <summary>
/// オブジェクトの操作を行うクラス
/// 現在はCubeにアタッチするようにしている
/// </summary>
public class CubeController : MonoBehaviour
{
    private Test test;       // クラス取得用
    [Header("回転角度の設定値")]
    public float eulerAngle;
    private int axis;        // 回転させる軸の設定値

    void Start()
    {
        // Testクラスを取得しtest変数に代入 = アクセスできる状態にする
        // 取得するTestクラスが同じオブジェクトにアタッチされている場合
        // 省略しない書き方
        test = this.gameObject.GetComponent<RotateTest>();
        // 省略した書き方(基本形)
        //test = GetComponent<RotateTest>();
    }

    void Update()
    {
        // ボタンを押す度に回転軸を x => y => z => x と変更する
        if (Input.GetKeyDown(KeyCode.Z)) {
            axis++;
            // zになったらxに戻す
            if(axis >= 3) {
                axis = 0;
            }
            Debug.Log(axis);
        }

        if (Input.GetKeyDown(KeyCode.X)) {
            // cubeを回転させるため、TestクラスのRotateCubeメソッドを呼び出す
            // 第1引数として回転する角度、第2引数として回転をさせる軸の情報を渡す
            // アクセスする場合には、[クラスの代入されている変数名].[呼び出すメソッド名]で書く 
            test.RotateCube(eulerAngle, axis);
        }
        if (Input.GetKeyDown(KeyCode.C)) {
            // cubeを回転させるため、TestクラスのRotateCubeメソッドを呼び出す
            // 第1引数として回転する角度、第2引数として回転をさせる軸、第3引数として逆回転の情報を渡す
            test.RotateCube(eulerAngle,axis,true);
        }

        if (Input.GetKeyDown(KeyCode.Space)) {
            // cubeの状態をリセットするため、TestクラスのResetRotateを呼び出す
            test.ResetRotate();
        }
        if (Input.GetKeyDown(KeyCode.V)) {
            // 各回転軸の回転させた回数をリセットするため、TestクラスのResetAxisCountを呼び出す
            test.ResetAxisCount(0);
        }
    }
}
完成したらCubeオブジェクトにアタッチします。
キー入力をしたときにCubeオブジェクトが回転するか、確認をしてみましょう。
それぞれ別のクラスに書かれている処理が一連の流れで繋がっていれば回転動作をするはずです。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます