Notifications
bg
slip
TestEngineer - QA
Sapporo, Japan
0
Likes
3
Followers
0
Connections
All
Articles0
Games0
Showcases1
Column1
Jobs0
Jul 16, 2018 6:16 PM
画像

Jul 16, 2018 6:15 PM
UIのレイアウト崩れとレイヤーが不正になる現象のSSです。
上がNG、下がOK(私のマシン)
手順は以下になります。
■レイヤー不正
実行ファイル起動後、スキルを押下することでレイヤーが不正になります。
■UI崩れ
実行ファイル起動後
↓実行ファイル
http://firestorage.jp/download/2c0fe98ce171805b9c4eabdd4ac3fa6040d32a7a

slip
a month ago
ゆに丸1号試してみました。 ボクの環境だと実行してゲームが始まった瞬間敵がUIよりも手前に来ていました。うーん、、、やはりボクには実行環境によりUIの前後関係の結果に違いが出るというのは思い当たるフシがないですね。 もしかしたら描画順をスクリプトから変更しているかもしれません。下記のページで紹介されている値を変更している箇所がないか確認してみてください。 https://developer.aiming-inc.com/ux/ugui-layer/ あと Canvas が複数あるなら Sort Order(Order in Layer) を変更している箇所がないかも同様に確認してください。 https://docs.unity3d.com/jp/current/Manual/class-Canvas.html あと、複数解像度のことを考慮された作りになっていなかったらしく、私の環境だと全体的に大きく表示されて画面をはみ出していたので、そちらも今のうちに修正すると良いかもしれません。少し難しい内容ですが、いろんな環境で遊んでもらうためには必須の内容となっています! https://docs.unity3d.com/ja/current/Manual/HOWTO-UIMultiResolution.html 画面サイズについて修正されたか確認するためにはゲームビューの Aspect を変更します。現時点で変更してみると、はみ出したりする様子をみられるはず。 https://docs.unity3d.com/ja/current/Manual/GameView.html
ゆに丸1号さん コメントありがとうございます! 具体的な確認方法と対策助かります・・・! 【回答】 ・描画順  スクリプトから変更していません。 ・Canvasの数  1つだけです。 ・解像度  そもそも、複数の解像度に対応するつもりはありませんでした。  今回はWindows版としてリリースを考えていてアプリ自体の解像度は  固定しようと思っていたのですができていませんでした。 補足として、前回の投稿時にOS上でディスプレイ解像度を(800x600~1920x1080) に変えて確認していましたが、Unityのゲームビュー上でアスペクト変更、実行ファイル でのResolutionDialogでの解像度変更の確認を実施していませんでした。 ゲームビュー上でアスペクト変更をしたところ、UIの崩れ、レイヤー順序の不正な表示 が発生しました。 【対策】 上記を踏まえ、以下の2点を対策しました。 ①スクリプトにて、RuntimeInitializeOnLoadMethodによるアプリ解像度の固定 ②PlayerSettings→DefaultIsNativeResolutionのチェックを外す ※ビルドしたものが以下になります。 http://firestorage.jp/download/047456cf3afdc1e19a11b6d9c77f581c130c83d5
ゆに丸1号
a month ago
前回の投稿へのコメント見逃してました!! ゲームビューでの画面比率変換は手元では試されてたんですね。 >気になることとしてはUIの座標変換を関数を使わずに直接変更しているという点です。 こちらの意味がちょっとわからないです。が、こちらの環境だと実行した瞬間大きさや前後関係が狂っていたので座標云々は今回は関係ないような気も…
ゆに丸1号
a month ago
試してみました。 ボクの環境だと実行してゲームが始まった瞬間敵がUIよりも手前に来ていました。うーん、、、やはりボクには実行環境によりUIの前後関係の結果に違いが出るというのは思い当たるフシがないですね。 もしかしたら描画順をスクリプトから変更しているかもしれません。下記のページで紹介されている値を変更している箇所がないか確認してみてください。 https://developer.aiming-inc.com/ux/ugui-layer/ あと Canvas が複数あるなら Sort Order(Order in Layer) を変更している箇所がないかも同様に確認してください。 https://docs.unity3d.com/jp/current/Manual/class-Canvas.html あと、複数解像度のことを考慮された作りになっていなかったらしく、私の環境だと全体的に大きく表示されて画面をはみ出していたので、そちらも今のうちに修正すると良いかもしれません。少し難しい内容ですが、いろんな環境で遊んでもらうためには必須の内容となっています! https://docs.unity3d.com/ja/current/Manual/HOWTO-UIMultiResolution.html 画面サイズについて修正されたか確認するためにはゲームビューの Aspect を変更します。現時点で変更してみると、はみ出したりする様子をみられるはず。 https://docs.unity3d.com/ja/current/Manual/GameView.html
Jul 16, 2018 3:31 AM
こんにちは。作成してるRPG戦闘画面ですが、PCの環境によってUIのレイアウトが崩れる、レイヤーが不正になる場合があることがわかりました。
ビルドの設定?でなんとかなるのかなと思い、調査してます。また、環境別の動作確認で良い方法などあったら教えて欲しいです!よろしくお願いします!

