コガネブログ

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

【Unity】Auto Referenced がオフの .asmdef に入っているスクリプトのコンパイル時間比較メモ

概要 Assembly-CSharp.csproj に入っている 1 つの .cs をそのまま編集した時と Auto Referenced がオフの .asmdef に入れてから編集した時の コンパイル時間を比較したのでメモ 項目 コンパイル時間 Assembly-CSharp.csproj 2 秒 Auto Referenced がオフの …

【WordPress】SVG を配置したら環境によって 1px の隙間ができてしまう現象の対策

概要 transform: translateY(1px); 1px だけズラすことで隙間を無くすことができる 参考サイト様

【WordPress】「外観 > テーマファイルエディター」が見つからない場合

概要 WordPress 6.x では「外観」ではなく「ツール」の中にある 関連記事

【Unity】Polygon Collider 2D などの頂点数を減らせる「Unity Collider Optimizer」

リポジトリ 使用例 Before After Polygon Collider 2D の頂点数を減らしたい場合は 「Polygon Collider Optimizer」を使用する

【Unity】すべての MenuItem の名前を取得する例

ソースコード 取得結果 Assets/Copy Path Assets/Create/2D/Physics Material 2D Assets/Create/2D/Sprite Atlas Assets/Create/2D/Sprite Library Asset Assets/Create/2D/Sprite Library Asset Variant Assets/Create/2D/Sprite Shape Profile Assets/Crea…

【Unity】ビルド履歴を EditorWindow で確認できるようになる「Build-History」

リポジトリ

【Unity】エディタの不要なメニューを削除する例

