SlideShare a Scribd company logo
Editor スクリプティング 入門
誰もが使えるそんな環境づくり
私はこんな人
Unity Technologies Japan
フィールドエンジニア
Editor拡張にお熱
@kyusyukeigo
安藤 圭吾
Editorスクリプトってなんだ
Editorスクリプトってなんだ
UnityEditorを拡張するためのスクリプト
Editorスクリプトってなんだ
インスペクターを拡張したり
Editorスクリプトってなんだ
インスペクターを拡張したり ウィンドウを作成したり
Editorスクリプトってなんだ
自動でテスターにアプリ配信したり
Editorスクリプトってなんだ
Jenkinsさんにお願いしたり
Emotional Jenkins - https://cacoo.com/store/items/10148
Editorスクリプトってなんだ
Jenkinsさんにお願いしたり 怒られたり
Emotional Jenkins - https://cacoo.com/store/items/10148
Editorスクリプトってなんだ
開発をスムーズに行うために
手助けをするもの
時間割いてまでやる
必要あるの?
必要か?
実際にあったことを少しだけご紹介
こんなことって...ない?
初期パラメータは
wikiに書いてます
こんなことって...ない?
コピペ
スプレッドシートに一覧
初期パラメータはwikiに
書いてます
こんなことって...ない?
こんなことって...ない?
パラメータは
ContextMenuで管理
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
	 [ContextMenu("Hoge")]
	 public void Hoge ()
	 {
	 	 HogeScript h = GetComponent<HogeScript> ();
	 	 h.str = "hoge";
	 }
	 [ContextMenu("Fuga")]
	 public void Fuga (){}
	
	 [ContextMenu("Foo")]
	 public void Foo (){}
}
ContextMenuのためのScript...
パラメータは
ContextMenuで管理
こんなことって...ない?
こんなことって...ない?
パラメータはContextMenu
で管理
ランライム側
余計なコード
エディター側
に書け!
ちょっと
どこ触ってんの!
こんなことって...ない?
こんなことって...ない?
ちょっと
どこ触ってんの!
なんか動かないんだけど... どれどれ...
こんなことって...ない?
ちょっと
どこ触ってんの!
−90じゃなくて 270にして!
こんなことって...ない?
ちょっと
どこ触ってんの!
触ってほしくない所を触ってる!
こんなことって...ない?
ちょっと
どこ触ってんの!
触ってほしくない所を触ってる!
2Dのとき
Z軸は大丈夫?
こんなことって...ない?
ちょっと
どこ触ってんの!
Transform
こんなことって...ない?
ちょっと
どこ触ってんの!
Z軸削除
Transform
こんなことって...ない?
見せない
CustomEditorを使う触らせたくないもの
ちょっと
どこ触ってんの!
Editorスクリプトはこんな時に便利
コンパクト
見やすい / 目立つ
Editorスクリプトはこんな時に便利
Editorスクリプトはこんな時に便利
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
public class PostProcess
{
	 [PostProcessBuild]
	 static void OnPostprocessBuild (BuildTarget target, string pathToBuiltProject)
	 {
	 	 //フレームワーク追加とか
	 }
	 [PostProcessScene]
	 static void OnPostprocessScene ()
	 {
	 	 //デバッグ時のみに追加したいマネージャー(GameObject)追加とか
	 }
}
ビルド前後の処理自動化
Editorスクリプトはこんな時に便利
using UnityEngine;
using UnityEditor;
public class AssetModification : UnityEditor.AssetModificationProcessor
{
	 static void OnWillCreateAsset (string path){}
	 static void OnWillSaveAssets (string[] paths){}
	
	 static AssetMoveResult OnWillMoveAsset (string from, string to)
	 {
	 	 return AssetMoveResult.FailedMove; //ここでアセット移動制限
	 }
	
