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. ACM-简单题之Ignatius and the Princess II——hdu1027

    转载请注明出处:http://blog.csdn.net/lttree Ignatius and the Princess II Time Limit: 2000/1000 MS (Java/Othe ...

  2. iocomp控件的应用

    iocomp是一个强大的工业控件.适用于vb/vc/vs.net/Delphi/BCB(windows/linux).囊括了常见的工业控制控件,详见官网说明,源码能够到官网下载,也能够到我的资源库下载 ...

  3. FileSystemWatcher使用方法具体解释

    FileSystemWatcher控件主要功能: 监控指定文件或文件夹的文件的创建.删除.修改.重命名等活动.能够动态地定义须要监控的文件类型及文件属性修改的类型. 1.经常使用的几个基本属性: (1 ...

  4. CDN云主机与传统虚拟主机功能对比

    CDN云主机与传统虚拟主机功能对比 传统的虚拟主机都是单台服务器,一旦机器硬件损坏.IP被封.机房网络故障等,都将导致网站不能访问,严重的情况数据还无法及时取回,即使想换一家服务商也因为没有数据而无能 ...

  5. 传输中文乱码js解决方法

    encodeURI要编码两次 var a="我的"; //编译两次 //window.location.href = "http://127.0.0.1:8080/kab ...

  6. Tomcat 配置篇

    Tomcat 配置一.Tomcat 基本介绍 1.关键目录 a) bin 该目录包含了启动.停止和启动其他的脚本,如startup.sh.shutdown.sh等; b) conf 配置文件和一些文档 ...

  7. ORA-14450

    ORA-14450 attempt to access a transactional temp table already in use Cause: An attempt was made to ...

  8. activiti笔记三 Activiti问题重现

    测试的时候出现一个异常: ContextLoader.initWebApplicationContext(308) | Context initialization failed org.spring ...

  9. solr源码导入eclipse

    转载自:http://blog.csdn.net/vltic/article/details/19917377 (1)相应的开发环境准备          (1)jdk1.6+的安装和环境变量配置(命 ...

  10. JS创建类和对象(好多方法哟!)

    http://www.cnblogs.com/tiwlin/archive/2009/08/06/1540161.html 这是别人写的~~~我借来看看 JavaScript 创建类/对象的几种方式 ...