原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【アセット紹介】スマホゲーム開発では必須級のアセット「SRDebugger - Console & Tools On-Device」

挨拶

人生で最大級避けたいことに「飲み会の席での挨拶」を挙げている話下手な皆さんこんにちは。なぜ日本の会社って飲み会の席で「新人だから」「異動するから」「一年の締めくくりだから」と何かと理由をつけて人に挨拶をさせようととするのか疑問です。果ては「久しぶりだから」なんて理由で参加者全員が何か一言求められるとか意味わからん。日本特有のこういった悪習は早く廃れて欲しい。

 

展示会

5月、6月と二か月続けて制作中のリズムゲーム「Under A Groove」がインディーゲーム展示会への出展が決まりました。

youtu.be

どちらの展示会も公式から(出展リストの)発表がされていないので明言はできませんが、このペースだと去年よりも多くの展示会に参加できそうで非常に有難いです。
今回参加の決まった展示会はどちらも年始の段階では想定に入れてなかった展示会で「夏場まではどこにも出展できそうにないなぁ」とか思っていたので、ここに来て急に5,6月のスケジュールが埋まって非常に驚いています。
(まぁ、出展を狙っていた地元開催の展示会が思っていたのとは違う形態で参加できなかった、というハプニングもありますが)
両展示会ともに私の地元からは遠方での開催となるので、旅費がかさむのが痛い所ですが、その分、多くの人の目に触れる機会が得られるという事なので気合を入れて開発を進めたいと思います。

 

SRDebugger

Youtubeでゲーム制作関連の動画を漁っていると「Unityで開発をする際に必ず導入すべきアセット」として紹介されていたので気になって購入してみました。

Unityでゲーム開発をしていると偶に「Unityエディタ上は発生しないのに実機では発生するバグ」というものに遭遇します。
これは非常に厄介でエディタ上で再現しないのでログからバグの解析を進めることになるのですが、ログも長大になるとバグの発生したタイミングのログの場所を探すに一苦労ですし、AndroidやiOS用のスマホゲームの場合なら、そもそもログファイルを探してPC上で確認するのも大変になると思います。
また、性能関連(急に動作が遅くなるなど)の調査については、スマホ向けPC向けに限らず動作時のプロファイラーをリアルタイムで確認したい所です。そういった

  • 実機でコンソールログを確認したい
  • 実機でプロファイラーを確認したい

上記のような機能を手軽に実現出来るアセットが今回紹介する「SRDebugger - Console & Tools On-Device」です。

 

導入

アセットストアから購入後、ProjectManagerからプロジェクトにインポートするだけで導入可能です。特に必要となるセットアップ作業はありません。
導入後はシーンを実行するとGameビュー内の左上に見えない矩形が配置されるようになるので、その箇所を三回クリック

すぐにSRDebuggerを起動することが出来ます。

SRDebuggerの画面を表示すると最初は使用しているPCのシステム(CPUとかOSとか)が表示され、左横のメニューからコンソールやプロファイラーに切り替えます。

また、右上のピンアイコンをクリックして×アイコンをクリックすると現在表示しているSRDebuggerの画面が縮小表示され、ゲーム動作を確認しながらSRDebuggerの画面をチェックできます。

 

これらの操作は実機上でも行えるのでゲームを製品として正式にリリースする際には当然ながらOFFにする必要があります。

製品版ビルド時にはWinodw > SRDebugger > Settings WindowからSRDebuggerの設定画面を開き

TrigerModeをOFFにするかDevelopment Builds Onlyなどにしておきましょう。

 

オプション機能

オプション画面には導入直後は何も表示されません。オプション画面にはデバッグとしてゲーム実行中に変更したい値を後述するSROptionクラスに定義して、この画面で値を変更します。
例えば、ゲーム全体のタイムスケールを0にして一時停止を確認したり、シーン中のライトをON/OFFしたり、特定のスクリプトで参照しているプロパティの値などを随時変更したい場合などに使用します。

オプション画面からシーン中のライトのON/OFFをしたりする

 

オプション画面に表示する値はSROptionsクラスのpartialクラスとして作成します。SROptionsクラスはAssetes/StompyRobot/SRDebuggerのSROptionフォルダに格納されているので、それと同じフォルダにpartialクラスを作成することをお勧めします。

というのもAssembly Definitionを利用してアセンブリを分割している場合、SROptionsクラスをAPI化して参照設定する必要があり、その際にはSROptionsクラス本体とpartialクラスは同じフォルダ内に存在する必要があるからです。

アセンブリを分割していない場合はどの場所にでもpartialクラスは作成可能ですがSRDebuggerはプロジェクト内のどこからでも参照されるので、後々混乱がないように同じ場所に作成しておくのが吉だと思います。

 

オプション機能を使ったデバッグについては長くなるので次回に紹介したいと思います。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。