using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class SpawnerBubble : MonoBehaviour
{
[SerializeField] private GameObject denkyoku;
public GameObject bubble;
//ここでpublicと宣言することで後でInspectorビューから操作できる
private void Update()
{
PlaneGenerate(); //PlaneGenerate関数を呼び出す。
}
private void PlaneGenerate()
{
/*var distanceVectorx = new Vector3(denkyoku.transform.localScale.x/2, 0); //発生場所からどのくらい離れた距離か左が横の長さ右が高さ
var distanceVectorz = new Vector3(denkyoku.transform.localScale.z/2, 0); //発生場所からどのくらい離れた距離か左が横の長さ右が高さ
//var spawnPositionFromDenkyoku = Quaternion.Euler(0, Random.Range(0, 360f), 0) * distanceVectorx; //発生場所をy軸基準に360度調整する*/
var denkyokuPosition = denkyoku.transform.position;// + spawnPositionFromDenkyoku;
var denkyokuScale = denkyoku.transform.localScale;
List<Vector3> spawnPositionxplus = new List<Vector3> { };
List<Vector3> spawnPositionxminus = new List<Vector3> { };
List<Vector3> spawnPositionzplus = new List<Vector3> { };
List<Vector3> spawnPositionzminus = new List<Vector3> { };
for (int i = 0; i < 10; i++)
{
spawnPositionxplus.Add(new Vector3(denkyokuPosition.x + denkyokuScale.x / 2, denkyokuPosition.y + (Random.Range((-denkyokuScale.y / 2), (denkyokuScale.y / 2))), denkyokuPosition.z + (Random.Range((-denkyokuScale.z / 2), (denkyokuScale.z / 2)))));
spawnPositionxminus.Add(new Vector3(denkyokuPosition.x - denkyokuScale.x / 2, denkyokuPosition.y + (Random.Range((-denkyokuScale.y / 2), (denkyokuScale.y / 2))), denkyokuPosition.z + (Random.Range((-denkyokuScale.z / 2), (denkyokuScale.z / 2)))));
spawnPositionzplus.Add(new Vector3(denkyokuPosition.x + (Random.Range((-denkyokuScale.x / 2), (denkyokuScale.x / 2))), denkyokuPosition.y + (Random.Range((-denkyokuScale.y / 2), (denkyokuScale.y / 2))), denkyokuPosition.z + denkyokuScale.z / 2));
spawnPositionzminus.Add(new Vector3(denkyokuPosition.x + (Random.Range((-denkyokuScale.x / 2), (denkyokuScale.x / 2))), denkyokuPosition.y + (Random.Range((-denkyokuScale.y / 2), (denkyokuScale.y / 2))), denkyokuPosition.z - denkyokuScale.z / 2));
}
for (int i = 0;i< 10;i++)
{
Instantiate(bubble, spawnPositionxplus[i], Quaternion.identity);
Instantiate(bubble, spawnPositionxminus[i], Quaternion.identity);
Instantiate(bubble, spawnPositionzplus[i], Quaternion.identity);
Instantiate(bubble, spawnPositionzminus[i], Quaternion.identity);
}
}
}
表面に気泡が発生するようにした
Scaleを簡略化した