回答編集履歴
11
誤字を修正
test
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
[追記]
|
2
|
-
|
3
|
-
指定した再生位置でパーティクルを表示するという内容を
|
1
|
+
[追記]ご指摘いただきました「指定した再生位置でパーティクルを表示する」という内容を踏まえてソースを少し修正しました。
|
4
2
|
|
5
3
|
|
6
4
|
|
10
ソースを修正
test
CHANGED
@@ -70,9 +70,9 @@
|
|
70
70
|
|
71
71
|
pObject.gameObject.SetActive(true);
|
72
72
|
|
73
|
-
|
73
|
+
pObject.Simulate(4.0f, true, false); //追記
|
74
74
|
|
75
|
-
pObject.Play();
|
75
|
+
pObject.Play(); //追記
|
76
76
|
|
77
77
|
StartCoroutine(delay(particleDelayTime,()=>{
|
78
78
|
|
9
ソースを修正
test
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
{
|
68
68
|
|
69
|
-
if (Input.GetKeyDown(
|
69
|
+
if (Input.GetKeyDown(KeyCode.F) && pObject.isStopped){
|
70
70
|
|
71
71
|
pObject.gameObject.SetActive(true);
|
72
72
|
|
8
スクリプトを訂正
test
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
[追記]
|
2
|
+
|
3
|
+
指定した再生位置でパーティクルを表示するという内容を見落としていただのでソースを少し修正しています。
|
4
|
+
|
5
|
+
|
6
|
+
|
1
7
|
> Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
|
2
8
|
|
3
9
|
|
@@ -64,6 +70,10 @@
|
|
64
70
|
|
65
71
|
pObject.gameObject.SetActive(true);
|
66
72
|
|
73
|
+
pObject.Simulate(4.0f, true, false);
|
74
|
+
|
75
|
+
pObject.Play();
|
76
|
+
|
67
77
|
StartCoroutine(delay(particleDelayTime,()=>{
|
68
78
|
|
69
79
|
pObject.gameObject.SetActive(false);
|
7
誤字を修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外に
|
9
|
+
※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外にアタッチしてください。
|
10
10
|
|
11
11
|
|
12
12
|
|
6
注意を追加
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
※パーティクルが設定されたオブジェクトに以下スクリプトをアタッチしても動かないと思うので、パーティクルが指定されたオブジェクト以外に設定してください。
|
10
|
+
|
11
|
+
|
6
12
|
|
7
13
|
|
8
14
|
|
5
ソースの修正
test
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
pObject.gameObject.SetActive(true);
|
60
60
|
|
61
|
-
StartCoroutine(delay
|
61
|
+
StartCoroutine(delay(particleDelayTime,()=>{
|
62
62
|
|
63
63
|
pObject.gameObject.SetActive(false);
|
64
64
|
|
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
|
76
76
|
|
77
|
-
IEnumerator delay
|
77
|
+
IEnumerator delay(float waitTime,UnityAction action)
|
78
78
|
|
79
79
|
{
|
80
80
|
|
4
表現を修正
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
public class particleForF : MonoBehaviour {
|
25
|
+
public class particleForFkey : MonoBehaviour {
|
26
26
|
|
27
27
|
|
28
28
|
|
3
表現を修正
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
//ここでパーティクルが
|
37
|
+
//ここでパーティクルが停止される時間を指定
|
38
38
|
|
39
39
|
float particleDelayTime = .2f;
|
40
40
|
|
2
実装のポイントを追記
test
CHANGED
@@ -3,6 +3,12 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
###実装のポイント
|
10
|
+
|
11
|
+
パーティクルシステムをplay / stopしなくても、オブジェクトを非表示にすると勝手に止まります。その状態で再表示すると勝手に始まります。それを利用した実装になります。
|
6
12
|
|
7
13
|
|
8
14
|
|
1
引用がおかしかったので修正
test
CHANGED
@@ -1,8 +1,6 @@
|
|
1
|
-
|
1
|
+
> Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
|
2
2
|
|
3
3
|
|
4
|
-
|
5
|
-
> Fキーを押した瞬間だけ、パーティクルを表示する。それ以外の時はパーティクルは非表示。
|
6
4
|
|
7
5
|
それだけでよければ以下コードでいけます。適当なオブジェクトに以下コードをアタッチしてインスペクタ上から該当パーティクルを指定してください。
|
8
6
|
|