質問: Unityでビルドしたゲームを4K解像度でプレイしようとすると起動できないようにしたい わかる方回答お願いします
回答: なるほど レイアウトがばらばらになってしまうためでしたか。 解像度の計算は少しややこしいので提示頂いたコードだけで全て対応するのは難しいのですが、 レイアウトが崩れるということでしたら、ルートのキャンバスにアタッチされているCanvas Scalerというコンポーネントの設定を、 インスペクタから以下のように設定することで4K解像度でもUIを崩さずに表示することはできないでしょうか。 ``` UI Scale Mode : Scale With Screen Size Reference Resolution : X 1920 Y 1080 ← ここを調整することで目的のサイズに調整します。 Screen Match Mode Expand Reference Pixels Per Unit : 100 ``` !イメージ説明 公式リファレンスはこちら https://docs.unity3d.com/ja/2018.1/Manual/script-CanvasScaler.html それでもうまく表示できない等ありましたらコメントをいただければと思います。 (スクリーンショットがあるとよりよいです。) 以下はちょっとして老婆心なのですが、質問の仕方について、4Kを禁止したいというのは本質から大分ずれてしまっているかと 思います。 現象 : 4KにしたらUIが崩れた 目標 : UIを崩さず表示したい 手段 : 4Kを禁止する という状況かと思いますので、最も表面的な4K禁止にフォーカスして質問するのは、正確な回答が付いたとしても要望の「UIを崩さず表示したい」を達成できない可能性があります。 (一定以上の解像度ならスキップという回答などはまさに、UIを崩れないようにしたい問題を解決できていませんよね。) 質問サイトでの質問に限らず、常に目的、目標、手段を分けて考えるようにしましょう。そして表層の思考に囚われないようにしましょう。 今回は目標を聞けたので手段に対する回答よりもより本質に近づいた回答ができたと思うのですが、 それでもまだ目的を伺えていないので、もしかしたら本来の目的に対して、UnityでUIを構築してアプリを開発する。という手段自体がずれている可能性もあります。 などと書いてしまいましたが、ここは質問と回答が集まることによって情報資源を貯めていく場所だとも思っているので、 質問者の目的が達成できなくても、あとから検索でたどり着いた同じ問題を抱えた人を救うこともあるのも面白いところですね。