EditorでAnimatorの再生 その2
前回(EditorでAnimatorの再生 その1)、Animator.UpdateによるAnimatorの再生を行いました。今回は、EditorWindowへAnimatorに設定されているパラメーターを表示し、それらを変更することでアニメーションの遷移を行う機能を追加しました。 Script 作成したScriptは以下の通りです。 パラメーターの取得と表示 Aniamtor.parame […]
Unityによるゲーム制作のあれこれ
前回(EditorでAnimatorの再生 その1)、Animator.UpdateによるAnimatorの再生を行いました。今回は、EditorWindowへAnimatorに設定されているパラメーターを表示し、それらを変更することでアニメーションの遷移を行う機能を追加しました。 Script 作成したScriptは以下の通りです。 パラメーターの取得と表示 Aniamtor.parame […]
Editor上でAnimatorの再生するEditorWindowを作成しました。 Animatorの再生 Animator.UpdateへTime.deltaTimeを渡すことでEditorでAnimatorを再生を行うことができます。 EditorWindowではLayout→Repaint→Updateの順に実行されます。試しにUpdate内以外でAnimatorの再生を行ってみました。 […]
作成したEditorWindowへMaterialEditorを用いてマテリアルのプロパティを表示する方法です。 MaterialEditorの作成とプロパティの表示 マテリアルエディターはEditor.CreateEditorによって作成することができます。これを用いてマテリアルのヘッダーとプロパティの描画を行います。 これを実行すると以下のようになります。 ヘッダーをクリックし、プロパティ […]
EditorWindowを分割するScriptを作成しました。 Script EditorWindowを分割するScriptは以下の通りです。 使用例に使用したScriptは以下の通りです。 使い方 このScriptを利用するにあたってはインスタンスの作成が必要となります。インスタンスを作成する際に、各領域の最小幅、最小高さ、境界線の太さ及び境界線の色を設定することができます。 二分割 垂直方 […]
EditorGUILayout.ObjectFieldやEditorGUI.ObjectFieldはGUIStyleを設定できないため、これらのコントロールは見た目の変更ができません。そこで、GUIStyleを自由に変更できるObjectFieldを作成しました。 Script 作成したscriptは以下の通りです。 ボタンなし ボタンがない場合のオブジェクトフィールドのScriptです。 […]
以前作成したポップアップウィンドウ(ポップアップウィンドウの作成)に検索機能を追加しました。 Script ポップアップウィンドウ 作成したScriptは以下の通りです。 検索を行うためのキーワードを入力するためのTextFieldを追加しています。EditorGUI.BeginChangeCheck()により、TextFieldの内容が変更された時のみ検索が実行されるようにしています。 始め […]
コントロールの作成 プロパティの表示に必要なデータの取得で取得したプロパティのタイプ(prop_type)を用いて、プロパティのタイプによって作成するコントロールを変更します。 Colorプロパティ colorプロパティに作用するAttributeはありません。そのため、以下に示すように色を選択するコントロールの作成のみを行っています。 Vectorプロパティ Vectorプロパティもcol […]
Inspectorに表示されるようなMaterialのShaderプロパティをEditorWindowで表示するScriptを作成しました。基本的なAttributeにも対応しています。 ※コントロールの作成部分は次の記事、「MaterialのShaderプロパティーを表示 その2(Editor拡張)」に記述しています。 Script 作成したScriptは以下の通りです。 プロパティの表示に […]
作成したGUIコントロールを一つのクラスへまとめたScriptです。詳しくはFloatFieldの作成 その2(Editor拡張)、ラジオボタンの作成(Editor拡張)、Sliderの作成(Editor拡張)、FloatFieldの作成(Editor拡張)で説明しています。 Script 作成したGUIコントロールは以下の通りです。 これらのGUIコントロールを実行するScriptは以下の通 […]
以前にFloatFieldを作成した際(FloatFieldの作成)、横幅の計算にEditorWindow.positionを用いていました。しかし、スクロールバーが表示された場合、EditorWindow.positionはウィンドウの幅をであるためFloatFieldがスクロールバーで隠れてしまいます。そこで、横幅の計算をGUILayoutUtility.GetRectへ変更し、さらにPre […]