コガネブログ

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

2019-08-27から1日間の記事一覧

【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…