コガネブログ

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

2019-08-01から1ヶ月間の記事一覧

【Unity】エディタ上で単色もしくはグラデーションの画像ファイルを作成できる「Create Texture Asset」紹介(無料)

はじめに 「Create Texture Asset」を Unity プロジェクトに導入することで エディタ上で単色もしくはグラデーションの画像ファイルを作成できるようになります 使い方 Project ビューの「Create > Create Texture..」を選択して 表示されたウィンドウで作成…

【Unity】OS のデフォルトアプリケーションでファイルを開くことができるエディタ拡張「Default App Opener」紹介(無料)

はじめに 「Default App Opener」は OS のデフォルトアプリケーションで ファイルを開くことができるようになるエディタ拡張です 使い方 ファイルを右クリックして「Open in System Default Application」を選択するか ファイルを選択した状態で Ctrl + Shif…

【Unity】Unity で再生ボタンを押した時だけスクリプトをコンパイルするようにできる「[Unity] Compile before play」紹介

はじめに 「[Unity] Compile before play」を Unity プロジェクトに導入することで Unity で再生ボタンを押した時だけスクリプトをコンパイルするようにできます 使い方 "com.jfranmora.editorextensions.compile-before-play": "https://github.com/jfranmo…

【おすすめスライド】「実装で詰まった実例集 〜みんなにも聞いてみた〜」

スライド

【おすすめスライド】「Unity IAPによるAndroid/iOS課金実装(消費型購入)」

スライド

【おすすめスライド】「お手軽簡単版 UnityIAP課金実装の実例」

スライド

【おすすめスライド】「Unity Monetization SDK 3.0 - 夢と理想と現実の物語」

スライド

【おすすめスライド】「広告BANを避けるために」

スライド

【Unity】WebGL でドット絵をキレイに表示する方法

概要 【Unity のインストール先】\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates Unity を終了した状態で上記のフォルダを開いて「Default」フォルダを複製します 複製した「Default」フォルダを「PixelPerfect」という名前に変更し…

【C#】ファイルの一覧を取得する Directory.GetFiles と Directory.EnumerateFiles の比較

C#

