博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 之圆环算法
阅读量:5329 次
发布时间:2019-06-14

本文共 1306 字,大约阅读时间需要 4 分钟。

  首先我们要明白圆环生成的原理,其实说白了并不是圆环,而是圆。因为我们使用的预制物体时Cube(物体本身是有大小的)难免会有发生实物的折叠看起来给人的感觉是圆环而已。

1.1 几何中我们要画一个圆,因为圆的标准表达式是

 

 圆心为(a,b),半径为r。那么我们只要知道圆心和半径就可以了。

  

2.1 我们只要知道圆心,半径,和旋转弧度就可以了。

  在Unity中创建测试工程,添加代码circles.cs

  

1 using UnityEngine; 2 using System.Collections; 3  4  5 public class circle : MonoBehaviour 6 { 7     public GameObject circleModel; 8     //旋转改变的角度 9     public int changeAngle = 0;10     //旋转一周需要的预制物体个数11     private int count;12 13     private float angle = 0;14     public float r = 5;15 16     // Use this for initialization17     void Start()18     {19         count = (int)360 / changeAngle;20         for (int i = 0; i < count; i++)21         {22             Vector3 center = circleModel.transform.position;23             GameObject cube = (GameObject)Instantiate(circleModel);24             float hudu = (angle / 180) * Mathf.PI;25             float xx = center.x + r * Mathf.Cos(hudu);26             float yy = center.y + r * Mathf.Sin(hudu);27             cube.transform.position = new Vector3(xx, yy, 0);28             cube.transform.LookAt(center);29             angle += changeAngle;30         }31     }32 }

代码第28行cube.transform.LookAt(center);所有生成的物体都是朝向圆心的。

将此脚本管道MainCamera上即可,添加预制对象。

运行即可看到效果确实是圆环。

如果有好的意见和建议请@我哦,共同学习!

转载于:https://www.cnblogs.com/wuzhang/p/wuzhang20150410.html

你可能感兴趣的文章
java编程思想笔记(一)——面向对象导论
查看>>
Data Structure 基本概念
查看>>
微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)...
查看>>
Ubuntu改坏sudoers后无法使用sudo的解决办法
查看>>
记字符编码与转义符的纠缠
查看>>
NEYC 2017 游记
查看>>
【BZOJ 3669】 [Noi2014]魔法森林 LCT维护动态最小生成树
查看>>
[搬运] 写给 C# 开发人员的函数式编程
查看>>
对Python中yield的理解
查看>>
NailTech 公司网站制作思路
查看>>
Shiro权限控制框架
查看>>
java第六次作业
查看>>
vsftpd虚拟用户【公司系统部分享】
查看>>
盒子box在网页中居中的方法
查看>>
Python之旅Day14 JQuery部分
查看>>
二十一、 Memento 备忘录(行为型模式)
查看>>
python 3.X中打包二进制数据存储字符串出错原因分析
查看>>
core--线程池
查看>>
B+树介绍
查看>>
redux-effect
查看>>