ソースコード using System.Reflection; using UnityEditor; namespace Kogane { [InitializeOnLoad] internal static class RemoveMenuItem { static RemoveMenuItem() { EditorApplication.delayCall += Remove; void Remove() { var methodInfo = typeof(…

【Unity】アセットの選択履歴を管理して戻るや進むができる

概要 上記のページで投稿されている「AssetSelectionHistory v1.0.2.unitypackage」を Unity プロジェクトに導入して 「Tools > Asset Selection History」を選択することで アセットの選択履歴を管理して戻るや進むができるウィンドウを表示できる

【Unity】Unity Hub で「プロジェクトは開いています」と表示される場合

概要 開いていないはずの Unity プロジェクトを Unity Hub で開こうとした時に 「プロジェクトは開いています」と表示される場合、 Unity プロジェクトのフォルダにある「Temp」フォルダ内の 「UnityLockfile」を削除するとプロジェクトが開けるようになる

【Unity】Unity Hub に表示されるプロジェクト名を変更する方法

参考サイト様

【Unity】TextMesh Pro で文字ごとにアニメーションを再生できる「TextMeshProAnimator」

リポジトリ

【Unity】TMP_Character に設定されている文字を取得する拡張メソッド

ソースコード using System; using System.Collections.Generic; using System.Text; using TMPro; namespace Kogane { public static class TMP_CharacterExtensionMethods { public static string GetCharacter( this TMP_Character self ) { return char.…

【C#】ひらがな・カタカナの清音と濁音・半濁音の変換を行うクラス

ソースコード namespace Kogane { /// <summary> /// ひらがな・カタカナの清音と濁音・半濁音の変換を行うクラス /// </summary> public static class DakuonHandakuonUtils { //================================================================================ // 関数(st…

【Unity】文字を指定して TMP_FontAsset.characterTable から情報を取得する拡張メソッド

ソースコード using System; using System.Collections.Generic; using System.Text; using TMPro; namespace Kogane { public static class TMP_CharacterExtensionMethods { private static readonly Encoding ENCODING = Encoding.Unicode; public static…

【Unity】DOTween の DORotateChar で duration に 0 を指定した時に動作しない場合

ソースコード using DG.Tweening; using TMPro; using UnityEngine; [DisallowMultipleComponent] internal sealed class Example : MonoBehaviour { [SerializeField] private TMP_Text m_text; private void Start() { var animator = new DOTweenTMPAnima…

【Unity】BoxCollider2D のサイズを TMP_Text に合わせる例

ソースコード boxCollider2D.size = new( tmpText.preferredWidth, tmpText.preferredHeight );

【Unity】3D 空間に存在する TextMesh Pro の link タグの情報を取得する例

ソースコード using TMPro; using UnityEngine; using UnityEngine.EventSystems; [DisallowMultipleComponent] [RequireComponent( typeof( TMP_Text ) )] internal sealed class Example : MonoBehaviour, IPointerClickHandler { [SerializeField] privat…

【Unity】gzip と brotli の圧縮・展開の比較

使用するクラス gzip:https://baba-s.hatenablog.com/entry/2023/12/04/133353 brotli:https://baba-s.hatenablog.com/entry/2023/12/04/131937 検証用のクラス using MyProject; using Unity.Profiling; using UnityEngine; public sealed class Example …

【Unity】文字列を gzip で圧縮・展開するクラスの例

ソースコード using System.IO; using System.IO.Compression; using System.Text; namespace MyProject { /// <summary> /// 文字列を gzip で圧縮・展開するクラス /// </summary> public static class GZipCompressor { //=================================================…

【Unity】文字列を Brotli で圧縮・展開するクラスの例

ソースコード using System.IO; using System.IO.Compression; using System.Text; namespace MyProject { /// <summary> /// 文字列を Brotli で圧縮・展開するクラス /// </summary> public static class BrotliCompressor { //=============================================…

【Mac】ログイン時に Adobe Creative Cloud が自動で起動しないようにする方法

概要 Creative Cloud の環境設定を開いて 「ログイン時に Creative Cloud を起動」をオフにして「完了」を押す

【Mac】カラープロファイルから「Studio Display」が消えた場合

概要 「システム環境設定 > ディスプレイ」の「カラープロファイル」を 「Studio Display」以外の物に変更したら 「Studio Display」が一覧から消えて元に戻せなくなった 上記のページで紹介されているように /home/{username}/Library/Preferences/com.appl…

【Mac】Studio Display で輝度を調整できない場合

概要 「システム環境設定 > ディスプレイ」を開いても輝度を調整するバーが存在せず、 メニューバーの輝度調整のバーはグレーアウトしており輝度を調整できない現象に遭遇した 上記の MonitorControl をインストールしたところ 輝度を調整できるようになった…

【Unity】Firebase と Xcode 15 を使用して iOS ビルドした時に iOS 12 でアプリが強制終了する不具合を対策するエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; namespace Kogane.Internal { /// <summary> /// Xcode 15 でビルドできるようにするエディタ拡張 /// Xcode の Build Settings の「Other Linker Flags」に「-ld_classi</summary>…

【Unity】マウスカーソルが子オブジェクトに入った時に親オブジェクトの OnPointerExit が呼び出されてしまう

概要 Unity 2022.1.23f1 だと、マウスカーソルが子オブジェクトに入った時に void IPointerExitHandler.OnPointerExit( PointerEventData eventData ) { // ... } 親オブジェクトの OnPointerExit が呼び出されてしまう マウスカーソルが子オブジェクトに入…

【Unity】FancyScrollView の Scroller をマウスホイールで操作しやすくするコンポーネントの例

ソースコード using FancyScrollView; using UnityEngine; using UnityEngine.EventSystems; namespace Kogane.Internal { [DisallowMultipleComponent] internal sealed class Example : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { //===…

【Unity】ColorPresetLibrary をスクリプトから操作する例

ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; using Object = UnityEngine.Object; internal static class Example { [MenuItem( "Example/Hoge" )] private static void Hoge() { var colorPresetLibrary =…

【Python】error: subprocess-exited-with-error

概要 pip install chromedriver-binary==119.0.6045.105.0 上記のコマンドを実行したら error: subprocess-exited-with-error が発生してインストールに失敗する現象に遭遇した 上記のページで紹介されている通り CERT_PATH=$(python -m certifi) export SSL…

【Unity】AssetDatabase.CopyAsset は上書きコピーの時に GUID が変わってしまう

概要 if ( File.Exists( newPath ) ) { File.Copy( path, newPath, true ); } else { AssetDatabase.CopyAsset( path, newPath ); } ファイルが存在する場合は AssetDatabase.CopyAsset ではなく File.Copy を使用すれば GUID が変わってしまうことを一応防…

【Unity】UI で入れ子のスクロールを実装する時に使用するコンポーネント

ソースコード using System; using System.Linq; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; namespace Kogane.Internal { /// <summary> /// 入れ子のスクロールを実装する時に使用するコンポーネント /// 子の ScrollRect の代わり</summary>…