概要 using System; using System.Diagnostics; using System.IO; class Program { static void Main() { var path = "【対象のフォルダ】"; var pattern = "【検索パターン】"; var option = SearchOption.AllDirectories; var sw1 = new Stopwatch(); sw1.…

【Unity】TODO コメントが残っていたらビルドできなくするエディタ拡張

ソースコード 使用例 TODO コメントが残っている状態でビルドするとビルドに失敗して Console に TODO コメントが残っているファイルが出力されます IGNORE_FILE 配列で無視するファイルやフォルダを指定できます ソースコードの 51 行目あたりをカスタマイ…

【C#】文字列がすべて小文字かどうかを判定する拡張メソッド

ソースコード public static class StringExt { public static bool IsLower( this string self ) { for ( int i = 0; i < self.Length; i++ ) { if ( char.IsUpper( self[ i ] ) ) { return false; } } return true; } } 使い方 var str = "abcde"; var isL…

【C#】文字列がすべて大文字かどうかを判定する拡張メソッド

ソースコード public static class StringExt { public static bool IsUpper( this string self ) { for ( int i = 0; i < self.Length; i++ ) { if ( char.IsLower( self[ i ] ) ) { return false; } } return true; } } 使い方 var str = "ABCDE"; var isU…

【Unity】Android の Target Architectures をスクリプトから変更する方法

概要 Android の Target Architectures をスクリプトから変更したい場合は using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { // ARMv7 と ARM64 PlayerSettings.Android.targetArchitectures = A…

【Unity】Unity 2019.2 新機能 - テンプレートからスクリプトを作成できる「ProjectWindowUtil.CreateScriptAssetFromTemplateFile」

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { ProjectWindowUtil.CreateScriptAssetFromTemplateFile ( "Assets/template.cs.txt", "Assets/NewScript.cs" ); } } ProjectWindowUtil.Cr…

【Unity】Unity 2019.2 新機能 - Android において画面の輝度を取得できる「Screen.brightness」

概要 using UnityEngine; using UnityEngine.UI; public class Example : MonoBehaviour { public Text m_text; private void Update() { m_text.text = Screen.brightness.ToString(); } } Screen.brightness を使用すると Android において画面の輝度を取…

【Unity】Unity 2019.2 新機能 - Inspector における列挙型の要素の表示名を変更できる「InspectorNameAttribute」

概要 using UnityEngine; public enum JobType { [InspectorName( "王国兵士" )] SOLDIER, [InspectorName( "魔法使い" )] SORCERER, [InspectorName( "狩人" )] HUNTER, } public class NewBehaviourScript : MonoBehaviour { public JobType m_jobType; }

【Unity】Unity 2019.2 新機能 - Missing なスクリプトを削除できる「GameObjectUtility.RemoveMonoBehavioursWithMissingScript」

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var go = Selection.activeGameObject; var count = GameObjectUtility.RemoveMonoBehavioursWithMissingScript( go )…

【Unity】Unity 2019.2 新機能 - Missing なスクリプトの数を取得できる「GameObjectUtility.GetMonoBehavioursWithMissingScriptCount」

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var go = Selection.activeGameObject; var count = GameObjectUtility.GetMonoBehavioursWithMissingScriptCount( go…

【Unity】Unity プロジェクトを開いた時に Android の keystore のパスワードを自動で設定するエディタ拡張

ソースコード using UnityEditor; public static class AndroidKeystoreRegister { [InitializeOnLoadMethod] private static void Run() { PlayerSettings.Android.keyaliasPass = "【パスワード】"; PlayerSettings.Android.keystorePass = "【パスワード…

【Unity】Android ビルド完了後に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class BundleVersionCodeIncrementer : IPostprocessBuildWithReport { public int callbackOrder => 0; public void OnPostprocessBuild( BuildRepor…

【Unity】Android ビルド開始時に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public sealed class BundleVersionCodeIncrementer : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( Build…

【Unity】TextMesh Pro の Font Asset の更新を自動化できる「Unity TextMeshPro Font Customized Creater」紹介

はじめに Text Mesh Pro では Font Asset に含めたい文字が増えて更新したい場合、 毎回 Font Asset Creator ウィンドウを開いて作成し直す必要がありますが、 「Unity TextMeshPro Font Customized Creater」を Unity プロジェクトに導入することで TextMes…

【Unity】Unity エディタで Web ページのブックマークを管理できる「Unity-WebBookmarker」紹介

はじめに 「Unity-WebBookmarker」を Unity プロジェクトに導入することで Unity エディタで Web ページのブックマークを管理できるようになります 使い方 Unity メニューの「Tools>Web Bookmarker」から 「Open」を選択するとブックマーク管理画面が表示さ…

【Unity】Gradient で Lerp を使用できる「Unity Gradient Lerp」紹介

ソースコード 使用例 using UnityEngine; public class Example : MonoBehaviour { public Gradient m_gradient1; public Gradient m_gradient2; [Range( 0, 1 )] public float m_time; public Gradient m_gradient3; private void OnValidate() { m_gradien…

【Unity】Animator のパラメータへの文字列参照を避けることができる「AnimatorParameterReference」紹介

はじめに 「AnimatorParameterReference」を Unity プロジェクトに導入することで Animator のパラメータへの文字列参照を避けることができるようになります 使い方 例えばこのように「value」というパラメータを持つ Animator が存在する場合に その Animat…

【Unity】定数をカテゴリ分けして Inspector で設定できる「Unity3d-Tags-Filters」紹介

はじめに 「Unity3d-Tags-Filters」を Unity プロジェクトに導入することで 定数をカテゴリ分けして Inspector で設定できるようになります 使用例 using Homebrew; using UnityEngine; public static class Constants { [TagField( categoryName = "type1" …

【Unity】Photoshop の選択範囲ようなアウトラインを使用できる「marching-ants-outline.shader」紹介

はじめに 上記のサイト様が公開されているシェーダを使用することで Photoshop の選択範囲ようなアウトラインを使用できるようになります 使用例 使い方 上記のシェーダを Unity プロジェクトに導入し、 マテリアルを作成して Shader を「Sprites/Outline (M…

【Unity】シンプルなホログラムのようなシェーダを実装できる「Hologram.shader」紹介

使用例 使い方 上記の「Hologram.shader」を Unity プロジェクトに追加して マテリアルの Shader を「Custom/Hologram」に変更して 各種パラメータを設定することで使用できます

【Unity】血やペイントのような演出を実装できる「BloodFx」紹介

はじめに 「BloodFx」を Unity プロジェクトに導入することで 血やペイントのような演出を実装できるようになります 使用例 使い方 上記のような設定のパーティクルをシーンに配置します パーティクルで使用するマテリアルの Shader には 「Particles/Bloods…