読者です 読者をやめる 読者になる 読者になる

コガネブログ

平日更新を目標にUnityやC#などのゲーム開発アレコレを書いていきます

Unity5

【Unity】Projectビューにエクスプローラでファイルを開くボタンを表示するエディタ拡張

類似記事 【Unity】Sceneビューにボタンを表示するエディタ拡張 - コガネブログ 【Unity】Projectビューにアセットの容量を表示するエディタ拡張 - コガネブログ 【Unity】HierarchyにNGUIのUIWidgetのdepthを編集するGUIを表示するエディタ拡張 - コガネブ…

【Unity】Unity 5.0 新機能「UnityEngine.iOS.Device」

Unity 5.0 から「UnityEngine.iOS.Device」が追加されました このクラスを使用することでアプリが動作しているiOS端末の 世代やバージョンなどの情報を取得できます using UnityEngine; using UnityEngine.iOS; public class ExampleClass : MonoBehaviour {…

【Unity】Sceneビューにボタンを表示するエディタ拡張

類似記事 【Unity】Projectビューにアセットの容量を表示するエディタ拡張 - コガネブログ 【Unity】HierarchyにNGUIのUIWidgetのdepthを編集するGUIを表示するエディタ拡張 - コガネブログ 【Unity】SerializedObjectを使用して指定されたオブジェクトのす…

【Unity】Projectビューにアセットの容量を表示するエディタ拡張

参考サイト様 http://yas-hummingbird.blogspot.jp/2010/02/c.html 類似記事 【Unity】HierarchyにNGUIのUIWidgetのdepthを編集するGUIを表示するエディタ拡張 - コガネブログ 【Unity】SerializedObjectを使用して指定されたオブジェクトのすべてのプロパテ…

【Unity】Unity 5.0 新機能「RuntimeInitializeOnLoadMethodAttribute」

Unity 5.0 から「RuntimeInitializeOnLoadMethodAttribute」が追加されました この属性をstatic関数に適用することでゲーム起動時にその関数が呼び出されます using UnityEngine; public class ExampleClass { [RuntimeInitializeOnLoadMethod] private stat…

【Unity】NGUIで使用可能なBBCodeを文字列から削除して返す拡張メソッド

using System.Text.RegularExpressions; public static class StringExtensions { private const RegexOptions OPTIONS = RegexOptions.IgnoreCase; public static string RemoveBBCode( this string self ) { self = Regex.Replace( self, @"\[b\](.*)\[\/b…

【Unity】Unity 5.1 新機能「UnityEngine.HelpURLAttribute」

Unity 5.1 から「UnityEngine.HelpURLAttribute」が追加されました この属性をMonoBehaviourを継承したクラスに適用することで Inspector上でヘルプアイコンをクリックされた時に表示するサイトを設定できます using UnityEngine; [HelpURL( "http://baba-s.…

【Unity】Unity 5.1 新機能「UnityEngine.ColorUsageAttribute」

Unity 5.1 で「UnityEngine.ColorUsageAttribute」が追加されました この属性をColor型のpublic変数に適用することで カラーピッカーの表示を変えることができます Unity 5.1 以前 using UnityEngine; public class ExampleClass : MonoBehaviour { public C…

【Unity】Unity 5.1 新機能「UnityEngine.CreateAssetMenuAttribute」

Unity 5.1 で「UnityEngine.CreateAssetMenuAttribute」が追加されました この属性をScriptableObjectを継承したクラスに適用することで そのクラスの.assetを「Assets>Create」メニューから作成できるようになります using UnityEngine; [CreateAssetMenu] …

【Unity】Unity 5.1 新機能「UnityEngine.Assertions.Must.MustExtensions」

Unity 5.1 で「UnityEngine.Assertions.Must.MustExtensions」が追加されました このクラスを使用することで値が正常であるかどうかを確認できます 値が不正の場合はメッセージを投げます 関数 説明 MustBeNull 値がnullであることを保証します MustNotBeNul…

【Unity】Unity 5.1 新機能「UnityEngine.Assertions.Assert」

Unity 5.1 で「UnityEngine.Assertions.Assert」が追加されました このクラスを使用することで値が正常であるかどうかを確認できます 値が不正の場合はメッセージを投げます 関数 説明 IsNull 値がnullであることを保証します IsNotNull 値がnullではないこ…

【Unity】「Shader Forge」を使用してみる

使用方法 Unityのメニューの「Window>ShaderForge」を選択 新規でシェーダーを作成する場合は「New Shader」を選択 既存のシェーダーを読み込んで編集する場合は「Load Shader」を選択 上記以外のボタンはWikiやfeedback center、ShaderForgeのサイトにアク…

【Unity】「Shader Wizard for Unity」を使用してみる

Asset Store https://www.assetstore.unity3d.com/jp/#!/content/29931 概要 ウィンドウで設定したものをShaderファイルとして出力可能 頂点シェーダーやフラグメントシェーダー、サーフェイスシェーダーのベースとなるShaderファイルを出力可能 使用方法 Un…

【Unity】6/23のUnityの勉強会で登壇させていただきます

【#TechBuzz】6/23 第32回代々木Unity勉強会【テーマ:Unity エディタ拡張でできること、Unity meets Kinect -Unity で NUI を扱ってみた-】 : ATND 対象者 Unity のエディタ拡張でどんなことができるのか知りたい方 発表内容(予定) エディタ拡張とは エディ…

【Unity】アセットバンドルが格納されているフォルダ名を返す関数

var platformFolderForAssetBundles = ExampleClass.CurrentPlatformFolderForAssetBundles; Unity エディタ上では EditorUserBuildSettings.activeBuildTargetを使用して、 ランタイムではApplication.platformを使用して、 アセットバンドルが格納されてい…

【Unity】「ShaderFusion」を使用してみる

良かったところ 無料で使用できる オープンソースなので解析できる 気になったところ 「Shader Forge」や「Strumpy Shader Editor」と比べると 少し使いづらい印象 検証時の画像 類似記事 【Unity】「C# and Shader Intellisense」を使用してみる - コガネ…

【Unity】「C# and Shader Intellisense」を使用してみる

概要 C#のコードを記述する際にインテリセンスを表示してくれる (インテリセンスの機能自体はMonoDevelopの方が使いやすい印象) MonoDevelopの表示 C# and Shader Intellisenseの表示 Shaderコードを記述する際にインテリセンスを表示してくれる 英語では…

【Unity】「Strumpy Shader Editor」を使用してみる

良かったところ 無料で使用できる プログラマとしては、Node 名が Unity で用意されている 処理名と同じなので、Node を構築しやすい Vertex と Pixel、Lighting で処理がわかれている シェーダーの設定は ShaderForge とほとんど同じで、 なおかつ、こちら…

【Unity】「PSD Layers to NGUI」を使用してみる

公式ドキュメント(英語) http://www.magicnreal.com/psd2ngui メニューについて Unityエディタ上で設定できる項目 ACTION 項目 説明 Load 設定の読み込み Save 設定の保存 Delete 設定の削除 New 設定の作成 Run NGUIへ変換 SETTING 項目 説明 Root Rootの設…

【Jenkins】Jenkins 環境構築時の覚書

Jenkins 環境構築 Jenkinsとは CI(継続的インテグレーション)ツールの1つ Jenkins導入のメリット いつでも実行可能な最新版のモジュールが、定期的に自動で作成される ボタンを押すだけで、いつでも実行可能な最新版のモジュールが作成できる モジュール履歴…

【Unity】EditorApplication.NewEmptySceneで空のシーンファイルを作成する

EditorApplication.NewEmptyScene(); EditorApplication.NewEmptySceneを使用することで オブジェクトが存在しない 空のシーンファイルを作成することができます

【Unity】EditorApplication.NewSceneで新しいシーンファイルを作成する

EditorApplication.NewScene(); EditorApplication.NewSceneを使用することで Main CameraとDirectional Lightが存在する 新しいシーンファイルを作成することができます

【Unity】「EditorApplication.currentScene」で現在開いているシーンの名前を取得する

using UnityEditor; using UnityEngine; public static class ExampleClass { [MenuItem( "Tools/Example" )] private static void Example() { Debug.Log( EditorApplication.currentScene ); } }

【Unity】EditorUtility.SaveFilePanelで名前を付けて保存するダイアログを表示する

var path = EditorUtility.SaveFilePanel( "", "", "", "" ); if ( !string.IsNullOrEmpty( path ) ) { ... } EditorUtility.SaveFilePanelを使用することで 名前を付けて保存するダイアログを表示することが可能です 引数 変数名 説明 title ダイアログに表…

【Unity】「Behaviour.isActiveAndEnabled」 でコンポーネントの状態を確認する

using UnityEngine; public class B : MonoBehaviour { public A a; public void Update() { Debug.Log( a.isActiveAndEnabled ); } } Behaviour.isActiveAndEnabledプロパティは そのコンポーネントがアタッチされているゲームオブジェクトがアクティブで …

【Unity】「MonoBehaviour.OnLevelWasLoaded」新しいシーンが読み込まれた時に呼び出されるコールバック関数

using UnityEngine; public class ExampleClass : MonoBehaviour { private void OnLevelWasLoaded( int level ) { Debug.Log( level ); } }

【Unity】HierarchyにNGUIのUIWidgetのdepthを編集するGUIを表示するエディタ拡張

類似記事 【Unity】Hierarchyを一行おきに色を変えて見やすくするエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトが持つコンポーネントの一覧を表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトのアイコン…

【Unity】「AssetDatabase.GenerateUniqueAssetPath」で重複しないアセットのファイルパスを取得する

using UnityEditor; using UnityEngine; public static class ExampleClass { [MenuItem( "Tools/Example" )] private static void Example() { var path = "Assets/Prefabs/New Prefab.prefab"; Debug.Log( AssetDatabase.GenerateUniqueAssetPath( path ) …

【Unity】SerializedObjectを使用して指定されたオブジェクトのすべてのプロパティのパス名を抽出するエディタ拡張

上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加して 「Tools>SerializedObjectWindow」を選択すると次のウィンドウが表示されます ウィンドウの欄にオブジェクトをドラッグアンドドロップすると そのオブジェクトが持つシリアライズ対象…

【Unity】ScriptableObjectのアセットを作成するエディタ拡張

類似記事 【Unity】Projectビューを一行おきに色を変えて見やすくするエディタ拡張 - コガネブログ 【Unity】Projectビューでテクスチャを選択中にCtrl + Altキーでプレビューを表示するエディタ拡張 - コガネブログ 【Unity】Projectビューにアセットの拡張…

【Unity】ゲームオブジェクトやアセットを複製するエディタ拡張

Unity では Ctrl + D でゲームオブジェクトやアセットを複製することが可能です もしも複製処理を自前で実装したい場合は 下記のようなスクリプトを記述することで実現できます ゲームオブジェクトやアセットを選択した状態で Unity エディタのメニューの「E…

【Unity】ScriptableObjectを継承したすべてのアセットのInspectorの表示をカスタマイズするエディタ拡張

using UnityEngine; public sealed class PlayerSettings : ScriptableObject { public string Name; } using UnityEngine; public sealed class EnemySettings : ScriptableObject { public string Name; } 例えば ScriptableObject を継承したこのようなク…

【Unity】名前付き引数とref、outキーワードを併用するとエラー

public class ExampleClass { public ExampleClass() { var str = ""; // error CS1525: Unexpected symbol `ref' Example( str1 : ref str, str2 : out str ); } public void Example( ref string str1, out string str2 ) { str2 = ""; } } Unityでは名前…

【Unity】Projectビューを一行おきに色を変えて見やすくするエディタ拡張

類似記事 【Unity】Projectビューでテクスチャを選択中にCtrl + Altキーでプレビューを表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyを一行おきに色を変えて見やすくするエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトが持…

【Unity】リフレクションを使用して指定されたクラスのすべてのメンバを抽出するエディタ拡張

上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加して 「Tools>Reflection Window」を選択すると次のウィンドウが表示されます ウィンドウのテキストボックスに名前空間を含むクラス名を入力すると そのクラスが持つすべてのメンバが表示さ…

【Unity】インポートされたFBXから自動でAnimationClipを取り出すエディタ拡張

上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加した状態で FBX を Unity プロジェクトに追加すると その FBX から AnimationClip を自動で取り出すことができます 既に Unity プロジェクトに追加されている FBX から AnimationClip を取…

【Unity】Projectビューでテクスチャを選択中にCtrl + Altキーでプレビューを表示するエディタ拡張

Project ビューでテクスチャを選択している時に Ctrl + Altキーを押すとプレビューを表示できます

【Unity】FBXからAnimationClipを取り出すエディタ拡張

上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加することで 例えばこのような FBX が Unity プロジェクトに存在する場合に 取り出したい AnimationClip を選択して右クリックし、 「Copy Animation Clip」を実行して FBX から AnimationCl…

【Unity】Sceneビューのカメラをクォータービューに変更するエディタ拡張

上記のスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると Scene ビューの左上に「Quarter」ボタンが表示されます この「Quarter」ボタンを押すことで Scene ビューのカメラをクォータービューに変更できます 作成中のシーンを素早く俯瞰の視…

【Unity】OnGUIで表示するテキストの幅と高さをGUIStyleから取得する拡張メソッド

using UnityEditor; using UnityEngine; public sealed class ExampleClass : EditorWindow { [MenuItem( "Tools/Example" )] private static void Example() { GetWindow<ExampleClass>(); } private void OnGUI() { var text = "ピカチュウ" ; var size = EditorStyles.l</exampleclass>…

【Unity】Hierarchyを一行おきに色を変えて見やすくするエディタ拡張

類似記事 【Unity】Hierarchyにゲームオブジェクトが持つコンポーネントの一覧を表示するエディタ拡張 - コガネブログ 【Unity】Projectビューにアセットの拡張子を表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトのアイコンを…

【Unity】Hierarchyにゲームオブジェクトが持つコンポーネントの一覧を表示するエディタ拡張

Hierarchy上でコンポーネントのアイコンをクリックすることで コンポーネントが有効かどうかを変更することができます 参考サイト様 ヒエラルキービューにコンポーネントのアイコンを表示する - けいごのなんとか 類似記事 【Unity】Projectビューにアセット…

【Unity】Projectビューにアセットの拡張子を表示するエディタ拡張

類似記事 【Unity】Hierarchyにゲームオブジェクトのアイコンを表示するエディタ拡張 - コガネブログ 【Unity】無効なコンポーネントがアタッチされているかどうかをHierarchyに表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクト…

【Unity】Animator のステート名を定数で管理するクラスを生成するエディタ拡張

上記のスクリプトを Unity プロジェクトの Editor フォルダに追加すると、Unity エディタのメニューに 「Tools>Create>Animator State Name」が追加されます これを選択するとアニメーターのステート名を定数で管理する AnimatorStateName.cs が生成されます…

【Unity】Hierarchyにゲームオブジェクトのアイコンを表示するエディタ拡張

類似記事 【Unity】無効なコンポーネントがアタッチされているかどうかをHierarchyに表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトを選択できるチェックボックスを表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyに…

【Unity】無効なコンポーネントがアタッチされているかどうかをHierarchyに表示するエディタ拡張

類似記事 【Unity】Hierarchyにゲームオブジェクトを選択できるチェックボックスを表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトがアクティブかどうかを変更するトグルを表示するエディタ拡張 - コガネブログ 【Unity】Hiera…

【Unity】Shift + Space キーで選択中のウィンドウを最大化できる

初めて知ったので忘れないように

【Unity】エディタで表示できるウィンドウの名前を調べる

「Window」メニューからすべてのウィンドウを開く 上記のスクリプトを「Editor」フォルダに保存する メニューの「Tools>Example」を実行する Console に各ウィンドウの名前が出力される ウィンドウ 名前 Scene UnityEditor.SceneView Game UnityEditor.GameV…

【Unity】Hierarchyにゲームオブジェクトを選択できるチェックボックスを表示するエディタ拡張

ゲームオブジェクトを複数選択する時に Ctrl キーを押す必要がなくなります 類似記事 【Unity】Hierarchyにゲームオブジェクトがアクティブかどうかを変更するトグルを表示するエディタ拡張 - コガネブログ 【Unity】Hierarchyにゲームオブジェクトを編集で…

【Unity】Hierarchyにゲームオブジェクトがアクティブかどうかを変更するトグルを表示するエディタ拡張

類似記事 【Unity】Hierarchyにゲームオブジェクトを編集できるかどうかを変更するアイコンを表示するエディタ拡張 - コガネブログ