20220115のUnityに関する記事は4件です。

UnityでAndroid向けにbuildして実機で動作確認する方法

基本的な内容ですが個人のメモとして残します。 環境 Windows10 Unity Hub 2.4.5 Unity 2020.3.25f1 Android Studio 2020.3.1 Unity側のbuild準備(SDK等の設定) Android向けの環境構築方法については以下の記事を参照。 Android側の設定を開発者モードにする Unity側の設定が終わったら次は Android 側の設定を行います。 機種によって異なりますが、 「設定」 > 「システム」 > 「端末情報」 に行くと「ビルド番号」という項目がありますので、7回ほどタップします。 すると「開発者モードになりました」というようなメッセージがでます。 Android側でUSBデバッグモードにする 続いては、Android側でシステムの画面まで戻ると、 「開発者向けオプション」というような項目が追加されていますので、 項目をタップして画面遷移します。 少し下の方へスクロールすると、「USBデバッグ」という項目がありますので、 ONにします。 PCとAndroidをつなぐ PCとAndroidをUSBでつなぎます。 ※USB使用モードは「ファイルを転送」にする必要があります。 (上から下にスワイプして出る通知バーに項目があります) Unity側でBuild And Run あとは、Unity側でしっかり設定をしていれば「Build And Run」をして実機側で開発中のアプリが起動されます。 (少し時間がかかります)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unity Asset "Mobile Cross Promo"の使い方 (和訳)

Unity Asset作家Gleyさんによる有料アセット達のDocumentationを和訳するシリーズです。今回は「Mobile Cross Promo」というアセットです。 こちらのセットにも同梱されています。 このアセットでできること 簡単にクロスプロモーション(別の自作アプリへリダイレクトする広告)が設置でき、自作アプリへの流入量を増やすことができる。 自前のサーバー上に構成ファイルを設置しておくことで、広告画像をいつでも動的に変更できる。 縦持ち(Portrait)・横持ち(Landscape)用に解像度を自動調整できる。 プロモーションしたいアプリ1個に対して、複数枚の広告画像をセットしておくことができる。 広告画像の出現頻度を以下のようにカスタマイズできる: いちど広告画像がクリックされたら、以後その広告画像を非表示にする。 既定の広告表示回数を超えたら、以後その広告画像を非表示にする。 1回のセッション(アプリの起動)につき、1回だけ広告画像を表示させる。 広告画像はオフライン用のファイルとしてキャッシュされるので、ネットワーク接続がない時でも広告を表示させることができる。 AndroidとiOSに対応。どちらのOSでも同じコードのままビルドできる。 初期設定 このアセット "Mobile Cross Promo" をインポートする。 Window > Gley > Cross Promo を開き、設定ウィンドウを開く。 Cross Promo Settings ビルドしたいプラットフォームをAndroid/iOSから選んでチェックする 下記の各欄を埋める。 項目名 説明 備考 入力例 Game to promote 広告したい自作アプリの名前 アプリ名が変更されたら広告画像は(非表示になっていても)再度表示されるようになる Peperoni Pepe Store link 広告したいアプリのStore上でのURL Testボタンを押すと、リンクが正しいかどうか確認できる https://play.google.com/store/apps/details?id=com.gley.pepperonipepe Promo image link 自前サーバー上の広告画像のURL 拡張子は.jpgか.pngのみ有効。Add/Removeボタンで画像枚数を増減できる http://gley.mobi/CrossPromo/PepePromoImage1.jpg Generate Fileボタンを押すと、ここまで設定した内容がJSONファイルに保存される。このJSONファイルは Assets\GleyPlugins\CrossPromo\PromoFiles という場所に生成される。ファイル名はiOSなら AppStorePromoFile.txt、Androidなら GooglePlayPromoFile.txt になる。 このJSONファイルは直接編集してはいけない。変更がある時は必ず、設定ウィンドウから入力すること。 External file URLの欄には、このJSONファイルをアップロードするための、モバイルからアクセス可能なWebサーバーのURLを入力する。(例:http://gley.mobi/CrossPromo/GooglePlayPromoFile.txt ) このURL上に先程生成したJSONファイルを忘れずにアップロードしておく。また、ファイルへの読み取りアクセス権が許可されていることを確認する。 Display Settings 下記の各欄を埋める。 項目名 説明 Nr. of times to show 広告画像をn回表示したら以後非表示にする。0なら以後ずっと表示される Stop showing after click trueなら、広告画像が1度でもクリックされたら以後非表示にする。 Multiple displays/session falseなら、セッション(アプリ起動)1回につき1回だけ広告画像が表示される。trueなら、広告画像はコード内で呼ばれる度に毎回表示される。 Saveボタンを押す。上記の内容を変更するたびに毎回押すのを忘れずに。 Script作成 広告を自動的に表示させる // 外部ファイルと広告画像がダウンロードされ次第、すぐに広告を表示させるメソッド: CrossPromo.Instance.AutoShowPopupWhenReady(); コールバックつき // 外部ファイルと広告画像がダウンロードされ次第、すぐに広告を表示させるメソッド(コールバックつき): CrossPromo.Instance.AutoShowPopupWhenReady(PopupClosed); // ユーザーが広告画面を閉じた時に呼ばれるコールバック: private void PopupClosed(bool imageClicked, string imageName) { Debug.Log("Popup closed"); if (imageClicked) { Debug.Log("Image name " + imageName + " was clicked"); } } 引数名 説明 imageClicked 広告がクリックされたらtrue、広告が閉じられたらfaluseを返す。 imageName クリックされた広告画像の名前を返す。 広告をリクエスト通りに表示させる 初期化 // 広告画像をロードし、ロード完了時にコールバックを呼び出すメソッド: // AutoShowPopupWhenReady()を使用している場合、このメソッドを使う必要はない。 CrossPromo.Instance.Initialize(InitializationComplete); // 広告画像のロード完了時に呼ばれるコールバック: private void InitializationComplete(bool success, string error) { if (success) { Debug.Log("Load Success"); } else { Debug.Log(error); } } 引数名 説明 success trueならエラー発生なし。falseならエラー発生あり。 error エラーメッセージ 設定した通りに広告を表示する // 設定画面で設定した出現頻度で広告表示するメソッド: // このメソッドが呼ばれる前にInitializeメソッドを呼び出しておく必要あり。 CrossPromo.Instance.ShowCrossPromoPopup(); 設定を無視して広告を表示する // 設定画面で設定した出現頻度をすべて無視して広告表示するメソッド: // このメソッドが呼ばれる前にInitializeメソッドを呼び出しておく必要あり。 CrossPromo.Instance.ForceShowPopup(); 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