	 static AssetDeleteResult OnWillDeleteAsset (string path, RemoveAssetOptions option)
	 {
	 	 return AssetDeleteResult.FailedDelete; //ここでアセット削除制限
	 }
}
アセット管理
移動すんな!
削除すんな!
今回話すこと
GUI周りについて
PropertyDrawer
PropertyDrawer
PropertyDrawerって何
PropertyDrawer
PropertyDrawerって何
(シリアライズされたフィールドで)
カスタマイズするためのもの
インスペクターに表示されるGUIを
...PropertyDrawerって何
これ
つまり
public変数
PropertyDrawer
public Vector3 vector3;
パッと見たいときに
少し使いづらい
PropertyDrawer
...PropertyDrawerって何
[Compact]
public Vector3 vector3;
https://github.com/anchan828/property-drawer-collection/tree/master/CompactAttribute
PropertyDrawer
...PropertyDrawerって何
自分で作れる
PropertyDrawer
自分で作れる
PropertyDrawer
[Compact]
public Vector3 vector3;
using UnityEngine;
public class CompactAttribute : PropertyAttribute {}
using UnityEngine;
using UnityEditor;
[CustomPropertyDrawer(typeof(CompactAttribute))]
public class CompactDrawer : PropertyDrawer
{
	 public override void OnGUI (Rect position, SerializedProperty property, GUIContent label)
	 {
	 	 ...
	 }
}
自分で作れる
PropertyAttribute
PropertyDrawer
using UnityEngine;
public class CompactAttribute : PropertyAttribute {}
PropertyDrawer
using UnityEngine;
using UnityEditor;
[CustomPropertyDrawer(typeof( Hoge ))]
public class CompactDrawer : PropertyDrawer
{
	 public override void OnGUI (Rect position, SerializedProperty property, GUIContent label)
	 {
	 	 ...
	 }
}
自分で作れる
シリアライズされた
クラス
[System.Serializable]
public class Hoge
{
public float number;
}
PropertyDrawer
FindPropertyRelative
唯一、使い回し出来るEditor拡張
(だと思ってる)
プロジェクトと切り分けてコードを書くことが容易
PropertyDrawer
ネタ
PreviewTexture
https://github.com/anchan828/property-drawer-collection/tree/master/PreviewTextureAttribute
PropertyDrawer
AnimatorParameter
LabelSearch
Password
Popup
SceneName
要望/バグあれば
issueお願い
https://github.com/anchan828/property-drawer-collection
PropertyDrawer
EditorWindow
EditorWindow
EditorWindowって何
UnityEditorはEditorWindowで成り立っている
EditorWindow
EditorWindow
EditorWindow
EditorWindow
EditorWindow
EditorWindow
EditorWindow
EditorWindowの作り方
EditorWindowはScriptableObject継承
EditorWindow
EditorWindowの作り方
EditorWindowはScriptableObject継承
なのでCreateInstanceで生成できる
EditorWindow
EditorWindowの作り方
CreateInstance
複数同じEditorWindow生成
EditorWindow
EditorWindowの作り方
CreateInstance
GetWindow<T>
複数同じEditorWindow生成
必ず1つのEditorWindow生成
EditorWindow
EditorWindowの作り方
GetWindowについて
• 内部でCreateInstanceが呼び出される
EditorWindow
EditorWindowの作り方
GetWindowについて
• 内部でCreateInstanceが呼び出される
• 生成されたEditorWindowはキャッシュされる
EditorWindow
EditorWindowの作り方
GetWindowについて
• 内部でCreateInstanceが呼び出される
• 生成されたEditorWindowはキャッシュされる
• Showが呼ばれる
EditorWindow
EditorWindowの種類
• Normal ( Show )
• Aux
• Popup
• Utility
• DropDown
• ScriptableWizard
• Preference
用途に合わせて
使い分ける
http://docs.unity3d.com/Documentation/ScriptReference/EditorWindow.html
http://anchan828.hatenablog.jp/entry/2013/02/17/020603
EditorWindow
EditorWindowでGUI
UnityのGUIStyleを使いたい
EditorWindow
EditorWindowでGUI
EditorGUIUtility.GetBuildinSkin
EditorWindow
EditorWindowでGUI
EditorGUIUtility.GetBuiltinSkin
Game
Scene
Inspector
Skin
EditorWindow
EditorWindowでGUI
EditorGUIUtility.GetBuiltinSkin
Game
Scene
Inspector
Label
Button
Toggle
Skin
Style
EditorWindow
EditorWindowでGUI
EditorStyles
EditorGUIUtility.GetBuiltinSkin
Game
Scene
Inspector
Label
Button
Toggle
Skin
Style
EditorWindow
EditorWindowでGUI
EditorStyles
EditorGUIUtility.GetBuiltinSkin
Game
Scene
Inspector
Label
Mini Button
Toggle
Label
Button
Toggle
Skin
Style
EditorWindow
EditorWindowでGUI
ビルドインされてるGUISkinのCustomStyleを使いたい
UnityのGUIStyleを使いたい
EditorWindow
ビルドインのGUISkinにあるCustomStyle名を知る
EditorWindow
現在ではCustomStyle名を知る術はない
ビルドインのGUISkinにあるCustomStyle名を知る
EditorWindow
現在ではCustomStyle名を知る術はない
むりやり知るには、ScriptableObjectで保存
ビルドインのGUISkinのCustomStyle名を知る
EditorWindow
using UnityEngine;
using UnityEditor;
public class BuildinSkins : ScriptableObject
{
public GUISkin game = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Game);
public GUISkin inspector = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Inspector);
public GUISkin scene = EditorGUIUtility.GetBuiltinSkin (EditorSkin.Scene);
}
AssetDatabase.CreateAsset (ScriptableObject.CreateInstance<BuildinSkins> (), "Assets/BuildinSkins.asset");
BuildInSkinのCustomStyle名を知る
http://anchan828.hatenablog.jp/entry/2013/02/17/024650
EditorWindow
.assetで保存してInspectorで見る
400以上CustomStyleがある
BuildInSkinのCustomStyle名を知る
EditorWindow
BuildInSkinのCustomStyle名を知る
ただしStyle名は今後変更される可能性があるので注意
.assetで保存してInspectorで見る
400以上CustomStyleがある
EditorWindow
UnityらしいEditorWindowを作成する
混乱を招かない
ように
GUIを知るはじめの一歩
• CustomEditor ( Attribute )
• Editor ( Class )
この2つを知ること
Editor
Editorクラスって何?
インスペクターとシーンビューの
GUIを表示するためのクラス
Editor
OnInspectorGUI インスペクターのGUIを描画する
Editor
OnInspectorGUI
OnPreviewGUI プレビューを描画する
インスペクターのGUIを描画する
Editor
OnInspectorGUI
OnPreviewGUI プレビューを描画する
インスペクターのGUIを描画する
OnSceneGUI シーンビューのGUIを描画する
Editor
OnInspectorGUI
3rd Person Controller ( Prefab )
Editor
OnInspectorGUI
OnPreviewGUI
3rd Person Controller ( Prefab )
Editor
OnInspectorGUI
OnPreviewGUI
3rd Person Controller ( Prefab )
OnSceneGUI
Editor
3rd Person Controller ( Prefab )
Editor
GameObjectInspector
TransformInspector
CharacterControllerEditor
AnimationEditor
MonoScriptInspector
Editor
Transform Inspectorみたいなのを作るには
CustomEditorを使う
CustomEditor
CustomEditorって何
Editorを継承したクラスを使用する
ためのAttribute
CustomEditor
CustomEditorって何
[CustomEditor(typeof(HogeScript))]
[CanEditMultipleObjects]
public class Custom : Editor
{	
	 public override void OnInspectorGUI ()
	 {
	 	 EditorGUIUtility.LookLikeInspector ();
	 	 HogeScript h = (HogeScript)target;
	 	 EditorGUI.BeginChangeCheck ();
	 	 string str = EditorGUILayout.TextField ("label", h.str);
	 	 if (EditorGUI.EndChangeCheck ()) {
	 	 	 h.str = str;
	 	 	 EditorUtility.SetDirty (h);
	 	 }
	 }
}
Editorを継承
CustomEditor
CanEditMultipleObjects
OnInspectorGUI
OnPreviewGUI
この部分を自由にカスタマイズできるようになる
OnSceneGUI
CustomEditor
editorForChildClassesでサブクラス(子クラス)を拡張
CustomEditor
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(Component), true)]
public class CustomComponent : Editor
{
	 private string memo = "";
	 public override void OnInspectorGUI ()
	 {
	 	 EditorGUI.BeginChangeCheck ();
	 	 string _memo = EditorGUILayout.TextArea (memo);
	 	 if (EditorGUI.EndChangeCheck ()) {
	 	 	 memo = _memo;
	 	 }
	 }
}
Editor
GUI使いたいけどどうするの?
Editor.CreateEditorでEditor作ってOnInspectorGUI
Editor.CreateEditor ( transform );
Editor
Preview使いたいけどどうするの?
Editor.CreateEditorでEditor作ってOnPreviewGUI
Editor.CreateEditor ( material );
Editor
こんな感じでEditorを生成する
Editor.CreateEditor ( transform );
Editor.CreateEditor ( material );
CustomEditorが複数ある場合は
Editor.CreateEditor ( transform, typeof(CustomTransform) );
Editor
Editorクラスを理解
することが
エディタ拡張(GUI)の
スタートライン
各WindowのOnGUI
既にUnityに実装してあるEditorWindow
EditorWindow
各WindowのOnGUI
OnGUIイベントをデリゲートに登録できる
• プロジェクトウィンドウ
EditorApplication.projectWindowItemOnGUI
• ヒエラルキーウィンドウ
EditorApplication.hierarchyWindowItemOnGUI
各WindowのOnGUI
• プロジェクトウィンドウ
projectWindowItemOnGUI
ファイルサイズ表示
各WindowのOnGUI
• ヒエラルキーウィンドウ
hierarchyWindowItemOnGUI
アイコン表示
Handles
Handles
Handles って何
3D GUI を表示するためのクラス
Handles
3D GUI の種類
まだ沢山ある
Handles
どこで使う?
Editor の OnSceneGUI で書く
void OnSceneGUI ()
{
	 transform.position =
	 	 Handles.DoPositionHandle (transform.position, Quaternion.identity);
}
シーンビューで使用する
Handles
2D GUI と 3D GUI の棲み分け
2D GUIを使うときはHandles.BeginGUI
void OnSceneGUI ()
{
	 GUILayout.Label ("表示されない");	
}
void OnSceneGUI ()
{
	 Handles.BeginGUI ();
	 GUILayout.Label ("表示される");	
	 Handles.EndGUI ();
}
Handles
SceneViewをカスタマイズしよう
GUIのお話終わり
時間割いてまでやる
必要あるの?
必要か?
最後のまとめ
開発者自身がEditor拡張は必要!と思うこと
触らせたくないものは見せるな!
Editorクラスを正しく理解すること
Questions ?
ご清聴ありがとうございました

