コガネブログ

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

2020-05-01から1ヶ月間の記事一覧

【雑記】Google スライドで使えるカッコいいテンプレート「Azusa 3」

リンク

【Unity】親オブジェクトが子オブジェクトをすべて内包するように親オブジェクトの位置とサイズを調整するエディタ拡張「UniParentRectTransformFitter」を GitHub に公開しました

リポジトリ 使い方 Inspector で RectTransform の項目を右クリックして「Fit Children」を選択します Undo に対応しています 孫オブジェクトに対応しています Scale に対応しています

【Unity】External Tools の Android の項目の取得または設定ができるパッケージ「UniAndroidExternalTools」を GitHub に公開しました

リポジトリ 使用例 using UniAndroidExternalTools; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Log" )] private static void Log() { // JDK Installed with Unity (recommended) Debug.Log( "JdkInstalledWi…

【Unity】SpriteAtlas.GetSprite したスプライトをキャッシュするクラス「UniSpriteAtlasCacher」を GitHub に公開しました

リポジトリ 使用例 using UniSpriteAtlasCacher; using UnityEngine; public class Example : MonoBehaviour { public SpriteAtlasCacher m_cacher; private void Start() { // 指定されたスプライトを SpriteAtlas.GetSprite して内部でキャッシュする var …

【Unity】コマンドライン引数を解析して指定されたクラスのインスタンスに変換するパッケージ「UniCommandLineParser」を GitHub に公開しました

リポジトリ 使用例 Unity.exe ^ -batchMode ^ -quit ^ -executeMethod Example.Run ^ -myOptionInt 25 ^ -myOptionFloat 2.5 ^ -myOptionString "ピカチュウ" ^ -myOptionBool using System; using UniCommandLineParser; using UnityEngine; public static …

【Unity】SpriteAtlas にテクスチャを含める時は元のテクスチャの圧縮設定が反映された状態でテクスチャアトラスに描き込まれる

概要 例えば上記のようなグラデーションのテクスチャを Unity プロジェクトに2つ追加して 1つは RGBA 32 bit、 もう1つは RGB 16 bit の圧縮設定を適用すると ゲーム中に描画する時に、圧縮設定が反映されていることが確認できる (左が RGBA 32 bit、右が R…

【Unity】Unity エディタのタイトルを変更できるエディタ拡張「UniEditorWindowTitleChanger」を GitHub に公開しました

リポジトリ 使用例 using UniEditorWindowTitleChanger; using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { EditorWindowTitleChanger.SetTitle( "ピカチュウ" ); } } 謝辞 このリポジトリは下記…

【Unity】Cannot load scene: Invalid scene name (empty string) and invalid build index -1

概要 Unity 2019.3 で Enter Play Mode を有効にしているプロジェクトで SceneManager.LoadScene( SceneManager.GetActiveScene().buildIndex ); 上記のように現在のシーンを再読み込みしようとしたところ Cannot load scene: Invalid scene name (empty str…

【Unity】参照型のパラメータを右クリックした時のメニューに GetComponent を追加するエディタ拡張「UniGetComponentContextualPropertyMenu」を GitHub に公開しました

リポジトリ 使用例 using UnityEngine; public class Test : MonoBehaviour { public BoxCollider bocCollider; public BoxCollider[] boxColliders; }

【Unity】シリアライズ対象の変数に自動で参照を割り当てるエディタ拡張「UniGetComponentAttribute」を GitHub に公開しました

リポジトリ 使用例 using UniGetComponentAttribute; using UnityEngine; public class Test : MonoBehaviour { [GetComponent] public BoxCollider m_boxCollider; [GetComponentInParent] public BoxCollider m_boxColliderInParent; [GetComponentInParen…

【Unity】"clang++"は、開発元を検証できないため開けません

検証環境 Unity 2018.4.20f1 macOS Catalina 10.15.4 現象 "clang++"は、開発元を検証できないため開けません Mac で Unity を使用して Android の IL2CPP ビルドを実行した際に 上記の警告ダイアログが出てビルドができない現象に遭遇した Mac のシステム環…

【Mac】xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

概要 xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance Xcode をインストール済みの Mac に homebrew をインストールしたところ xcodebuil…

【Git】Please tell me who you are. Run git config --global user.email "you@example.com"

概要 *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" 新しく購入した Mac に Jenkins をインストールして Jenkins から git commit しようとしたところ、上記のメッセー…

【Jenkins】stderr: git-lfs filter-process: git-lfs: command not found

概要 stderr: git-lfs filter-process: git-lfs: command not found Jenkins で git clone を実行した時に上記のエラーに遭遇した Git LFS がインストールされていないので公式サイトから Git LFS をインストールする 下記のページか .tar.gz ファイルをダウ…

【Jenkins】ERROR: Timeout after 10 minutes

概要 ERROR: Timeout after 10 minutes FATAL: Could not checkout XXXX hudson.plugins.git.GitException: Command "git lfs pull origin" returned status code 143: Jenkins で git clone を実行した時に上記のエラーに遭遇した git lfs pull に10分以上…

【Jenkins】Git で Clone したローカルブランチに名前を付ける方法

概要 ジョブの設定の「ソースコード管理 > Git > 追加処理」の「追加」ボタンから 「Check out to specific local branch」を選択して任意のブランチ名を設定する

【Mac】Provisioning Profile の保存場所

概要 ~/Library/MobileDevice/Provisioning Profiles/

【Jenkins】前回のビルドのパラメータを使用する方法

概要 「Rebuilder」プラグインを使用する ジョブの管理画面の左メニューの「Rebuild Last」を押すと 前回のパラメータを使用してビルドできる Pipeline ジョブの場合はビルド履歴を選択してから 左メニューの「Rebuild」を押す 参考サイト様

【Unity】ゲームオブジェクトの複製時に名前の末尾に数値を付けないようにするエディタ拡張「UniGameObjectDuplicationHooker」を GitHub に公開しました

リポジトリ 標準の Duplicate コマンド(Ctrl + D)の挙動を上書きします 複数のゲームオブジェクトの複製に対応しています Undo に対応しています プレハブのインスタンスの複製に対応しています 複製時に transform のプロパティに誤差が生じないようにし…

【Unity】string.Format を ZString.Format に置換する ReSharper の Quick-Fixes を作成する

概要 ReSharper と ZString を導入しているプロジェクトで ZString.Format ではなく string.Format を使用している箇所があれば 警告線を表示する Quick-Fixes で ZString.Format に置換できるようにする ということを行いたい場合は、 ReSharper のオプショ…

【Unity】Curl error 51: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED

概要 Curl error 51: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED Unity エディタに上記のエラーログが出るようになった Unity のサーバがダウンしていると発生するらしい https://answers.unity.com/questions/1728035/curl-error-51-cert-verif…

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