コガネブログ

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

【Unity】uGUI でピンチイン・アウトを実装したサンプル「SamplePinchScaling」紹介

はじめに 「SamplePinchScaling」は uGUI でピンチイン・アウトを実装したサンプルです 使い方 こちらのサイト様に詳細な内容が記載されていますので、 詳しくは上記のサイト様を閲覧して頂ければと思いますが 自分のブログにも手順をまとめておきます Hiera…

【Unity】Unity 2017 で Unity Ads を導入する方法

はじめに Unity Ads は動画広告サービスで、Unity に簡単に導入できるのですが、 ネットで検索してみると Unity 5 の頃の古い情報が多かったので、 Unity 2017 で Unity Ads を導入する方法を紹介していきます Unity 公式でも導入手順が紹介されているので、…

【Unity】iOS / Android でアプリのバージョンの取得や最新版が存在するかどうかの確認ができる「UniVersionManager」紹介

はじめに 「UniVersionManager」を Unity プロジェクトに導入することで iOS / Android でアプリのバージョンの取得や 最新版が存在するかどうかの確認ができるようになります 使用例 // iOS / Android ともに Version を取得 string ver1 = UniVersionManag…

【Unity】「DXT1 compressed textures are not supported when publishing to iPhone XXXX」

エラー内容 Unity 2017.4.0f1 で iOS ビルドしようとしたら下記のエラーが発生しました DXT1 compressed textures are not supported when publishing to iPhone Packages/com.unity.ads/Editor/Resources/Editor/landscape.jpg Included from scene: UnityE…

【Unity】iOS / Android で Twitter と連携してタイムラインやフォローしているユーザー、フォロワーの情報を取得する方法

検証環境 Unity 2017.4.0f1 Android 7.0 使うもの Asset Store で公開されている「Twitter Kit for Unity」と、 GitHub で公開されている「Twity」を使用します Twitter アプリケーションの作成 下記のページにアクセスします https://apps.twitter.com/ 「C…

【雑記】Unity における Android アプリ開発用に「Huawei P10 lite」を購入しました

概要 Huawei 5.2型 P10 lite SIMフリースマートフォン ミッドナイトブラック出版社/メーカー: HUAWEI(ファーウェイ)発売日: 2017/06/09メディア: エレクトロニクスこの商品を含むブログ (2件) を見る Unity における Android アプリ開発用に 上記の「Huawei …

【Unity】unity1week で作成した「カラコリ」の Android 版をリリースしました

概要 unity1week で作成した「カラコリ」の Android 版をリリースしました 「カラコリ」は、タップで色を変え、ドラッグで同じ色のブロックに当てる スコアランキング搭載のカジュアルゲームです 1回のプレイが1~2分で終わり、簡単操作で遊べるため、 気軽…

【Unity】Android 7.0 の端末では SocialWorker を使用して画像付きツイートができない?

概要 var message = "コガネブログ"; var url = "http://baba-s.hatenablog.com/"; var imagePath = Application.persistentDataPath + "/image.png"; // エラー SocialWorker.PostTwitter( message, url, imagePath ); // OK SocialWorker.PostTwitter( mes…

【Unity】エディタ上でタッチ操作の確認ができる「GodTouch」紹介

