Unityを使った3Dゲームの作り方(かめくめ)ゲーム開発エンジンUnityを使った3Dゲームの制作に参考になる情報を公開しています。2017.06.01今回はScriptableWizardを使ってメニューアイテムからエディターウィザードを開きゲームオブジェクトに設定されているスクリプトのパラメータを操作してみたいと思います。エディターウィザードとはなんぞや?と言う人も多いと思いますがパソコンへのソフトインストール時に表示される『次へ』、『OK』、『キャンセル』ボタンが表示されているようなウインドウの事みたいです。それのUnityエディター版ですね。Unityではアニメーションイベントを設定する時のウインドウがそうなのかもしれません(ボタンは表示されていませんが)。今回はメニューアイテムにウィザードを表示するメニューを追加していきます。スポンサーリンクエディターウィザードエディターウィザードの作成ウィザードを作成するにはScriptableWizardクラスを拡張して新しいクラスを作成する必要があります。{}↑のようにScriptableWizardクラスを継承してクラスを作成します。UnityEditorのクラスであるScriptableWizardを継承してクラスを作成しているのでEditorという名前のフォルダを作成しその中にファイルを移動させます。ウィザードの表示ウィザードはUnityのエディターのメニュー項目から表示させるので、Attributeを使いメニュー項目を追加します。"それ以外のボタンの名前");}アトリビュートでMenuItemとメニューとアイテム名を設定し、実行するメソッドをstatic(静的)で作成します。MyWizardというメニューアイテムを選択したらCreateWizardメソッドが実行され、ScriptableWizard.DisplayWizardでこのクラスのウィザードを開きます。第1引数がウィザードの名前で、第2引数がCreateボタンの名前、第3引数がそれ以外のボタンの名前となっています。Createボタンはウィザードの右下、それ以外のボタンはCreateボタンの左に表示されます。Createボタンを押した時に実行する処理Createボタンを押した時はOnWizardCreateメソッドが呼ばれるのでその中に処理を記述します。実行したい処理}Createボタンを押すとウィザードが消えます。それ以外のボタンを押した時に実行する処理それ以外のボタンを押した時はOnWizardOtherButtonメソッドが呼ばれるのでその中に処理を記述します。実行したい処理}それ以外のボタンを押した時はウィザードはそのまま表示されています。ウィザードで変更があった時に実行する処理ウィザードで変更があった時はOnWizardUpdateメソッドが呼ばれるのでその中に処理を記述します。実行したい処理}ウィザードを使ったサンプルの作成ウィザードの表示の仕方等がわかったので実際にウィザードのサンプルを作成してみます。Cameraに新しくScriptableWizardDataスクリプトを設定します。color;}このScriptableWizardDataスクリプトのインスペクタの値をウィザードで操作出来るようにします。ScriptableWizardDataスクリプトはUnityEditorのクラスを使っていないので通常のフォルダ内に置いておきます。新しくScriptableWizardTestスクリプトを作成しScriptableWizardクラスを拡張してScriptableWizardTestクラスを作成します。ScriptableWizardTestスクリプトはUnityEditorのクラスを使うのでEditorフォルダ内に移動させます。Debug.Log("ScriptableWizardDateが設定されていません。{Debug.Log("ScriptableWizardDateが設定されていません。ScriptableWizard.mouseOverWindow);}}int、float、Color、Transform[]型のフィールドを定義します。Awakeメソッドでそれぞれの初期値を記憶しておき、ヒエラルキー上にあるTransform情報を全て取得しフィールドに設定しています。これによってウィザードのtransformsフィールドに取得したTransform情報が表示されます。このTransform情報を取得したのは試しにしてみただけど特別使用するわけではありません・・・・(^_^;)CreateWizardメソッドでScriptableWizard.DisplayWizardを使ってScriptableWizardTestのウィザードを作成します。OnWizardCreateメソッドではヒエラルキー上で選択しているゲームオブジェクトがあればScriptableWizardDataスクリプトを取得しています。取得出来た場合はウィザードの値でScriptableWizardDataの値を書き換えています。OnWizardOtherButtonメソッドではウィザード内の書き換えたデータを初期値に戻しています。OnWizardUpdateではウィザードの更新があった時にキーボードフォーカスがあるウインドウの表示とマウスカーソル下にあるウインドウを表示しています。処理を見てわかるとおり実用的なスクリプトではありませんね・・・・(^_^;)とりあえず出来上がったので確認してみましょう。↑のようになりました。『実行』ボタンを押すとウィザードで設定した値がScriptableWizardDataに反映されていますね。終わりに今回は実用的なサンプルは作れませんでしたが、UnityのTerrainにゲームオブジェクトを自動配置するツールを作成するUnityのTerrainの地面に合わせて建物や木等のゲームオブジェクトを回転やサイズを変更して指定した数だけ配置するツールの作成。gametukurikata.com2017.06.01でTerrainに指定した数のゲームオブジェクトを地形に沿って設置するツールを作成してみました。コピーかめくめちゃんをフォローする7Unityを使った3Dゲームの作り方(かめくめ)Unityを使った3Dゲームの作り方(かめくめ)関連記事エディターUnityのTerrainにゲームオブジェクトを自動配置するツールを作成するUnityのTerrainの地面に合わせて建物や木等のゲームオブジェクトを回転やサイズを変更して指定した数だけ配置するツールの作成。エディターUnityのEditorを拡張して自前のメニュー項目を表示するUnityのEditorを拡張して自前のメニュー項目を表示し、項目を選択した時に処理を実行してみます。FPSを作ってみよう15-ゲーム用コントローラーに対応する-UnityのTerrainにゲームオブジェクトを自動配置するツールを作成するホームカスタマイズエディタースポンサーリンクサイト内検索が出来ますプロフィール管理人のかめくめちゃんです。(-_-)メールはこちらにお願いします(記事に関する質問は送らないでください、返信は期待しないでください(._.))。kamekumechan@gmail.comいずれはSIRENやバイオハザードみたいなアクションゲームを作りたいと思っています。ゲームシナリオが書けないので面白いゲームはなかなか作れません・・・・。(^_^;)名前の由来はカメが好きだからです。プロフィールになってないな・・・・(-.-)Unityをこれから始める人へこれからUnityを使ってみようという方はUnityを使った3Dゲームの作り方(かめくめ)の歩き方Unityを使った3Dゲームの作り方(かめくめ)で、はじめてUnityの学習をする時の当ブログの記事を読む順番を書きました。機能を積み上げていく形になるので便利かも?gametukurikata.com2019.06.21の記事に記載の順番で見て頂くとUnityの基本的な使い方がわかり、簡単なアクションゲームや、TPSゲームの作成までが出来ます。自作タイピングゲームタイピングゲームを作りました。WebGL形式なのでPCのブラウザで遊べます。以下からプレイ出来ます。FinalTypingUnityを使って作成したローマ字入力のタイピングゲームです。gametukurikata.com2022.01.02お知らせ2023/01/24個人的にUnity2022.2.3f1をインストールしました。2022/10/14UnityのIKを使って足の位置と角度を地面に合わせる機能Unityのゲームでキャラクターの両足が別の高さの地面の上にある時にそれぞれの足をそれぞれの地面につけるようにする機能を作成しますgametukurikata.com2016.04.11機能を少し修正しました。2020/09/19コメント欄は閉鎖しました。今までコメントを投稿してくださった方はありがとうございました。(^^)/2018/08/07わたくしに出来る事は既に記事にしてあるので、ブログ右上の検索窓を活用してください。(._.)またブログの最初の方の機能を積み上げていく記事に関しての疑問点は当ブログ記事のスクリプトの説明と寄せられた質問への回答Unityを使った3Dゲームの作り方(かめくめ)の機能積み上げ形式の記事のスクリプトの説明と寄せられた記事の機能についての質問への回答を掲載しています。gametukurikata.com2019.08.01Unityを使い始めたばかりの人がつまづきやすい点を解消するUnityを使い始めたばかりの人が結構な確率で陥る不具合や疑問点を解消していきます。基本的にはブログに寄せられた質問への回答という感じです。gametukurikata.com2018.12.04も参照してみてください。小・中学生によるデジタルコンテンツ開発の全国大会ですuycc.unity3d.jp2022年大会の先行エントリーが開始されているようです。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。当ブログはハイスピードプランです。WordPressの編集画面の動作が早くなった。記事の内容に質問がある方へUnityを使った3Dゲームの作り方(かめくめ)の歩き方UnityのJavaScriptとC#を読み替えてどちらでも対応出来るようにするホーム検索トップサイドバータイトルとURLをコピーしました。