Я хочу объединить две планеты, когда они сталкиваются, но я не уверен, как это сделать. Вот мой код:
if (dist_between_objects < ((current.transform.localScale.x/2)+(arr[i].transform.localScale.x/2))) {
if (ob_c.collider_bool) {
avg_x_pos = Convert.ToSingle(((current.transform.position)[0] + (arr[i].transform.position)[0]) / 2);
avg_y_pos = Convert.ToSingle(((current.transform.position)[1] + (arr[i].transform.position)[1]) / 2);
avg_z_pos = Convert.ToSingle(((current.transform.position)[2] + (arr[i].transform.position)[2]) / 2);
Debug.Log(current + " hit " + arr[i]);
coll = Instantiate(Sphere_prefab, new Vector3((avg_x_pos), (avg_y_pos), (avg_z_pos)), Quaternion.identity);
Vector3 Tempc = coll.transform.localScale;
coll.GetComponent<Gravity>().mass = mass + mass2;
Tempc[0] = current.transform.localScale.x + arr[i].transform.localScale.x;
Tempc[1] = current.transform.localScale.y + arr[i].transform.localScale.y;
Tempc[2] = current.transform.localScale.z + arr[i].transform.localScale.z;
index = 0;
ob_c.collider_bool = false;
}
Destroy(current);
}
Логическое значение ob_ c было логическим значением, которое, как я надеялся, заставило бы оператор if работать только на 1 pl anet, поэтому он создал только 1 новый pl anet , Но это все еще создает 2 новые планеты. Это также не делает новый pl anet большего размера (я надеялся, что переменная Temp c сделает это).