質問編集履歴

14

2020/12/31 14:32

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,10 @@
136
136
 
137
137
 
138
138
 
139
+
140
+
141
+
142
+
139
143
  フレームレートが落ちている際もcpu、gpuの使用率は共に20%を上回らないようです。
140
144
 
141
145
  パソコンの設定のせいなのかこれでは本当の負荷が測れていない可能性がありそうな気がする。

13

2020/12/31 14:32

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -133,3 +133,9 @@
133
133
  ManagedHeapが大きいのでそもそもコードに問題がある可能性が大きいです。
134
134
 
135
135
  しばらく色々と軽量化してみます……。
136
+
137
+
138
+
139
+ フレームレートが落ちている際もcpu、gpuの使用率は共に20%を上回らないようです。
140
+
141
+ パソコンの設定のせいなのかこれでは本当の負荷が測れていない可能性がありそうな気がする。

12

2020/12/31 14:31

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -105,3 +105,31 @@
105
105
  しかし前のマップを消すとメモリ使用量は改善されたが前に試した方法に比べて劇的に改善されているかというとそんなことはなかった。
106
106
 
107
107
  オブジェクトプールについても検証してみる。
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ オブジェクトプールの方針で試してみましたが、こちらは非常にメモリ使用量が高くなりました。
116
+
117
+ フレームレートは安定して入力遅延は抑えられたものの良くない方法だと結論づけざるを得ないように感じます。
118
+
119
+
120
+
121
+ 結果として最初のやり方が一番安定しているように思いました。
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ 最初のやり方の際には正直マップが小さかったです。
130
+
131
+ そのことを加味していなかったせいか改めて試すとこちらでもメモリ使用量が大きいです。
132
+
133
+ ManagedHeapが大きいのでそもそもコードに問題がある可能性が大きいです。
134
+
135
+ しばらく色々と軽量化してみます……。

11

2020/12/31 14:04

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
File without changes

10

2020/12/31 13:10

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -93,3 +93,15 @@
93
93
  マップそのものをプレハブ化して呼び出すアプローチを試してみる。
94
94
 
95
95
  呼び出す際もインスタント化とオブジェクトプールの2つを試してみる。
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ インスタンス化ではフレームレートが低下し入力が遅延するなどゲームプレイを阻害し、メモリ使用量もかなり増えていた。
104
+
105
+ しかし前のマップを消すとメモリ使用量は改善されたが前に試した方法に比べて劇的に改善されているかというとそんなことはなかった。
106
+
107
+ オブジェクトプールについても検証してみる。

9

2020/12/31 13:10

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -91,3 +91,5 @@
91
91
 
92
92
 
93
93
  マップそのものをプレハブ化して呼び出すアプローチを試してみる。
94
+
95
+ 呼び出す際もインスタント化とオブジェクトプールの2つを試してみる。

8

2020/12/31 13:00

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,13 @@
81
81
  そして上の仕様でプロファイラーを注視しつつ作っていきますがアドバイスがあればぜひとも教えて下さい。
82
82
 
83
83
  よろしくお願いします。
84
+
85
+
86
+
87
+
88
+
89
+ ### さらに追記
90
+
91
+
92
+
93
+ マップそのものをプレハブ化して呼び出すアプローチを試してみる。

7

2020/12/31 12:59

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
File without changes

6

2020/12/30 21:34

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -20,9 +20,9 @@
20
20
 
21
21
 
22
22
 
23
- マップが5つとするなら5つはそれぞれマップにつき一つのTileMapオブジェクトと環境物、敵、ギミックなどで占められていると仮定する。
23
+ ステージが5つとするなら5つはそれぞれマップにつき一つのTileMapオブジェクトと環境物、敵、ギミックなどで占められていると仮定する。
24
24
 
25
- ・それに加えてそれぞれのマップをつなぐ通路的な小さなマップを用意する。
25
+ ・それに加えてそれぞれのマップをつなぐ通路的な小さな空間を用意する。
26
26
 
27
27
  ・普段は現在いる一つのマップ以外の4つのオブジェクトは非アクティブにしておく。
28
28
 

5

2020/12/30 21:34

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -70,10 +70,14 @@
70
70
 
71
71
  それからUse By Compositeを使うかどうか悩んでいます。
72
72
 
73
- デフォルトのタイルマップコライダーを無効化してコンポジットコライダーを利用するプロパティのようですがコンポジットがタイルマップコライダーよりも軽さが優れているというような記述は見受けられませんでした。
73
+ デフォルトのタイルマップコライダーを無効化してコンポジットコライダーを利用するプロパティのようですが
74
74
 
