コガネブログ

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

2022-08-29から1日間の記事一覧

【Excel】セルにデータを入力すると勝手に色がつく時の対処方法

概要 条件付き書式が設定されていないはずのセルにデータを入力した時に 勝手に上のセルの書式が適用されてしまう場合は 「ファイル」を選択して 「オプション」を選択して 「詳細設定」の「データ範囲の形式および数式を拡張する」をオフにして 「OK」を押…

【Unity】EditorWindow で UIElements を構築するスクリプトを書く場合は CreateGUI 関数を使用する

概要 CreateGUI is called when the EditorWindow's rootVisualElement is ready to be populated. CreateGUI 関数は EditorWindow の rootVisualElement が 操作できるようになるタイミングで呼び出される using UnityEditor; using UnityEngine.UIElements…

【Unity】Quad の OnPointerClick が反応しない場合

概要 using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerClickHandler { public void OnPointerClick( PointerEventData eventData ) { Debug.Log( "OnPointerClick" ); } } 上記のようなスクリプトを Qua…

【Git】すべてのサブモジュールで Stage All する方法

概要 git submodule foreach git add --all 上記のコマンドを実行する 参考サイト様

【Rider】後置テンプレートをカスタマイズできる「Custom Postfix Templates」は Rider 非対応

概要 後置テンプレートをカスタマイズできる「Custom Postfix Templates」は Rider 非対応

【Unity】CircleCollider2D で点と円の当たり判定

概要 var isHit = m_circleCollider2D.bounds.Contains( position ); CircleCollider2D の bounds.Contains を使うと点と円の当たり判定が実装できる

【Unity】OnPointerEnter でクリック(タップ)されているかどうか確認する方法

概要 void IPointerEnterHandler.OnPointerEnter( PointerEventData eventData ) { Debug.Log( eventData.eligibleForClick ) } eventData.eligibleForClick が true ならクリック(タップ)されている

【Unity】Device Simulator だと OnPointerEnter が反応しない

概要 シーンのカメラに Physics 2D Raycaster をアタッチして シーンに Event System を配置して スプライトに OnPointerEnter 検知用のスクリプトと Circle Collider 2D をアタッチして using UnityEngine; using UnityEngine.EventSystems; public class E…

【Unity】Texture の塗りつぶし(SetPixel)を高速化する方法

概要 for ( var x = 0; x < m_size.x; x++ ) { for ( var y = 0; y < m_size.y; y++ ) { m_texture.SetPixel( x, y, Color.clear ); } } m_texture.Apply(); 上記のコードだと 0.5 秒かかるところが var pixels = m_texture.GetPixels32(); for ( var i = 0;…

【Unity】UIElements で VisualElement の背面に存在する UI をクリックできるようにする

概要 var toolbar = new VisualElement { pickingMode = PickingMode.Ignore, }; pickingMode に PickingMode.Ignore を設定すると その VisualElement はクリックできないようになるため VisualElement の背面に存在する UI がクリックできるようになる

【Unity】UIElements で要素を右から左に配置したい場合

概要 using UnityEditor; using UnityEngine.UIElements; public sealed class Test : EditorWindow { [MenuItem( "Tools/Hoge" )] public static void Open() { GetWindow<Test>(); } public void CreateGUI() { var toolbar = new VisualElement(); toolbar.Add(</test>…

【Unity】UIElements で Console ウィンドウにボタンを追加するエディタ拡張のサンプル

ソースコード using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.UIElements; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.delayCall += () => { var assembly = typeof( EditorWin…

【Shell】ワイルドカードを使用して各フォルダ内の該当ファイルを再帰的に削除する方法

概要 find . -type f -name "*hoge" -delete 上記のようなコマンドを実行すると *hoge にマッチするファイルが削除できる 参考サイト様

【Unity】DOTween の Transform 系の拡張メソッドを GameObject 型でも使えるようにする拡張メソッド

ソースコード using DG.Tweening; using DG.Tweening.Core; using DG.Tweening.Plugins.Options; using UnityEngine; namespace Kogane { public static class DOTweenTransformShortcutExtensionMethods { public static TweenerCore<Vector3, Vector3, VectorOptions> DOMove ( this GameObj</vector3,>…