質問するログイン新規登録

Q&A

解決済

1回答

8739閲覧

webGLでビルドしたゲームをフルスクリーン表示するとオブジェクトの位置がずれて余白の上に表示される件(エディターでは起きない)

hosituka

総合スコア15

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2020/12/25 10:06

編集2021/01/17 13:26

0

0

①Unityroomに投稿したゲームを自機が動くシーンでフルスクリーン表示すると敵の沸く位置がずれて余白の上に表示される
※フルスクリーンしなければ想定した位置に敵がちゃんといる
②タイトル画面の話になりますがUnityroomのWebG設定の表示サイズを横1280縦720にしたのにフルスクリーン表示にするとはみ出てるやつが描画されます。ただしタイトル画面の方は位置がずれたりはしてないぽい
(具体的にはタイトル画面の背景にある黒色に近いでかい戦闘機の先端が表示されてしまう)
※フルスクリーンにしなければ表示させたくないとこも表示されない

③あと上の余白の色だけ青色なのは使用なのでしょうか
投稿したUnityroom<**https://unityroom.com/games/hositukage-mu2**>
※一応限定公開にしております

誰か解決案くださるとありがたいです。

開発環境表記

2020年の1.14f1
プラットフォームはwebGL
詳細設定表記

Unityエディターのキャンバスの設定は横1280 縦720です
unityroomのwebgl設定も上記の情報と同じです


①回答者からCanvasのインスペクタビューにある、Canvas Scaler(script) > UI Scale Modeが
Constant Pixel Sizeになっていると似たようなことが起きるらしくScale With Screen Sizeに変更してみると治ると言われましたが既にScale With Screen Sizeにはなっておりました

②webGLから別のプラットフォームを試してみましたが変わりませんでした
別のプラットフォーム名は(pc,Mac&Linux Standalone)
※ビルド前の場合はゲームビューを拡大しても想定した位置にキャラがちゃんといます
ビルド設定

イメージ説明
titlescene

イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

イメージ説明
イメージ説明
mainscene

イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

イメージ説明

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

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

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

KS-_-SK

2020/12/25 12:28

Canvasのインスペクタビューにある、Canvas Scaler(script) > UI Scale ModeがConstant Pixel Sizeになっていませんでしょうか。 なっているのなら、Scale With Screen Sizeに変更してみてください。 実際、私も同じようなことがあり、Scale With Screen Sizeにしたところ、改善したことがありました。
hosituka

2020/12/26 00:33

回答ありがとうございます確認してみたところ Scale With Screen Sizeにはすでになっておりました。
KS-_-SK

2020/12/26 00:47

unityroomで試しに作った2Dゲームをアップロードし、画面のサイズを指定すると、フルスクリーンの時にオブジェクトのいちが変わっていました。 画面のサイズを指定しないで、やってみるとどうでしょうか
hosituka

2020/12/26 05:55

すみません画面のサイズを指定しない設定が出来る項目はどこにあるのでしょうか?
KS-_-SK

2020/12/26 06:38 編集

>②webGLから別のプラットフォームを試してみましたが変わりませんでした >別のプラットフォーム名は(pc,Mac&Linux Standalone) Unityのエディターでゲームビューを拡大すると、同じ現象が発生するということでしょうか。 >すみません画面のサイズを指定しない設定が出来る項目はどこにあるのでしょうか? 上記②から、意味ないと思いますが、 1、Unityroomでアップロードしたゲームの設定を開く 2、WebGL設定を選択する 3、表示サイズ(幅)・表示サイズ(高さ)項目を空欄にする でできます。 ※こちらも参考にしてみてください:https://pengoya.net/unity/ui-fix/   https://qiita.com/tetr4lab/items/a227f78bcfab9d6ef082
hosituka

2020/12/26 06:57

Unityのエディターとはビルドするまえのことを差しているのでしょうか?もしそうなら前述した<試したこと②は>プラットフォーム変えたあとにビルドして実行をしたあとの結果がプラットフォームを変えるまえと比べてみると結果が変わらないと言う意味で言いました。 ※ビルド前の場合はゲームビューを拡大しても想定した位置にキャラがちゃんといます 画面のサイズを指定しない設定が出来る項目のやり方を教えてくれたのでちょっと試してみますあと紹介してくださったサイトも見てきます その結果は試してから記述しときます
KS-_-SK

2020/12/26 07:00

>ビルド前の場合はゲームビューを拡大しても想定した位置にキャラがちゃんといます 私の勘違いでした。なら先程コメントした方法も有効かと思います。
hosituka

2020/12/26 08:23

①表示サイズ(幅)・表示サイズ(高さ)項目を空欄にするをやると勝手に値を入れられてしまいます 勝手に入れられる値は横960 縦540 ②※こちらも参考にしてみてください:https://pengoya.net/unity/ui-fix/  https://qiita.com/tetr4lab/items/a227f78bcfab9d6ef082 キャンバススケーラのスクリーンマッチモードがExpandになっていなかったのでそれに変えたのですが結果は変わりませんでした
KS-_-SK

