Unity3D实现物体排成弧行
本文实例为大家分享了Unity3D实现物体排成弧行的具体代码,供大家参考,具体内容如下
一般用在Pico、HTC、DP等VR设备中
效果:
完整代码:
usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; publicclassCanvasPositionManager:MonoBehaviour { privatefloatradius=700f;//圆的半径 privateintnumberOfObjects;//每行排列多少个物体 privateinttheChildCount;//需要排列的物体的总个数 privatevoidAwake() { if(this.transform.name=="GGKFTherUIP")//这里可以忽略,是我自己的需求,根据不同场景中的物体名字决定一行排列多少个 { numberOfObjects=5; } else { numberOfObjects=10; } theChildCount=this.transform.childCount;//物体总个数就是当前物体下的子物体的个数 GerCurP(this.transform);//排列 } privatevoidStart() { } //////半圆排列 /// ///publicvoidGerCurP(Transformtrans) { if(theChildCount<=numberOfObjects)//如果总个数小于等于一行的个数,那只需要排列一行 { print("个数不超过十个"); for(inti=0;i =(numberOfObjects*i)&&j =(numberOfObjects*i)&&j 调整所有对象的朝向(每个物体都挂载)
usingSystem.Collections; usingSystem.Collections.Generic; usingUnityEngine; publicclasstestSortUI:MonoBehaviour{ privateTransformcentralPoint;//这个是圆的中心点 privatevoidStart() { centralPoint=GameObject.FindGameObjectWithTag("contralpoint").transform; this.transform.forward=this.transform.position-centralPoint.up;//所有物体看向圆心 this.transform.localEulerAngles=newVector3(0,this.transform.localEulerAngles.y,this.transform.localEulerAngles.z);//微调,使得此物体看向正前方,将此行注释,可以看到明显区别 } }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。