网站优化做些什么,下载中国最新军事新闻,顺德网站建设公司信息,wordpress 登录空白页unity获取所有子物体位置#xff0c;再把获取到的位置重新随机分配给子物体#xff08;不含父物体#xff09;
/// summary
/// 给所有子物体随机分配位置
/// /summary
void RandomLocation()
{// 获取当前物体下的所有子物体Transform[] childTransforms…unity获取所有子物体位置再把获取到的位置重新随机分配给子物体不含父物体
/// summary
/// 给所有子物体随机分配位置
/// /summary
void RandomLocation()
{// 获取当前物体下的所有子物体Transform[] childTransforms GetComponentsInChildrenTransform(true);// 获取子物体位置并保存到列表Vector3[] childPositions new Vector3[childTransforms.Length - 1];for (int i 1; i childTransforms.Length; i)//排除自身物体{childPositions[i - 1] childTransforms[i].localPosition;}// 随机分配位置Shuffle(childPositions); 将位置分配给子物体for (int i 0; i childPositions.Length; i){transform.GetChild(i).localPosition childPositions[i];}
}
/// summary
/// 随机分配位置
/// /summary
void Shuffle(Vector3[] array)
{// Fisher-Yates 洗牌算法for (int i array.Length - 1; i 0; i--){int j Random.Range(0, i 1);Vector3 temp array[i];array[i] array[j];array[j] temp;}
}