コガネブログ

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

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

【Unity】RectTransform の Inspector を拡張する方法

概要 using System; using UnityEditor; using UnityEngine; [CustomEditor( typeof( RectTransform ) )] public sealed class RectTransformEditor : Editor { private static readonly Type DEFAULT_EDITOR_TYPE = typeof( Editor ) .Assembly .GetType( "…

【Unity】Windows における PackageManager で入手したパッケージの保存先

概要 【Unity プロジェクト】\Library\PackageCache PackageManager で入手したパッケージは上記のフォルダに保存されます

【Unity】エディタ拡張で AddComponent を Undo できるようにする方法

概要 var boxCollider = Undo.AddComponent<BoxCollider>( gameObject ); Undo.AddComponent を使用すると エディタ拡張で AddComponent を Undo できるようになります</boxcollider>

【Unity】UniTask で指定した秒数を待機する処理を簡潔にする関数

ソースコード using System; using System.Threading; namespace UniRx.Async { public partial struct UniTask { public static UniTask DelaySecond ( float seconds, bool ignoreTimeScale = false, PlayerLoopTiming delayTiming = PlayerLoopTiming.Upd…

【Unity】The character used for Ellipsis is not available in font asset [XXXX].

はじめに The character used for Ellipsis is not available in font asset [XXXX]. TextMesh Pro を使用していたら上記の警告が出力される現象に遭遇した 解決方法 TextMesh Pro に含まれている LineBreaking Following Characters.txt LineBreaking Leadi…

【Unity】TextMesh Pro の警告の出力を無効化する方法

概要 TMP Settings を選択して 「Disable warnings」をオンにすると、TextMesh Pro の警告の出力を無効化できます

【Unity】TextMesh Pro のオブジェクト作成時に Raycast Target をデフォルトでオフにする方法

概要 TMP Settings を選択して 「Enable Raycast Target」をオフにすると、 TextMesh Pro のオブジェクト作成時に Raycast Target がオフになります

【Unity】ScriptableObject のクラス名を変更すると AssetDatabase.FindAssets( "t:XXXX" ) でヒットしなくなる

検証環境 Unity 2018.4.8f1 概要 リネーム前 using UnityEngine; public class Example : ScriptableObject { } 例えば Example という名前の ScriptableObject のクラスを定義して すでにアセットを作成している場合、 Project ビューで「t:Example」形式で…

【Unity】ScriptableObject の private 変数に設定した値は Unity エディタの再生を停止しても保持されてしまう

検証環境 Unity 2018.4.8f1 概要 using UnityEngine; public class Example : ScriptableObject { private string[] m_list; public string[] List { get { // はじめてアクセスされたら配列を作成する if ( m_list == null || m_list.Length <= 0 ) { m_lis…

【Unity】ScriptableObject の private な文字列や配列は初期値が null ではなく空文字列や空配列になる

検証環境 Unity 2018.4.8f1 概要 using UnityEngine; public class TestScene : MonoBehaviour { private string m_text; private string[] m_array; private void OnEnable() { Debug.Log( m_text == null ); // True Debug.Log( m_array == null ); // Tru…

【Unity】11種類以上のモバイルデバイスでゲーム画面がどのように表示されるかエディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようになった

はじめに https://docs.unity3d.com/Packages/com.unity.device-simulator@1.0/manual/ 11種類以上のモバイルデバイスでゲーム画面がどのように表示されるか エディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようにな…

【Unity】メッシュをカットできる「MeshCutter」紹介

はじめに https://github.com/Black-Wolfwood/MeshCutter 「MeshCutter」を Unity プロジェクトに導入することで メッシュをカットできるようになります 使用例 使い方 カットしたいオブジェクトに「CutMesh」をアタッチします 空のゲームオブジェクトに「Cu…

【Unity】現在のシーンのゲームオブジェクトにアタッチされているすべてのコンポーネントを一覧表示できる「Scripts Manager for Unity3D」紹介

はじめに 「Scripts Manager for Unity3D」を Unity プロジェクトに導入することで 現在のシーンのゲームオブジェクトにアタッチされている すべてのコンポーネントを一覧表示できるようになります 使い方 Unity メニューの「[Master_Tools]/Scripts Manager…

【Unity】AnimationCurve をコピペできるようにするエディタ拡張「Copy-Paste AnimationCurves」紹介

はじめに 「Copy-Paste AnimationCurves」は AnimationCurve をコピペできるようにするエディタ拡張です 使い方 Inspector で AnimationCurve を右クリックしてコピペできます

【雑記】ソースコードを画像化できるサービス「carbon」紹介

はじめに 「carbon」はソースコードを画像家できるサービスです 使い方 入力欄に画像化したいソースコードを記述します 必要であれば言語を変更します 最後に「Export」を押して「Size」で大きさを選択してから 「Export as」で「PNG」を押すことで画像ファ…

【Unity】メッセージバスに関するオープンソース紹介(6個)

一覧 Unibus Signals MessageKit BasicEventBus Unity Events 2.0 KLab Message Buses for Unity

【C#】バイトサイズを簡単に扱うことができる「ByteSize」紹介

C#

はじめに 「ByteSize」をプロジェクトに追加することで バイトサイズを簡単に扱うことができるようになります インストール Install-Package ByteSize パッケージマネージャーコンソールで上記のコマンドを入力します 使い方 コンストラクタ using ByteSizeL…

【Unity】strings.xml を配置してもアプリ名がローカライズされない場合

概要 I2 Localization を Unity プロジェクトに追加している場合、 strings.xml を配置してもアプリ名がローカライズされません I2 Localization でアプリ名のローカライズ方法を指定する必要があります

【Unity】I2 Localization でアプリ名をローカライズする方法

アセット 方法 「I2Languages」アセットの「Languages」タブから 「App Name translations」の「New Term」を押します 「Terms」タブに移動して「App_Name」の「Add Term to Source」を押します 言語ごとのアプリ名を設定します これでアプリをビルドすると…

【Unity】選択中のファイルの数を常に表示するエディタ拡張

ソースコード using UnityEditor; using UnityEngine; public sealed class SelectedFilesCountWindow : EditorWindow { private int m_count; [MenuItem( "Window/Selected Files Count" )] private static void Init() { var win = GetWindow<SelectedFilesCountWindow>( "Selected F</selectedfilescountwindow>…

【おすすめスライド】「Unityレベルアップ講座 エディタ編 Rider(ReSharper)の話」

スライド

【Unity】スプライト用のグレーアウト、アウトライン、斜めシェーダを使用できる「UnityShaderEffect」紹介

はじめに 「UnityShaderEffect」を Unity プロジェクトに導入することで スプライト用のグレーアウト、アウトライン、斜めシェーダを使用できるようになります 使用例 適用前 適用後 使い方 「Assets/2D/Sprite」フォルダ内のマテリアルやスクリプトを使用し…

【Unity】スプライトにアウトラインを表示できる「SpriteOutline」紹介

はじめに 「SpriteOutline」を Unity プロジェクトに導入することで スプライトにアウトラインを表示できるようになります 使用例 適用前 適用後 使い方 マテリアルの Shader を「Sprites/SpriteOutline」に変更して スプライトに設定することで使用できます…

【Unity】カーソルが重なっているオブジェクトにアウトラインを表示する実装を見ることができる「PixelBaseOutlinePostProcessing」紹介

はじめに 「PixelBaseOutlinePostProcessing」ではカーソルが重なっているオブジェクトに アウトラインを表示する実装を見ることができます 実装例

【Unity】TextMesh Pro で数値を設定する時に GC Alloc が発生しない拡張メソッド「TMP_IntegerText.cs」紹介

ソースコード 使い方 var text = GetComponent<TMP_Text>(); text.SetText( 123 ); 検証 using TMPro; using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { public TMP_Text m_text; private void Update() { var num = 25; var </tmp_text>…

【Unity】高速なブルームのポストエフェクトを使用できる「Unity Fast Bloom」紹介

はじめに https://github.com/PavelDoGreat/Unity-Fast-Bloom 「Unity Fast Bloom」を Unity プロジェクトに導入することで 高速なブルームのポストエフェクトを使用できるようになります 使用例 使い方 例えばこのようなシーンでブルームを使用したい場合 …

【宣伝】2Dアクションパズルゲーム「ガブッチ」のLINEスタンプを配信開始しました!

宣伝 自分が開発した2Dアクションパズルゲーム「ガブッチ」の LINE スタンプを配信開始しました! ゆるくて可愛いガブッチたちのスタンプ、ぜひ使ってみてください! ゲーム紹介 不思議で可愛い生き物「ガブッチ」をゴールに導くアクションパズルゲームです …

【Unity】3D オブジェクトにアウトラインを表示できる「UnityOutline」紹介

はじめに 「UnityOutline」を Unity プロジェクトに導入することで 3D オブジェクトにアウトラインを表示できるようになります 使用例 適用前 適用後 使い方 3D オブジェクトに「Outline_Avg Normal」をアタッチすることで使用できます

【Unity】3D オブジェクトにアウトラインを表示するポストエフェクトを使用できる「unity-mesh-outline」紹介

はじめに 「unity-mesh-outline」を Unity プロジェクトに導入することで 3D オブジェクトにアウトラインを表示するポストエフェクトを使用できるようになります 使用例 適用前 適用後 使い方 シーンのカメラに「OutlinePostEffect」をアタッチして 「DrawSi…

【Unity】隠れている部分にもアウトラインを表示できるシェーダを使用できる「Quick Outline」紹介

はじめに 「Quick Outline」を Unity プロジェクトに導入することで 隠れている部分にもアウトラインを表示できるシェーダを使用できるようになります 使用例 使い方 3D オブジェクトに「Outline」をアタッチすることで使用できます 「Outline Mode」を変え…