More Related Content

What's hot

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
torisoup
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
エピック・ゲームズ・ジャパン Epic Games Japan
 
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
Mikito Yoshiya
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
エピック・ゲームズ・ジャパン Epic Games Japan
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
 
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
Unity Technologies Japan K.K.
 
こわくない!初心者向けBlender2.8講座#3
こわくない!初心者向けBlender2.8講座#3こわくない!初心者向けBlender2.8講座#3
こわくない!初心者向けBlender2.8講座#3
Takuya Kishikawa
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
エピック・ゲームズ・ジャパン Epic Games Japan
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
 
UE4のスレッドの流れと Input Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組みUE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れと Input Latency改善の仕組み
エピック・ゲームズ・ジャパン Epic Games Japan
 
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
Unity Technologies Japan K.K.
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成についてUE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成について
エピック・ゲームズ・ジャパン Epic Games Japan
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
 
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
エピック・ゲームズ・ジャパン Epic Games Japan
 
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られたNintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
エピック・ゲームズ・ジャパン Epic Games Japan
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方Yoshifumi Kawai
 

What's hot (20)

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
 
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
 
こわくない!初心者向けBlender2.8講座#3
こわくない!初心者向けBlender2.8講座#3こわくない!初心者向けBlender2.8講座#3
こわくない!初心者向けBlender2.8講座#3
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
UE4のスレッドの流れと Input Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組みUE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れと Input Latency改善の仕組み
 
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
【Unite 2018 Tokyo】そろそろ楽がしたい!新アセットバンドルワークフロー&リソースマネージャー詳細解説
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
UE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成についてUE4を用いたTPS制作事例 EDF:IR レベル構成について
UE4を用いたTPS制作事例 EDF:IR レベル構成について
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法UE4で作成するUIと最適化手法
UE4で作成するUIと最適化手法
 
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られたNintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
 

