質問編集履歴
9
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,18 +18,19 @@
|
|
18
18
|
が、パーティクル初回表示のときのみ0.4秒ぐらいのフリーズが起きています
|
19
19
|
初回表示の時だけなので、パーティクルのデータロードによるフリーズと考えています
|
20
20
|
|
21
|
-
ステージ構成は下の画像のように非常に多くの情報をプレハブデータで取り扱っているため
|
21
|
+
ステージ構成は下の画像のように非常に多くの情報をプレハブデータで取り扱っているため多くのメモリを使用している
|
22
|
+
という要素もフリーズの原因かと考えています(ステージもパーティクルと同じくInstantiateで配置しています)
|
22
23
|
(丸がHumanoidのメッシュ 四角がパーティクルのデータと考えてください)
|
23
24
|
](760ee47a3d9c4514f0ec0dc0cd74ea3a.jpeg)
|
24
25
|
|
25
26
|
上記ソースの
|
26
27
|
public GameObject VFXObj;
|
27
28
|
この変数に情報を代入している時点でキャッシュメモリーにロードされているという認識でしたが
|
28
|
-
|
29
|
+
違うということになりそうです
|
29
30
|
|
30
31
|
データロードによるフリーズをなくす方法をさがしていますが
|
31
|
-
みなさんならどうやってパーティクルを表示していますか?
|
32
|
+
もしくは、みなさんならどうやってパーティクルを表示していますか?
|
32
|
-
みなさんの方法と照らし合わせて上記ソースを添削してい
|
33
|
+
みなさんの方法と照らし合わせて上記ソースを添削していくことが解決の1つでもあると考えています
|
33
34
|
|
34
35
|
よろしくお願いします
|
35
36
|
|
8
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
下記ソースでパーティクルを表示しております
|
2
|
-
|
2
|
+
```ここに言語を入力
|
3
3
|
using System.Collections;
|
4
4
|
using System.Collections.Generic;
|
5
5
|
using UnityEngine;
|
@@ -13,13 +13,19 @@
|
|
13
13
|
Instantiate(VFXObj, pos, Quaternion.identity);
|
14
14
|
}
|
15
15
|
}
|
16
|
+
```
|
16
17
|
|
17
18
|
が、パーティクル初回表示のときのみ0.4秒ぐらいのフリーズが起きています
|
18
|
-
初回表示の時だけなので、
|
19
|
+
初回表示の時だけなので、パーティクルのデータロードによるフリーズと考えています
|
19
20
|
|
21
|
+
ステージ構成は下の画像のように非常に多くの情報をプレハブデータで取り扱っているためその要素もフリーズの原因かと考えています
|
22
|
+
(丸がHumanoidのメッシュ 四角がパーティクルのデータと考えてください)
|
23
|
+
](760ee47a3d9c4514f0ec0dc0cd74ea3a.jpeg)
|
24
|
+
|
20
25
|
上記ソースの
|
21
26
|
public GameObject VFXObj;
|
22
|
-
の時点でキャッシュメモリーに
|
27
|
+
この変数に情報を代入している時点でキャッシュメモリーにロードされているという認識でしたが
|
28
|
+
ちがうということになります
|
23
29
|
|
24
30
|
データロードによるフリーズをなくす方法をさがしていますが
|
25
31
|
みなさんならどうやってパーティクルを表示していますか?
|
7
修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
パーティクル初回表示のときのみフリーズが起きてしまう
|
body
CHANGED
@@ -1,24 +1,32 @@
|
|
1
|
-
やりたいこと
|
2
|
-
|
1
|
+
下記ソースでパーティクルを表示しております
|
3
2
|
|
4
|
-
フリーズの原因を調査した結果以下のことがわかりました
|
5
|
-
1 フリーズは必ず決まった場所で起こる
|
6
|
-
2 データの重いプレハブが画面に表示される直前にフリーズが起きる(fpsの低下ではありません)
|
7
|
-
3 一度そのプレハブが画面内に表示されたらフリーズが起きない
|
8
|
-
以上3点を考慮して、表示しようとしているプレハブデータをロードしてしまうことによって
|
9
|
-
|
3
|
+
using System.Collections;
|
10
|
-
|
4
|
+
using System.Collections.Generic;
|
5
|
+
using UnityEngine;
|
11
6
|
|
12
|
-
|
7
|
+
public class VFXViewer : MonoBehaviour
|
8
|
+
{
|
13
|
-
|
9
|
+
public GameObject VFXObj;
|
14
|
-
上記スクリプトによってプレハブをすでに配置している状態で(添付画像のようなプレハブが無数に配置されたデータになります)
|
15
|
-
これによってすべてのプレハブデータがキャッシュに保存されていると認識していますがどうも違うようで。
|
16
10
|
|
17
|
-
聞きたいこと
|
18
|
-
|
11
|
+
public void SplashVFX(Vector3 pos)
|
12
|
+
{
|
19
|
-
|
13
|
+
Instantiate(VFXObj, pos, Quaternion.identity);
|
14
|
+
}
|
15
|
+
}
|
20
16
|
|
21
|
-
|
17
|
+
が、パーティクル初回表示のときのみ0.4秒ぐらいのフリーズが起きています
|
18
|
+
初回表示の時だけなので、おそらくパーティクルのデータロードによるフリーズと考えています
|
22
19
|
|
20
|
+
上記ソースの
|
21
|
+
public GameObject VFXObj;
|
22
|
+
の時点でキャッシュメモリーにパーティクルデータが格納されているはずですが違うようで
|
23
|
+
|
24
|
+
データロードによるフリーズをなくす方法をさがしていますが
|
25
|
+
みなさんならどうやってパーティクルを表示していますか?
|
26
|
+
みなさんの方法と照らし合わせて上記ソースを添削していければと思います
|
27
|
+
|
28
|
+
よろしくお願いします
|
29
|
+
|
30
|
+
|
23
|
-
追記 下の画像はプロファイラー結果です
|
31
|
+
追記 下の画像は初回パーティクル発生時のプロファイラー結果です
|
24
32
|