2020/12/26 08:33

文字だけでは判断できないので、とりあえずタイトル画面にあるオブジェクト全てのインスペクタビューを載せてください。そこから判断してみましょう
hosituka

2020/12/26 09:54

まさかそこまでしてくれるとは本当に申し訳ないです 一応スクリーンショットで貼り付けました
KS-_-SK

2020/12/26 10:42

画像を拝見する前ですが、unityroomだけなのか気になるので、 1、File > Build and Runを選択 2、ブラウザが起動し、ゲームが出てきたら、右下の拡大する(?)ボタンを押してください。 3、フルスクリーンになると思いますが、ここでもはみ出したりするか を行い、結果を教えてください。
KS-_-SK

2020/12/26 10:58

確率は低いですが、以下のことを試してみてください Canvasの Canvas > Render ModeをScreen Splace - Overlayにする
hosituka

2020/12/26 11:50 編集

やってみました 結果ですがUnityroomでフルスクリーンにすると起きる症状がフルスクリーン前から全部起きていました あとCanvasの Canvas > Render ModeをScreen Splace - Overlayにしてみましたが変わりませんでした
KS-_-SK

2020/12/26 11:19 編集

>やってみました結果ですがフルスクリーンにすると起きる症状がフルスクリーン前から全部起きていました ということはunity側の設定の問題ですね Canvasの Canvas > Render ModeをScreen Splace - Overlayにする は試されましたか? Gameビューの解像度を1270*820みたいな設定にせず、16:9のような設定でもう一度 1、File > Build and Runを選択 2、ブラウザが起動し、ゲームが出てきたら、右下の拡大する(?)ボタンを押してください。 3、フルスクリーンになると思いますが、ここでもはみ出したりするか をやってみてください http://inter-high-blog.unity3d.jp/2017/08/22/resolutionchange/も参考になるかと
hosituka

2020/12/26 13:06 編集

①Canvasの Canvas > Render ModeをScreen Splace - Overlayにする は試してみましたがキャンバスの子オブジェクトじゃないのがキャンバスの裏に行っただけで結果は変わりませんでした。 ②<Gameビューの解像度を1270*820みたいな設定にせず、16:9のような設定でもう一度>をやってみましたが 結果ですがBuild and Runを選択したあとUnityroomでフルスクリーンにすると起きる症状がフルスクリーン前からでることはなくなったのですがフルスクリーンにするとやっぱりはみ出てしまいます ③http://inter-high-blog.unity3d.jp/2017/08/22/resolutionchange/も参考になるかと をやってみたのですがSettings for WebGLを選択したあとResolution and Presentationの中にあるResolutionで自分がしたい解像度に変更したあとにDisplay Resolution DialogをDisabledにしようとしますが見つかりませんでした
KS-_-SK

2020/12/26 13:19 編集

>Display Resolution DialogをDisabledにしようとしますが見つかりませんでした すみません、言い忘れてましたが、この記事はPCビルドの設定で行っているので、この項目がありますが、WebGLの場合は、この項目はありません。 そのため、この項目は飛ばしてみてください https://norm-nois.com/blog/archives/5288も参考になるかもです
hosituka

2020/12/27 09:22 編集

https://norm-nois.com/blog/archives/5288も参考になるかもです Settings for WebGLを選びDefault Canvas Width*とDefault Canvas Height*を自分がしたい解像度に変更しそれBuild and Runしてみましたが結果は変わりませんでした  (フルスクリーンにしなければこれらの症状は起きませんので治らなかったらUnityroomのWebGL設定でフルスクリーン表示を許可しないようにでも自分はいいような気がします)なんかここまで教えてもらって自分で解決できないとなると申し訳なさがでてきた
KS-_-SK

2020/12/27 09:37

そこまでしてもダメなら、おそらくWebGL特有の症状でしょう。 ゲーム自体はうまく動くなら、質問者様がおっしゃっている通り、UnityroomのWebGL設定でフルスクリーン表示を許可しないようにするのが一番だと思います。 的確な解決とはなりませんでしたが、最後まで頑張ってください!
hosituka

2020/12/27 09:43

ここまで教えていただきありがとうございました。 ゲーム作りをこれからも引き続き頑張ります
guest

回答1

0

自己解決

Unityroom質問掲示板で同じ質問をしたら回答がきました
リンク内容
どうやらフルスクリーンにすると解像度がそのフルスクリーンにした人の画面サイズの解像度に変更されるからみたいです。
自分の場合は画面の一番上からyがなんちゃらxがなんちゃらと言う敵が沸くという感じではなく自分の解像度だと上から沸いているようにみえたため画面の真ん中を中心にしてxがなんちゃらyがなんちゃらと指定してしまいました。(敵の沸き方の場合)多分そういう感じだと思います間違っていたら指摘お願いします

投稿2021/02/10 07:06

編集2021/04/24 04:08
hosituka

総合スコア15

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問