Similar to Editor スクリプティング 入門

Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor ExtendedMasamitsu Ishikawa
 
ゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみようゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
Kenta Ohsugi
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018
Unity Technologies Japan K.K.
 
Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。
IndieusGames
 
20120620 ngui japanese
20120620 ngui japanese20120620 ngui japanese
20120620 ngui japanese
Yasuyuki Kamata
 
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
Unity Technologies Japan K.K.
 
Storyboard のカスタムセグエを実装してみた
Storyboard のカスタムセグエを実装してみたStoryboard のカスタムセグエを実装してみた
Storyboard のカスタムセグエを実装してみた
Yuki Tanabe
 
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widgetPin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
cch-robo
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
Unity Technologies Japan K.K.
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
Akira Hatsune
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
Fumiya Sakai
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Akira Hatsune
 
Titanium勉強会
Titanium勉強会Titanium勉強会
Titanium勉強会
洋平 前田
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDとsters
 
Unityの最新動向と開発事例
Unityの最新動向と開発事例Unityの最新動向と開発事例
Unityの最新動向と開発事例
Haruto Watanabe
 
Visual studio extensibility
Visual studio extensibilityVisual studio extensibility
Visual studio extensibility
Takeshi Fujimoto
 

Similar to Editor スクリプティング 入門 (20)

Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor Extended
 
ゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみようゲームツクール!第11回 エディター拡張してみよう
ゲームツクール!第11回 エディター拡張してみよう
 
デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発デザイナーとエンジニアが話す、iOSアプリケーション開発
デザイナーとエンジニアが話す、iOSアプリケーション開発
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018
 
Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。
 
20120620 ngui japanese
20120620 ngui japanese20120620 ngui japanese
20120620 ngui japanese
 
Extending the Unity Editor
Extending the Unity EditorExtending the Unity Editor
Extending the Unity Editor
 
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
Storyboard のカスタムセグエを実装してみた
Storyboard のカスタムセグエを実装してみたStoryboard のカスタムセグエを実装してみた
Storyboard のカスタムセグエを実装してみた
 
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widgetPin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
 
空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレートから始めるWindows 8 ストアアプリ
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06Kinect Camp with TMCN/ Kinect入門ハンズオン 2015.06.06
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
 
Titanium勉強会
Titanium勉強会Titanium勉強会
Titanium勉強会
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
 
Unityの最新動向と開発事例
Unityの最新動向と開発事例Unityの最新動向と開発事例
Unityの最新動向と開発事例
 
Visual studio extensibility
Visual studio extensibilityVisual studio extensibility
Visual studio extensibility
 

More from Keigo Ando

Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデートUnity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Keigo Ando
 
Unity5.3の機能まとめ
Unity5.3の機能まとめUnity5.3の機能まとめ
Unity5.3の機能まとめ
Keigo Ando
 
