コガネブログ

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

【Unity】Unity 2020.2b 新機能 - デフォルトの親オブジェクトを指定できるようになった

概要 Hierarchy でゲームオブジェクトを選択した状態で 「右クリック > Set as Default Parent」を選択すると そのゲームオブジェクトが太字で表示されるようになり その状態でゲームオブジェクトを作成すると 指定したゲームオブジェクトが自動で親に設定さ…

【Unity】Unity 2020.2b 新機能 - Hierarchy で空の親オブジェクトを作成できるようになった

概要 Hierarchy でゲームオブジェクトを選択した状態で 「右クリック > Create Empty Parent」を選択すると 選択したゲームオブジェクトを子に持つ親オブジェクトを作成できます

【Unity】Unity 2020.2b 新機能 - プレハブがインポートされた時に呼び出される「AssetPostprocessor.OnPostprocessPrefab」

概要 using UnityEditor; using UnityEngine; public class Example : AssetPostprocessor { private void OnPostprocessPrefab( GameObject root ) { root.AddComponent<BoxCollider>(); } } プレハブがインポートされた時に呼び出される関数 「AssetPostprocessor.OnPos</boxcollider>…

【Unity】Unity 2020.2b 新機能 - デフォルトで配列やリストを Inspector で並べ替えられるようになった

概要 Unity 2020.2a では「Reorderable」属性を変数に適用すれば 配列やリストを Inspector で並べ替えられるようになりましたが、 Unity 2020.2b では「Reorderable」属性を適用しなくても デフォルト動作で並び替えができるようになりました using System.…

【Unity】Unity 2020.2a から C# 8.0 の機能がいくつか使用できるようになった

はじめに Unity 2020.2a から C# 8.0 の機能がいくつか使用できるようになりました マイクロソフトの公式ページで C# 8.0 の新機能が紹介されておりますが、 この新機能の中から、現時点で使用できることが確認できた機能と 使用できなかった機能をいくつか…

【Unity】Unity 2020.1 新機能 - 「Prefab Mode in Context」

概要 例えばシーンにこのようなオブジェクトが存在しており、 中央のテキストオブジェクトがプレハブの場合に プレハブのインスタンスの編集画面をそのまま開くと 現在のシーンが Scene ビューに表示された状態でプレハブを編集できるようになり、 Alt キー…

【Unity】Unity 2020.1 新機能 - Scene ビューのカメラ設定ウィンドウに独自の GUI を追加できるようになった

