概要 Image の Use Sprite Mesh をオンにした状態で 赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して「保存」を押して Project ビュ…
概要 Canvas Scaler の UI Scale Mode や Reference Resolution を設定した状態で 赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して…
概要 Canvas Renderer の赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して ダイアログが表示されたらプリセットを保存するフォルダと ファイル名を設定して「保存」を押して Project ビューで作成されたプリセットを…
概要 例えば uGUI の Image の Raycast Target をデフォルトでオフにしたい場合は Image コンポーネントの赤枠のアイコンを押して Select Preset ウィンドウで「Save current to...」ボタンを押して New Preset ダイアログで保存するフォルダとファイル名を…
概要 using UnityEngine; public class Example : MonoBehaviour { private void Update() { Log( "ピカチュウ" ); } #if DISABLE_DEBUG_LOG [System.Diagnostics.Conditional( "DUMMY" )] #endif private void Log( string message ) { Debug.Log( message …
スクリプト 使用例 using UnityEngine; public class Example : MonoBehaviour { private readonly CustomLogger m_logger = CustomLogger.Create( "タイトル" ); private void Awake() { m_logger.Log( "Log" ); m_logger.Log( "Log", gameObject ); m_logg…
ソースコード 使用例 通常 using UnityEngine; using UnityEngine.Profiling; public class Example : MonoBehaviour { private void Update() { var sampler = CustomSampler.Create( "AAAAA" ); sampler.Begin(); // ... sampler.End(); } } CustomSampler…
リンク
ソースコード using UnityEngine; public sealed class Curve01Attribute : PropertyAttribute { } using UnityEditor; using UnityEngine; [CustomPropertyDrawer( typeof( Curve01Attribute ) )] public sealed class Curve01Drawer : PropertyDrawer { pu…
概要 using UnityEngine; using UnityEngine.EventSystems; public class Example : MonoBehaviour, IPointerClickHandler { public void OnPointerClick( PointerEventData eventData ) { if ( eventData.button == PointerEventData.InputButton.Right ) {…
概要 Unity のプロジェクトをアップデートした場合、 基本的にはすべてのアセットは古いバージョンの形式で保存されたままになります そして、アセットを変更して保存すると、 そのアセットのみが新しいバージョンの形式で保存されます そのため、Unity プロ…
概要 例えば上記のスクリプトを Unity プロジェクトの Editor フォルダに追加すると Assets/Folder1 Assets/Folder2 これらのフォルダ以下に存在するアセットは編集して保存できないようになります
概要 例えば上記のスクリプトを Unity プロジェクトの Editor フォルダに追加すると 「@Project」フォルダ内のアセットを「@Project」フォルダ外に移動したり、 「@Project」フォルダ外のアセットを「@Project」フォルダ内に移動したりできなくなります
検証用スクリプト using System.Collections.Generic; using System.Diagnostics; using System.Linq; using UnityEngine; using Debug = UnityEngine.Debug; public class Example : MonoBehaviour { private void Start() { var count = 10000; var value …
ソースコード using System; using System.Collections.Generic; using UnityEngine; [Serializable] public sealed class Example : ISerializationCallbackReceiver { [SerializeField] private int[] m_array = null; private HashSet<int> m_hashSet; public </int>…
概要 Awake OnEnable SceneManager.sceneLoaded Start
概要 ScriptableObject(.asset)は ProjectSettings フォルダ以下に保存・読み込みができないが、 下記のスクリプトのように JSON 形式に変換することで保存・読み込みができる 参考サイト様
概要 Particle System の Inspector で「+」ボタンを押して 「Show All Modules」をオフにすると 未使用のモジュールは非表示にできます この状態で使用するモジュールを追加したい場合は 「+」ボタンから追加したいモジュールを選択します 参考ツイート様 W…
概要 Unity メニューの「Edit > Preferences...」から 「General」の「Editor Font」を変更することで エディタのフォントを 2019.2 以前のものに変更できます 参考ツイート様 #unitytips #unity3d Over time, I'm still not used to using the new Unity 20…
概要 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>…
概要 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…
概要 Particle System の Stop Action を「Callback」にして using UnityEngine; public class Example : MonoBehaviour { public void OnParticleSystemStopped() { print( "ピカチュウ" ); } } OnParticleSystemStopped 関数を定義したスクリプトを Partic…
概要 Particle System の Stop Action を「Destroy」にすることで Particle System の再生が終了した時に自動で削除されるようになります
概要 OnParticleSystemStopped 関数が呼び出されない場合は using UnityEngine; public class Example : MonoBehaviour { private void OnParticleSystemStopped() { print( "ピカチュウ" ); } } OnParticleSystemStopped 関数が private になっている可能性…
概要 例えば Collider がアタッチされたスプライトを Sliced にして横に引き伸ばした場合、 スプライトは引き伸ばされて表示されますが、Collider のサイズは変わりません しかし、Collider の Auto Tiling をオンにすると 引き伸ばされたスプライトに合わせ…
概要 Scene ビューのカメラの描画範囲を非表示にしたい場合は Scene ビューの「Gizmos」から Camera のチェックマークをオフにすることで 非表示にできます
概要 通常 Shift を押しながらドラッグ 通常よりも値の変化が大きい Alt を押しながらドラッグ 通常よりも値の変化が小さい 参考ツイート You can multiply the Inspector's editing speed by pressing SHIFT (faster) or ALT (slower).>More tips here: htt…
概要 「Generate Mip Maps」がオンのテクスチャを選択した状態で Inspector でスライダーを操作すると、ミップマップテクスチャを確認できます
はじめに Unity ではミップマップテクスチャをカスタマイズすることができるので 普通はカメラからの距離が変わっても見た目は変わらないところも 例えば、3D キャラの装飾の色がカメラからの距離に応じて変わるようにしてみたり 2D 画像がカメラからの距離…
方法1 using UnityEditor; using UnityEngine; public sealed class Example : AssetPostprocessor { private void OnPostprocessTexture( Texture2D texture ) { var importer = AssetImporter.GetAtPath( assetPath ) as TextureImporter; importer.mipMap…