Unity之生成梯子算法的实现。

1.通过预制物体动态生成角度可设置的梯子形状。

  1.1 主要涉及到的数学知识点,角度与弧度的转化。

    弧度=角度乘以π后再除以180

    角度=弧度除以π再乘以180

  1.2 三角函数

       

  在这里只使用正切函数tan,简单的推理逻辑如下:

    

  2.1下面开始看代码了padelCreate.cs

 using UnityEngine;
 using System.Collections;

 public class padelCreate : MonoBehaviour
 {
     public GameObject prb_padel;
     ;
     private Vector3 lastOnePosition;
     // Use this for initialization
     void Start ()
     {
         anyAngelPadel(angel);
     }

     /// <summary>
     /// 任意角度的楼梯实例
     /// </summary>
     /// <param name="angel"></param>
     void anyAngelPadel(float angel)
     {
         ) * Mathf.PI;
         //上楼梯
         ; i < ; i++)
         {
             GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
             float yy = i * Mathf.Tan(hudu);
             tmpPadel.transform.position =  + i, - + yy, );
             lastOnePosition = tmpPadel.transform.position;
         }
         //水平方向生成两个
         ; i < ; i++)
         {
             GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
             tmpPadel.transform.position = ,lastOnePosition.y, );
             lastOnePosition = tmpPadel.transform.position;
         }
         //下楼梯
         ; i < ; i++)
         {
             GameObject tmpPadel = (GameObject)Instantiate(prb_padel);
             float yy = i * Mathf.Tan(hudu);
             tmpPadel.transform.position = );
             //lastOnePosition = tmpPadel.transform.position;
         }

     }

 }

  在Unity的结构如下:

  

  准备工作完成了,在Unity中运行吧!

  

  绘制完成了。

Unity 梯子生成算法的更多相关文章

  1. 一个UUID生成算法的C语言实现 --- WIN32版本 .

    一个UUID生成算法的C语言实现——WIN32版本   cheungmine 2007-9-16   根据定义,UUID(Universally Unique IDentifier,也称GUID)在时 ...

  2. 分布式全局不重复ID生成算法

    分布式全局不重复ID生成算法 算法全局id唯一id  在分布式系统中经常会使用到生成全局唯一不重复ID的情况.本篇博客介绍生成的一些方法. 常见的一些方式: 1.通过DB做全局自增操作 优点:简单.高 ...

  3. C++ 基于凸包的Delaunay三角网生成算法

    Delaunay三角网,写了用半天,调试BUG用了2天……醉了. 基本思路比较简单,但效率并不是很快. 1. 先生成一个凸包: 2. 只考虑凸包上的点,将凸包环切,生成一个三角网,暂时不考虑Delau ...

  4. C++ 凸包生成算法

    由于我的极差记忆力,我打算把这个破玩意先记下来.因为以后会有改动(Delaunay三角网生成算法),我不想把一个好的东西改坏了... 好吧-- 凸包生成算法,: 1.先在指定的宽(width)高(he ...

  5. RocketMQ msgId生成算法

    当我们用RocketMQ发送信息的时候通常都会返回如下信息: SendResult [sendStatus=SEND_OK, msgId=0A42333A0DC818B4AAC246C290FD000 ...

  6. 分布式系统的唯一id生成算法你了解吗?

    在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...

  7. 转:体积阴影(Shadow Volumes)生成算法

    下面以最快的速度简单谈谈阴影生成技术,目前普遍采用的一般有三种:Planar Shadow.Shadow Mapping和Shadow Volume,前者类似投影,计算最简单,缺点只能绘制抛射在平面上 ...

  8. STL_算法_04_算术和生成算法

    ◆ 常用的算术和生成算法: 1.1.求和( accumulate 是求和的意思)(对指定范围内的元素求和,然后结果再加上一个由val指定的初始值.) T accumulate(iteratorBegi ...

  9. ES批量索引写入时的ID自动生成算法

    对bulk request的处理流程: 1.遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话).指定的timestamp(如果没有带timestamp ...

随机推荐

  1. 【Struts2】新建一个Struts2工程,初步体验MVC

    实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...

  2. ThinkPHP视图查询详解

    ThinkPHP视图查询详解 参考http://www.jb51.net/article/51674.htm   这篇文章主要介绍了ThinkPHP视图查询,需要的朋友可以参考下     ThinkP ...

  3. 继承之后的使用注意事项_ArrayStoreException

    今天在看Core In Java第五章节时,看到一个很感兴趣的知识点,如下: 在Java中,子类数组的引用可以转换成超类数组的引用,而不需要采用强制转换.但是,在超类数组的引用添加超类类型引用对象之后 ...

  4. jquery css3 手机菜单动画综合版

    html <header> <a id="go-back" href="javascript:window.location.back(-1)" ...

  5. java final 和instanceof 关键字

    /* final class A { public final void eat(){ System.out.println("测试"); } } */ class A { } c ...

  6. Android的Fragment中onActivityResult不被调用的解决方案

    常见的,我们会在FragmentActivity中嵌套一层Fragment使用,甚至两次或多层Fragment嵌套使用.这个时候,在第二级或者更深级别的Fragment调用startActivityF ...

  7. Android Studio稍微较新的版本下载

    ALL ANDROID STUDIO PACKAGES-V1.4.1.2422023 Select a specific Android Studio package for your platfor ...

  8. asp.net缓存(三)

    Asp.net应用程序数据缓存 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类.此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和 ...

  9. Eclipse 整合cvs教程及遇到的问题

    今天看着视频教程学习cvs版本管理,现在很多企业开发或许都采用了版本管理器,因为这样可以更好的进行团退开发与代码管理,所以学习一种版本管理技术还是很重要的. 最原始的独立版本管理是由两部分组成的,一个 ...

  10. c++ 指针的简单用法

    对于指针,其实只需要明白几点就可以. 1.指针,是一个数值为地址的变量,这里尤其注意,指针变量的值是地址!就是例如40002这种像门牌号的地址值,其实就是内存中的一个编号. 2.&,该符号的意 ...