コガネブログ

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

【Unity】50種類以上のデバイスでゲーム画面がどう表示されるかエディタ上で確認できて、ノッチやセーフエリアの対応もできる「Universal Device Preview」紹介

はじめに この記事は「Unityアセット冬のアドベントカレンダー 2019 Winter」の 12/2 の記事です 「Universal Device Preview」を Unity プロジェクトに導入することで 50種類以上のデバイスでゲーム画面がどう表示されるかエディタ上で確認できて、 ノッチ…

【Unity】Android のバイブレーションで時間を指定できる「UniAndroidVibration」紹介

はじめに 「UniAndroidVibration」を Unity プロジェクトに導入することで Android のバイブレーションで時間を指定できます 使い方 using UnityEngine; public class Example : MonoBehaviour { private void Update() { if ( Input.GetMouseButtonDown( 0 …

【Unity】Android で QR コードからデータを読み込む方法

はじめに 「ZXing.Net」を Unity プロジェクトに導入することで Android で QR コードからデータを読み込むことができるようになります (iOS でも使用できますが、本記事では Android における使い方を紹介していきます) 目次 はじめに 目次 サンプルプロ…

【Unity】タッチ入力を検出できる「unity-pan-and-zoom」紹介

はじめに 「unity-pan-and-zoom」を Unity プロジェクトに導入することで タッチ入力を検出できるようになります 使い方 シーンのゲームオブジェクトに「PanAndZoom」をアタッチして using UnityEngine; public class Example : MonoBehaviour { private voi…

【Unity】11種類以上のモバイルデバイスでゲーム画面がどのように表示されるかエディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようになった

はじめに https://docs.unity3d.com/Packages/com.unity.device-simulator@1.0/manual/ 11種類以上のモバイルデバイスでゲーム画面がどのように表示されるか エディタ上で確認できる「Device Simulator」が Package Manager からインストールできるようにな…

【Unity】モバイルで画面の向きを変更する方法

概要 Screen.orientation = ScreenOrientation.LandscapeLeft; Screen.orientation を変更することでモバイルで画面の向きを変更できます 列挙型 向き Portrait LandscapeLeft LandscapeRight

【Unity】Unity プロジェクトを開いた時に Android の keystore のパスワードを自動で設定するエディタ拡張

ソースコード using UnityEditor; public static class AndroidKeystoreRegister { [InitializeOnLoadMethod] private static void Run() { PlayerSettings.Android.keyaliasPass = "【パスワード】"; PlayerSettings.Android.keystorePass = "【パスワード…

【Unity】Android ビルド完了後に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public class BundleVersionCodeIncrementer : IPostprocessBuildWithReport { public int callbackOrder => 0; public void OnPostprocessBuild( BuildRepor…

【Unity】Android ビルド開始時に Bundle Version Code を増やすエディタ拡張

ソースコード using UnityEditor; using UnityEditor.Build; using UnityEditor.Build.Reporting; public sealed class BundleVersionCodeIncrementer : IPreprocessBuildWithReport { public int callbackOrder => 0; public void OnPreprocessBuild( Build…

【Unity】Google AdMob にテストデバイスを追加する時は SystemInfo.deviceUniqueIdentifier が使える

概要 Google AdMob の公式ドキュメントには テストデバイスを追加する時はコンソールや logcat 出力で テストデバイスの ID をコピーして使用する、と記載されていますが var request new AdRequest.Builder() .AddTestDevice( SystemInfo.deviceUniqueIdent…

【Unity】unity-webview のマージンを RectTranform から設定できる機能「UniWebViewMarginsFromRectTransform」を GitHub に公開しました

はじめに unity-webview のマージンを RectTranform から設定できる機能 「UniWebViewMarginsFromRectTransform」を GitHub に公開しました バージョン Unity 2018.3.11f1 使い方 var rectTransform = GetComponent<RectTransform>(); var margins = WebViewUtils.ToMargins</recttransform>…

【Unity】adb shell am start で Android アプリを起動した時に指定された引数を解析する機能「Uni Android Intent」を GitHub に公開しました

はじめに adb shell am start で Android アプリを起動した時に指定された引数を解析する機能 「Uni Android Intent」を GitHub に公開しました バージョン Unity 2018.3.11f1 使用例 adb shell am start ^ -n com.baba_s.uniandroidintent/com.unity3d.play…

【Unity】iOS ビルドで Automatically Sign をオンにしても Xcode プロジェクトの Automatically manage signing がオンにならない時に暫定対応したこと

概要 iOS の PlayerSettings で Automatically Sign をオンにして iOS ビルドしても Xcode プロジェクトの Automatically manage signing がオンにならない現象に遭遇した TEAM_ID="【Signing Team ID】" PBXPROJ_PATH="【Xcode プロジェクトのビルド先】/Un…

【Unity】iPhone X の ホームバーを非表示にする方法

概要 Unity メニューの「Edit > Project Settings...」から「Player」を選択して 「Hide home button on iPhone X」をオンにしてビルドすることで iPhone X のホームバーを非表示にすることができます (画面をタップするとホームバーが表示されます)

【Unity】ビルドした Android アプリをコマンドプロンプトから起動する方法

概要 adb shell am start -n 【パッケージ名】/com.unity3d.player.UnityPlayerActivity 上記のようなコマンドをコマンドプロンプトから実行することで Unity でビルドしたアプリを起動できます (MainActivity を変更している場合は、MainActivity の指定を…

【Unity】コマンドから Android アプリを起動した時の引数を受け取る方法

概要 adb shell am start ^ -n 【パッケージ名】a/com.unity3d.player.UnityPlayerActivity ^ --ez automation true 例えば上記のようなコマンドで Android アプリを起動した場合 using UnityEngine; public class Example : MonoBehaviour { private void S…

【Xcode】has XXXX iOS Distribution certificates but their private keys are not installed. Contact the creator of one of these crrtificates to get a copy of the private key.

概要 has XXXX iOS Distribution certificates but their private keys are not installed. Contact the creator of one of these crrtificates to get a copy of the private key. Xcode でアーカイブしたデータを Validate しようとした時に 上記のエラー…

【Unity】Error: Error while saving blame file, build will continue

概要 Error: Error while saving blame file, build will continue Error: 隕∫エ?繧ソ繧、繝?uses-sdk"縺ォ髢「騾」莉倥¢繧峨l縺ヲ縺?k螻樊?ァ"tools:overrideLibrary"縺ョ謗・鬆ュ霎?tools"縺後ヰ繧、繝ウ繝峨&繧後※縺?∪縺帙s縲? UnityEngine.GUIUtility:ProcessEve…

【Unity】モバイルにおいてタッチ操作でカメラの移動、回転ができる「Touch mobile camera」紹介($4.99)

はじめに 「Touch mobile camera」を Unity プロジェクトに導入することで モバイルにおいてタッチ操作でカメラの移動、回転ができるようになります 準備 シーンのカメラを削除して、代わりに「RTS_Cam」プレハブをシーンに配置します カメラの操作感は「RTS…

【Unity】Post Processing Stack v2 で Bloom を使用した場合と自作した Bloom を使用した場合の Android 実機での FPS の違い(自分用メモ)

検証環境 Unity 2018.3.11f1 Post Processing 2.1.6 P10 lite 検証結果 Bloom 無し Post Processing Stack v2 の Bloom 自作した Bloom 補足 「自作した Bloom」の検証には下記のシェーダを使用させていただきました

【Unity】「Shader Graph Example Library」のサンプルシーンを Android で実行した場合の FPS(自分用メモ)

概要 「Shader Graph Example Library」のサンプルシーンを Android で実行した場合に FPS がどうなるか気になったので調査してみました (時間をかけて検証したわけではないので、あくまで参考程度のモノになります) 検証環境 Unity 2018.3.11f1 Lightweig…

【Unity】Unity エディタの Game ビューに iPhone X のセーフエリアを表示できる「iPhone X Safe Area Drawer」を GitHub に公開しました

はじめに Unity エディタの Game ビューに iPhone X のセーフエリアを表示できる 「iPhone X Safe Area Drawer」を GitHub に公開しました バージョン Unity 2018.3.9f1 使用例 使い方 「iPhoneXSafeAreaDrawerSettings」を選択して IsEnable をオンにすると…

【Unity】セーフエリアに合わせて RectTransform のサイズを調整するコンポーネント

ソースコード 使い方 「SafeAreaPanel」を uGUI のオブジェクトにアタッチすることで使用できます 例えば iPhone XR で使用すると、上記のようにセーフエリアに合わせて UI.Image のサイズが自動で調整されます

【Unity】CrashReport の末尾の要素2つは重複している?

概要 var reports = CrashReport.reports .Take( CrashReport.reports.Length - 1 ); 自分の環境下だけの問題かもしれないですが、 CrashReport.reports の末尾の要素2つは重複しているようだったので 上記のコードのように末尾のコードは無視して参照してい…

【Unity】実機で読み込まれているマテリアルの一覧を取得する方法

概要 using System.Linq; using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var list = Resources .FindObjectsOfTypeAll<Material>() .Where( c => ( c.hideFlags & HideFlags.NotEditable ) == 0 ) .Where( c </material>…

【Unity】実機で読み込まれているテクスチャの一覧を取得する方法

概要 using System.Linq; using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Awake() { var list = Resources .FindObjectsOfTypeAll<Texture2D>() .Where( c => ( c.hideFlags & HideFlags.NotEditable ) == 0 ) .Where( c </texture2d>…

【Unity】NotSupportedException: Encoding 932 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

はじめに using System.Text; using UnityEngine; public class Example : MonoBehaviour { private void Start() { var encoding = Encoding.GetEncoding( "shift_jis" ); var count = encoding.GetByteCount( "ピカチュウ" ); Debug.Log( count ); } } 上…

【Unity】iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみた

はじめに iOS で Architecture を Universal から ARM64 に変更すると Xcode のビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 空の Unity プロジェクトで検証 検証結果 Architecture ビルド時間 タスク数 Universa…

【Unity】Android で Target Architectures を減らすとビルド時間がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと ビルド時間がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture ビ…

【Unity】Android で Target Architectures を減らすとアプリ容量がどれだけ削減できるか調べてみた

はじめに Android で Target Architectures を減らすと アプリ容量がどれだけ削減できるか調べてみました 検証環境 Unity バージョン:2018.3.7f1 Scripting Backend:IL2CPP Build System:Gradle 空の Unity プロジェクトで検証 検証結果 Architecture 容…