↓実行ファイル
http://firestorage.jp/download/2c0fe98ce171805b9c4eabdd4ac3fa6040d32a7a

slip
a month ago
ゆに丸1号どうもですー。 環境によって、というのは画面サイズの違いによって挙動が異なる、ということですかね?ではなく、画面サイズは同じ別マシンでは挙動が変わることがある、ということでしょうか? 画面サイズ(解像度)の違いによってレイアウトが崩れるのはあると思いますが、レイヤーが不正になる?というのは心あたりがないですね…。手元にすぐに試せるWindowsの実行環境がないので後日ためしてみたいと思います! ただ、試してもボクの環境では上手く動いているのか判断できないので、意図した状態のスクリーンショットとうまくいかない場合の説明、可能であれば上手くいかない場合のスクリーンショットも欲しいですねー。 環境別の動作確認についてはちょっとわからないのでわかる方いたらコメントください!
ゆに丸1号さん コメントありがとうございます! 別マシンでレイアウトとレイヤーがおかしくなるということです。 自分のマシンでは解像度をいくつか変えて(800x600、1920x1080など)実行しましたが現象は発生しませんでした。 気になることとしてはUIの座標変換を関数を使わずに直接変更しているという点です。 現象の発生してるSSは別途上げます。(コメントに画像追加できない?んですね・・・)
ゆに丸1号
a month ago
どうもですー。 環境によって、というのは画面サイズの違いによって挙動が異なる、ということですかね?ではなく、画面サイズは同じ別マシンでは挙動が変わることがある、ということでしょうか? 画面サイズ(解像度)の違いによってレイアウトが崩れるのはあると思いますが、レイヤーが不正になる?というのは心あたりがないですね…。手元にすぐに試せるWindowsの実行環境がないので後日ためしてみたいと思います! ただ、試してもボクの環境では上手く動いているのか判断できないので、意図した状態のスクリーンショットとうまくいかない場合の説明、可能であれば上手くいかない場合のスクリーンショットも欲しいですねー。 環境別の動作確認についてはちょっとわからないのでわかる方いたらコメントください!
slip
posted a post
Jul 15, 2018 9:37 AM
・敵を揺らす
・全体攻撃を実装
iTweenがすごすぎ。

https://www.youtube.com/watch?v=LlvoCsRzu50

RPG戦闘画面@Unity
・敵揺らし ・全体攻撃 を実装しました。
https://www.youtube.com/watch?v=LlvoCsRzu50
Jul 13, 2018 6:14 AM
こんにちは。
複数の処理を時間をずらして実行したいのですが、うまくいかないので質問します。
現状、StartCoroutineを使用して、処理をずらしています。

■現状のコード
void Update(){
処理A
処理B
StartCoroutine(DelayMethod(1.0f, () =>
 {
 処理C
 }));
}

