(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!超可愛い実写猫の戦略的オンラインカードゲーム!PC&スマホ両対応!

Download on the App Store Google Play で手に入れよう

Unity公式の無料パッケージMobile Notificationsを使ってローカルプッシュ通知を実装する方法 【Unity】【iOS】【Android】

この記事でのバージョン
Unity 2021.3.4f1
Mobile Notifications 2.0.2


はじめに

今回はiOSやAndroidのスマホ端末でサーバーを介さないプッシュの通知、

いわゆるローカルプッシュ通知をUnityで実装する方法の紹介です!



Mobile Notificationsの導入と準備

続きを読む

ビルドに関する情報を見やすくし、ビルド時間やビルドサイズの改善に役立つUnity公式の無料パッケージ Build Report Inspector【Unity】

この記事でのバージョン
Unity 2019.4.40f1


はじめに


今回はBuild Report Inspectorというビルドに関する情報をInspectorで見やすくする

Unity公式の無料パッケージの紹介です!


ちなみに以前似たような機能を持つ有料アセットBuild Report Toolを紹介しましたが、


https://assetstore.unity.com/packages/tools/utilities/build-report-tool-8162?aid=1101lGoY


ざっくり比べると以下のような感じでした。

  • Build Report Inspector : 無料だけどデータが増えると重い
  • Build Report Tool : 有料だけど見やすく使いやすい



なお、本記事に出てくるアセットは以下のものを使っています。

https://assetstore.unity.com/packages/3d/environments/sci-fi/cyberpunk-cyber-city-120137?aid=1101lGoY



導入

続きを読む

Unity製ゲームのパフォーマンスを最適化する方法を体系的に学べる『Unity Performance Tuning Bible』をサイバーエージェントが無料公開&オープンソース化!【Unity】【最適化】

はじめに

ちょっと前にあのサイバーエージェントが『Unity Performance Tuning Bible』という

Unity製ゲームのパフォーマンスを最適化する方法を体系的に学べる書籍(のPDF)

なんと無料公開&オープンソース化しました!




ちなみにダウンロードはGitHubのリリースページからpdfの所をクリックするだけ。


試しに軽く読んだのですが、とにかく読みやすく分かりやすく

目次が綺麗に整理されてるので気になった一部だけ読むみたいなのもしやすいです。


中身も原因の切り分け方やツールの使い方という初歩的な事から、


アセット設定、物理演算、UIなどの各種項目における注意点、


DOTweenやUniRxと言った有名なサードパーティ製ツールの話まで


本当に多種多様かつ、汎用的な内容となっています。


Unity初心者はもちろん、ある程度Unityに慣れた人でも知らない項目はあると思うので、

Unity開発者の全員にオススメ出来る良書でした。


基本パフォーマンス改善は後からやる事が多いですが、

やはり先に重くなりそうな事を知っておくと後々楽になる事が多いですからね。



特定のEditorWindowが開いてるかどうか確認したい時はHasOpenInstances【Unity】【エディタ拡張】


この記事でのバージョン
Unity 2021.3.4f1


はじめに

Unityのエディタ拡張には簡単にウィンドウを作る事が出来るEditorWindowがあります。

using UnityEditor;

/// <summary>
/// EditorWindowのサンプル
/// </summary>
public class EditorWindowSample : EditorWindow {
  
  //=================================================================================
  //初期化
  //=================================================================================
  
  //ウィンドウを開く
  [MenuItem("Tools/Editor Window Sample")]
  private static void OpenWindow() {
    GetWindow<EditorWindowSample>().Show();
  }
  
}


今回はそのEditorWindowが開いてるかどうかを判定する方法です。


HasOpenInstances

続きを読む

Unreal Engine マーケットプレイスのアセットをUnityで使ってもいいと規約で許可されてるし、Unity Asset StoreのアセットをUEで使う事も許可されてる【Unity】【UE】【アセット】

はじめに

タイトル通りなのですが、実はUnreal Engine マーケットプレイスで販売されているアセット

一部を除きUnity等の他のエンジンでも利用する事が出来ます。

これらの製品は、他のゲームエンジン (例: Source や Unity など) で使用できますか?

エピック ゲームズによって制作されていないマーケットプレイスの製品は、他のエンジンで利用することができます。適切なクレジット表記や発生するロイヤリティの支払いなどを行うよう確認をお願いします。ただし、マーケットプレイスから購入した製品は、それを改変してマーケットプレイスで販売することはできません。


逆にUnity Asset Storeで販売されているアセット

一部を除きUE等の他のエンジンでも利用する事が出来ます。

アセットの全部または一部は、Unityに限らずゲームエンジンやオーサリングソフトウェアなどに取り込んで、ゲームもしくはインタラクティブメディア、ノンインタラクティブメディアへ組み込むためにお使いいただけます。


ただし、3Dモデル等はそのままでは使えず変換の必要がある場合がありますし、

Unityのサイトにある通り、基本的に自力&自己責任で使う必要があります。

この変更はパブリッシャーのサポート範囲を広げるものではありません。Unity以外でお使いの場合はご購入者の責任においてお使いください。




Unity製iOSアプリのアイコンを後からユーザが選択して変えられるようにする【Unity】【iOS】

この記事でのバージョン
Unity 2021.3.4f1


はじめに

iOSアプリはアイコンを後から動的に変更する事が出来ます。


ただ、残念ながらUnityは(おそらく)この機能に対応していないので、

今回は以下のAppIconChangerUnityというパッケージを使って

Unity製iOSアプリのアイコンを変えられるようにしてみようという感じの記事です。




なお、アイコンのABテストをする際は

先にテスト用のアイコンをビルドに含めておく必要があるため、そんな時にも使えます。





AppIconChangerUnity

続きを読む

OdinのLabelTextを使えばInspector上の名称を変更できるし、変数やメソッドを指定して動的に変更する事も可能【Unity】【Odin】

この記事でのバージョン
Unity 2021.3.4f1
Odin - Inspector and Serializer 3.1.2


はじめに

今回はInspectorを圧倒的に使いやすくするOdin

Odin - Inspector and Serializer | Utilities Tools | Unity Asset Store


LabelTextというInspector上の名称を変更できる属性の紹介です!


LabelText

続きを読む

App StoreでiOSアプリのスクリーンショットや動画、アイコンのABテスト(最適化)する方法【iOS】

はじめに

App StoreではiOSアプリのスクリーンショットや動画を複数パターン表示して、

どちらがよりインストールに繋がるかという最適化、いわゆるABテストが簡単に行えます。

しかもアプデの必要もありませんし、費用もかかりません。


ちなみにアイコンのABテストも同様の方法で行えますが、

以下の方法等でアイコンを先にアプリ内に含めておく必要があります。





ABテストのやり方

続きを読む

MidjourneyやStable Diffusionなどのお絵描きAIで呪文(単語, Prompt)を決めるためのコツや便利なサービス【AI】

はじめに

以前、お絵描きAIことMidjourneyの紹介をしましたが、



それから色々とMidjourneyを試していたら



月$30の高速作成分は余裕で使い切り、合計1300枚以上の画像を描いてもらってました……!


やはり100%思い通りの画像を作るというのは厳しいですが、

ある程度はコントロール出来るようになってきたので、

どのように呪文(単語, Prompt)を決めているかのコツや

呪文を決めるために使える便利なサービスをまとめてみました!


目次

  • はじめに
  • 目次
  • 先人達から学ぶ
  • 単語単体をAIがどう捉えてるかを理解する
  • 描きたいモノとそれに関連する英単語や具体的な文章を調べる
  • 他の人が使っている呪文を検索
  • 画像から呪文を逆に生成する
  • 最後は試行回数を重ねて奇跡の一枚を待つ


先人達から学ぶ

続きを読む

UniRxのUpdateAsObservable().Firstを使ったらシーン遷移時やエディタ停止時にInvalidOperationException: sequence is emptyというエラーが出る場合の原因と対処法 【Unity】【UniRx】


この記事でのバージョン
Unity 2021.3.4f1


はじめに

UniRxUpdateAsObservableを使う事で簡単にUpdateをストリーム化する事ができ、

さらにFirstを組み合わせる事で条件が揃った時に1度だけ処理をするという実装が簡単に出来ます。

private bool _flag = false;

private void Start() {
  //_flagがtrueになった時になんか処理する
  this.UpdateAsObservable()
    .First(_ => _flag)
    .Subscribe(_ =>{
      /*なんか処理*/
    });
}


しかしその条件が揃って処理が行われる前に

シーン遷移やUnityエディタを停止してオブジェクトが破棄されると以下のようなエラーが出ます。

InvalidOperationException: sequence is empty
UniRx.InternalUtil.ExceptionExtensions.Throw


今回はそういう場合の原因と対処法です!


原因と対処法

続きを読む