コガネブログ

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

【Unity】Unity 2018.1.0b2 新機能「AssetPostprocessor.OnPreprocessAsset」

はじめに https://docs.unity3d.com/2018.1/Documentation/ScriptReference/AssetPostprocessor.OnPreprocessAsset.html Unity 2018.1.0b2 の新機能の 「AssetPostprocessor.OnPreprocessAsset」を使用することで アセットをインポートする直前の処理をカス…

【Unity】Unity 2018.1.0b2 新機能「Preset」

概要 Unity 2018.1.0b2 から、Inspector の各コンポーネントの右上に 赤枠で囲まれたアイコンが追加されました このアイコンをクリックすると 「Select Preset」ウィンドウが表示されるので 「Save current to ...」ボタンを押して、 保存ダイアログでファイ…

【Unity】Unity 2018.1.0b2 新機能「InspectorWindow.OnPostHeaderGUI」

はじめに https://docs.unity3d.com/2018.1/Documentation/ScriptReference/InspectorWindow.OnPostHeaderGUI.html Unity 2018.1.0b2 の新機能の「InspectorWindow.OnPostHeaderGUI」を使用することで Inspector の各コンポーネントのヘッダー領域をカスタマ…

【Unity】Unity 5.6 新機能「Transform.SetPositionAndRotation」

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { // 従来 transform.position = new Vector3( 1, 1, 1 ); transform.rotation = Quaternion.Euler( 0, 180, 0 ); // 新機能 transform.SetPositionAndRotation ( new…

Unity】Unity 2017.1 新機能「IActiveBuildTargetChanged」

using UnityEditor; using UnityEditor.Build; using UnityEngine; public class ExampleClass : IActiveBuildTargetChanged { public int callbackOrder { get { return 0; } } public void OnActiveBuildTargetChanged ( BuildTarget previousTarget , Bui…

【Unity】Unity 2017.1 新機能「SwitchActiveBuildTargetAsync」

using UnityEditor; using UnityEditor.Build; using UnityEngine; public class ExampleClass : IActiveBuildTargetChanged { public int callbackOrder { get { return 0; } } [MenuItem( "Tools/Switch Platform" )] public static void SwitchPlatform()…

【おすすめスライド】「Unity 5.4 & 5.5 新機能キャッチアップ講座」

関連記事

【Unity】Unity 5.3.4 新機能「UNITY_5_3_OR_NEWER」

Unity 5.3.4 から「UNITY_5_3_OR_NEWER」が追加されました このシンボルを使用することで Unity 5.3 以上でのみ実行する処理を記述できます #if UNITY_5_3_OR_NEWER ... #endif 参考サイト様

【Unity】Unity 5.2 新機能 「C# Project Generation」

Unity 5.2 から「C# Project Generation」が追加されました 「Edit>Project Settings>Editor」を選択して表示される 「Editor Settings」に「C# Project Generation」が追加されています 「Additional extensions to include」に記載されている拡張子のファ…

【Unity】Unity 4.6 新機能「FormerlySerializedAsAttribute」

Unity 4.6 から 「UnityEngine.Serialization.FormerlySerializedAsAttribute」が追加されました using UnityEngine; public class ExampleClass : MonoBehaviour { public int value; } 例えば上記のクラスをオブジェクトにアタッチして Inspectorでvalue変…

【Unity】Unity 5.2 新機能 「Selection.selectionChanged」

Unity 5.2 から「Selection.selectionChanged」が追加されました このイベントにコールバック関数を登録しておくと エディタ上で選択中の項目が変更された時に呼び出されます using UnityEditor; using UnityEngine; public static class ExampleClass { [In…

【Unity】Unity 5.3 新機能「ISerializationCallbackReceiver」

Unity 5.3 から「UnityEngine.ISerializationCallbackReceiver」が追加されました このインターフェイスを実装することで JsonUtilityでシリアライズした時やデシリアライズした時に呼び出される コールバック関数を実装することができます public class Cha…

【Unity】Unity 5.3 新機能「ColorUtility」

Unity 5.3 から「UnityEngine.ColorUtility」が追加されました Color型のインスタンスをカラーコードの文字列に変換したり カラーコードの文字列をColor型のインスタンスに変換したりできます ToHtmlStringRGB Debug.Log( ColorUtility.ToHtmlStringRGB( Col…

【Unity】Unity 5.3 新機能「DelayedAttribute」

Unity 5.3 から「UnityEngine.DelayedAttribute」が追加されました using UnityEngine; public class ExampleClass : MonoBehaviour { public int value; void Update() { Debug.Log( value ); } } 例えば上記のようなクラスをオブジェクトにアタッチして エ…

【Unity】Unity 5.3 新機能「WaitUntil」

Unity 5.3 から「UnityEngine.WaitUntil」が追加されました 条件を満たさない間コルーチンの実行を中断できます using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { int frame; IEnumerator Start() { yield return…

【Unity】Unity 5.3 新機能「WaitWhile」

Unity 5.3 から「UnityEngine.WaitWhile」が追加されました 条件を満たす間コルーチンの実行を中断できます using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { int frame; IEnumerator Start() { yield return new…

【Unity】Unity 5.3 新機能「Preserve」

Unity 5.3 から「UnityEngine.Scripting.Preserve」が追加されました Unityはビルド開始時にプロジェクト内の未使用のコードを削除しますが 例えばリフレクションを使用して呼び出している関数が存在する場合 その関数も削除されてしまう可能性があります Pr…

【Unity】Unity 5.3 新機能「SceneAsset」

Unity 5.3 から「UnityEditor.SceneAsset」が追加されました このクラスを使用してエディタ拡張を行うことで シーンファイルのInspectorを拡張したり EditorGUILayout.ObjectFieldと併用することで Inspectorでシーンファイルをドラッグ&ドロップできるよう…

【Unity】Unity 5.3 新機能「ILogHandler」

Unity 5.3 から「UnityEngine.ILogHandler」が追加されました ILogHandlerを実装したクラスをLoggerクラスに設定することで ログ出力時の挙動を変えることができます public class MyLogHandler : ILogHandler { public void LogException( Exception except…

【Unity】Unity 5.3 新機能「Logger」

Unity 5.3 から「UnityEngine.Logger」が追加されました Debugクラス同様にログ出力が可能なクラスですが Debugクラスと比べると下記のような違いがあります ログにタグを付与することができる ログにフィルターをかけることができる ログ出力の機能のON/OFF…

【Unity】Unity 5.0 新機能「UnityEngine.iOS.Device」

Unity 5.0 から「UnityEngine.iOS.Device」が追加されました このクラスを使用することでアプリが動作しているiOS端末の 世代やバージョンなどの情報を取得できます using UnityEngine; using UnityEngine.iOS; public class ExampleClass : MonoBehaviour {…

【Unity】Unity 5.0 新機能「RuntimeInitializeOnLoadMethodAttribute」

Unity 5.0 から「RuntimeInitializeOnLoadMethodAttribute」が追加されました この属性をstatic関数に適用することでゲーム起動時にその関数が呼び出されます using UnityEngine; public class ExampleClass { [RuntimeInitializeOnLoadMethod] private stat…

【Unity】Unity 5.1 新機能「UnityEngine.HelpURLAttribute」

Unity 5.1 から「UnityEngine.HelpURLAttribute」が追加されました この属性をMonoBehaviourを継承したクラスに適用することで Inspector上でヘルプアイコンをクリックされた時に表示するサイトを設定できます using UnityEngine; [HelpURL( "http://baba-s.…

【Unity】Unity 5.1 新機能「UnityEngine.ColorUsageAttribute」

Unity 5.1 で「UnityEngine.ColorUsageAttribute」が追加されました この属性をColor型のpublic変数に適用することで カラーピッカーの表示を変えることができます Unity 5.1 以前 using UnityEngine; public class ExampleClass : MonoBehaviour { public C…

【Unity】Unity 5.1 新機能「UnityEngine.CreateAssetMenuAttribute」

Unity 5.1 で「UnityEngine.CreateAssetMenuAttribute」が追加されました この属性をScriptableObjectを継承したクラスに適用することで そのクラスの.assetを「Assets>Create」メニューから作成できるようになります using UnityEngine; [CreateAssetMenu] …

【Unity】Unity 5.1 新機能「UnityEngine.Assertions.Must.MustExtensions」

Unity 5.1 で「UnityEngine.Assertions.Must.MustExtensions」が追加されました このクラスを使用することで値が正常であるかどうかを確認できます 値が不正の場合はメッセージを投げます 関数 説明 MustBeNull 値がnullであることを保証します MustNotBeNul…

【Unity】Unity 5.1 新機能「UnityEngine.Assertions.Assert」

Unity 5.1 で「UnityEngine.Assertions.Assert」が追加されました このクラスを使用することで値が正常であるかどうかを確認できます 値が不正の場合はメッセージを投げます 関数 説明 IsNull 値がnullであることを保証します IsNotNull 値がnullではないこ…

【Unity】Unity 5 新機能「Debug.LogFormat」 「Debug.LogWarningFormat」 「Debug.LogErrorFormat」

// Unity 4.6 まで Debug.Log( string.Format( "Id: {0}", 25 ) ); Debug.LogWarning( string.Format( "Id: {0}", 25 ) ); Debug.LogError( string.Format( "Id: {0}", 25 ) ); Debug.Log( string.Format( "Id: {0}", 25 ), this ); Debug.LogWarning( strin…

【Unity】Unity 5 新機能「Object.Instantiate」

using UnityEngine; public class Gun : MonoBehaviour { public Bullet Original; private void Awake() { var bullet = Instantiate( Original ); } } Unity 5 からジェネリック版のObject.Instantiateが追加されました 戻り値をキャストする必要がなくな…

【Unity】Unity 5 新機能「Application.logMessageReceived」

using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public string Condition; public string StackTrace; public LogType Type; private void OnEnable() { Application.logMessageReceived += HandleLog; } private void OnDisable() …