teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

体裁修正

2018/12/16 14:51

投稿

negitama
negitama

スコア943

answer CHANGED
@@ -10,8 +10,9 @@
10
10
  こちらでは問題を再現させられませんでした。
11
11
  参考までに、こちらで確認に使用したスクリプトと動画GIFを載せておきます。検証しやすさなどを考えて改変しています。問題なくパーティクルが放出されています。
12
12
 
13
- ![![イメージ説明](d9178311dd89174e3b8cafcef829459c.gif)](8dacd97f442547ecb4d06e47f75fec47.gif)
13
+ ![![イメージ説明](d9178311dd89174e3b8cafcef829459c.gif)
14
14
 
15
+
15
16
  ```ここに言語を入力
16
17
  using UnityEngine;
17
18
 

1

参考情報を追記

2018/12/16 14:51

投稿

negitama
negitama

スコア943

answer CHANGED
@@ -4,4 +4,56 @@
4
4
 
5
5
  2) GetComponent<ParticleSystem>().Play(); の前の行に、
6
6
  Debug.Log ( "ぶつかった" );
7
- などと追加して、実行してTargetに衝突したとき、コンソールに「ぶつかった」と表示されますか?
7
+ などと追加して、実行してTargetに衝突したとき、コンソールに「ぶつかった」と表示されますか?
8
+
9
+ 【追記】
10
+ こちらでは問題を再現させられませんでした。
11
+ 参考までに、こちらで確認に使用したスクリプトと動画GIFを載せておきます。検証しやすさなどを考えて改変しています。問題なくパーティクルが放出されています。
12
+
13
+ ![![イメージ説明](d9178311dd89174e3b8cafcef829459c.gif)](8dacd97f442547ecb4d06e47f75fec47.gif)
14
+
15
+ ```ここに言語を入力
16
+ using UnityEngine;
17
+
18
+ // ダートを生成する(適当なオブジェクトにアタッチする。カメラでも可)
19
+ public class Shooter : MonoBehaviour
20
+ {
21
+ public GameObject dart;
22
+ public GameObject target;
23
+ public float force;
24
+
25
+ [SerializeField] Vector3 dartInstantiatePosition; // ダートを生成する位置
26
+ [SerializeField] Vector3 dartDirection; // ダートが飛ぶ方向
27
+
28
+ void Update ()
29
+ {
30
+ if ( Input.GetMouseButtonDown ( 0 ) )
31
+ {
32
+ GameObject instanceDart = Instantiate(dart, dartInstantiatePosition, Quaternion.identity);
33
+ instanceDart.GetComponent<Rigidbody> ().AddForce ( dartDirection * force );
34
+ instanceDart.transform.parent = target.transform;
35
+ }
36
+ }
37
+ }
38
+
39
+ ```
40
+
41
+
42
+ ```ここに言語を入力
43
+ using UnityEngine;
44
+
45
+ // ParticleSystemコンポーネントを持つDartオブジェクトにアタッチする
46
+ public class DartCollision : MonoBehaviour
47
+ {
48
+ private void OnCollisionEnter ( Collision collision )
49
+ {
50
+ // ぶつかった相手にTargetタグが付いていれば処理を行う
51
+ if ( collision.gameObject.CompareTag ( "Target" ) )
52
+ {
53
+ Debug.Log ( "ぶつかった" );
54
+ GetComponent<ParticleSystem> ().Play ();
55
+ }
56
+ }
57
+ }
58
+
59
+ ```