コガネブログ

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

【Unity】Unity 2018.1.0b2 新機能「Show Timestamp」

概要 Unity 2018.1.0b2 から、Console ウィンドウで ログが出力された時間を表示できるようになりました 使用例 デフォルトではこのような表示ですが、 Console ウィンドウ右上の三本線のアイコンをクリックして、 「Show Timestamp」を選択すると、 ログが…

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

はじめに Unity 2018.1.0b2 の新機能の「PositionConstraint」を使用することで オブジェクト間の位置取りを調整できるようになります 使用例 使い方 オブジェクトに「Position Constraint」コンポーネントをアタッチして 「Constraint Settings」の「Source…

【Unity】Shader Graph の触り方

はじめに Unity 2018.1.0b2 からノードベースのシェーダエディタ 「Shader Graph」が使えるようになりました https://forum.unity.com/threads/feedback-wanted-shader-graph.511960/ そして「Shader Graph」の使い方がこちらのフォーラムに記載されていたの…

【Unity】Unity 2018.1.0b2 新機能「Profiler.GetAllocatedMemoryForGraphicsDriver」

はじめに Unity 2018.1.0b2 の新機能の 「Profiler.GetAllocatedMemoryForGraphicsDriver」を使用することで グラフィックスドライバの割り当てメモリ量をバイト数で取得することができます 使用例 using UnityEngine; using UnityEngine.Profiling; public …

【Unity】Unity 2018.1.0b2 から Standalone プラットフォームで IL2CPP ビルドが可能になりました

概要 Unity メニューの「FIle>Build Settings...」を選択して 「Player Settings...」ボタンを押して Inspector で「Scripting Backend」のプルダウンメニューから 「IL2CPP」が選択できるようになりました

【Unity】Unity 2018.1.0b2 新機能「Vector2.Perpendicular」

はじめに Unity 2018.1.0b2 の新機能の「Vector2.Perpendicular」を使用することで 指定された2Dベクトルに対して垂直な2Dベクトルを取得することができます 使用例 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { prin…

【Unity】Unity 2018.1.0b2 新機能「ShaderUtil.GetAllShaderInfo」

はじめに Unity 2018.1.0b2 の新機能の「ShaderUtil.GetAllShaderInfo」を使用することで ビルトインシェーダを含む、すべての利用可能なシェーダの情報を取得できます 使用例 using UnityEditor; using UnityEngine; public static class Example { [MenuIt…

【Unity】Unity 2018.1.0b2 新機能「Application.quitting」

はじめに Unity 2018.1.0b2 の新機能の「Application.quitting」は アプリを終了する時に呼び出されるコールバックです 使用例 using UnityEngine; public static class Example { [RuntimeInitializeOnLoadMethod] private static void Init() { Applicatio…

【Unity】Unity 2018.1.0b2 新機能「Application.wantsToQuit」

はじめに Unity 2018.1.0b2 の新機能の「Application.wantsToQuit」は アプリを終了する時に呼び出されるコールバックで、 戻り値で false を返すと、終了プロセスをキャンセルすることができます ※ Unity エディタ上では戻り値は無視されます ※ iOS では戻…

【Unity】Unity 2018.1.0b2 から iOS / Android において「GUIUtility.systemCopyBuffer」が使用できるようになった?

概要 Android: Added GUIUtility.systemCopyBuffer support. iOS: Added GUIUtility.systemCopyBuffer support. 上記のリリースノートに、Unity 2018.1.0b2 から iOS / Android において 「GUIUtility.systemCopyBuffer」のサポートが追加されたと書いてある…

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

はじめに Unity 2018.1.0b2 の新機能の 「AssetPostprocessor.OnPreprocessAsset」を使用することで アセットをインポートする直前の処理をカスタマイズできます 使用例 using UnityEditor; public class Example : AssetPostprocessor { private void OnPre…

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

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

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

はじめに Unity 2018.1.0b2 の新機能の「InspectorWindow.OnPostHeaderGUI」を使用することで Inspector の各コンポーネントのヘッダー領域をカスタマイズすることができます 使用例1 using UnityEditor; public static class Example { [InitializeOnLoadM…

【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…