charge effectっぽいものをshader graphでつくってみる (SGL003)

シェーダグラフで毎日1つなんか作って見る運動 完成品 集中線がなんか回転しながら伸びたり縮んだりするようなエフェクトを作りたかった 全体像 つくりかた 極座標をθとrに分解して、θ似関してgradient noiseをかける. rは範囲内に収まるように適当にremapする addして合成すると集中線っぽいものができる 集中線のθは時間のsin波から適当に0-1で回転をつけて合成する. smoothstepで線をくっきりさせるが、その閾値を時間sin波で波立たせることで、集中線の大きさの強弱をつける. あとはBaseColorに接続して完成! code
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Unity】GameObjectを設置したのにGameビューで表示されない

Unityの概念がよくわからないまま触っていて、とても単純なことですが分かるまでとても困ったので記事にしてみました。 現象 Canvasの中にGameObject(CubeやSquareなど)を配置して、 Sceneビューではちゃんと確認できるんですが Gameビューで見ると何も表示されていませんでした。 原因 カメラビューの中に入っていませんでした(恥ずかしい) UnityにおけるカメラとUIという概念 Unity超初心者だったため、UnityのカメラとUIという概念すらわかっていませんでした。 カメラ Unityにはカメラという視点があり、 2D横スクロールのマリオなどですと 常に操作キャラクターのマリオを追っかけていますが、 あれはカメラがキャラクターを中心に視点を動かしているからです。 もちろん 視点から外れたものは画面には写りません 。 UI 一方、視点が動いても常に表示されるものもあります。 例えば、2D横スクロールのマリオですと、 視点は動いていても画面上部に「制限時間」や「コイン枚数」 などが 固定で表示 されています。 視点に関係なく 常に画面上に表示させたいものはUIで実装 します。 試しに、Hierarchy の中で右クリック > UI の中を確認すると、 Button や Text などありますがこれらが画面上に固定で表示されます。 Canvasの大きさをカメラの範囲内にいい感じに収める方法 ただ、Canvas を作成した時は無駄に大きく作られます。 こんな感じ。 左下にある物凄く小っっっっっっっちゃいのがカメラです。 。。。。。。。。。。。。。。。 無駄に Canvas が大きい。。。 これを Canvas がカメラの範囲内にいい感じに収めるようにしたいとおもいます。 設定方法 まず、Hierarchy にある Canvas をクリックしてアクティブにします。 そして、Inspector > Canvas > Render Mode を 「Screen Space - Camera」 にします。 あとは、 Render Camera に Main Cameraをアタッチ します。 すると Canvas のサイズがいい感じに収まってくれ、 Gameビューに切り替えてもちゃんと表示されています。 以上、ご拝読有難うございました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む