|
6
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,5 +20,5 @@
|
|
20
20
|
|
21
21
|
よろしくお願いいたします。
|
22
22
|
|
23
|
-
追記 プロファイ
|
23
|
+
追記 下の画像はプロファイラー結果です
|
24
24
|

|
5
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,4 +18,7 @@
|
|
18
18
|
表示の都度、プレハブロードがされてしまう場合、その解消方法はなんでしょうか?
|
19
19
|
なぜ読み込んだはずのプレハブが再度ロードしてしまうのか?
|
20
20
|
|
21
|
-
よろしくお願いいたします。
|
21
|
+
よろしくお願いいたします。
|
22
|
+
|
23
|
+
追記 プロファイル結果です
|
24
|
+

|
4
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,12 +9,13 @@
|
|
9
9
|
フリーズしている可能性が高いという結論に至りました
|
10
10
|

|
11
11
|
|
12
|
-
プレハブ
|
12
|
+
プレハブのロードはゲームがスタートする前に
|
13
13
|
(GameObject)Resources.Load
|
14
|
-
上記スクリプトによって
|
14
|
+
上記スクリプトによってプレハブをすでに配置している状態で(添付画像のようなプレハブが無数に配置されたデータになります)
|
15
|
-
こ
|
15
|
+
これによってすべてのプレハブデータがキャッシュに保存されていると認識していますがどうも違うようで。
|
16
16
|
|
17
17
|
聞きたいこと
|
18
18
|
表示の都度、プレハブロードがされてしまう場合、その解消方法はなんでしょうか?
|
19
|
+
なぜ読み込んだはずのプレハブが再度ロードしてしまうのか?
|
19
20
|
|
20
21
|
よろしくお願いいたします。
|
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,16 +5,16 @@
|
|
5
5
|
1 フリーズは必ず決まった場所で起こる
|
6
6
|
2 データの重いプレハブが画面に表示される直前にフリーズが起きる(fpsの低下ではありません)
|
7
7
|
3 一度そのプレハブが画面内に表示されたらフリーズが起きない
|
8
|
-
以上3点を考慮して、表示しようとしているプレハブデータ
|
8
|
+
以上3点を考慮して、表示しようとしているプレハブデータをロードしてしまうことによって
|
9
9
|
フリーズしている可能性が高いという結論に至りました
|
10
10
|

|
11
11
|
|
12
|
-
|
12
|
+
プレハブデータのロードはゲームがスタートする前に
|
13
13
|
(GameObject)Resources.Load
|
14
|
-
上記スクリプトによって一括で
|
14
|
+
上記スクリプトによって一括でプレハブを配置しています(添付画像のようなプレハブが無数に配置されたデータになります)
|
15
15
|
この時点ですべてのプレハブデータがキャッシュに保存されていると認識していますが違うようで。
|
16
16
|
|
17
|
+
聞きたいこと
|
17
|
-
|
18
|
+
表示の都度、プレハブロードがされてしまう場合、その解消方法はなんでしょうか?
|
18
19
|
|
19
|
-
プレハブデータがキャッシュに保存されないケースってあるんでしょうか?
|
20
20
|
よろしくお願いいたします。
|
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,9 +9,12 @@
|
|
9
9
|
フリーズしている可能性が高いという結論に至りました
|
10
10
|

|
11
11
|
|
12
|
+
ステージデータのロードはゲームがスタートする前に
|
13
|
+
(GameObject)Resources.Load
|
12
|
-
ス
|
14
|
+
上記スクリプトによって一括でオブジェクトプレハブを配置しています
|
13
|
-
|
15
|
+
この時点ですべてのプレハブデータがキャッシュに保存されていると認識していますが違うようで。
|
14
|
-
また、ステージの大きさはCubeのScaleを5000倍にしたぐらいの大きさという要素も原因の一つかと考えています
|
15
16
|
|
17
|
+
今回のケースだと読み込んだプレハブデータすべてをキャッシュにロードされることが解決策になると考えています
|
18
|
+
|
16
|
-
|
19
|
+
プレハブデータがキャッシュに保存されないケースってあるんでしょうか?
|
17
20
|
よろしくお願いいたします。
|
1
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,7 +5,8 @@
|
|
5
5
|
1 フリーズは必ず決まった場所で起こる
|
6
6
|
2 データの重いプレハブが画面に表示される直前にフリーズが起きる(fpsの低下ではありません)
|
7
7
|
3 一度そのプレハブが画面内に表示されたらフリーズが起きない
|
8
|
+
以上3点を考慮して、表示しようとしているプレハブデータのロードによって
|
8
|
-
|
9
|
+
フリーズしている可能性が高いという結論に至りました
|
9
10
|

|
10
11
|
|
11
12
|
ステージデータのロードは(GameObject)Resources.Loadによって一括でオブジェクトプレハブを配置しています
|