75
- とりあえず使わずにやってみます。
75
+ [2D タイルマップアセットワークフロー](https://blogs.unity3d.com/jp/2018/01/25/2d-tilemap-asset-workflow-from-image-to-level/)
76
76
 
77
+ 上記記事の記述によると最適化されるようなので今のところ使うつもりです。
78
+
79
+
80
+
77
- そして上の仕様でプロファイラーを注視しつつ作っていきますがアドバイスがあればぜひとも教えて下さい。
81
+ そして上の仕様でプロファイラーを注視しつつ作っていきますがアドバイスがあればぜひとも教えて下さい。
78
82
 
79
83
  よろしくお願いします。

4

誤字修正

2020/12/30 18:55

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ・普段は現在いる一つのマップ以外の4つのオブジェクトは非アクティブにしておく。
28
28
 
29
- ・マップの切れ目近くで次のマップのテクスチャなどのデータをロードし、マップに侵入する通路で次のマップのオブジェクトを全て一斉に(一部ずつにしたほうがいいでしょうか?)アクティブにする。
29
+ ・マップの切れ目近くで次のマップのテクスチャなどのデータを非同期でロードし、マップに侵入する通路で次のマップのオブジェクトを全て一斉に(一部ずつにしたほうがいいでしょうか?)アクティブにする。
30
30
 
31
31
  ・次のマップに入れば通路を除く前のマップは非アクティブにしてデータもアンロードする。
32
32
 
@@ -47,3 +47,33 @@
47
47
 
48
48
 
49
49
  どうぞよろしくお願いいたします。
50
+
51
+
52
+
53
+ ### 追記
54
+
55
+
56
+
57
+ 手前で色々と調べた結果、上の仕様に加えて
58
+
59
+
60
+
61
+ ・マップをアクティブにした際環境物やエネミーなどのオブジェクトはコンポーネントのenableを切った状態にして呼び出す。
62
+
63
+ そして近くに入ったらenableをtrueにする。(この際スプライトレンダラーの方はそもそもカメラに入っていない場合は切らなくていいですか?)
64
+
65
+
66
+
67
+ というのを加えてみることにしました。
68
+
69
+ 色々と調べましたが正直あまり定まらず、僕が好きな2Dゲームでは(シームレスです)シーン移動のようなものはなく、あるマップのはしから落ちると別のマップの地面に叩きつけられるようなこともあったので一つのシーンにマップを集めていいのではないかと思い至った次第です。
70
+
71
+ それからUse By Compositeを使うかどうか悩んでいます。
72
+
73
+ デフォルトのタイルマップコライダーを無効化してコンポジットコライダーを利用するプロパティのようですがコンポジットがタイルマップコライダーよりも軽さが優れているというような記述は見受けられませんでした。
74
+
75
+ とりあえず使わずにやってみます。
76
+
77
+ そして上記の仕様でプロファイラーを注視しつつ作っていきますがアドバイスがあればぜひとも教えて下さい。
78
+
79
+ よろしくお願いします。

3

2020/12/30 18:15

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  しかしこの仕様に添って提案・アドバイスを行う必要は全くなく、他によい実装があればどうかご教授くださいませ。
10
10
 
11
- 叩き台として使えそうなら加筆、修正のほどよろしくお願いいたします。
11
+ よろしくお願いいたします。
12
12
 
13
13
 
14
14
 

2

2020/12/30 09:58

投稿

cushionA
cushionA

スコア90

test CHANGED
@@ -1 +1 @@
1
- Unity2Dでシームレスマップを実装する方法
1
+ Unity2Dでシームレスマップを実装する方法について
test CHANGED
@@ -42,6 +42,8 @@
42
42
 
43
43
  メモリ管理に自分なりに気を遣った結果ですが、至らぬ点、あるいは根本の方向性からして間違っているということがあればご指摘いただければ幸いです。
44
44
 
45
+ また足りない情報などあればお手数ですがご指摘くださいませ。
46
+
45
47
 
46
48
 
47
49
  どうぞよろしくお願いいたします。

1

加筆修正

2020/12/30 08:57

投稿

cushionA
cushionA

スコア90

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  ・普段は現在いる一つのマップ以外の4つのオブジェクトは非アクティブにしておく。
28
28
 
29
- ・マップの切れ目近くで次のマップのテクスチャなどのデータをロードし、マップに侵入する通路で次のマップをアクティブにする。
29
+ ・マップの切れ目近くで次のマップのテクスチャなどのデータをロードし、マップに侵入する通路で次のマップのオブジェクト全て一斉に(一部ずつにしたほうがいいでしょうか?)アクティブにする。
30
30
 
31
31
  ・次のマップに入れば通路を除く前のマップは非アクティブにしてデータもアンロードする。
32
32