unity 多个物体围绕一个点生成圆形状
适用于场景、UI
直接ctr c v 就可用
/// <summary> 需要被实例化的对象 </summary>
public GameObject obj;
/// <summary> 设置中心点,同样也是父物体 </summary>
public Transform tra;
/// <summary> 生成数量 </summary>
int iconCount = 100;
/// <summary> 圆半径 </summary>
float fRadius = 20;
/// <summary>
/// 围绕一个点生成圆
/// </summary>
public void CreatCircle()
{
float angle = 360f / iconCount;
for (int i = 0; i < iconCount; i++)
{
GameObject go = Instantiate(obj);
go.transform.SetParent(tra, false);
float x = fRadius * Mathf.Sin((angle * i) * (Mathf.PI / 180f));
float y = fRadius * Mathf.Cos((angle * i) * (Mathf.PI / 180f));
go.transform.localPosition = new Vector3(x, y, 0);
go.transform.localEulerAngles = new Vector3(0, 0, Mathf.Abs(angle * i - 360));
go.name = i.ToString();
}
}