前提・実現したいこと
現在のソースコードですとオブジェクト同士が衝突した場所にエフェクトが発生します。なので、オブジェクト同士が衝突したとき別な場所でエフェクトを表示させるようにしたいです(2か所同時)
該当のソースコード
C#
1using UnityEngine; 2using System.Collections; 3 4public class catDestroyer : MonoBehaviour 5{ 6 public catHolder catHolder; 7 public int reward; 8 public GameObject effectPrefab; 9 public Vector3 effectRotation; 10 11 void OnTriggerEnter (Collider other) 12 { 13 if (other.gameObject.tag == "Candy") 14 { 15 // 指定数だけCandyのストックを増やす 16 catHolder.AddCandy(reward); 17 18 // オブジェクトを削除 19 Destroy(other.gameObject); 20 21 if (effectPrefab != null) 22 { 23 // Candyのポジションにエフェクトを生成 24 Instantiate( 25 effectPrefab, 26 other.transform.position, 27 Quaternion.Euler(effectRotation) 28 ); 29 } 30 } 31 } 32}
試したこと
私はいろいろ試しましたが分かりませんでした。多分Instantiateの中身で座標指定できると思いますがやり方が分かりません。
補足情報(FW/ツールのバージョンなど)
まずは以下をご覧ください。
https://teratail.com/help/question-tips#questionTips2
Unityのリファレンス(https://docs.unity3d.com/ja/current/ScriptReference/Object.Instantiate.html)を見たり、「Instantiate unity」でググって出て来るページを見れば大体載ってる気がします。
これでも分からないということは何か誤解している可能性があります。
(例:生成先の座標指定方法は合っているが、その座標の求め方が間違っているので想定と違う状態になっているとか)
何をどう調べて試したか正確に記載してください。
あなたの回答
tips
プレビュー