コガネブログ

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

【Unity】Unity 2019.3 には高速にプレイモードを開始する実験機能が存在する

はじめに 上記の公式の記事によると、ドメインのリロードをスキップすることで 高速でプレイモードに入れるようになる実験的な機能が Unity 2019.3 には存在するとのことなので、触ってみました 概要 デフォルトでは、プレイモードに入るまでにこのくらい時…

【Unity】Unity 2019.1 や 2019.2 から RuntimeInitializeOnLoadMethod の引数に渡せる列挙型の種類が増えていた

はじめに using UnityEngine; public class Example : MonoBehaviour { [RuntimeInitializeOnLoadMethod( RuntimeInitializeLoadType.BeforeSceneLoad )] private static void Init() { Debug.Log( "ピカチュウ" ); } } ゲーム開始時に関数を呼び出してくれ…

【Unity】Unity 2020.1.0a7 新機能 - FindObjectOfType で非アクティブなオブジェクトを検索できるようになった

概要 using UnityEngine; public class Example : MonoBehaviour { private void Start() { // 非アクティブなオブジェクトは検索しない var result1 = FindObjectOfType<BoxCollider>(); // 非アクティブなオブジェクトも検索する var result2 = FindObjectOfType<BoxCollider>( true </boxcollider></boxcollider>…

【Unity】Unity 2019.2 以降なら Tilemap の Tile Palette で選択されているパレットをスクリプトから取得・設定できる

概要 using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { // 選択中のパレットを取得する Debug.Log( GridPaintingState.palette ); // 選択中のパ…

【Unity】Unity 2019.2 以降なら Tilemap の Tile Palette で選択されているブラシをスクリプトから取得・設定できる

概要 using System; using System.Collections.Generic; using System.Reflection; using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; // Tile Palette で使用できるすべてのブラシを管理するクラス public static class GridPaletteBrush…

【Unity】Unity 2019.2 以降なら Tilemap の Tile Palette の Active Tilemap をスクリプトから取得・設定できる

概要 using UnityEditor; using UnityEditor.Tilemaps; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { // Active Tilemap が変更された時に呼び出される GridPaintingState.scenePaintTargetChanged += OnChange…

【Unity】11種類以上のモバイルデバイスでゲーム画面がどのように表示されるかエディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようになった

はじめに https://docs.unity3d.com/Packages/com.unity.device-simulator@1.0/manual/ 11種類以上のモバイルデバイスでゲーム画面がどのように表示されるか エディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようにな…

【おすすめスライド】「【Unity道場】ゲーム制作に使う数学を学習しよう」

スライド

【おすすめスライド】「Unity2019 注目機能まとめ」

スライド

【Unity】Unity 2019.3b 新機能 - Git からパッケージを追加する

概要 Unity メニューの「Window > Package Manager」から パッケージマネージャを開いて「+ > Add package from git URL...」を押して Git の URL(.git で終わる文字列)を入力すると Git からパッケージを追加できます

【Unity】Unity 2019.2 新機能 - テンプレートからスクリプトを作成できる「ProjectWindowUtil.CreateScriptAssetFromTemplateFile」

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { ProjectWindowUtil.CreateScriptAssetFromTemplateFile ( "Assets/template.cs.txt", "Assets/NewScript.cs" ); } } ProjectWindowUtil.Cr…

【Unity】Unity 2019.2 新機能 - Android において画面の輝度を取得できる「Screen.brightness」

概要 using UnityEngine; using UnityEngine.UI; public class Example : MonoBehaviour { public Text m_text; private void Update() { m_text.text = Screen.brightness.ToString(); } } Screen.brightness を使用すると Android において画面の輝度を取…

【Unity】Unity 2019.2 新機能 - Inspector における列挙型の要素の表示名を変更できる「InspectorNameAttribute」

概要 using UnityEngine; public enum JobType { [InspectorName( "王国兵士" )] SOLDIER, [InspectorName( "魔法使い" )] SORCERER, [InspectorName( "狩人" )] HUNTER, } public class NewBehaviourScript : MonoBehaviour { public JobType m_jobType; }

【Unity】Unity 2019.2 新機能 - Missing なスクリプトを削除できる「GameObjectUtility.RemoveMonoBehavioursWithMissingScript」

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var go = Selection.activeGameObject; var count = GameObjectUtility.RemoveMonoBehavioursWithMissingScript( go )…

【Unity】Unity 2019.2 新機能 - Missing なスクリプトの数を取得できる「GameObjectUtility.GetMonoBehavioursWithMissingScriptCount」

概要 using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var go = Selection.activeGameObject; var count = GameObjectUtility.GetMonoBehavioursWithMissingScriptCount( go…

【Unity】Unity 2019.2.0 新機能 - UIElements の実装サンプルがエディタ上から閲覧できるようになった

概要 Unity メニューの「Window > UI > UIElements Samples」を選択すると UIElements の実装サンプルを閲覧できます コードをコピーすることも可能です

【Unity】Unity 2019.2.0 新機能 - uGUI のオブジェクトを作成した時にデフォルトプリセットが適用されるようになった

概要 例えば Raycast Target をオフにした Image のプリセットを デフォルトに登録している状態で Hierarchy の Create メニューから Image を作成すると デフォルトプリセットが適用されてRaycast Target がオフになります

【Unity】日本語がサポートされた Unity Hub v2.0 のベータ版をインストールする

概要 https://forum.unity.com/threads/unity-hub-v2-0-beta-is-now-available-for-download.650455/ 上記のページから、日本語がサポートされた Unity Hub v2.0 のベータ版をインストールできます

【Unity】ゲームオブジェクトを複製した時にスケール値に誤差が発生する現象が Unity 2018.3.3 で直った?

概要 Editor: Fix issue where duplicating GameObjects could slightly alter the Transform values (typically scale) due to floating point precision issues caused by temporarily reparenting as part of the duplication code. (912111) ゲームオブ…

【Unity】Unity 2019.2.0a6 新機能 シーン遷移にかかった時間の内訳を Editor.log で閲覧できるようになった

概要 Console ウィンドウを右クリックして 「Open Editor Log」を選択した時に表示される Editor.log で LightmapEditorSettings: switching bake backend from 1 to 0. Unloading 26 Unused Serialized files (Serialized files now loaded: 0) UnloadTime:…

【Unity】Unity 2018.1 新機能 iOS / Android で「GUIUtility.systemCopyBuffer」を使用すると文字列をクリップボードにコピーできる

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { GUIUtility.systemCopyBuffer = "ピカチュウ"; } } Unity 2018.1 から GUIUtility.systemCopyBuffer を使用すると iOS でも Android でもクリップボードに文字列を…

【Unity】Unity 2018.3 新機能「Application.consoleLogPath」コンソールログの出力先のパスを取得できる

概要 using UnityEngine; public class Test : MonoBehaviour { private void Awake() {; Debug.Log( Application.consoleLogPath ); } } コンソールログの出力先のパスを取得できる「Application.consoleLogPath」が (おそらく)Unity 2018.3 から追加され…

【Unity】Unity 2018.3 新機能 uGUI の Image で不透明部分のみを描画できるようになった

概要 uGUI の Image の Inspector に「Use Sprite Mesh」という項目が追加されました この項目をオンにすると不透明部分のみを描画できるようになります 使用例 Use Sprite Mesh オフ 透明部分も描画されています Use Sprite Mesh オン 不透明部分のみが描画…

【Unity】Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになった(現在はプレビュー版)

はじめに https://docs.unity3d.com/Packages/com.unity.mobile.android-logcat@0.1/manual/ Unity 上で Android の logcat が実行できるパッケージが Package Manager からインストールできるようになっていました 2018/12/25 現在はプレビュー版となってお…

【Unity】Unity 2019.1a 新機能 自作したエディタ拡張をエディタのツールバーから呼び出せるようになった

概要 Unity 2019.1a から自作したエディタ拡張を エディタのこの部分から呼び出せるようになりました 例えばこのような EditorTool 属性やクラスを使用したスクリプトを Unity プロジェクトの「Editor」フォルダに追加すると ボタンを押した時に表示されるメ…

【Unity】Unity 2018.3 から自動実装プロパティに SerializeField 属性を付与して Inspector に表示できるようになった

概要 公式で意図されたものかどうかはわからないですが using UnityEngine; public class Example : MonoBehaviour { [field: SerializeField] public int Health { get; private set; } } このように自動実装プロパティに SerializeField 属性を付与すると …

【Unity】iOS / Android でプッシュ通知を実装できるパッケージが Package Manager からインストールできるようになった(現在はプレビュー版)

はじめに https://docs.unity3d.com/Packages/com.unity.mobile.notifications@1.0/manual/ iOS / Android でプッシュ通知を実装できるパッケージが Package Manager からインストールできるようになっていました 2018/12/18 現在はプレビュー版となっており…

【Unity】Unity 2018.3 で Project Settings ウィンドウに独自のメニューを追加する方法

はじめに Unity メニューの「Edit>Project Settings...」から表示できる Project Settings ウィンドウには独自のメニューを追加できます 追加方法 上記のような SettingsProvider を継承したクラスを定義して さらに SettingsProvider 属性を適用した static…

【Unity】エディタ上でコンパイル無しでコードを実行できる拡張機能のパッケージが Package Manager からインストールできるようになった(現在はプレビュー版)

はじめに https://docs.unity3d.com/Packages/com.unity.immediate-window@0.1/manual/ エディタ上でコンパイル無しでコードを実行できる拡張機能のパッケージが Package Manager からインストールできるようになっていました 2018/12/17 現在はプレビュー版…

【Unity】公式ドキュメントで公開されている Unity 2018.3 へのアップグレードガイド

概要 https://docs.unity3d.com/Manual/UpgradeGuide20183.html 上記の公式ドキュメントで Unity 2018.3 へのアップグレードガイドが公開されています