private IEnumerator DelayMethod(float waitTime, Action action)
{
yield return new WaitForSeconds(waitTime);
action();
}

これを更に、処理Bも時間をずらしたいと考え、処理Bに関しても処理Cと同様に
StartCoroutineを使用しましたが、処理の順番がバラバラになってしまいました。
(処理A→処理B→処理Cの順番で実行したい)

ご助言等いただけましたら幸いです。
よろしくおねがいします。

↓参考 Effekseerのアニメーション処理に上記のコードを使用しています。

https://youtu.be/jpiaSV1kt20

戦闘画面作成中@Unity
エフェクト表示を修正しました
https://youtu.be/jpiaSV1kt20
slip
a month ago
tamtamさん、Yuji YASUHARAさん 具体的な回答ありがとうございます! 教えていただいた例を参考にコードを修正したところ、 各処理を想定したタイミングで実行することができました。
tamtam
a month ago
・・・と書いたら @Yuji YASUHARA も答えてた!
tamtam
a month ago
たとえばこんな感じの流れだと、やりたいことに合致してますかね? void Update () { if (Input.GetKeyUp(KeyCode.Space)){
Debug.Log("Process A"); StartCoroutine(SpritProcess(2.0f)); }
} IEnumerator SpritProcess(float WaitTime) { Debug.Log("Process B"); yield return new WaitForSeconds(WaitTime); Debug.Log("Process C"); yield return new WaitForSeconds(WaitTime); }
Yuji YASUHARA
a month ago
処理A 処理B 処理C はきっと、特定の条件で発動するんですよね。 if (attacked) { 処理A 処理B 処理C } みたいな。 この複雑度になると、DelayMethod のような便利関数で対応するのは難しくなると思います。 ぼくなら、 if (attacked) { StartCoroutine(AttackEffect()); } としておいて IEnumerator AttackEffect() { 処理A yield return WaitForSeconds(1f); 処理B yield return WaitForSeconds(1f); 処理C } としますかね。(処理Aは、AttackEffectの中でも直前に呼ぶでもどちらでも良いと思います) 注意しないといけないのは、遅らせた処理の実行中にまた開始条件が成立する場合です。遅延処理は便利でもあり、難しくもあります。 if (attacked) { if (m_EffectCoroutine != null) { StopCoroutine(m_EffectCoroutine); } m_EffectCoroutine = StartCoroutine(AttackEffect()); } こんな感じで、すでに実行中のコルーチンがあったら停止しておくべきです。 そして停止すると、いずれかのyield文でぶった切られるので、それで問題が起きないか想像しておく必要があります。もし問題が予想されるのであれば、停止しないのが正しい対応になります。 遅延処理は便利でもあり、難しくもあります! ここの m_EffectCoroutine はメンバ変数として private Coroutine m_EffectCoroutine = null; のように宣言しておきます。
Jul 8, 2018 12:37 AM
iTweenを使ってダメージの表現を修正しました。
iTweenは短い行数で書けてとても良いですね!

https://www.youtube.com/watch?v=MTBNEDFAHwg

戦闘画面作成中@Unity
ダメージの表示をiTween使って修正しました。 iTween便利!
https://www.youtube.com/watch?v=MTBNEDFAHwg
ゆに丸1号
a month ago
何かが起こった時に何かしらリアクションがあるのは見てて気持ちいいですね。今後も進捗報告楽しみにしてます!
tamtam
a month ago
いいですね! 私も昔はiTweenによくお世話になっていました! また開発進捗あったら教えてくださいね!
About Me
ゲーム作ったりイラスト描いたりしてます。 unityでRPGを作成中です(^^) ↓ゲーム作成のまとめ https://twitter.com/kjmch2s/status...
とあるメーカー
会社員
no
no
See more
Certifications (0)
Import
See all
slip's liked projects (3)
Following (7)
Followers (3)
Following Companies (0)
Not following anyone yet