Dictionary<string, Vector3> dic = new Dictionary<string, Vector3>();
// transforms 是Selection类的静态字段,其返回的是选中的对象的Transform
Transform[] transforms = Selection.transforms;
//将选中的对象的position保存在字典中
for (int i = 0; i < transforms.Length; i++)
{
dic.Add(transforms[i].name, transforms[i].transform.position);
}
foreach (Transform item in transforms)
{
Debug.Log(item.name + ":" + item.position);
}
var refscript = transforms[0].GetComponent<mmmo>();
int index = -1;//创建的下标
float Scale = 0;//缩放值
//创建多个对象
for (int j = 0; j < refscript.number; j++)
{
index = Random.Range(0, refscript.arr.Length);
//创建一个对象
GameObject gb = Instantiate(refscript.arr[index].gameObject);
gb.SetActive(true);
gb.transform.SetParent(transforms[0].transform);
//创建一条射线
RaycastHit hit;
Ray ray1 = new Ray(new Vector3(transforms[0].position.x, 300, transforms[0].position.z), Vector3.down);
if (Physics.Raycast(ray1, out hit))
{
gb.transform.position = new Vector3(Random.Range(refscript.bx, refscript.ex), hit.collider.transform.position.y, Random.Range(refscript.by, refscript.ey));
}
Scale = Random.Range(refscript.ScaleMin, refscript.ScaleMax);
gb.transform.localScale = new Vector3(Scale, Scale, Scale);
gb.transform.Rotate(new Vector3(0, Random.Range(refscript.RotationV3YMin, refscript.RotationV3YMax), 0));
}