不对之处,敬请谅解。

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 物体沿着正七边形轨迹移动的更多相关文章

  1. Unity3d让某个物体一直正对着相机

    //将以下代码绑定到相机上 using UnityEngine; using System.Collections;   public class LookatScipt : MonoBehaviou ...

  2. Unity3D 物体移动方式

    1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  3. Unity3D 物体移动方法总结

    1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  4. Unity3D 物体移动方式总结(转)

    1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  5. 3.Unity3d物体操作常用按键

    新建一个cube物体.在unity3d界面左上角可以看到红色下划线的五个图标(下面用图标1到5数字表示),分别对应不同功能,这些功能操作物体很常用.下面用cube物体的操作来演示这几个功能. 1.按Q ...

  6. Unity3D 物体跟随鼠标旋转

    float speed=1000f; void Update () { if (Input.GetMouseButton (0)) { transform.Rotate (0,-Input.GetAx ...

  7. Unity3d物体模型(实现旋转缩放平移自动旋转)

    基本功能实现:物体通过鼠标左键上下移动,中间键缩放.右键旋转,30秒没操作,物体自动旋转 实例代码: using UnityEngine; using System.Collections; publ ...

  8. Unity3D 物体移动到指定点

    transform.position=Vector3.MoveTowards(transform.position , Target.position, speed * Time.deltaTime) ...

  9. Unity3D 物体旋转之Quaternion.Slerp

    实现的功能:1个物体以一定的速度转向目标物体 Quaternion TargetRotation = Quaternion.LookRotation(m_Target.transform.positi ...

随机推荐

  1. 第14天dbutils与案例

    第14天dbutils与案例 第14天dbutils与案例    1 1.    1.dbutils介绍    2 2.    2.dbutils快速入门    2 3.    3.dbutils A ...

  2. Android 性能测试_Monkey 实践【转】

    参考资料:1. Monkey测试策略:https://testerhome.com/topics/597 2. Android Monkey测试详细介绍:http://www.jikexueyuan. ...

  3. input、button、a标签 等定义的按钮尺寸的兼容性问题

    在项目中有遇到这类问题,搜索了一下解决方式,采用链接:https://segmentfault.com/q/1010000000190931 里各位楼主的答案,摘抄如下: 例子如下: HTML: &l ...

  4. linux下IPC通信

    # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系通常是指父子进程关系. # 有名管道 (named pipe) : 有名管道也 ...

  5. 【转】Storm并行度详解

    1.Storm并行度相关的概念 Storm集群有很多节点,按照类型分为nimbus(主节点).supervisor(从节点),在conf/storm.yaml中配置了一个supervisor,有多个槽 ...

  6. aspnet5安装ef7备忘

    1.安装kvm 首先,你需要以管理员权限打开cmd,执行如下的脚本: @powershell -NoProfile -ExecutionPolicy unrestricted -Command &qu ...

  7. 使用GNU/Linux播放电视节目

    目前,生活中很多事情都可以在电脑前完成,读书.写程序.听音乐.看视频等.如果也可以在电脑上收看有线电视节目的话,那就更好了.为此,我购买了圆刚视频采集卡AverMedia C725B.如下图所示. 官 ...

  8. LeetCode OJ 55. Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  9. vultr vps注册和后台教程

    我用了一年多vultr vps,感觉相当满意.我算是vultr最早的一批用户了,当时他们充值多少赠送多少,吸引大批新用户搬家到vultr,给linode和digitalocean vps不少的市场压力 ...

  10. NOIP2011-普及组复赛-第一题-数字反转

    题目描述 Description 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2).  输入 ...