iOS
今回はタイトルの通り「アプリを終了(もしくはサスペンド)してもダウンロードを継続する」機能を提供するアセットの機能と使い方についてです。 このアプローチを導入すると、アプリ開始時の「追加コンテンツダウンロード待ち」でアプリを起動しっぱなしで…
今回はARCoreとAR Kitの両方に対応したマルチプラットフォームAR環境である「AR Foundation」、その最初の一歩として「とりあえず動くもの」の作り方を紹介します。 AR Foundationとは? 使い方 ARのセットアップ 平面の検出をグラフィカルにする オブジェク…
Unity 2017.3からiOSでもETC2が使えるようになりました。 ETC2 端末的対応表 iOSのETCは多分おまけ 関連 ETC2 ETC2はOpenGLES3で制式採用されている画像圧縮フォーマットです。OpenGLES 3が使用出来る端末…要するに概ねのAndroidで同様に使用できる圧縮フォ…
WebAssembly 先日Google ChromeとFirefoxがWebAssemblyに対応しました。 この素晴らしいニュースではFirefoxが対応したのは当然として、世界で圧倒的にユーザー数の多いGoogle Chromeも対応したという事です。 dev.classmethod.jp Android環境でも「多分動か…
Unity 5.6から、ビルドしたゲームに含めるアセット群を圧縮するオプションが追加されました。 この圧縮をONにすることで「アプリ起動時間の短縮」や「インストール後にサイズが膨れ上がるのを防ぐ(iOS/Standalone)」効果が期待出来ます。 ビルドしたゲーム…
アルファチャンネル付きムービー、アルファムービー、透過ムービー、with alpha、αムービー、Aビデオ、呼び方は色々ありますが、背景が透明なムービーについてです。 アルファチャンネル付きムービー 使用出来るコーデック Webmを再生出来ない端末では アル…
今回はPVRTCと比較して割と綺麗で消費メモリも少ないASTCフォーマットのテクスチャ圧縮を使用する方法についてです。 ASTCについて ASTC を使用する ASTCとPVRTCとTrueColorを比較してみる 使えるのはA8以降のCPU 関連 ASTCについて wlog.flatlib.jp ブロッ…
今回はuGUIのImageとSprite Rendererの使い分けについてメモします。 ImageとSprite Renderer Sprite Rendererの振る舞い uGUI Imageの振る舞い 最適化に関するアプローチの違い SetPassの削減に関する振る舞いの比較 フィルレート・オーバードロー削減に関…
今回はARToolKitを試してみたので、そのあたりメモします。 AR界のARToolKit 実際に使ってみる パッケージの入手 インポート マーカーを作る Unity上でARマーカー表示を行う Tips 感想 AR界のARToolKit ARToolKitは、マーカーを追跡するAR(Augmented Realit…
Unity 5はリアルタイムな光源を基本としている節がありますが、モバイル上では依然としてパフォーマンスを稼ぐためライトマップをベイクする方が良いです。 今回はそのライトマップの色々なアプローチについて紹介します。 ライトを焼く ライトマップを焼く…
追記 Unity 4.6.2でiOS IL2CPPによる64bit対応が正式に組み込まれました。 Unity 4.6 iOS 64-bit対応版(beta)が公開になったみたいです。 まだβなので色々と不具合がありそうですが、とりあえずil2cppでビルドし64bit対応が出来る感じです。 ちなみに今回の…
今回もSample Assetsについて。 新 Standard Assets候補、Sample Assets (beta) - テラシュールブログ 新 Standard Assets候補、Sample Assets (beta) - テラシュールブログ シェーダーを差し替えるAutoMobileShaderSwitch Sample Assetsにシェーダーを一括…
Unityで取り敢えずゲームを作る過程で「Input.GetButton」系を使用している場合でも、タッチパネルに対応する方法を紹介します。 今回もSample Assetsシリーズです。 新 Standard Assets候補、Sample Assets (beta) - テラシュールブログ 新 Standard Assets…
※この記事の内容は古い(ベータ版のみ有効)です。 新しい方法 uGUIのアスペクト比を固定する(修正版) - テラシュールブログ uGUIのアスペクト比を固定する(修正版) - テラシュールブログ uGUIの使い方について紹介します。*1 今回はキャンバス周りにつ…
今日はローディング中のアニメーションについて。 Unity Pro版であれば非同期なシーンのロードが行えるので話は簡単なのですが、UnityのFree版はシーンの非同期ローディングが出来ないのでどうしても画面が固まります。 しかし、実はこのシーンのロード中全…
先日、ネイティブプラグインを使用せずにObjective-Cのコードを呼び出す方法を教えてもらった。これを使用すると、AndroidObjectのようにObjective-Cのコードが取得できる。 やり方 まず以下のコードを用意する。 UnityのC#からNativePluginsを使わずObjecti…
今日は全く何の役にも立たないTipsを紹介します。 ゲームを開発していると、複数の解像度を使用したくなるケースがあります。例えば、縦画面と横画面を同時に開発している際、どのように動くか等です。 実はこんな事ができたのです。 やっている事は単純で、…
端末のスクリーンショットを撮影する際、高画質なスクリーンショットを撮影したい場合もある。そんな時はApplication.CaptureScreenshotの第二引数(superSize)に倍率を指定する。下のコードはスクリーンショットを倍にしたケース。Application.CaptureScre…
Unity は ProjectSettings の Resolution and presentationw の Default Orientation を Auto Rotation に設定することで、端末を傾けた際に傾けた方向へ向くように設定出来る。この際、横(Landscape)にチェックを外すと、上下に回転するようになる(Unity …
最近モバイルの解像度がおかしい。大して画面は大きくなっていないのに、画面解像度が1920×1080とか2048×1536とか意味がわからない。せっかくGPUの性能は上がっているのに、このクソ高い解像度のせいでイメージエフェクトのような画面全体にエフェクトをかけ…
PVRTCを綺麗にするアプローチを紹介してもらったので、試してみた。アルファ入りPVRTCへのアプローチ圧縮画像とTrue Colorを直接比較すると厳しいが、かなり綺麗になる。 DEFAULT(Unity標準そのまま) BLEED PMA PVRTool TRUE COLOR 他のアプローチ tsubaki…
UnityでiOSビルドを行う際、稀に以下のようなエラーが出ることがある。ld: Unable to insert branch island. No insertion point available. for architecture armv7これはリファレンス(トラブルシューティング / Trouble Shooting)を確認する限り 一つの…
NativePluginsからUnityへメッセージを送る際、コールバックやSendMessageを使うのだが、実はもう一つだけ方法がある。この方法はC#のデリゲートをコールバックとしてネイティブに登録し、それを直接呼び出してもらう方法だ。 これを実現するには、MonoPInvo…
少なくともUnityでプレイするゲーム内での範囲だが、ゲームをプレイするプレイヤーのデバイス傾向は、こちらのリンクから確認出来る。Mobile (Android) Hardware Statisticsまた、その中身を確認していくと実際に使われているデバイスの傾向が推測出来る。例…
せっかくなのでeveryplayを使ってみた。everyplayは動画プレイを撮影・共有するサービスだ。撮影した動画は、こんな感じでTwitterやFacebookに埋め込んで共有できる。flappy chicken gameplay! https://t.co/EfsyLEprzC everyplay凄いな。こんな簡単に動画共…
FPSを下げるとUpdateが呼ばれる頻度や描画回数が減り、結果的にパフォーマンスが安定したり電池消費を超抑えたりすることが出来ます。電池消費を抑える事は、AndroidやiOSといったモバイル端末には重要です。 Unityのフレームレートを落とすには、Startとか…
Unityの4.3.4のiOSのWWWクラスでメモリリークが発生しているらしい。(もしかしたら4.3.3も)その為、Unity 4.3.4のiOSビルドではWWWを使う度にメモリが増加する不具合が発生している。 これの対処法としては、Xcodeが出力する WWWConnection.mm のUnityDest…
UnityはiOS向けに出力する際、xcodeプロジェクトとして出力します。このプロセスは正しくは以下の3つのプロセスに分割することが出来ます。UnityのiOS向けテンプレートプロジェクトを配置ソースコードを解析し幾つかのファイルを更新ユーザーが作成したファ…
今回は iOS実機 でスクリプトデバッグを実機で行う方法について書いておきます。Androidのデバッグ方法については、こちらをどうぞ。 tsubakit1.hateblo.jpさて、iOSのデバッグ方法は非常に面倒ですが、このような手順で行います。1.Unityからアプリをビル…
遅くなったが、[Unity]Unityでテクスチャを読む7つの方法の続き。4.5.6(PNGやJPEGを読む方法)についてはこちら。で、今回はネイティブ(OpenGL ESやDirectX11)で作成したテクスチャを取得する方法。結論を言ってしまうと、Texture2D.CreateExternalTextur…