質問編集履歴
1
補足
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,57 @@
|
|
1
1
|
Unityで2Dゲームを作ってます。Animatorを付けたオブジェクトを生成するため↓の画像のようにpublicで取得してinstantiateしているのですが、これだけあると重くなってしまいます。効率の良いアニメーションの実装方法はほかにありませんでしょうか?
|
2
2
|
|
3
3
|
![jpeg)ゲ](c191aa293dd5d5ccd3be149c1f95b150.png)
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
---------------------------------------------------------
|
8
|
+
|
9
|
+
【補足】
|
10
|
+
|
11
|
+
それぞれのオブジェクトには↓のようにAnimatorが付いており、オブジェクトが生成されるとそのオブジェクトのAnimatorが作動してオブジェクトが動きます。どのオブジェクトも理想的に動いているのですが、起動時間が重いので、より早く処理できる方法を求めている状態です。
|
12
|
+
|
13
|
+
![イメージ説明](9e796626dc2d057a0c24fea6b4f7ec8a.png)
|
14
|
+
|
15
|
+
コードはプレイヤーの入力に対しての関数を実行させて単純にInstantiateさせています。
|
16
|
+
|
17
|
+
```C#
|
18
|
+
|
19
|
+
if (Kind == 0)
|
20
|
+
|
21
|
+
NormalChargeFunc();
|
22
|
+
|
23
|
+
if(Kind==1)
|
24
|
+
|
25
|
+
AttackChargeFunc();
|
26
|
+
|
27
|
+
}
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
void NormalChargeFunc()
|
32
|
+
|
33
|
+
{
|
34
|
+
|
35
|
+
Instantiate(NormalCharge);
|
36
|
+
|
37
|
+
Instantiate(NormalCharge2);
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
```
|
42
|
+
|
43
|
+
重いのはロード時間です。Nexus5でandroidビルドしたところ、13秒ほど起動に時間がかかります。(動物タワーバトルは6秒ほど)intel corei5搭載のマウス製の3万のパソコンで5秒ほどです。 unityは2018.2.2f1です。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
profilerを見てみたところ、Renderingが一番重い原因で、Animationのチェックを外してもprofilerはほとんど変化しなかったので、Animatorが原因ではないということでしょうか...?
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
【Rendering含む】
|
52
|
+
|
53
|
+
![イメージ説明](9abe5f70a4d6c5984dea56a1cb92e97f.png)
|
54
|
+
|
55
|
+
【Rendering含まない】
|
56
|
+
|
57
|
+
![![イメージ説明](d958cdfba4b7d397795ad90d267ebcbc.png)
|