コガネブログ

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

【Unity】Tilemap のすべてのタイルを上下左右にずらすボタンを Scene ビューに表示するエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Tilemap のすべてのタイルを上下左右にずらす EditorWindow のエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Tilemap のすべてのタイルをカーソルキーで上下左右にずらすことができるエディタ拡張

ソースコード using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEngine.Tilemaps; [InitializeOnLoad] internal static class TilemapShifter { private class TileInfo { public readonly Vector3Int m_position; publ…

【Unity】Tilemap からすべてのタイルの情報を参照するサンプル

ソースコード var tilemap = GameObject.FindObjectOfType<Tilemap>(); var bound = tilemap.cellBounds; for ( int y = bound.max.y - 1; y >= bound.min.y; --y ) { for ( int x = bound.min.x; x < bound.max.x; ++x ) { var pos = new Vector3Int( x, y, 0 ); // </tilemap>…

【Unity】Tilemap の Inspector に Refresh All Tiles を実行するボタンを追加するエディタ拡張

概要 using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.Tilemaps; [CustomEditor(typeof(Tilemap))] public sealed class TilemapEditor : Editor { public override void OnInspectorGUI() { base.OnInspector…

【Unity】Particle System の再生が終了した時にイベントを実行する方法

概要 Particle System の Stop Action を「Callback」にして using UnityEngine; public class Example : MonoBehaviour { public void OnParticleSystemStopped() { print( "ピカチュウ" ); } } OnParticleSystemStopped 関数を定義したスクリプトを Partic…

【Unity】Particle System の再生が終了した時に削除する方法

概要 Particle System の Stop Action を「Destroy」にすることで Particle System の再生が終了した時に自動で削除されるようになります

【Unity】OnParticleSystemStopped が呼び出されない場合

概要 OnParticleSystemStopped 関数が呼び出されない場合は using UnityEngine; public class Example : MonoBehaviour { private void OnParticleSystemStopped() { print( "ピカチュウ" ); } } OnParticleSystemStopped 関数が private になっている可能性…

【Unity】UnityException: Can not sign the application, Unable to sign the application; please provide passwords!

概要 UnityException: Can not sign the application Unable to sign the application; please provide passwords! Android ビルド時に上記のエラーが発生する場合、 Player Settings で keystore のパスワードを入力してからビルドする必要があります

【Unity】雷のようなシェーダを使用できる「Unity-Shaders」紹介

はじめに 「Unity-Shaders」を Unity プロジェクトに導入することで 雷のようなシェーダを使用できるようになります 使用例 使い方 マテリアルの Shader を「Custom/Lightning」に変更して各テクスチャを設定して、 このマテリアルをスプライトに割り当てる…

【Unity】uGUI のテキストで文字が流れる演出を実装できる「UGUI_Extensions」紹介

はじめに 「UGUI_Extensions」を Unity プロジェクトに導入することで uGUI のテキストで文字が流れる演出を実装できるようになります 使用例 使い方 Text の代わりに「MarqueeText」を使用します

【Unity】Hierarchy にコンポーネントのアイコンを表示できる「Hierarchy Icons」紹介

はじめに 「Hierarchy Icons」を Unity プロジェクトに導入することで Hierarchy にコンポーネントのアイコンを表示できるようになります 使用例 使い方 「Hierarchy Icons」を Unity プロジェクトの 「Editor」フォルダに追加するだけで使用できます Prefer…

【Unity】影の影響を受けるスプライトアニメーションを実装できる「Flipbook Surface Shader for Unity」紹介

はじめに 「Flipbook Surface Shader for Unity」を Unity プロジェクトに導入することで 影の影響を受けるスプライトアニメーションを実装できるようになります 使用例 使い方 マテリアルの Shader を「Custom/SurfaceSpriteSheet」に変更することで使用で…

【Unity】スクリプトから Game ビューの解像度の編集ができる「GameViewSizeHelper」紹介

はじめに 「GameViewSizeHelper」を Unity プロジェクトに導入することで スクリプトから Game ビューの解像度の編集ができるようになります 使い方 var groupType = GameViewSizeGroupType.Standalone; var size = new GameViewSizeHelper.GameViewSize { t…

【Unity】Hierarchy や Project ビューのすべての開いている階層を閉じることができるエディタ拡張「EditorCollapseAll.cs」紹介

ソースコード 使い方 Hierarchy を右クリックして「Collapse All」を押したり Project ビューを右クリックして「Collapse Folders」を押すことで使用できます