TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Unity: Animationのeventをoffにしたい

やりたいこと

特定のシーンでのみanimationのeventを無効化したい。

やり方

Is it possible to turn off/suppress event calls in an animation at runtime? - Unity Answers

GetComponent<Animator>().fireEvents = false;

でeventがoffになります

備考

animationのeventを削除するという考えもできますが、削除してしまうと他のインスタンスと削除された状態が共有されてしまうので、別のシーンに移ってもanimationのeventが削除されたままになり、想定と違うことになるかもしれません。

var clips = animator.runtimeAnimatorController.animationClips;
foreach (var clip in clips) {
	clip.events = new AnimationEvent[0];
}

Applivで「スチームパペット - タワーディフェンス」のレビュー記事を掲載してもらえました。

個人ゲーム開発で「スチームパペット」というタワーディフェンスゲームをリリースしましたが、Appliv様からレビュー記事を掲載してもらえました!
(ありがとうございます!)

【すぐわかる!】『スチームパペット - タワーディフェンス』 - Appliv
f:id:TAKOYAKING:20210210133119j:plain

どんな感じでレビューしてもらえるか?

ゲームの特徴の画面をスクリーンショットや動きのあるgifを使ってぱっとみてゲームの良さが伝わるようなレビュー記事となっています。

また、ユーザーレビュー投稿機能がついているのでユーザーからのレビューがつくと、華やかに見えます

【Appliv】Digital Puppet - プログラミングパズル
過去作だとレビューがついているのでよりアプリの雰囲気が伝わるのではないでしょうか。

まとめ

個人開発者にはおすすめのレビューサイトです。
iPhone/Androidアプリのレビュー掲載について - Appliv
こちらに依頼窓口があるのでレビューどこに出したら良いかわからない方はこちらから出してみるのが良いです。

アプリ島 可愛いゲーム情報で「スチームパペット - タワーディフェンス」をレビューしてもらえました。

最近個人ゲーム開発で「スチームパペット」というタワーディフェンスゲームをリリースしました!

アプリ島 可愛いゲーム情報のしるるさんにレビューを書いていただけました!
apps-island.com


可愛いゲームしか取り扱っていないかと思ってましたが、全範囲OKのようですので個人開発者さんは新作ゲームを作ったら、依頼してみてはどうでしょうか?

どんな感じでレビューしてもらえるか?

実際にダウンロードして遊んでもらえて、注目の点についてわかりやすく丁寧に説明してもらえます。
説明文とそれに対する会話があり、読みやすい内容になっています。

そして最後に良かったところ・悪かったところをまとめてもらえます。
ユーザーだけでなく、開発者自身も役に立つのではないでしょうか!

まとめ

作ったらレビューを送ることになるかと思いますが、どこに出せば良いかわからない方は依頼してみてはどうでしょうか?
レビュー依頼の方法は以下からご覧ください。
apps-island.com

Unity: iOSエラー「Symbol not found: _OBJC_CLASS_$_GADAdLoader」

現象

Symbol not found: _OBJC_CLASS_$_GADAdLoader

UnityでiOS用にビルドしてiOSエミュレータでアプリが起動すると上記のエラーが出てアプリが起動せずクラッシュします。

環境

  • Unity 2020.2.2f
  • Google Mobile Ads Unity Plugin v5.4.0
  • Firebase各種 7.02

原因

GoogleMobileAds.xcframeworkを追加してあげればクラッシュしなくなり、広告が表示されます。
(この対応があっているかは不明です)

観察

一旦追加した後にxcodeのプロジェクトを削除して、もう一回生成すると、GoogleMobileAds.xcframeworkは追加されていない状態になるのですが、なぜかうまく動くようになりました。

いいのだろうか??

Unity: 再生すると「CommandInvokationFailure: Unity Remote requirements check failed adb forward tcp:7201 tcp:7201」のエラーが出る

現象

CommandInvokationFailure: Unity Remote requirements check failed adb forward tcp:7201 tcp:7201

Unity Editorを再生しようとすると上記のエラーが出ます。

解決策

CommandInvokationFailure: Unity Remote requirements check failed - Unity Answers
ここに書いてありました。
ProjectSettings > Editor > Unity Remote
のDeviceの項目にAny Android Deviceとなっている時にPCに一台もAndroidがつながっていないとエラーが吐かれるようです。

対処としては

のどちらかを行えばOKです

Google cloud skdをインストールするとERROR: gcloud failed to load: dlopenが出る

Google cloud skdをインストールすると以下のエラーが出てインストールはできるけどgcloudコマンドが正しく動きませんでした。

ERROR: gcloud failed to load: dlopen(PATH/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /PATH/.pyenv/versions/3.7.3/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so

解決策

pyenv 環境で Google Cloud SDK をインストールする - Qiita

export CLOUDSDK_PYTHON=$(which python2)

をzshrc(or bash_profile)に記述すると動きました。

pyenvを使っているとこのエラーに出あうみたいです。

Unity: UniRxのReactivePropertyで値が同じでも通知したい

状況

ReactivePropertyは値が同じ時は購読側に通知をしません。
通常はこれで問題ないのですが、通知して欲しい時がありました。

neuecc on Twitter: "UniRxだと通知飛ばす側がSetValueAndForceNotifyで強制的に飛ばせるって作りになってますね(定義側での挙動指定はできない)… "

使用方法

SetValueAndForceNotify

を使用すれば良いみたいです。

model.Count.Value = 1 // 同じ値は通知されない
// ↓
model.Count.SetValueAndForceNotify(1) // 同じ値でも通知される

必要だった状況

購読しているメソッド内部でifで分岐しており、メソッド外部の値を参照していました。

public void BindCount(int count) {
    if (this.level == 1) {
        // ~~~
    } else {
       // ~~~
    }
}

このメソッドではthis.levelというメソッド外部の値を参照していたため、this.levelが変わると、valueが同じでも、メソッドが再度実行されないといけない作りになっていました。
そのため、SetValueAndForceNotifyが必要となりました。

ですが、this.levelという値を参照をすべきではなく、ReactivePropertyをthis.levelとcountの2つの値で合成すべきでした。そうすれば、SetValueAndForceNotifyを使用する必要がなく、バグが引き起こされることもなかったと思います。

(なぜthis.levelを参照した作りにしたかというと、面倒だったので横着しました・・・(戒め))

結論

SetValueAndForceNotifyを使うか、合成したReactivePropertyを使用する。