けいごのなんとか

Unityユーザーとしてのブログ。ギリギリ路線走ってます。

UnityEditor

エディター拡張入門のWeb版を無償公開しました

エディター拡張入門を2015年の夏コミで販売開始してから7ヶ月が過ぎました。 anchan828.github.io 最近の売上について語ると、今までで700部ほど売れました。今は1日に1部は売れています。 売上スピードが鈍化してきている今、必要としている人たちにはある…

UnityEditor上でEditorWindowごとにスクショ (Mac)

こんなふうにEditorWindowまるごとスクショを撮る 表示されているEditorWindow全部スクショ ScreenCapture.Capture<EditorWindow> (); 表示されているHogeWindowスクショ ScreenCapture.Capture<HogeWindow> (); なんかEditorWindow.positionがずれてる値持ってる時があるんだけどなん</hogewindow></editorwindow>…

スクリプトからスプラッシュ画像を設定

SerializedObject経由で設定することが可能です。 プロパティ名 iPhoneSplashScreen iPhoneHighResSplashScreen iPhoneTallHighResSplashScreen iPhone47inSplashScreen iPhone55inPortraitSplashScreen iPhone55inLandscapeSplashScreen iPadPortraitSplash…

Module Managerを使って自作ライブラリを読み込んでみた

[注意1] これはドキュメントに無く、推奨されていない使い方です。 [注意2] DLLを扱う方法しか調べてません。 Module Managerって? Add-On系のパッケージ(Android、iOS、WebGL...)を今後モジュールとして管理しましょうということで実装された機能 だけど…

コンソールのログを消す

gist9024678

テンプレートファイルにカスタムキーワード追加

Unity.app/Contents/Resources/ScriptTemplatesにあるテンプレートファイルに自由にReplaceできるキーワードを追加する デフォルトでサポートされているのは key 説明 #NAME# 拡張子なしのファイル名に変換 #SCRIPTNAME# 半角スペース無しで拡張子無しのファ…

ReorderableListの作成

AnimatorのStateなどにある、配列の位置を自由に移動させることが出来るものを「ReorderableList」というそうです。 これが使えたら便利なんだけどなーということで頑張ってみました。 まだ不十分なので近いうちに作り終えるつもり。

UnityEditorのAssetBundleを取得する

