質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2436閲覧

Unityのゲーム内で画質設定を実装したいです。

Satokingy

総合スコア8

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

ダイアログ

ユーザーにウィンドウやボックス等の形で個別で表示されるフォームであり、ユーザーに判断を促す目的で表示される。ユーザーが見逃す事のないよう、操作中のフォーム上にポップアップして表示される。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2020/10/07 07:18

実現したいこと

ボタンを押して品質を変更できる設定を解像度ダイアログからではなく、ゲーム内に実装したいです。

Windows向けにビルドするのでマウスで変更できるようにしたいです。

検索しても、ディスプレイ解像度ダイアログから品質を変更する方法しか見つからないため、困っています。
まだ初心者なので、わかりやすく説明していただけると非常に助かります。

###使用しているUnityのバージョン
2020.1.7f1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Screen.SetResolution(int width,int height, true)

で解像度(画面の大きさ)を変更できます。

widthは横の大きさ、heightは縦の大きさです。

3つ目の引数はフルスクリーンかどうかを指定します。
ここがtrueじゃないとウィンドウサイズが変わってしまいます。

###追記

ボタンを押したとき(ButtonコンポーネントもしくはEvent Triggerで)Controller(下スクリプト)から処理を呼び出すようにします。

C#

1public class Controller : MonoBehaviour 2{ 3 //1080pのボタンをクリック 4 public void Clicked1080() 5 { 6 Screen.SetResolution(1920, 1080, true); 7 } 8 9 //... 同じように720p, 360pを設定していく 10}

投稿2020/10/07 07:28

編集2020/10/23 22:42
Yukirr4_

総合スコア728

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Satokingy

2020/10/07 13:03

わかりやすく説明していただきありがとうございます。 もしよろしければ、Screen.SetResolution(int width,int height, true)をどこに書けば良いのか教えていただけないでしょうか。 新しくC#スクリプトを作成し、void start()の中に入れるとPlay時に Assets\setreso.cs(8,36): error CS1001: Identifier expectedとエラーが出て進めません。 よろしくお願いいたします。
Yukirr4_

2020/10/07 13:19

上のやつは実際に解像度を変えるときに行うので、それまでにwidthとheightに値を代入しておく必要があります。 マウスで変更 の意味がよくわからないのですが、SliderやInput Fieldを使って値を変更し決定時に上の処理を行うようにすればいいです。
Satokingy

2020/10/07 13:46

Buttonをクリックして解像度を変更することは可能でしょうか? クリックするとButtonにTextで書いてある画面解像度に変更できるButtonを3つ並べたいと思っています。(1080p, 720p, 360pの三通りに解像度を変更したいためです) C#についての知識は全くないので、どの文字の間にScreen.SetResolutionの命令を入れれば良いのかも教えていただけると助かります。
Yukirr4_

2020/10/07 13:52

追記しました。
Satokingy

2020/10/07 14:16

ありがとうございます。 Controllerという名前でC#スクリプトを作成し、追記に書いてある分をコピーアンドペーストしてみましたが、ログにerror CS1002: ; expectedと出てきてPlaymodeに入れません。対処方法をご存じであれば教えて下さい。
Yukirr4_

2020/10/07 14:18

どこかの行の文末に「;」がないと言っています。
Satokingy

2020/10/07 22:25

すみません。Controllerという名前のスクリプトはもう作ってあったので、1080という名前にしましたが、error CS1001: Identifier expectedと出ます。Controllerのまま実行しても同じ結果となります。 https://drive.google.com/file/d/1SlpGRZllAxMLORL3n8zRTWrhaFj7tLHW/view?usp=sharing 文法の誤りなどあればどこが間違っているのか教えていただけると幸いです。
Yukirr4_

2020/10/07 22:35

コードはファイルとしてではなく、質問本文に記入してください。
U_U_Jenkins

2020/10/08 05:16

コーディングツールで文法エラーは強調されるはずですけど。エラー文を翻訳してエラーの意味を理解してからエラー文をそのまま貼り付けて調べれば大抵の原因は理解できると思いますが。
Satokingy

2020/10/08 06:25

コーディングツール(Visual Studio 2019)を使っても問題は見つかりませんでしたと出ます。 本文に記載しました。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class 1080 : MonoBehaviour { //1080pのボタンをクリック public void Clicked1080() { Screen.SetResolution(1920, 1080, true) } //... 同じように720p, 360pを設定していく }
Satokingy

2020/10/08 07:02

ありがとうございます。 先頭を文字にしてみましたが、;が足りないとUnityで指摘されます。Visual Studioではエラーは出ません。2018.4.27f1で試してみても同じエラーが出ます。考えられる原因などありましたら教えていただけると嬉しいです。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class P1080 : MonoBehaviour { //1080pのボタンをクリック public void Clicked1080() { Screen.SetResolution(1920, 1080, true) } }
U_U_Jenkins

2020/10/08 07:04

Screen.SetResolution(1920, 1080, true) ;;;;;;;;;;;;;;;; ないじゃないですか
Satokingy

2020/10/08 07:42

ありがとうございます!;を追加したらPlaymodeに入れました。 サポートしてくださったYukirr4_様、gloeingpuzzle様、ありがとうございました!
Yukirr4_

2020/10/08 07:43 編集

解像度の変更がうまくいったか試してみてください。
Satokingy

2020/10/08 07:47

解像度の変更もうまくいきました。 親身になって教えて下さり、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問