2019-01-01から1年間の記事一覧
はじめに using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.hierarchyWindowItemOnGUI -= OnGUI; // ★ EditorApplication.hierarchyWindowItemOnGUI += OnGUI; } private sta…
はじめに Windows Defender might be impacting your build performance. JetBrains Rider checked the following directories. Rider を起動するとウィンドウ右下に上記の警告が表示されることがあります これは、Windows Defender はパソコンを保護するた…
はじめに JetBrains Rider は上記ページの手順で日本語化できます この記事では、Rider の日本語化を解除する方法を紹介していきます 手順 Rider メニューの「ヘルプ > カスタム VM オプションの編集...」を選択します すると、コード編集画面が表示されるの…
はじめに 「ReSharper Command Line Tools」を使用することで コマンドラインから ReSharper による静的解析を実行できるようになります この記事では、Jenkins から「ReSharper Command Line Tools」を呼び出して 静的解析を行う方法を紹介していきます 目…
はじめに この記事は「Unity #3 Advent Calendar 2019」の 12/5 の記事です private void OnGUI() { EditorGUILayout.BeginHorizontal(); if ( GUILayout.Button( "ピカチュウ" ) ) { } if ( GUILayout.RepeatButton( "ライチュウ" ) ) { } EditorGUILayout.…
はじめに 上記サイト様が、リストから組み合わせを取得できる関数を公開されております こちらを少し修正して、配列やリストから重複組合せを取得できる拡張メソッドを作りました ソースコード using System.Collections.Generic; using System.Linq; public…
はじめに 上記サイト様が、リストから組み合わせを取得できる関数を公開されております こちらを少し修正して、配列やリストから組合せを取得できる拡張メソッドを作りました ソースコード using System.Collections.Generic; using System.Linq; public sta…
はじめに この記事では Windows において JetBrains Rider を日本語化する方法を紹介していきます (Mac や Linux でも同様の手順で日本語化できると思いますが未確認です) 検証環境 Windows 10 JetBrains Rider 2019.2.3 手順 Rider を起動している場合は…
はじめに 「Find References In Project 2」を Unity プロジェクトに導入することで mdfind や ripgrep を使用して高速にアセットの依存関係を検索できるようになります この記事では Windows 10 における使用方法を紹介していきます 使い方 https://github.…
はじめに この記事は「Unityアセット冬のアドベントカレンダー 2019 Winter」の 12/2 の記事です 「Universal Device Preview」を Unity プロジェクトに導入することで 50種類以上のデバイスでゲーム画面がどう表示されるかエディタ上で確認できて、 ノッチ…
概要 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { Editor.finishedDefaultHeaderGUI += editor => { EditorGUILayout.LabelField( "フシギダネ フシギソウ フシギバナ" ); }; } } Editor.finishedDefaultHeade…
ソースコード using System; using System.Reflection; public static class ParameterInfoExt { public static bool HasParams( this ParameterInfo param ) { var type = typeof( ParamArrayAttribute ); return param.GetCustomAttributes( type, false )…
ソースコード using System; public static class TypeExt { public static string GetAliasName( this Type self ) { switch ( self.FullName ) { case "System.Boolean": return "bool"; case "System.Byte": return "byte"; case "System.SByte": return …
概要 https://answers.microsoft.com/ja-jp/windows/forum/windows_10-update/windows-10-%E3%82%BB%E3%83%BC%E3%83%95/ccc47051-93ad-4cd2-9dcf-3af4c8fee43b Windows 10 をセーフモードで起動してから 特に何もせずにセーフモードを終了してから 再び通常…
概要 using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var children = new List<Transform>(); foreach ( Transform child in transform ) { children.Add( child ); } } } 上記のようなスクリプ</transform>…
はじめに 「NuGet Package Explorer」を使用することで Visual Studio を使用せずに NuGet パッケージを入手・展開することができます NuGet Package Explorer の入手方法 https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/releases 上記のペ…
ソースコード 使い方 親オブジェクトの座標が ( 0, 0, 0 ) 以外になってしまっており 子オブジェクトの座標は今のまま変えずに 親オブジェクトのみ座標を ( 0, 0, 0 ) にしたい場合に 親オブジェクトの Transform を右クリックして 「Reset Position Only Pa…
はじめに 「A Geometry Grass shader in Unity」を Unity プロジェクトに導入することで 草を生やすことができます 使用例 使い方 シーンに Plane オブジェクトを作成して 「Unlit_GrassShader」マテリアルを割り当てることで使用できます
はじめに Before After ブログのカテゴリの種類が増えてきて、縦にすごく長くなってしまっていたので カテゴリを階層化して見やすくしました この記事にはカテゴリを階層化した手順を書き残しておきます 手順 基本的には上記サイト様の手順を踏んでおります…
概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var vec = new Vector3( 1.234f, 5.678f, 9.012f ); // (1.2, 5.7, 9.0) Debug.Log( vec.ToString() ); // (1.2340, 5.6780, 9.0120) Debug.Log( vec.ToString( "F4…
ソースコード using System; using System.Collections.Generic; public static class ListExt { public static bool TryFind<T>( this List<T> self, Predicate<T> match, out T result ) where T : class { result = self.Find( match ); return result != null; } </t></t></t>…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponentInParent<T>( this Component self, out T component ) where T : Component { component = self.GetComponentInParent<T>(); return component != null; </t></t>…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponentInChildren<T>( this Component self, out T component ) where T : Component { component = self.GetComponentInChildren<T>(); return component != nu</t></t>…
ソースコード using UnityEngine; public static class ComponentExt { public static bool TryGetComponent<T>( this Component self, out T component ) where T : Component { component = self.GetComponent<T>(); return component != null; } } public stati</t></t>…
概要 var collider = GetComponent<BoxCollider>(); if ( collider != null ) { Debug.Log( collider ); } GetComponent だとこのように記述する処理を if ( TryGetComponent<BoxCollider>( out var collider ) ) { Debug.Log( collider ); } TryGetComponent を使うとちょっとだけ簡潔</boxcollider></boxcollider>…
概要 Shortcut Manager でキー割り当てが変更された時に using UnityEditor; using UnityEditor.ShortcutManagement; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { ShortcutManager.instance.shortcutBindingCh…
はじめに 「UniColliderInterpolator」を Unity プロジェクトに導入することで non convex な Mesh Collider を綺麗に補間できます 使用例 通常 Mesh Collider の「Convex」をオンにすると このように凹凸の部分に正しく Mesh Collider が適用されません Uni…
概要 Shortcut Manager のアクティブなプロファイルが変更された時に using UnityEditor; using UnityEditor.ShortcutManagement; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { ShortcutManager.instance.activ…
ソースコード using UnityEditor; using UnityEditor.SceneManagement; [InitializeOnLoad] public static class Example { static Example() { // Build Settings に登録されている // シーンの一覧が変更されたら呼び出される EditorBuildSettings.sceneLi…
概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { SceneVisibilityManager.visibilityChanged += () => Debug.Log( "ピカチュウ" ); SceneVisibilityManager.pickingChanged += () => Debu…