概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { SceneViewCameraWindow.additionalSettingsGui += OnGUI; } private static void OnGUI( SceneView sceneView ) { GUILayout.Label( "ピ…

【Unity】New Scene ダイアログを無効化する方法

概要 新しいシーンを作成する時に表示される New Scene ダイアログを無効化したい場合は Unity メニューの「Edit > Project Settings...」を選択して 表示された「Project Settings」ウィンドウで「Scene Template」を選択して 「New Scene Menu」を「Builtin…

【Unity】Unity 2020.1 新機能 - スクリプトから Preset を適用する時にパラメータの除外を指定できるようになった

ソースコード using UnityEditor.Presets; using UnityEngine; public static class PresetUtils { public static bool ApplyToWithExclusion ( Preset preset, Object target, params string[] excludedProperties ) { var current = preset.excludedProper…

【Unity】エディタ右下に非同期タスクの進捗を表示できる「Progress」を使いやすくするクラス

ソースコード 使用例 using Kogane; using System.Collections; using Unity.EditorCoroutines.Editor; using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Open" )] private static void Open() { Get…

【Unity】Unity 2020.1 新機能 - エディタ右下に非同期タスクの進捗を表示できる「Progress」クラスが追加された

概要 using System.Collections; using Unity.EditorCoroutines.Editor; using UnityEditor; using UnityEngine; public sealed class Example : EditorWindow { [MenuItem( "Tools/Open" )] private static void Open() { GetWindow<Example>(); } private void OnGU</example>…

【Unity】Unity 2020.2.0a18 新機能 - IL2CPP ビルドでスクリプトの変更がなければ高速にビルドされるようになった

概要 https://forum.unity.com/threads/0-change-rebuilds-in-il2cpp-now-available-in-unity-2020-2-0a18.937100/ Unity 2020.2.0a18 からスクリプトを変更していない状態で IL2CPP ビルドする場合、 高速にビルドされるようになった これでアセットの編集…

【Unity】Unity 2020.2a 新機能 - 配列やリストを Inspector で並べ替えられるようにする「Reorderable」属性

概要 using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { [Reorderable] public string[] m_names; [Reorderable] public Vector3[] m_positions; [Reorderable] public List<Color> m_colors; } 参考サイト様</color>

【Unity】Unity 2020.1 新機能 - RectMask2D でソフトマスクが使用できるようになった

概要

【Unity】Unity 2020.1 新機能 - Console ウィンドウのログが複数選択可能 + コピーできる

概要 ピカチュウ UnityEngine.Debug:Log (object) Example:Awake () (at Assets/Example.cs:9) ピカチュウ UnityEngine.Debug:Log (object) Example:Awake () (at Assets/Example.cs:9) ピカチュウ UnityEngine.Debug:Log (object) Example:Awake () (at Ass…

【Unity】Unity 2020.1 新機能 - Inspector で Vector、Color、UnityEngine.Object、Gradient、AnimationCurve などがコピペできるようになった

概要 using UnityEngine; public class Example : MonoBehaviour { public Vector3 m_vector; public Color m_color; public Example m_example; public Material m_material; public Gradient m_gradient; public AnimationCurve m_curve; }

【Unity】Unity 2020.1 新機能 - ビルド時にプリプロセッサ定義を指定できる「BuildPlayerOptions.extraScriptingDefines」

概要 Unity 2020.1 以前 using UnityEditor; [InitializeOnLoad] public static class Example { static Example() { PlayerSettings.SetScriptingDefineSymbolsForGroup ( BuildTargetGroup.Android, "ENABLE_RELEASE;ENABLE_OFFLINE" ); var options = new…

【Unity】Unity 2020.1 新機能 - .unitypackage でインポートしたアセットの一覧を取得できる「onImportPackageItemsCompleted」

概要 using UnityEditor; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { AssetDatabase.onImportPackageItemsCompleted += paths => { foreach ( var path in paths ) { Debug.Log( path ); } }; } }

【Unity】Unity 2020 新機能 - ゲームオブジェクトの Cut & Paste が可能

概要 (Unity 2020.1 で追加されたか 2020.2 で追加されたかは未確認) Ctrl + X、Ctrl + V でも使用可能

【Unity】Unity 2020 新機能 - コンポーネントの Inspector を別窓で表示できる

概要 (Unity 2020.1 で追加されたか 2020.2 で追加されたかは未確認) コンポーネントを右クリックして「Properties...」を選択すると そのコンポーネントの Inspector を別窓で表示できる

【Unity】Unity 2020 新機能 - Image や Text で Raycast Target の範囲を調整できる「Raycast Padding」

概要 (Unity 2020.1 で追加されたか 2020.2 で追加されたかは未確認) Image や Text などの UI オブジェクトに Inspector に 「Raycast Padding」が追加されており、これに負数を設定すると 当たり判定の領域を広げることができる

【Unity】Unity 2020.1 新機能 - ゲームオブジェクトやアセットを複製する時の連番の付き方を設定できる

概要 Game Object Naming:ゲームオブジェクト複製時の連番の付き方 Game Object Digits:ゲームオブジェクト複製時の連番の桁数 Space Before Number in Asset Names:アセット複製時に連番の前に半角スペースを入れるか

【Unity】Unity 2020.1 新機能 - Sprite Atlas バージョン2が追加された(実験段階)

概要 詳細は https://docs.unity3d.com/2020.1/Documentation/Manual/SpriteAtlasExperimental.html

【Unity】Unity 2020.2 新機能 - Scripting Define Symbols が並び替え可能なリストの表示形式に変更された

概要 並び替えが可能になった 「Copy Defines」ボタンを押すとセミコロン区切りの文字列でコピーできる 例:ODIN_INSPECTOR;ENABLE_RELEASE;ENABLE_OFFLINE セミコロン区切りの文字列を貼り付けて Apply することも可能

【Unity】Unity 2019.3 新機能 - 描画間隔を設定できる「OnDemandRendering.renderFrameInterval」

概要 例えば、このように描画されるシーンで OnDemandRendering.renderFrameInterval = 30; 上記のコードを記述すると 30 フレームごとにゲーム画面の描画が更新されるようになります これまでも Application.targetFrameRate を使用すれば同じようなことが…

【Unity】Unity 2019.3 新機能 - プレハブモードの dirty フラグが立った時に呼び出されるコールバック

概要 using UnityEditor; using UnityEditor.Experimental.SceneManagement; using UnityEngine; [InitializeOnLoad] public static class Example { static Example() { PrefabStage.prefabStageDirtied += OnPrefabStageDirtied; } private static void On…

【Unity】Unity 2019.3 新機能 - シーンの dirty フラグが立った時に呼び出されるコールバック

概要 using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine; using UnityEngine.SceneManagement; [InitializeOnLoad] public static class Example { static Example() { EditorSceneManager.sceneDirtied += OnSceneDirtied; } priva…

【Unity】Unity 2019.3 新機能 - Android SDK や NDK のパスを参照できるプロパティが追加された

概要 using UnityEditor; using UnityEditor.Android; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { Debug.Log( AndroidExternalToolsSettings.ndkRootPath ); Debug.Log( AndroidExternalTo…

【Unity】Unity 2019.3 新機能 - InitializeOnEnterPlayMode 属性を指定した関数は Unity 再生時に呼び出される

概要 using UnityEditor; using UnityEngine; public static class Example { [InitializeOnEnterPlayMode] private static void Hoge() { Debug.Log( "ピカチュウ" ); } } InitializeOnEnterPlayMode 属性を指定した関数は Unity 再生時に呼び出される

【Unity】Unity 2019.3 で UIElements を使用して Inspector の余白を減らす

使用例 Before After 使い方 上記のような「common.uss」という名前のファイルを Unity 2019.3 のプロジェクトの 「Assets/Editor/StyleSheets/Extensions」フォルダに追加することで Inspector の余白を減らすことができます (正常に反映されない場合は Un…