コガネブログ

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

【Unity】エディタ拡張で Hierarchy のような GUI を簡単に実装できる「Editor GUI Hierarchy View」紹介

はじめに 「Editor GUI Hierarchy View」を Unity プロジェクトに導入することで エディタ拡張で Hierarchy のような GUI を簡単に実装できるようになります 使用例 using UnityEditor; public sealed class Example : EditorWindow { private EditorGUIHier…

【Unity】Scene ビューのカメラの状態を保存・読み込みできる「Scene Shot Bookmarks」紹介

はじめに 「Scene Shot Bookmarks」を Unity プロジェクトに導入することで Scene ビューのカメラの状態を保存・読み込みできるようになります 使い方 Unity メニューの「Window>Scene Shot Bookmarks」を選択して 表示されたウィンドウで「Bookmark」ボタン…

【Unity】フォルダの選択履歴を管理できる「Unity Project Browser History Buttons」紹介

はじめに 「Unity Project Browser History Buttons」を Unity プロジェクトに導入することで フォルダの選択履歴を管理できるようになります 使い方 Unity メニューの「Window>Utility>Project Browser Extension」を選択して 表示されたウィンドウで矢印ボ…

【Unity】選択したオブジェクトやアセットの履歴を管理できる「Unity Selection History Window」紹介

はじめに 「Unity Selection History Window」を Unity プロジェクトに導入することで 選択したオブジェクト・アセットの履歴を管理できるようになります 使い方 Unity メニューの「Window>Gemserk>Selection History」を選択して 表示されたウィンドウでオ…

【Unity】Hierarchy や Project ビューのオブジェクト・アセットを一括でリネームできる「Universal Rename Tool」紹介

はじめに 「Universal Rename Tool」を Unity プロジェクトに導入することで Hierarchy や Project ビューのオブジェクト・アセットを 一括でリネームできるようになります 使い方 Unity メニューの「Window>Rename Tool」を選択して 表示されたウィンドウで…

【Unity】uGUI におけるチャット画面の実装を見ることができる「WChatPanel」紹介

はじめに 「WChatPanel」では uGUI におけるチャット画面の実装を見ることができます 実装例 閲覧方法 「simple」シーンを開くことで確認できます

【Unity】uGUI における表形式のレイアウトの実装を見ることができる「WDataTable」紹介

はじめに 「WDataTable」では uGUI における表形式のレイアウトの実装を見ることができます 実装例 閲覧方法 「Demo」フォルダ内のシーンを開くことで確認できます

【Unity】軽量な Tween ライブラリ「GoKit」紹介

はじめに 「GoKit」は軽量な Tween ライブラリです 使用例 使い方 こちらの Wiki で詳細な使い方が紹介されています

【Unity】uGUI で 3D オブジェクトを親オブジェクトに収まるサイズで描画できる「Use meshes in Unity UI」紹介

はじめに 「Use meshes in Unity UI」を Unity プロジェクトに導入することで uGUI で 3D オブジェクトを親オブジェクトに収まるサイズで描画できます 使い方 キャンバス内に親オブジェクトを用意して 「Canvas Element 3D」をアタッチします そして、子オブ…

【Unity】EditorUtility.SetDirty が正常に動作しない場合

概要 Undo.RecordObject( tilemap, "Refresh All Tiles" ); tilemap.RefreshAllTiles(); EditorUtility.SetDirty( tilemap ); Undo.RecordObject を併用すると正常に動作する模様 参考サイト様

【Unity】エディタでシーンを開いた時に Tilemap のすべてタイルを自動でリフレッシュするエディタ拡張

概要 using System.Linq; using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; using UnityEngine.Tilemaps; [InitializeOnLoad] public static class AllTilesRefresher { static AllTilesRefresher() { EditorScen…

【Unity】スプライトを Sliced や Tiled で引き伸ばした時に Collider のサイズを簡単に合わせる方法

概要 例えば Collider がアタッチされたスプライトを Sliced にして横に引き伸ばした場合、 スプライトは引き伸ばされて表示されますが、Collider のサイズは変わりません しかし、Collider の Auto Tiling をオンにすると 引き伸ばされたスプライトに合わせ…

【Unity】Mathf.SmoothDamp で Time.timeScale を無視する方法

概要 var result = Mathf.SmoothDamp ( current: current, target: target, currentVelocity: ref currentVelocity, smoothTime: smoothTime, maxSpeed: maxSpeed, deltaTime: Time.unscaledDeltaTime // ★ ); Mathf.SmoothDamp の第6引数に Time.unscaledDe…

【Unity】TextMesh Pro でハイパーリンクが正常に動作しない場合

概要 Canvas の Render Mode が Screen Space - Overlay の場合は var index = TMP_TextUtilities.FindIntersectingLink( text, position, null ); TMP_TextUtilities.FindIntersectingLink の第3引数に null を設定します Canvas の Render Mode が Screen …

【Unity】【Odin Inspector】interface を Inspector でアタッチできるようにする方法

はじめに Odin Inspector を Unity プロジェクトに導入することで interface を Inspector でアタッチできるようになります 概要 public interface ICharacter { void Log(); } 例えば ICharacter インターフェイスを定義して、 using UnityEngine; public c…