2020/10/20

unityroomへのアップロードで更新が反映されない→解決メモ

解決までの経緯などをメモ

unityroomへのアップロード

  • 現在脱出ゲームを作っていて、まずは試作版をunityroomさんにアップさせてもらおうと思いUnityEditorにてWebGL形式でビルドしてアップロード。非公開で自分だけが見れる状態で動作確認OK、ここまで問題なし。

    ※登録やアップロードの手順はunityroomのサイトにて詳しく説明されています。
    フリーゲーム投稿サイト unityroom

unityroomへの再アップロード(アプリの更新)

    シークレットモードで解決はしたけれど

        • Chromeのシークレットモードで更新は反映されましたが、あくまで開発者側としての解決で、仮に遊んでくれているユーザが同様に「ゲームページを Shift + F5 でスーパーリロードする」でキャッシュクリアされなかった場合どうするのかと。
        • もう少し調べてみたところ、今回の自分の環境では[Ctrl]+[Shift]+[R]キーで更新が反映されることがわかりました。でも以下のサイトでは「ショートカットキーは[Ctrl]+[Shift]+[R]キー(または[Shift]+[F5]キー)だ。」と書かれていてunityroomで説明されている操作と同等のはずで、違いがわからないまま・・・。
          参考)
          Chromeには3種類の“再読み込み”があるって知ってた? Webページ上の画像などを最新の状態にするテク - 窓の杜

        一応の結論

        1. [Shift]+[F5]キー でのキャッシュクリアを試す。
        2. 反映されないようなら、(同等のはずだけどと思いながら)[Ctrl]+[Shift]+[R]を試す。
        3. それでもダメな場合のみ、Chromeのシークレットモード。

        以上メモでした。
        脱出ゲームの試作版を完成まで持っていけるよう開発頑張ります(完成したらunityroomさんで公開予定なので誰か遊んで)。

        2020/10/09

        Unityシーンビューのギズモ(Gizmo)について(表示/非表示/独自拡張)

        ギズモの表示/非表示/独自拡張

        Gizmosメニューでの表示/非表示

        現状

        • Unityのシーン上には様々なゲームオブジェクトが配置されます。そしてUnityエディタのシーンビュー上には、情報を補足するように様々なギズモ(Gizmo)も表示されています。で、時にはこんな表示になったりするわけです。うわああ

        • 普段なら「情報提供ありがとう」なんですが、上記のように「情報過多、操作の邪魔」となる場合も少なくない。今回はVery Animationでアニメーションを作ろうとしてたので余計なギズモが多過ぎる。ということで不必要なギズモを非表示にします。
        • 表示/非表示の制御はGizmosメニューから行います。大量のギズモの一覧から不必要なもののチェックを外す。カメラやライトの3Dアイコンはバーの値を最小にすることで非表示になります。

        3Dアイコンの非表示後

          • カメラやライトの3Dアイコンが非表示になってこんな感じに。URP版のSSU(サニーサイドアップ)ユニティちゃんの顔も見えるように。でもまだまだユニティちゃんのゲームオブジェクト周辺に、ジャラジャラとアクセサリーのような余計なものが表示されていますね。

          • 3Dアイコンは非表示になりましたが、ユニティちゃんまわりの表示はごちゃごちゃのままなので、余計なものを非表示にしたい。
          • この「余計なもの」の正体はユニティちゃんの揺れもののボーンやコライダの情報で、OnDrawGizmosメソッドやOnDrawGizmosSelectedメソッドをエディタから呼び出してもらってスクリプトでわざわざ描画してくれている、本来は「情報提供ありがとう」なものです。
          • 今回やりたいアニメーション制作時にはこれらの情報は必要ないので非表示にします。Gizmosメニューで対象スクリプトのチェックを外します。

          スクリプトによるギズモ描画の非表示後

              • するとこのように、スッキリ!
                これでアニメーションの製作作業が捗る、はず。

              コンポーネントを閉じることでの非表示

              Gizmosメニュー以外でも表示/非表示が可能

              • スクリプトによるギズモ描画はGizmosメニュー以外でも制御できます。方法は簡単で、描画しているスクリプトのコンポーネントを折りたたむだけです。わかってしまえば簡単なんですが、ギズモを非表示にするための操作としては、少しマニアックな気もします。
              • 今回の場合、対象となるのは以下のスクリプトコンポーネント。
                • UnityChanSSUゲームオブジェクト(プレハブ)に付いているSpringManager
                • 子のCOL_UpperChestゲームオブジェクトに付いているSpringCapsuleCollider
                • 子のCOL_Head_HairFゲームオブジェクトに付いているSpringSphereCollider
              • この方法は、同じスクリプトコンポーネントが複数のオブジェクトに付いていて、一部の描画だけを外したい場合に有効だと思います。今回の場合は一括で外したかったのでGizmosメニューから行いました。

              ギズモの独自拡張(追加)

              ギズモはオリジナルのものを追加可能

              • 前述したユニティちゃんに付加されたギズモのように、スクリプトからギズモの描画を追加することができます。Unityエディタ上で動作するツール系アセットも、必要に応じて独自のギズモを追加しています。ちょっとしたエディタ拡張やツール系のアセットを自作したい場合なんかは、特に重宝しそうです。
              • ギズモの描画を追加するのは簡単です。
                (いつもの)MonoBehaviour継承のスクリプトで
                • 常に描画したい場合は、OnDrawGizmosメソッドを実装
                • 対象のゲームオブジェクトが選択された場合だけ描画したい場合は、OnDrawGizmosSelectedメソッドを実装
                • UNITY_EDITORコンパイラディレクティブ使いましょう
              • 以下のサイトで、独自ギズモ追加のサンプルが紹介されています。
                参考)
                【Unity】OnDrawGizmos で表示できるギズモを7種類追加できる「GizmoExtensions」紹介 | コガネブログ


              ということで、スッキリしたシーンビューでVery Animationを使ってアニメーション制作したいと思います。



              2020/09/19

              UnityとAndroid StudioのAPKファイル渡しと、Google AdMob広告のテスト表示について

              UnityでのAndroidアプリ開発メモ

              (AdMob広告表示対応)

              Unity上での設定

              Android対応

              • Unity Hubにて、Android Build Support用のモジュールをインストールしておく。Android SDK & NDK Tools と OpenJDK

              • Unityエディタにて、File > Build Settings からプラットフォームをAndroidに切り替える。

              • File > Build Settings > Project Settings > Player Settings... から最低限Playerの Company Name と Product Name を設定しておく。以下は一例

              • 同じくPlayerの設定で64Bit対応を行う。
                Other Settings > Configration の Scripting BackEnd を IL2CPP に設定する。
                Target Architectures の ARM64 にチェックを追加する。


                Androidアプリの64Bit対応は必須となっている。
                参考)
                Android Developers - Google Play - 64 ビット アーキテクチャのサポート
              • 以上の設定で、 File > Build Settings > Build を実行すればAndroid向けのAPKファイル(.apk)が生成されます。
              • 必須ではありませんが、モバイル向けの開発にはUnity上でモバイル端末をシミュレートしてくれる「Device Simulator」が便利です。Window > Package Manager から追加できます。

                Google Admob 広告対応


                Android Studio上での設定

                • UnityでビルドしたAndroid向けのAPKファイルを、本家のAndroid Studioにて実行・確認することができます。
                • 「Profile or Debug APK」よりAPKファイルを選択し、エディタ上で実行すると以下のようなエミュレータ上にてアプリの動作が確認できます。
                   
                • エミュレートするモバイル端末はAVD (Android Virtual Device) Managerから追加インストールできます。

                • Android Studioのエミュレータ上ではGoogle Mobile Adsのテスト広告も表示されるので、実機無しで広告の表示位置などを確認するのに便利です。

                UnityとAndroid Studioのx86絡み問題 

                Unity

                  -----------------------------------------------------------

                  x86 ベースの Android サポートについて

                  Unity では、Android の ARM 64 ビットサポートを追加した一方で、x86 ベースの Android の使用状況の調査も行いました。その結果、x86 ベース Android デバイスの市場への供給は非常に限られたものであり、Unity の x86 ベース Android サポートの導入も非常に狭い範囲に留まったことが分かりました。このため、x86 ベースの Android サポートはバージョン 2019.2 をもって廃止となり、Unity 2019.3 をもって完全に削除されます。Unity 2018 の各バージョンと、2018.4 LTS における x86 ベース Android のサポートは、当該バージョンのライフサイクルが終了するまで維持されます。 

                  ----------------------------------------------------------- 

                  Android Studio

                     つまり、Android Studio上では x86 のシステムイメージの高速エミュレータを使用したいが、Unityが生成するAPKは x86アーキテクチャの対応は廃止しているので高速エミュレータが使えないジレンマ。かといってUnityの旧バージョンで x86アーキテクチャ出力するのでは何をしているのか本末転倒という・・・。

                    • Unityの「Device Simulator」の進化に期待する。まだプレビューだし。
                    • Android Studioの x86 以外のエミュレータ高速化に期待する。いや性質からいっても期待薄。

                    そんなところです。

                    2016/03/17

                    4Operations - 無料iPhoneゲームアプリ


                    ハイスピード脳トレパズル
                    High Speed Brain Training Puzzle
                    四則演算を駆使して新記録を目指そう!



                    ※音楽素材(BGM):魔王魂


                    特徴

                    シンプルなルール
                    簡単な操作
                    30秒のハイスピードバトル
                    四則演算がわかる方ならどなたでもすぐに楽しめます


                    掲載情報

                    Unity Technologies Japan様4Operationsをご紹介いただきました。
                    Appliv様4Operationsをご紹介いただきました。
                    AppLibrary様4Operationsをご紹介いただきました。
                    meeti【ミートアイ】様4Operationsをご紹介いただきました。
                    暗黒社 あんこちゃんの掘り出しAppレビュー様4Operationsをご紹介いただきました。

                    2016/01/31

                    [Unity3d] UnityAdsで開発中のゲームに動画広告を導入してみる

                    Unityでゲーム開発をしていて、マネタイズを考えた時に有力候補となるのが
                    UnityAdsですね。

                    特徴としては
                    ●Unity公式サポート
                    ●ユーザに動画広告を見てもらい、実際にアプリを
                     インストールしてもらうと報酬が発生
                    ●単純に動画広告を見てもらうタイプの他に
                     自アプリ内の報酬と連動させるリワードタイプも選択可能
                    ●導入が簡単
                    といったところです。

                    Unity製のゲームアプリ「クロッシーロード」での採用なんかが有名で
                    よく成功事例として紹介されていますね。

                    また、以前から導入は簡単だったと思うのですが
                    Unityのバージョン5.2以降ではさらに簡単になっています。

                    具体的な導入手順としては
                    UnityのエディタのメニューからWindow→Services
                    で表示されたServicesタブ内のAdsをオンにする


                    アメリカの法律?(詳細は以下参照)絡みでアプリが13歳以下を対象とするかの質問に答えます
                    アメリカ向けアプリ提供者(開発予定の方も)必読! 13歳以下ユーザーのプライバシーを守る米国の連邦取引委員会のCOPPAとは

                    設定項目は
                    ●プラットフォームの選択(iOS,Android)
                    ●テストモードを使用するか
                    です。

                    これでプラットフォームごとのGameID(広告キーに相当)が自動で割り振られます。
                    GameIDはAdvancedの欄で確認できます。

                    準備ができたのであとはコードから広告動画の表示を要求するだけです。
                    コードのサンプルはServices→Ads→CODE SAMPLESで表示されます。
                    リワード広告用のサンプルも用意されています。



                    シンプル版では
                    Advertisement.IsReadyメソッドで準備OKかをチェックして
                    OKならAdvertisement.Showメソッドで表示する。
                    それだけです。超簡単^^。
                    設定がUnityエディタ内で行えるように統合された結果
                    Advertisement.Initializeメソッドによる初期化も不要となったようです。
                    あとは必要に応じて結果ステータスのチェックなどを追加すればいいと思います。


                    実際にテストモードで実行したら以下のように表示されました。



                    この画面が表示されればとりあえずOKみたいです。
                    文字はみ出してるけど。。。OKなはず。


                    ちなみにプラットフォームをiOSかAndroidに切り替えておかないと
                    広告が表示されないです。
                    Advertisement.IsReadyメソッドがfalseを返してきます(経験談)。



                    モバイル用なので当然なのかも。


                    バナー広告をAdmobのメディエーションでコントロールしつつ
                    今回実装したUnityAdsの動画広告とウザくならない程度に
                    組み合わせられればと思ってます。


                    Unity Ads
                    How to use Unity Ads
                    unity3d-jp/unityads-help-jp Wiki · GitHub

                    2015/05/25

                    [Unity3d] Unityでエクスポート/インポートしたらシェーダーのエラーでオブジェクトがピンク色になった→解決メモ。

                    Unityで別のプロジェクトからオブジェクト(プレハブ)をエクスポートして
                    インポートしたらエラーが発生しました。

                    直ったのでメモしておきます。

                    まずインポート時に
                    「The imported type xx is defined multiple times」といったエラーがでました。
                    これはイメージエフェクトのソースがインポートにより重複したことが原因のようで
                    該当(重複した一方の)ソースをプロジェクトから削除したら直りました。

                    上記エラーが直ったら、今度はシェーダーでエラーがでていました。
                    このエラーのせいでオブジェクトがピンク色で表示されてしまいました。

                    - 未サポートのシェーダー( エラーのあるシェーダーなどコンパイルできないシェーダー ) は単純にデフォルトシェーダーに置き換えられ、画面にはピンク色で出力されます。 -

                    とのこと(公式ドキュメントより)。

                    シェーダーのエラーは参照している拡張子「.cg」のファイルが見つからないという理由。
                    たしかにエクスポートの内容には参照している「.cg」のファイルが含まれていませんでした。
                    エクスポート時の参照関係で「.cg」ファイルがうまく引っ張ってこれてないのかなーと思ったり。

                    なのでインポート元のプロジェクトから「.cg」ファイルを手作業で持ってきてみたら
                    シェーダーのエラーが無くなりました。なお、この時シェーダーをリコンパイルするためにリインポートを行っています。

                    以上でシェーダがちゃんと認識されてオブジェクトのピンク色も直りました。



                    2015/03/26

                    [Unity3d] Unity5でアプリ開発

                    Unity5でアプリ開発をしています。

                    ここでは、開発の際に参考にした情報などを掲載していきたいと思います。
                    少しずつ増やしていく予定です。


                    【開発】Unity5
                    のタブからアクセスできます。

                    2015/01/27

                    [Unity3d] UnityでDB(SQLite)してみる

                    Unityでデータベースを使ってみたいので少し調べてみました。
                    SQLiteを対象とすると、アクセスに必要となるアセットの候補がいくつかあります。

                    まずアセットストアでの検索結果は以下の通り。


                    たぶん本命は評価も高い SimpleSQL 25$ なんだと思う。
                    EasySQLite 15$ もある。評価は不明。
                    あとは無料だと SQLiter というのがあるみたい。

                    以下のまとめに SimpleSQL と EasySQLite についての記載があります。

                    【Unity】で【SimpleSQL】を使ってみたよ - NAVER まとめ


                    そんな中、気になったのが二つ
                    アセットストア外で配布されているフリーのものです。

                    ● SQLiteUnityKit

                    Unity/cocos2d-x開発メモ〜ブリブサーゲーム制作劇場〜
                    UnityでSQLite
                    Unity SQLiteUnityKitで日本語を使うときの注意

                    杏z 学習帳
                    UnityのSQLiteUnityKitのマルチバイト問題 (。・ω・。)


                    ● SqliteDatabase

                    テラシュールブログ
                    iOSビルドでSQLiteを使う


                    両方試してみたいところですが、まずは日本語の使用について言及がある
                    SQLiteUnityKit を使ってみたいと思います。

                    ※なんかソース見てみると
                     SqliteDatabase.csとDataTable.csで構成されていて
                     ほとんど同じものっぽい?。。。



                    2014/12/19

                    [Unity3d] ビットマップフォントを作成してUnityで使うメモ。

                    Unityでビットマップフォント使いますよね。
                    その際の手順メモ。

                    BMFont(Bitmap Font Generator) で NGUI 向けのビットマップフォントを作る方法 - 強火で進め

                    と言っても上記サイトに記載されている手順そのままなんですが。

                    まずビットマップフォントを作成。
                    BMFont (Bitmap Font Generator)というソフトを使用します。
                    ダウンロードは以下から。
                    BMFont - AngelCode.com


                    こんな感じで必要な文字を選択します。
                    使い方も前出のサイトに詳しく記載されています。


                    また、自作のビットマップフォントを利用する場合は
                    ShoeBox というソフトが良さそうです。
                    ShoeBox

                    ShoeBoxは他にも便利な機能が多く、評価も高いようなので近いうちに試してみようと思います。


                    以上


                    2014/12/10

                    マスコットアプリ文化祭2014に参加してみる。

                    マスコットアプリ文化祭2014への参加アプリを公開します。

                    フリーキック with ユニティちゃん


                    遊び方:ボールをマウスでドラッグするとキックできます。


                    このコンテンツの一部には『ユニティちゃんライセンス』で許諾されたアセットが使用されています。
                    音楽:魔王魂様



                    2014/12/09

                    [Unity3d]Web Playerで表示してみる(Google Driveで公開)

                    今までiOSのビルドしかやってなかった。
                    Web Playerで表示してみるテスト。

                    Web Player 表示テスト



                    ※プロジェクトはテスト用に作ってみた単純なものです。

                    [追記]
                    Google DriveでのUnity Web Playerの公開はできた。
                    自分的にポイントはGoogle Drive上で取得するリンクはhtmlのではなくフォルダのリンクという点。
                    フォルダのリンクのドキュメントIDに「/htmlの名称」を付加したらOKでした。

                    参考
                    【Unity】練習用のゲーム未満の何かをGoogleDriveで公開してみた - BTeck!



                    2014/11/27

                    [Unity3d] NGUIのアトラスのサイズが巨大化していたので修正したメモ。

                    Unityでのゲーム製作、NGUIで画面作成中なんですがアトラス(Atlas - Spriteを1つのテクスチャにまとめたやつ)のサイズが2048x2048に巨大化していました。

                    原因は試しで入れた横1024ピクセルの画像が残っていたため。
                    アトラスから削除したら無事に1024x1024に縮小されました。

                    いつもの gamesonytabletさんのサイト「ゲームは初心者にやさしく」の情報

                    ゲームは初心者にやさしく: NGUI 空白だらけのAtlasを解消する

                    によると「一般的なコツは2のべき乗サイズより1ピクセル小さいサイズにすること。たとえば1024x1024をターゲットにしているなら1023x1023にする。」ということなので今回は不要なので削除したけど1023ピクセルにしていたら巨大化は避けられたかも。

                    この1ピクセルの理由は不明だけど、もしかするとアトラスの「Padding (pixel between sprites)」の値のデフォルト設定が1ピクセルなのでこの分かも。


                    2014/08/29

                    [ツール] デスクトップキャプチャ。Windows PCで画面を録画するためのフリーでベストなソフトはどれか。

                    開発をしているとPC上で実行中の画面を録画したくなることがある。
                    そんな時、デスクトップキャプチャするソフトの出番だがいくつもあるソフトのうち
                    どれ使うべきか?

                    その答えが
                    無料でも高性能の3つのソフトウェア [フリーソフト・シェアウェア] All About

                    に載っているのだけど2012年の記事。

                    bandicam(バンディカム)
                    アマレココ
                    AG-デスクトップレコーダー
                    が挙げられている。

                    bandicam(バンディカム)は無料版時間制限あり、かつロゴが表示される。
                    アマレココはWindows XP/2000で、後継は有料のコーデック必須のよう。
                    ということで
                    AG-デスクトップレコーダーを使っています
                    ロゴの表示もないし使い方も簡単です。
                    もちろん範囲指定で一部の領域のみのキャプチャも可能です。

                    Vector 新着ソフトレビュー 「AG-デスクトップレコーダー」 - 高フレームレートでの録画も可能な、軽快動作のデスクトップ録画ソフト

                    AG-デスクトップレコーダー ダウンロードページ


                    2014/07/25

                    [iPhoneアプリ開発] iTunesConnectのログインにて「itc Your session has expired.」エラーが出てログインできない→解決メモ。

                    タイトルの通りiTunesConnectのサイト(itunesconnect.apple.com)でログインしようとしたら
                    「itc Your session has expired.」のメッセージが出てログインできなくなった。

                    セッションの期限切れ??

                    ググってみたら
                    apple.comのcookieを消すと良いっぽい。 

                    とあったので

                    Cookie とサイト データを管理する - Chromeヘルプ

                    の手順通りにChromeブラウザの該当Cookieを削除しました。



                    で、再度ログインしてみたところ、無事ログインできました。

                    メモおわり。