コガネブログ

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

【Unity】RectTransform をコピーしたゲームオブジェクトを作成する関数

概要 private static RectTransform CreateCopiedRectTransformObject( RectTransform original ) { var go = new GameObject(); var t = go.AddComponent<RectTransform>(); t.SetParent( original.parent ); t.localPosition = Vector3.zero; t.localRotation = Quaternio</recttransform>…

【Unity】RectTransform の端の位置を返す拡張メソッド

概要 using UnityEngine; /// <summary> /// RectTransform 型の拡張メソッドを管理するクラス /// </summary> internal static class RectTransformExt { /// <summary> /// 左端の位置を返します /// </summary> public static float GetAnchoredPositionLeft( this RectTransform self ) { retur…

【Unity】Git LFS に対応した Unity プロジェクトを Clone したらポインタファイルが落ちてきた時のメモ

概要 Git LFS に対応した Unity プロジェクトを Clone したらポインタファイルが落ちてきて 正常に Unity プロジェクトを開くことができなかった Windows に Git LFS はインストールされていた コマンドプロンプトから git clone してもダメだった Git クラ…

【Unity】アセットを Inspector にドラッグ&ドロップできるようにするエディタ拡張の例

ソースコード /// <summary> /// 指定された矩形にドラッグ & ドロップされたアセットのパスを返します /// </summary> public bool GetDragAndDropAssetPath( Rect rect, out string assetPath ) { var current = Event.current; var controlId = GUIUtility.GetControlID( Foc…

【Unity】Maya から読み込んだ .fbx の回転のアニメーションカーブにギャップが生じる時の対処方法

概要 Maya で回転のアニメーションを作成して .fbx としてエクスポートして Unity プロジェクトにインポートした時に アニメーションカーブにギャップが生じてしまう場合は .fbx の Import Settings で「Resample Curves」をオフにして「Apply」すると 直る

【Unity】Unity 公式のパッケージのフォルダ構成

概要 上記のページに記載されている

【Unity】高速な xcodebuild

概要 # 通常の xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ archive -archivePath $ARCHIVE_PATH \ PROVISIONING_PROFILE=$PROVISIONING_PROFILE # 高速な xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ ar…

【Unity】Enter Play Mode Options をエディタ拡張のスクリプトから変更する方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { EditorSettings.enterPlayModeOptionsEnabled = !EditorSettings.enterPlayModeOptionsEnabled; } }

【Unity】Player Settings をエディタ拡張から開く方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/Audio" )] private static void OpenAudio() { SettingsService.OpenProjectSettings( "Project/Audio" ); } [MenuItem( "Tools/Editor" )] private static void OpenEditor() { S…

【Unity】Preferences をエディタ拡張から開く方法

概要 using UnityEditor; public static class Example { [MenuItem( "Tools/2DAnimation" )] private static void Open2DAnimation() { SettingsService.OpenUserPreferences( "Preferences/2D/Animation" ); } [MenuItem( "Tools/AnalysisProfiler" )] pri…

【Unity】プレハブモードかどうかをエディタ拡張で確認する方法

概要 using UnityEditor; using UnityEditor.Experimental.SceneManagement; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { var isPrefabMode = PrefabStageUtility.GetCurrentPrefabStage() !…

【Unity】MasterMemory の基本的な使い方

はじめに この記事では MasterMemory の基本的な使い方を紹介していきます 目次 はじめに 目次 検証環境 必要なファイルの入手 .unitypackage のインポート マスタを管理するクラスの準備 MasterMemory のジェネレータを実行 MessagePack のジェネレータを実…

【Unity】Exception: Calling TargetGuidByName with name='Unity-iPhone' is deprecated

概要 using UnityEditor; using UnityEditor.iOS.Xcode; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var path = "iOS"; var projectPath = PBXProject.GetPBXProjectPath( path ); var project = new PBXProje…

【Unity】Component GUI Layer in Main Camera for Scene XXXX.unity is no longer available.

概要 Component GUI Layer in Main Camera for Scene XXXX.unity is no longer available. It will be removed after you edit this GameObject and save the Scene. アプリビルド時などに上記のエラーが出力される場合は カメラにアタッチされている「Flare…

【Unity】Mac で Unity プロジェクトを開いた時や Switch Platform した時に Mac が強制終了してしまう時の対応方法

概要 Mac で Unity プロジェクトを開いた時や Switch Platform した時に Mac が強制終了する現象に遭遇した Editor: Metal support disabled, skipping device initialization Unity の Console ウィンドウを見てみると上記のようなメッセージが表示されてい…