コガネブログ

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

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

【Unity】iOS Bundle ID has not been set up correctly

概要 iOS ビルド時に上記のエラーに遭遇した Player Settings の Bundle Identifier に半角スペースが混ざっていたのが原因だった

【Unity】iOS の Architecture を変更するエディタ拡張

概要 iOS の Player Settings に存在する Architecture は using UnityEditor; public static class Example { [MenuItem( "Tools/Hoge" )] public static void Hoge() { PlayerSettings.SetArchitecture( BuildTargetGroup.iOS, 0 ); } } PlayerSettings.Se…

【Unity】Unity 2018.1 新機能 iOS / Android で「GUIUtility.systemCopyBuffer」を使用すると文字列をクリップボードにコピーできる

概要 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { GUIUtility.systemCopyBuffer = "ピカチュウ"; } } Unity 2018.1 から GUIUtility.systemCopyBuffer を使用すると iOS でも Android でもクリップボードに文字列を…

【Unity】Unity 2018.3 新機能「Render outside safe area」Android ノッチ付き端末でセーフエリアの範囲外も描画するかどうか設定できる

概要 Unity 2018.3 より Android の Player Settings の Resolution and Presentation に 「Render outside safe area」という項目が追加されました この項目をオンにすると、Android ノッチ付き端末で セーフエリアの範囲外も描画するようになります(デフ…

【Unity】Android で外部キャッシュの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.temporaryCachePath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalCacheDir() { using ( var player = new AndroidJavaClas…

【Unity】Android で外部データの保存領域のパスを取得する関数を自作してみる

概要 UnityEngine.Application.persistentDataPath と同様の文字列を返す関数を自作してみる ソースコード using UnityEngine; public static class AndroidUtils { public static string GetExternalFilesDir() { using ( var player = new AndroidJavaClas…

【Unity】Android でユーザーがアクセスできない内部キャッシュの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetCacheDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivi</androidjavaobject>…

【Unity】Android でユーザーがアクセスできない内部データの保存領域のパスを取得する関数

ソースコード using UnityEngine; public static class AndroidUtils { public static string GetFileDir() { using ( var player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) using ( var activity = player.GetStatic<AndroidJavaObject>( "currentActivit</androidjavaobject>…

【Unity】iOS ビルド後に Xcode プロジェクトの「Debug Information Format」に「DWARF」を設定するエディタ拡張

概要 「Debug」以外の項目にも「DWARF」を設定したい場合は 19行目の "Debug" の部分を "Release" や "ReleaseForProfiling" 、 "ReleaseForRunning" などに変更します 「DWARF with dSYM File」を設定したい場合は 21行目の "dwarf" の部分を "dwarf-with-d…

【Unity】iOS ビルド後に Xcode プロジェクトの「Enable Bitcode」をオフにするエディタ拡張

概要 参考サイト様

【Unity】iOS で加速度センサを無効化してパフォーマンスを改善する

概要 iOS で加速度センサを使用しない場合、 Unity メニューの「File > Build Settings...」から 「Player Settings...」を開いて、iOS の Other Settings の中に存在する 「Accelerometer Frequency」を「Disabled」にすることで 少しだけパフォーマンスを…

【Unity】Windows で Unity エディタの Profiler を Android に接続する時に使用する IP アドレスを調べる方法

概要 Windows で Unity エディタの Profiler を Android に接続する際に Profiler の「Enter IP」から IP アドレスを指定して Android に接続する場合、 adb shell ip route Windows に Android を接続した状態で コマンドプロンプトで上記のコマンドを実行…

【Unity】iPhone X / XS のセーフエリアに対応できるアセットまとめ

一覧

【Unity】iOS / Android でゲーム中にカメラを起動し、撮影した写真や動画をゲーム内で使用できる「Unity Native Camera Plugin」紹介

はじめに 「Unity Native Camera Plugin」を Unity プロジェクトに導入することで iOS / Android でゲーム中にカメラを起動し、 撮影した写真や動画をゲーム内で使用できるようになります 使い方 この記事では Android における使用方法を紹介していきます U…

【Unity】Windows / Mac / iOS / Android でストレージの空き容量・使用中容量・合計サイズを取得できる「simple-disk-utils」紹介

はじめに 「simple-disk-utils」を Unity プロジェクトに導入することで Windows / Mac / iOS / Android でストレージの 空き容量・使用中容量・合計サイズを取得できるようになります 使い方 Windows using SimpleDiskUtils; using UnityEngine; public cla…

【Unity】iOS や Android のよく使う解像度を Game ビューに追加できる「GameViewSize」紹介

はじめに 「GameViewSize」を Unity プロジェクトに導入することで iOS や Android のよく使う解像度を Game ビューに追加できるようになります 使用例 適用前 適用後 使い方 Unity メニューの「Window>GameViewSize Settings」を選択すると Game ビューに解…

【Unity】Game ビューで iPhone X のセーフエリアの領域を確認できる「iPhone X Overlay」紹介

はじめに 「iPhone X Overlay」を Unity プロジェクトに導入することで Game ビューで iPhone X のセーフエリアの領域を確認できます 使用例 使い方 Game ビューの解像度から「iPhone X Wide」か「iPhone X Tall」を選択します

【Unity】uGUI で iPhone X のセーフエリアに対応できる「iPhone X Overlay」紹介

はじめに 「iPhone X Overlay」を Unity プロジェクトに導入することで uGUI で iPhone X のセーフエリアに対応できるようになります 使用例 使い方 uGUI で Image オブジェクトに「SafeAreaPadding」をアタッチして その子オブジェクトに uGUI のオブジェク…