Unity3d 物体沿着正七边形轨迹移动
不对之处,敬请谅解。
1.圆内接正七边形半径
public static float r = 10;
2.存储七个顶点的值
Vector3[] ar = new Vector3[7];
3.圆心角
static float circleAngle = 360 / 7*Mathf.PI/180;
static float ca3 =2 * circleAngle-90*Mathf.PI/180;//第三个顶点的夹角
图示:

4.计算顶点坐标
static float a2y =Mathf.Cos(circleAngle) * r;
static float a2x = Mathf.Sin(circleAngle) * r;
static float a3x = Mathf.Cos(ca3) * r;
static float a3y = Mathf.Sin(ca3) * r;
static float a4x = Mathf.Sin(circleAngle / 2) * r;
static float a4y = Mathf.Cos(circleAngle / 2) * r;
5.对顶点赋值
Vector3 a1 = new Vector3(0, r, 0);
Vector3 a2 = new Vector3(a2x, a2y, 0);
Vector3 a3 = new Vector3(a3x, -a3y, 0);
Vector3 a4 = new Vector3(a4x, -a4y, 0);
Vector3 a5 = new Vector3(-a4x, -a4y, 0);
Vector3 a6 = new Vector3(-a3x, -a3y, 0);
Vector3 a7 = new Vector3(-a2x, a2y, 0);
7.初始化顶点
void Start()
{
ar[0] = a1;
ar[1] = a2;
ar[2] = a3;
ar[3] = a4;
ar[4] = a5;
ar[5] = a6;
ar[6] = a7;
}
8.更新物体位置
void Update()
{
if (i<7)//当循环一圈后置为零
{
this.transform.Translate(ar[i].x, ar[i].y, 0);
}
else
{
i = 0;
}
}
Unity3d 物体沿着正七边形轨迹移动的更多相关文章
- Unity3d让某个物体一直正对着相机
//将以下代码绑定到相机上 using UnityEngine; using System.Collections; public class LookatScipt : MonoBehaviou ...
- Unity3D 物体移动方式
1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...
- Unity3D 物体移动方法总结
1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...
- Unity3D 物体移动方式总结(转)
1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...
- 3.Unity3d物体操作常用按键
新建一个cube物体.在unity3d界面左上角可以看到红色下划线的五个图标(下面用图标1到5数字表示),分别对应不同功能,这些功能操作物体很常用.下面用cube物体的操作来演示这几个功能. 1.按Q ...
- Unity3D 物体跟随鼠标旋转
float speed=1000f; void Update () { if (Input.GetMouseButton (0)) { transform.Rotate (0,-Input.GetAx ...
- Unity3d物体模型(实现旋转缩放平移自动旋转)
基本功能实现:物体通过鼠标左键上下移动,中间键缩放.右键旋转,30秒没操作,物体自动旋转 实例代码: using UnityEngine; using System.Collections; publ ...
- Unity3D 物体移动到指定点
transform.position=Vector3.MoveTowards(transform.position , Target.position, speed * Time.deltaTime) ...
- Unity3D 物体旋转之Quaternion.Slerp
实现的功能:1个物体以一定的速度转向目标物体 Quaternion TargetRotation = Quaternion.LookRotation(m_Target.transform.positi ...
随机推荐
- unity 隐藏GameObject的方法(转)
改position,移到视野外,推荐,最节省 gameObject.SetActive (false); //要提前引用,要不你就改不回来了... renderer.enabled = false; ...
- UITableView简单使用
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不 ...
- grunt学习随笔
1 grunt 安装 全局安装 npm install -g grunt-cli 2 配置好package.json 和 Gruntfile 文件,这两个文件必须位于项目根目录下. 2.1packa ...
- Babel 相关资料
Babel online editor Babel Plugin Handbook babeljs usage options
- jquery收集--php收集所有post数据
$model = D('Account'); $data = $model->create(); jquery收集数据 sendinvite.serialize() function init ...
- gdb常用调试命令
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) ...
- Oberon程序设计—目录
内 容前 言1, 什么是Oberon? 1.1 ALGOL家族 1.2 该系统2, 第一:程序 2.1 一个符号来描述的语法: 2.2练习 第一部分,符号和基本类型,分配,控制结构, ...
- 评测:VPS推荐digitalocean和Vultr和Linode
美国vps推荐三家,分别是digitalocean.vultr和linode,拥有很高的性价比,中国访问速度快.我是上面三家的早期用户,并且一直使用至今,积累了不少使用经验. DigitalOcean ...
- 七牛 在线管理 v0.1
<?php // @codingStandardsIgnoreFile require_once __DIR__.'/../vendor/autoload.php'; use Qiniu\Aut ...
- 如何将编译出来的images拷贝到windows下面刷机
由于SPRD的刷机工具ResearchDownload运行在window环境下:这样,我们平时在开发环境下编译出来的镜像文件就不能直接用于刷机了. 这里涉及到一个双系统中文件共享的方法.由于企业信息安 ...