Unity3D_圆环算法
来源:互联网 发布:淘宝同行跳失率怎么看 编辑:程序博客网 时间:2024/05/29 07:43
以cube为预制件,不断旋转复制,就形成了圆环。
具体代码:
public class circleCS : MonoBehaviour {public GameObject cubeModel;private float r=5;private float angle = 0;// Use this for initializationvoid Start () {Vector3 center = cubeModel.transform.position;for (int i=0; i<12; i++) {GameObject cube = (GameObject)GameObject.Instantiate(cubeModel);float hudu = (angle/180)*Mathf.PI;float xx = center.x + r*Mathf.Cos(hudu);float yy = center.y + r*Mathf.Sin(hudu);cube.transform.position = new Vector3(xx,yy,0);angle += 30;//每30°旋转一下}}// Update is called once per framevoid Update () {}}
最后的效果如下:
如果更改参数,让其密度更大一点,并且更改其方向改为铺到地面上,代码和最终的效果图如下:
public class circleCS : MonoBehaviour {public GameObject cubeModel;private float r=5;private float angle = 0;// Use this for initializationvoid Start () {Vector3 center = cubeModel.transform.position;for (int i=0; i<36; i++) {GameObject cube = (GameObject)GameObject.Instantiate(cubeModel);float hudu = (angle/180)*Mathf.PI;float xx = center.x + r*Mathf.Cos(hudu);float zz = center.z + r*Mathf.Sin(hudu);cube.transform.position = new Vector3(xx,0,zz);angle += 10;//每30°旋转一下}}// Update is called once per framevoid Update () {}}
但是可以发现,因为周边的cube的方向没有改变,导致毛刺很明显。
只需要添加:
cube.transform.LookAt(center);
即可。
最后效果如下:
加上
cube.transform.localScale = new Vector3(1,1,3);
可以更改圆环的大小。
阅读全文
0 0
- Unity3D_圆环算法
- Unity3D_楼梯算法
- Unity3D_椭圆算法
- Unity 之圆环算法
- Unity3D_算法与数据结构(向量)
- 圆环
- 圆环
- 圆环
- 圆环
- 3D圆环的射线拾取算法
- Unity3D_直线运动
- Unity3d_性能优化
- Unity3d_获取系统地址
- unity3d_幻灯片效果
- unity3d_个人总结
- unity3d_实现幻灯片效果
- unity3d_颜色转换器
- Unity3d_多倍反锯齿
- Windows命令
- 【POJ】1363---Rails(栈)
- Spring Cloud构建微服务架构:服务容错保护
- Qt在pro中实现条件编译
- Spring Cloud构建微服务架构:Hystrix监控面板
- Unity3D_圆环算法
- C++学习笔记(6)-异常处理
- 实现圆形头像(并且不管图大小都显示成固定尺寸)-和上一篇有点不同。
- 4. Median of Two Sorted Arrays
- CentOS安装Docker CE的最新有效方法
- kettle错误:The driver has not received any packets from the server
- PPT压缩软件(PPTMinimizer) v4.0 中文注册版
- Spring Cloud构建微服务架构:Hystrix监控数据聚合
- Tools_NoribenSandbox