Unity 梯子生成算法
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 梯子生成算法的更多相关文章
- 一个UUID生成算法的C语言实现 --- WIN32版本 .
一个UUID生成算法的C语言实现——WIN32版本 cheungmine 2007-9-16 根据定义,UUID(Universally Unique IDentifier,也称GUID)在时 ...
- 分布式全局不重复ID生成算法
分布式全局不重复ID生成算法 算法全局id唯一id 在分布式系统中经常会使用到生成全局唯一不重复ID的情况.本篇博客介绍生成的一些方法. 常见的一些方式: 1.通过DB做全局自增操作 优点:简单.高 ...
- C++ 基于凸包的Delaunay三角网生成算法
Delaunay三角网,写了用半天,调试BUG用了2天……醉了. 基本思路比较简单,但效率并不是很快. 1. 先生成一个凸包: 2. 只考虑凸包上的点,将凸包环切,生成一个三角网,暂时不考虑Delau ...
- C++ 凸包生成算法
由于我的极差记忆力,我打算把这个破玩意先记下来.因为以后会有改动(Delaunay三角网生成算法),我不想把一个好的东西改坏了... 好吧-- 凸包生成算法,: 1.先在指定的宽(width)高(he ...
- RocketMQ msgId生成算法
当我们用RocketMQ发送信息的时候通常都会返回如下信息: SendResult [sendStatus=SEND_OK, msgId=0A42333A0DC818B4AAC246C290FD000 ...
- 分布式系统的唯一id生成算法你了解吗?
在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...
- 转:体积阴影(Shadow Volumes)生成算法
下面以最快的速度简单谈谈阴影生成技术,目前普遍采用的一般有三种:Planar Shadow.Shadow Mapping和Shadow Volume,前者类似投影,计算最简单,缺点只能绘制抛射在平面上 ...
- STL_算法_04_算术和生成算法
◆ 常用的算术和生成算法: 1.1.求和( accumulate 是求和的意思)(对指定范围内的元素求和,然后结果再加上一个由val指定的初始值.) T accumulate(iteratorBegi ...
- ES批量索引写入时的ID自动生成算法
对bulk request的处理流程: 1.遍历所有的request,对其做一些加工,主要包括:获取routing(如果mapping里有的话).指定的timestamp(如果没有带timestamp ...
随机推荐
- C++ - 容器(container)的erase()函数
容器(container)的erase()函数 本文地址: http://blog.csdn.net/caroline_wendy/article/details/23996013 容器(contai ...
- Android-JNI编程-图文解析
要想阅读并调试下文源码,首先要确保你的NDK环境是ok的: 编译环境:win7+Eclipse+ADT+SDK+NDK:基本用最新的就ok. 说明下,下文代码就是一个简单的 ...
- 使用批处理bat作为日期系统日期的前三天
在管理server它经常是依据一天来推断载日期系统日志文件,例如,上周五,周一的需要上传日志.上传日志的日期前一天,日志文件命名的日期.这需要获得的日期的前三天.或之前n当天日期. 批量绑定vbs可以 ...
- phonegap环境配置与基本操作
一.开发环境配置: 1.工具环境安装: 安装java sdk 1.6以上版本号,Android Development Tools.ant,系统变量 Path后面加入 新增名稱 JAVA_HOME 值 ...
- WEB服务器2--IIS架构(转)
开始之前可以先读:http://www.cnblogs.com/tiantianle/p/5419445.html 原文:http://www.cnblogs.com/arbin98/archive/ ...
- 前端JS模版库kino.razor - 原理流程分析 - 改进版轮子RazorJs
1.前言 从后台获取数据,在前端JS里面拼接字符串,不累吗?敢不敢找一款前端使使... 现在这种模板库比较多了,我用过的jquery-template .JsRender .听说过的一堆,还有各种MV ...
- 解决jquery和其他库的冲突
一.jquery在其他库之后导入 (1)jQuery.noConflict(); //将变量的$控制权转交给其他库. jQuery(function(){ ...
- Repeater数据绑定和操作
Repeater使用详细指南 ASP.NET WebForm开发中尽量少用系统提供的runat="server"的服务器控件,尤其像GridView之类的“重量级”武器,自动生成的 ...
- php 实现传入参数的传出
类似于.net的out功能,php中可以使用&实现 如下示例: <?php$x=2; inOutFunction($x); function inOutFunction(&$x) ...
- vim编辑器参数(不熟参数)
-1 vim配置文件 全局配置:/etc/vimrc 个人配置:~/.vimrc -2 :set下相关常用参数 ic 忽略大小写 noic 不忽略(默认) ai 自动缩进 noai 不自动缩进(默 ...