Unity3D 画线插件 Vectrosity 画一个一直循环的正弦函数曲线
直接贴代码
public Material myMaterisl;
float fx;//曲线最左边的X坐标
float fy;//曲线趋于直线时y轴坐标
float fyMax = 0f;//曲线最高点
float fyContunt = 1f;//曲线于y轴坐标的交点
VectorLine energyLine;
Vector2[] energyLinePoints;
float timer;
float energyLevel = 4f;
void Start()
{
fx = 0f;
fy = 125f; energyLinePoints = new Vector2[100];
energyLine = new VectorLine("Energy", energyLinePoints, myMaterisl, 5f, LineType.Continuous);
fnSetEnergyLinePointsMove();
}
void fnSetEnergyLinePoints()
{
for (int i = 0; i < energyLinePoints.Length; i++)
{
float x = Mathf.Lerp(70f, 470f, (0.0f + i) / energyLinePoints.Length);//设置点X的坐标
energyLinePoints[i].y = fy * (1f + Mathf.Sin(x) * 0.1f * energyLevel);
energyLinePoints[i] = new Vector2(x, energyLinePoints[i].y);//第一次设置点x,y的坐标 }
}
void fnSetEnergyLinePointsMove()
{
for (int i = 0; i < energyLinePoints.Length; i++)
{
float x = Mathf.Lerp(70f, 470f, (i + .0f) / energyLinePoints.Length);//设置点X的坐标
energyLinePoints[i] = new Vector2(x, fy);//第一次设置点x,y的坐标
}
} void Update()
{ } void FixedUpdate()
{
//让曲线向左运动 int i;
for (i = 0; i < energyLinePoints.Length - 1; i++)
{
energyLinePoints[i].y = energyLinePoints[i + 1].y;//让当前点的y值=它右面点的y值,就是曲线向左移动
}
timer += Time.deltaTime * Mathf.Lerp(10.0f, 20.0f, energyLevel);
energyLinePoints[i].y = fy * (1f + Mathf.Sin(timer) * .1f * energyLevel); }
void LateUpdate()
{
energyLine.Draw();
}
把脚本添加到摄像机上
运行效果如图:
Unity3D 画线插件 Vectrosity 画一个一直循环的正弦函数曲线的更多相关文章
- Unity3D 画线插件 Vectrosity_Simple2DLine
Vectrosity是一个很方便的画线插件,用它我们可以画出2D,3D,贝塞尔,圆,椭圆等各种线条图案. :链接: http://pan.baidu.com/s/1pJjTFjt 密码: uesn 首 ...
- CGContextRef 画线简单用法
CGContextRef CGContextMoveToPoint(context,150,50);//圆弧的起始点 CGContextAddArcToPoint(context,100,80,130 ...
- unity3d NavMeshAgent 寻路画线/画路径
今天在群里看见有个小伙在问Game视图寻路时怎么画线 正好前几天写了个寻路,而且自己也不知道具体怎么在寻路时画线,所以决定帮帮他,自己也好学习一下 在百度查了一下资料,直接搜寻路画路径.寻路画线... ...
- unity3d之在屏幕上画线
如何在屏幕上画线,简单的代码如下: using UnityEngine; public class Test : MonoBehaviour { void OnGUI() { GL.LoadOrtho ...
- unity3d 使用GL 方式画线
这个是画线部分 private Vector3[] linePoints; public int m_LineCount; public int m_PointUsed; public void Re ...
- MFC画线功能总结
本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6216464.html MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始 ...
- MFC消息映射机制以及画线功能实现
---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...
- Android中Path类的lineTo方法和quadTo方法画线的区别
转载:http://blog.csdn.net/stevenhu_223/article/details/9229337 当我们需要在屏幕上形成画线时,Path类的应用是必不可少的,而Path类的li ...
- iOS小画板画线总结
一:基本画线: 使用贝赛尔曲线画: //创建路径 UIBezierPath* aPath = [UIBezierPath bezierPath]; //设置线宽 aPath.lineWidth = 5 ...
随机推荐
- [转]MySQL数据库备份和还原的常用命令小结
MySQL数据库备份和还原的常用命令小结,学习mysql的朋友可以参考下: 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword datab ...
- SpringMVC4+thymeleaf3的一个简单实例(篇一:基本环境)
首语:用SpringMVC和thymeleaf实现一个简单的应用,包括基本环境搭建,SpringMVC4和thymeleaf3的整合,页面参数的获取,页面参数验证,以及用MySQL保存数据.我会把步骤 ...
- jdk配置环境变量(windows)
1.配置环境变量:右击"我的电脑"-->"高级"-->"环境变量"1)在系统变量里新建"JAVA_HOME" ...
- spring data jpa Specification 例子
/** * 封装查询条件 * * @param baseQueryDTO * @return */ private Specification<ActivityBase> getSpeci ...
- extern "C" {} 来沟通C和C++
比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern "C"来强制编译器不要修改你的函数名. 通常,在C语言的头 ...
- 《作业控制系列》-“linux命令五分钟系列”之十
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
- NewRowNeeded和UserAddedRow事件以及RowsAdded的区别使用
NewRowNeeded事件当 VirtualMode 属性为 true 时,将在用户定位到 DataGridView 底部的新行时发生,适合给新行建立一些默认数据和按规则应该产生的数据,但此时不推荐 ...
- js事件处理 —— 详解
对于JS事件处理分为四部分: 1.html事件处理程序 直接添加到HTML结构中 解析:用html处理程序可以直接在button元素里直接调用,但是维护性不是很方便 <!DOCTYPE html ...
- php之购物车类思路及代码
<?php /* 购物车类 1.整站范围内,购物车--全局有效 解决:把购物车的信息,放在session里 2.既然全局有效,购物车的实例只有一个 解决:单例模式 技术选型:session+单例 ...
- php里 \r\n换行问题
<?php echo "hello"; echo "\r\n"; echo "world"; ?> 在浏览器输出的是hello ...