Unibook4執筆ガイドライン
Unibook4執筆ガイドラインUnibook4執筆ガイドライン
Unibook4執筆ガイドライン
Keigo Ando
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境
Keigo Ando
 
Unibook3執筆ガイドライン
Unibook3執筆ガイドラインUnibook3執筆ガイドライン
Unibook3執筆ガイドライン
Keigo Ando
 
UNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドラインUNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドライン
Keigo Ando
 
Unityでアプリを作るには
Unityでアプリを作るにはUnityでアプリを作るには
Unityでアプリを作るにはKeigo Ando
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについてKeigo Ando
 
基本&ヒント
基本&ヒント基本&ヒント
基本&ヒントKeigo Ando
 
基本答え&解説のみ
基本答え&解説のみ基本答え&解説のみ
基本答え&解説のみKeigo Ando
 
Editor10-提出方法
Editor10-提出方法Editor10-提出方法
Editor10-提出方法Keigo Ando
 
Unity Networkとの違い
Unity Networkとの違いUnity Networkとの違い
Unity Networkとの違い
Keigo Ando
 
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話Keigo Ando
 
エディタ拡張勉強会第0回
エディタ拡張勉強会第0回エディタ拡張勉強会第0回
エディタ拡張勉強会第0回Keigo Ando
 
Unity3.5と4.0の違い
Unity3.5と4.0の違いUnity3.5と4.0の違い
Unity3.5と4.0の違いKeigo Ando
 
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!Keigo Ando
 
Asset server(管理者編)
Asset server(管理者編)Asset server(管理者編)
Asset server(管理者編)
Keigo Ando
 
Unity games uplaod
Unity games uplaodUnity games uplaod
Unity games uplaodKeigo Ando
 

More from Keigo Ando (19)

Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデートUnity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
Unity5.3で知識が止まっている人向けのUnity2017.2に合わせたエディター拡張アップデート
 
Unity5.3の機能まとめ
Unity5.3の機能まとめUnity5.3の機能まとめ
Unity5.3の機能まとめ
 
Unibook4執筆ガイドライン
Unibook4執筆ガイドラインUnibook4執筆ガイドライン
Unibook4執筆ガイドライン
 
わたしのVisual studio環境
わたしのVisual studio環境わたしのVisual studio環境
わたしのVisual studio環境
 
Unibook3執筆ガイドライン
Unibook3執筆ガイドラインUnibook3執筆ガイドライン
Unibook3執筆ガイドライン
 
UNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドラインUNIBOOK2執筆ガイドライン
UNIBOOK2執筆ガイドライン
 
Unityでアプリを作るには
Unityでアプリを作るにはUnityでアプリを作るには
Unityでアプリを作るには
 
Unity2DとNewGUIについて
Unity2DとNewGUIについてUnity2DとNewGUIについて
Unity2DとNewGUIについて
 
基本&ヒント
基本&ヒント基本&ヒント
基本&ヒント
 
基本答え&解説のみ
基本答え&解説のみ基本答え&解説のみ
基本答え&解説のみ
 
応用のみ
応用のみ応用のみ
応用のみ
 
Editor10-提出方法
Editor10-提出方法Editor10-提出方法
Editor10-提出方法
 
Unity Networkとの違い
Unity Networkとの違いUnity Networkとの違い
Unity Networkとの違い
 
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話
CodeTemplateについて / SublimeText → Monodevelopに戻ってきた話
 
エディタ拡張勉強会第0回
エディタ拡張勉強会第0回エディタ拡張勉強会第0回
エディタ拡張勉強会第0回
 
Unity3.5と4.0の違い
Unity3.5と4.0の違いUnity3.5と4.0の違い
Unity3.5と4.0の違い
 
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
【第5回】渋谷Unity技術勉強会 - WebPlayer面白いよ!
 
Asset server(管理者編)
Asset server(管理者編)Asset server(管理者編)
Asset server(管理者編)
 
Unity games uplaod
Unity games uplaodUnity games uplaod
Unity games uplaod
 

Editor スクリプティング 入門