はじめに 「GodTouch」を Unity プロジェクトに導入することで エディタ上でタッチ操作の確認ができるようになります 使用例 using GodTouches; using UnityEngine; public class Example : MonoBehaviour { private void Update() { var delta = GodTouch.G…

【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】iOS アプリの容量を削減できる「Unity.iOS.OnDemand」紹介

はじめに 「Unity.iOS.OnDemand」を Unity プロジェクトに導入することで iOS アプリの容量を削減できます 使い方 上記のページで紹介されています 関連記事

【Unity】uGUI で通常よりも多機能なボタンを使用できる「ButtonEx」紹介

はじめに 「ButtonEx」を Unity プロジェクトに導入することで uGUI で通常よりも多機能なボタンを使用できるようになります スクリーンショット 概要(引用) OnClick の「Invoke On Esc Key」をオンにすると Android のバックキーで押せるようになります …

【Unity】iOS / Android においてカメラロールから画像を読み込むことができる「unimgpicker」紹介

はじめに 「unimgpicker」を Unity プロジェクトに導入することで iOS / Android においてカメラロールから画像を読み込むことができるようになります 使い方 使い方 「Unimgpicker/Editor/NSPhotoLibraryUsageDescription.txt」に カメラロールの使用目的を…

【Unity】アプリに含まれるアセットを圧縮する設定

検証環境 Unity 2017.3.0f3 概要 Build Settings の「Compression Method」を設定することで アプリに含まれるアセットを圧縮することができます BuildPipeline.BuildPlayer ( EditorBuildSettings.scenes, "app.apk", BuildTarget.Android, BuildOptions.Co…

【Unity】iOS / Android で使用メモリを確認できる「MemoryChecker-Unity」紹介

はじめに 「MemoryChecker-Unity」を Unity プロジェクトに導入することで iOS / Android で使用メモリを確認できるようになります 使い方 using UnityEngine; public class Example : MonoBehaviour { #if UNITY_IOS [DllImport("__Internal")] private sta…

【Unity】iOS の写真や Andoid のギャラリーに画像や動画を保存できる「Unity Native Gallery Plugin」紹介

はじめに 「Unity Native Gallery Plugin」を Unity プロジェクトに導入することで iOS の写真や Andoid のギャラリーに画像や動画を保存できるようになります 設定 Android 「Player Settings」で「Write Permission」を「External (SDCard)」に変更する iO…

【Unity】iOS / Android でクリップボードに文字列を設定・取得できる「UniClipboard20xx」紹介

はじめに 「UniClipboard20xx」を Unity プロジェクトに導入することで iOS / Android でクリップボードに文字列を設定・取得できるようになります 使い方 // クリップボードから文字列を取得 var text = UniClipboard.Clipboard.Text; // クリップボードに…

【Unity】iOS の IL2CPP ビルド時に不要な属性を除外してアプリの容量を減らすことができる「Unity3D.UselessAttributeStripper」紹介

はじめに 「Unity3D.UselessAttributeStripper」を使用することで iOS の IL2CPP ビルド時に不要な属性を除外して アプリの容量を減らすことができるようになります Unity プロジェクトによっては 18MB もの容量を減らすことも可能です 使い方 ツールの入手 …

【Unity】iOS においてアプリがクラッシュした時の情報を取得できるクラス「CrashReport」紹介

使用例 取得可能なクラッシュレポートをすべて表示するサンプル using UnityEngine; public class Example : MonoBehaviour { private void OnGUI() { var reports = CrashReport.reports; GUILayout.Label( "Crash reports:" ); foreach ( var r in reports…

【Unity】iOS / Android においてアプリの起動時間を測ることができる「UnityInitializeTimeChecker」紹介

はじめに 「UnityInitializeTimeChecker」を Unity プロジェクトに導入することで iOS / Android においてアプリの起動時間を測ることができるようになります 使い方(引用) 「UnityInitializeTimeChecker.unitypackage」を Unity プロジェクトにインポート…

【Unity】iOS や Android で端末のメモリが不足してきた時に呼び出されるコールバック「Application.lowMemory」紹介

使用例 using System.Collections.Generic; using UnityEngine; public class Example : MonoBehaviour { private readonly List<Texture2D> m_textures = new List<Texture2D>(); private void Awake() { Application.lowMemory += OnLowMemory; } private void Update() { // 毎</texture2d></texture2d>…

【Unity】「アカとブルー」における「オブジェクトプーリング」について記載された電子書籍「Unityマニアックス」(¥1,800)が販売開始

販売ページ 書籍内容(引用) 2017年8月にリリースされたiOS/Android用縦スクロール型STG 『アカとブルー』においてゲームエンジンであるUnityを採用し、 多数のオブジェクトを動的なメモリアロケートなしに制御する設計の一端である 「オブジェクトプーリン…

【Unity】Android アプリで Bundle Version Code を設定する時に使用しているルール

概要 自分が関わっている Unity プロジェクトで Android 版のアプリをリリースする時に Bundle Version Code をどのように設定しているかをまとめておきます ルール Bundle Version Code = メジャーバージョン x 10000000 + マイナーバージョン x 100000 + …

【Unity】スマホゲーム開発において Jenkins で使用しているオススメのプラグイン一覧

プラグイン 導入した EnvInject Plugin https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin 環境変数をビルドプロセスに注入できるようになる Job Configuration History Plugin https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+…

【Unity】Google Play で使用できる versionCode の最大値

https://developer.android.com/studio/publish/versioning.html 警告: Google Play で使用できる versionCode の最大値は 2100000000 です。

【Unity】AndroidにおいてFirebaseを使用しているアプリがイベント登録時にハングするようになった

発生状況 Unity 5.4.3f1 Android IL2CPPビルド Firebase SDK導入済み Firebase.TokenReceived 参照時にアプリがハングする 原因 UnityのAndroid IL2CPPビルドのキャッシュが壊れていた 修正方法 下記のファイルを削除してからROMをビルドし直したら直った il…

【Unity】【NGUI】18:9ディスプレイの端末の対応

はじめに 最近は 18:9 や 18.5:9 のディスプレイの Android 端末がリリースされています 開発中のアプリは 16:9 の比率を基準として UI を実装していたので 18:9 や 18.5:9 の端末に対応する処理を下記のように実装しました NGUI を使用している場合 UIRoot …

【Unity】OnPreprocessTextureでテクスチャフォーマットにETCやPVRTCを設定する方法

Unity 5.4.3f1 public class TextureAssetPostProcessor : AssetPostprocessor { private void OnPreprocessTexture() { var impoter = assetImporter as TextureImporter; var maxTextureSize = 2048; var compressionQuality = 50; impoter.SetPlatformTex…

【Unity】Android端末においてソフトウェアキーボードの領域を取得する

概要 public int GetKeyboardSize() { #if !UNITY_EDITOR && UNITY_ANDROID using ( var unityPlayer = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" ) ) { var view = unityPlayer .GetStatic<AndroidJavaObject>( "currentActivity" ) .Get<AndroidJavaObject>( "mUnityPlayer" ) .Ca</androidjavaobject></androidjavaobject>…

【Unity】iOS端末においてソフトウェアキーボードの領域を取得する

概要 TouchScreenKeyboard.area ※Androidでは取得不可能 参考サイト様 https://docs.unity3d.com/ScriptReference/TouchScreenKeyboard-area.htmldocs.unity3d.com