前提・実現したいこと
unityで分子を飛ばすゲームを作っています。
分子が衝突すると結合するようにしたいのですが衝突したオブジェクト両方がプレハブを作ってしまうので1回の衝突で2つオブジェクト
ができてしまいます。
発生している問題
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Hydrogen : MonoBehaviour 6{ 7 [Header("Molecule")] 8 public GameObject hydrogen_mol; 9 [Space] 10 public float weight; 11 public Vector2 force; 12 public Vector2 GeneratePos; 13 public Vector2 GenerateForce; 14 GameObject molecule; 15 16 void Update() 17 { 18 Rigidbody2D rb = GetComponent<Rigidbody2D>(); 19 rb.AddForce(force); 20 } 21 private void OnCollisionEnter2D(Collision2D collision) 22 { 23 if (collision.gameObject.tag == "Hydrogen") 24 { 25 GeneratePos = this.transform.position; 26 molecule = (GameObject)Instantiate(hydrogen_mol, GeneratePos, Quaternion.identity); 27 Rigidbody2D mol_rb = molecule.GetComponent<Rigidbody2D>(); 28 29 GenerateForce = new Vector2(mol_rb.velocity.x, mol_rb.velocity.y); 30 mol_rb.AddForce(GenerateForce); 31 Destroy(gameObject, 0f); 32 } 33 } 34}
補足情報(バージョン)
Unity 2021.2.0f1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/16 17:30
2022/01/22 09:41