2020-10-01から1ヶ月間の記事一覧
はじめに 「UniLocalNotification」を Uniy プロジェクトに導入することで iOS / Android でローカル通知を実装できるようになります 検証環境 Unity 2019.3.10f1 iOS 13.3.1 Android 8.0.0 使用例 iOS Android 使い方 UniLocalNotification.Initialize(); …
リポジトリ 使用例 using UniRandomUtils; using UnityEngine; public sealed class Example : MonoBehaviour { private void Start() { // 半径 1 の円の内部のランダムな点 Debug.Log( RandomUtils.InsideUnitCircle ); // 半径 1 の球体の内部のランダム…
リポジトリ 使用例 using UnityEngine; public class Test : MonoBehaviour { public AnimationCurve m_animationCurve1; public AnimationCurve m_animationCurve2; }
リポジトリ 使用例 using JetBrains.Annotations; using UnityEngine; public class Test : MonoBehaviour { [NotNull] public GameObject m_gameObject; [NotNull] public Transform m_transform; } 設定 Preferences から設定を変更できます 項目 内容 Ena…
リポジトリ 使用例 設定 Preferences から設定を変更できます 項目 内容 Enabled 有効かどうか(デフォルトは OFF) Log Format エラーログのフォーマット
リポジトリ 使用例 using UniSoftwareKeyboardArea; using UnityEngine; using UnityEngine.UI; public class Test : MonoBehaviour { public CanvasScaler m_canvasScaler; public RectTransform m_rectTransform; private void Update() { var rate = m_ca…
リポジトリ 使い方 Border を設定したいスプライトを右クリックして「UniSpriteBorderSetupper > 選択中のスプライトの Border を自動で設定」を選択すると 指定したスプライトの Border が自動で設定されます 複数のスプライトを選択してコマンドを実行する…
リポジトリ 使用例 using UnityEngine; public class Example : CacheableMonoBehaviour { private void Start() { var vec = Vector3.zero; var x = 0f; var y = 0f; var z = 0f; // transform.position を操作 vec = position; x = position.x; y = positi…
リポジトリ 使用例 using UniDebugLogger; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { IDebugLogger logger; logger = DefaultDebugLogger.Instance; logger.Log( "Log" ); logger.Log( "Log", gameObject ); logge…
リポジトリ 使い方 Unity メニューの「Window > UniEditorPrefsWindow」を押すと EditorPrefs が保存しているすべてのキーと値を閲覧できます
リポジトリ 使い方 Unity メニューの「Window > UniPlayModeStartSceneSettingWindow」を選択して 表示されたウィンドウの「Start Scene」にシーンファイルを設定すると Unity 再生時に必ずそのシーンから開始するようになります 「Set Current Scene」ボタ…
はじめに Unity では Debug.Log する時にスタックトレースの情報も出力するかどうか設定できる エディタの Project Settings > Player > Other Settings から設定可能 エディタ拡張のスクリプトから PlayerSettings.SetStackTraceLogType で設定可能 ランタ…
ソースコード 使用例 特定の種類のログだけスタックトレースの ON / OFF を切り替え using Kogane; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { // 通常のログはスタックトレースなし using ( new SetStackTraceLogT…
概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { // スタックトレースあり Application.SetStackTraceLogType( LogType.Log, StackTraceLogType.ScriptOnly ); // スタックトレースなし Application.SetStackTraceL…
はじめに 「Unity3D Immutable Collections」を Unity プロジェクトに導入することで Unity で Immutable Collections を使用できるようになります 使用例 using Izzo.Collections.Immutable; using UnityEngine; public sealed class Example : MonoBehavio…
概要 using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; public static class Example { // すべてのゲームオブジェクトを Scene ビューで非表示にします [MenuItem( "SceneVisibilityManager/HideAll" )] private static void Hid…
概要 using UnityEngine; using UnityEngine.Animations; public sealed class Example : MonoBehaviour { public int m_param1; [NotKeyable] public int m_param2; public int m_param3; } NotKeyableAttribute をスクリプトのパラメータに適用すると Anim…
概要 using UnityEngine; [SharedBetweenAnimators] public sealed class Example : StateMachineBehaviour { private int m_counter; // static ではない public override void OnStateEnter ( Animator animator, AnimatorStateInfo stateInfo, int layerI…
概要 using UnityEditor; using UnityEditorInternal; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var invalidPath = @"\ピ/カ:チ*ュ?ウ"".<t>x|t"; var path = InternalEditorUtility.RemoveInvalid</t>…
概要 using UnityEditor; using UnityEditorInternal; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { InternalEditorUtility.OpenPlayerConsole(); } }
概要 using UnityEditor; using UnityEditorInternal; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { InternalEditorUtility.OpenEditorConsole(); } }
概要 using UnityEditor; using UnityEditorInternal; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { InternalEditorUtility.OpenFileAtLineExternal ( filename: "Assets/XXXX.cs", line: 0, // 行番号 column: 0 // 列…
概要 using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Debug.Log( UnityEditorInternal.InternalEditorUtility.isApplicationActive ); } }
概要 using UnityEditor.ShortcutManagement; using UnityEngine; public static class Example { // F1 で呼び出されるようにする [ClutchShortcut( "Kogane/Hoge1", KeyCode.F1 )] private static void Hoge1() { Debug.Log( "ピカチュウ" ); } // Alt + F…
概要 using System.Reflection; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var rectTransform = ( RectTransform ) Selection.activeTransform; var type = typeof( R…
概要 using System.Linq; using UnityEditor; using UnityEngine; public class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var hasMissing = PlayerSettings .GetPreloadedAssets() .Any( x => x == null ) ; Debug.Log( hasMissi…
概要 問題を回避するためには StreamingAssets 内のファイルの名前を すべて小文字にする必要があるらしい Unity 2020.1 以降は Gradle 3.6 が使用されており、この問題が発生しない?
概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { EditorApplication.playModeStateChanged += OnChanged; } private static void OnChanged( PlayModeStateChange change ) { if ( !Progr…
概要 using UnityEditor.ShortcutManagement; using UnityEngine; public static class Example { // F1 で呼び出せるようにする [Shortcut( "Kogane/Hoge1", KeyCode.F1 )] private static void Hoge1() { Debug.Log( "ピカチュウ" ); } // Alt + F1 で呼び…
概要 using System.Linq; using UnityEditor; using UnityEditorInternal; using UnityEngine; public class Example : ScriptableObject { public int m_id = 25; public string m_name = "ピカチュウ"; [MenuItem( "Tools/Save" )] private static void Sa…