2019-10-01から1ヶ月間の記事一覧
概要 例えば Collider がアタッチされたスプライトを Sliced にして横に引き伸ばした場合、 スプライトは引き伸ばされて表示されますが、Collider のサイズは変わりません しかし、Collider の Auto Tiling をオンにすると 引き伸ばされたスプライトに合わせ…
概要 var result = Mathf.SmoothDamp ( current: current, target: target, currentVelocity: ref currentVelocity, smoothTime: smoothTime, maxSpeed: maxSpeed, deltaTime: Time.unscaledDeltaTime // ★ ); Mathf.SmoothDamp の第6引数に Time.unscaledDe…
概要 Canvas の Render Mode が Screen Space - Overlay の場合は var index = TMP_TextUtilities.FindIntersectingLink( text, position, null ); TMP_TextUtilities.FindIntersectingLink の第3引数に null を設定します Canvas の Render Mode が Screen …
はじめに Odin Inspector を Unity プロジェクトに導入することで interface を Inspector でアタッチできるようになります 概要 public interface ICharacter { void Log(); } 例えば ICharacter インターフェイスを定義して、 using UnityEngine; public c…
ソースコード using UnityEngine; public static class CameraUtils { /// <summary> /// ワールド座標を Screen Space - Camera の Canvas 内のローカル座標に変換します /// </summary> /// <param name="worldCamera">ワールド座標を描画するカメラ</param> /// <param name="canvasCamera">Canvas を描画するカメラ</param> /// <param name="canvasRectTransform">Canvas …</param>
ソースコード using UnityEngine; public static class CameraUtils { /// <summary> /// ワールド座標を Screen Space - Overlay の Canvas 内のワールド座標に変換します /// </summary> /// <param name="worldCamera">ワールド座標を描画するカメラ</param> /// <param name="worldPosition">変換前のワールド座標</param> /// <returns>変換後のワールド座標</returns>…
概要 Script 'XXXX' will not be compiled because it exists outside the Assets folder and does not to belong to any assembly definition file. Packages に存在するスクリプトが Assembly Definition File に属していない場合 上記の警告が出力されま…
ソースコード using System; using System.Reflection; using UnityEditor; public static class ConsoleWindowUtils { public enum ConsoleFlags { Collapse = 1 << 0, ClearOnPlay = 1 << 1, ErrorPause = 1 << 2, Verbose = 1 << 3, StopForAssert = 1 <<…
概要 using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { // 選択中のパレットを取得する Debug.Log( GridPaintingState.palette ); // 選択中のパ…
概要 using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; // Tile Palette で使用できるすべてのブラシを管理するクラス public static class GridPaletteBrush…
概要 using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { // Active Tilemap が変更された時に呼び出される GridPaintingState.scenePaintTargetChanged += OnChange…
概要 using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { private void Update() { int num1 = 1; int num2 = 2; // ToString あり var sampler1 = CustomSampler.Create( "ToString あり" ); sampler1.Begin(); var …
概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { EditorUtility.RevealInFinder( "Assets" ); } } 例えば EditorUtility.RevealInFinder で Assets フォルダを開こうとすると Assets フォ…
概要 Visual Studio メニューの「RESHARPER > Options」から 「Code Editing > C# > Formatting Style > Tabs, Indents, Alignment」を選択して 「Chained method calls」を オンにするとこうなります オフにするとこのようになります
ソースコード using System; using System.Reflection; using UnityEditor; using UnityEditorInternal; using UnityEngine.Tilemaps; public static class GridPaintPaletteWindowUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static |…
概要 using UnityEditor; using UnityEditorInternal; using UnityEngine; public static class Example { [MenuItem("Tools/Hoge")] private static void Hoge() { Debug.Log( EditMode.editMode ); } } EditMode.editMode で現在のエディタの編集モードを…
概要 using UnityEditor; using UnityEditorInternal; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditMode.onEditModeStartDelegate += OnEditModeStartDelegate; EditMode.onEditModeEndDelegate += OnEdit…
ソースコード using System; using System.Reflection; using UnityEditor; public static class GridPaintPaletteWindowUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic; privat…
概要 Tilemap の Tile Palette は内部的には GridPaintPaletteWindow という EditorWindow で構成されています Unity エディタを開発者モードにすることで確認できます 関連記事
ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaintingStateUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindin…
ソースコード using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEngine; public static class GridPaletteBrushesUtils { private const BindingFlags BINDING_ATTR = BindingFlags.Static | Bindi…
ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…
ソースコード using System; using System.Reflection; using UnityEditor; using UnityEngine; public static class EditorApplicationUtility { private const BindingFlags BINDING_ATTR = BindingFlags.Static | BindingFlags.Public; private static re…
概要 Tilemap が複製された時は Tile Palette の Active Tilemap は変化しないですが using System.Reflection; using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.hierarchyChanged += OnChanged…
概要 using System.Reflection; using UnityEditor; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var assembly = typeof( AssetDatabase ).Assembly; var type = assembly.GetType( "UnityEditor.GridPaintingState" )…