アイコンとかマテリアルとかいーっぱい EditorGUIUtility.GetEditorAssetBundleで取得できる 実はEditorGUIUtility.LoadはこのAssetBundleからロードしていたりする 使う時はこんな感じ Texture2D icon = EditorGUIUtility.Load ("Icons/Generated/PrefabNor…

Animatorウィンドウを自作する ~背景の描画~

Animatorウィンドウの背景とか、StateMachineかっこいいですよね。 この背景とStateMachineを使ってEditor拡張したいですよね。 これ、実は自分で作れます。APIも用意されています。 UnityEditor.Graphs UnityEditor.Graphsがそうです 背景の表示 見て欲しい…

検索機能でサポートしているシンタックス

オブジェクト名/ アセット名 で検索 ラベルで検索 参照元で検索 インスタンスID、またはアセットのパスで検索可能。アセットのパスの場合必ず""をつけるようにする。(スクリプトの場合""がなくても問題ないが混乱を避けるため) 「Find References In Scene…

インスペクターからCustomEditorを編集するために「Edit CustomEditor Script」を追加する

標準で「Edit Script」があるので「Edit CustomEditor Script」を追加してみました。 課題はEditorScriptがない場合はコンテキストメニューに項目を出さないこと。

UnityEngine.ObjectのCustomEditorを作成する

前提知識 Unityがサポートしていない拡張子のアセットは全てUnityEngine.Objectとして扱われます UnityEngine.ObjectのCustomEditorを作成したい すべてUnityEngine.Objectとして扱われるので少し工夫が必要ですが、以下の点を抑えておけば大丈夫です Custom…

Mac版UnityでVM上のVisualStudio2010を使う

いつの間にかMac版でもVisualStudio用のslnが生成されていました。 なんか少し設定が変だったので(使い方が違う?)ちょこっと改造して使えるようにしてみた。 準備 /Applications 配下に「Microsoft Visual Studio Version Selector.app」を作成しておく -…

UnityEditorのグローバルEventを取得する

EditorApplication. globalEventHandlerを使えばEventを取得できる。

プロジェクトビューにアセットのファイルサイズを表示する

UniteJapanで話した内容の補足です。 Editor スクリプティング 入門 from Keigo Ando

ヒエラルキービューにコンポーネントのアイコンを表示する

UniteJapanで話した内容の補足です。 Editor スクリプティング 入門 from Keigo Ando

SceneModeUtilityについて

これはドキュメント化されていないもの GetObjects public static GameObject[] GetObjects (Object[] gameObjects, bool includeChildren) 引数名 説明 gameObjects 検査するGameObject includeChildren 子要素を含むかどうか gameObjectsから関連するGameO…

Unity用のコードテンプレート書いた - UnityEditor編

Unity用のコードテンプレート書いた - UnityEngine編 Editorのやつも追加 https://github.com/anchan828/monodevelop-code-template-unity-csharp

AssetModificationProcessor - アセットの移動/削除を抑制する

UniteJapanの「Editorスクリプティング入門」の補足でもあります。 AssetModificationProcessorとはアセットをUnity内で作成/ 保存 / 移動 / 削除 を行う前に呼び出されるものです。 OnWillCreateAsset Unity内で生成されるアセット( meta ファイルや マテ…

EditorWindowのメニューに項目を追加する - IHasCustomMenu

要するに「EditorWindowのMenuで使われるGenericMenuが取得できる」ということ。 「✓」もつくよ! using UnityEngine; using UnityEditor; public class HasMenu : EditorWindow, IHasCustomMenu { private bool on; public void AddItemsToMenu (GenericMen…

Unity4.1の新機能 - メモリプロファイラー (MemoryProfiler)

Profilerに待望のMemoryProfilerが追加されました。 Sampleを取る MemoryのSampleをDetailedにして下さい そしてTake Sampleを押すと... 無事取れました 詳細なメモリ使用量もこの通り 今のところ手動でSampleを取得する方法しかありません。

Unity4.1の新機能 - Logフィルター

お馴染みのConsoleWindowが少し新しくなりました。 右上にLogフィルターが追加されています。 「Open Editor Log」と「Open Player Log」はコンテキストメニューに移動。 この機能はNinjaCampⅥで出たアイデア http://unity3d.com/ninjacamp/projects/10040 …

SceneViewクラスについて

そろそろ誰かSceneViewクラスについて情報書いていいと思うの— けーごさん (@kyusyukeigo) 2013年3月12日 @tsubaki_t1 ふおおお— けーごさん (@kyusyukeigo) 2013年3月12日 SceneViewとは 皆さんの知っているシーンビューを表示するためのクラスです ドキュ…

EditorGUI.ObjectField - UnityEngine.Texture

EditorGUI.ObjectFieldのGUIがTexture系では少し違います。 MaterialのInspectorでよく見るアレ こんな感じで幅を決めてあげるとしっくり来る EditorGUILayout.ObjectField (null, typeof(Texture2D), false, GUILayout.Width (64), GUILayout.Height (64));

UnityEditorInternal.Xcode4Controllerを使ってみる

UnityEditor.Xcode4Controller を使ってみます。( Unity4.1からはUnityEditorInternal.Xcode4Controller ) このクラスを使うには事前にXcodeを立ち上げないといけないようです SDK VersionをSimulatorにして使用するとUnityが固まります... Xcodeを立ち上げ…

UnityEditorInternal.InternalEditorUtilityを使う

ドキュメント化されていないUnityEditorInternal配下のInternalEditorUtilityの一部の機能を少し紹介します。 基本的に便利メソッド集的なポジションに居るのがInternalEditorUtilityクラス InternalEditorUtility.tags TagsManagerで設定しているタグ名を取…

補完のために...UnityC#.sublime-completions作った

補完ができるようにsublime-completionsを使ってPublicMemberだけ補完するようにしました。 本来の使い方じゃないけど、楽に作れるのでまぁいいんじゃないかな... All (UnityEngineとUnityEditorのPublicMemberを含める) UnityEngineのみ UnityEditorのみ 保…

ビルドインのGUISkinを見る - CustomStyle名を知る方法

UnityEditorのスキンはGUISkinとして保存されている。 EditorSkin.Game EditorSkin.Inspector EditorSkin.Scene UnityEditorのスキンは基本この3つ スクリプトからはこんな感じで取得できる EditorGUIUtility.GetBuiltinSkin (EditorSkin.Game); ビルドイン…

様々なEditorWindow④ - PreferenceWindow

様々なEditorWindow① - EditorWindow 様々なEditorWindow② - SearchableWIndow 様々なEditorWindow③ - ScriptableWizard の続きです。 PreferenceWindow UnityEditorの環境設定を行うWindowです。 UnityEditorの見た目や動作に関する設定を行うWindowである…

様々なEditorWindow③ - ScriptableWizard

様々なEditorWindow① 様々なEditorWindow② - SearchableWIndowの続きです ScriptableWizard GameObjectを作る Prefabを作る その他アセットを作る 何かを「作る」時に使用するWindowです。 OnGUIは使わない ScriptableWizardではEditorWindowを継承している…