贝塞尔曲线的应用
来源:互联网 发布:java进阶书籍 知乎 编辑:程序博客网 时间:2024/05/23 11:24
1.实际效果
做游戏要的就是一些华丽的效果。比如物品的拾取特效,能量收集特效等等需要运动轨迹的地方。
利用贝塞尔曲线做的实际效果图:
(好吧这个效果图有点坑爹。不过尼玛不要嫌弃QQ截图就这样了)
单帧效果:
2.大致原理
感觉是不是很炫酷呀!做这样的效果首先要了解下贝赛尔曲线这个东东(好吧实际上你完全不需要理解这个东东只要知道有这个东西。然后公式什么的内事找百度就好)
一阶贝塞尔曲线(线段):
实际效果就是一个线性插值
来来来美少年们,一阶段的咱暂时不用,主要用的是二阶段的公式
二阶贝塞尔曲线(线段)
整个路径是由定点P0、P1、P2三个点来确定的。 效果如下:
接下来的三阶段,四阶段xx阶段你可以看下百度内容:
http://baike.baidu.com/view/60154.htm?fr=aladdin
3.项目代码
实际项目中的代码,只要根据公式计算就可以了。
提供一个简单的例子
using UnityEngine;using System.Collections;/// <summary>/// 贝塞尔曲线/// </summary>public class BezierVFX : MonoBehaviour { public Vector3 startPosition; public Vector3 endPosition; public Vector3 anchorPoint; [SerializeField] private float m_Duration; private float m_survivalTime;//结束之后保留的时间 private float m_Time; private bool m_Begin = false; private Transform mTrans; public Transform cachedTransform { get { if (mTrans == null) mTrans = transform; return mTrans; } }void Start () { m_Time = 0; m_Begin = false;}void Update () { if (!m_Begin) { return; } m_Time += Time.deltaTime; float t = m_Time / m_Duration; t = Mathf.Clamp01(t); t = t * t;//曲线 Vector3 pos = (1 - t) * (1 - t) * startPosition + 2 * t * (1 - t) * anchorPoint + t * t * endPosition; cachedTransform.position = pos; if (m_Time > m_Duration+0.5f) { Destroy(gameObject); m_Begin = false; }} public void Begin(float fDuration) { m_Begin = true; m_Duration = fDuration; } public void SetDuration(float fDuration) { m_Duration = fDuration; }}
0 0
- 贝塞尔曲线的应用
- 贝塞尔曲线的应用
- 贝塞尔曲线的应用
- Matlab之贝塞尔曲线的逆应用
- android贝塞尔曲线的简单应用
- OC笔记-贝塞尔曲线的应用
- Android贝塞尔曲线的理解与应用
- 贝塞尔曲线移动 应用
- Android-贝塞尔曲线应用
- 贝塞尔曲线应用
- 三阶贝塞尔曲线Interpolator的应用
- DragChartPanel 可拖拽曲线的应用
- 贝塞尔曲线原理及应用
- 高效的贝塞尔曲线
- 贝塞尔曲线的实现
- 贝塞尔曲线的使用
- Python绘制二维曲线的日常应用
- cocos2d-x 贝塞尔曲线之游戏应用
- 数据结构--单链表c语言实现
- 给C#开发者的代码审查清单
- 剖析3-sum问题(Three sum)
- Android组件之自定义ContentProvider
- 扁平化UI套件
- 贝塞尔曲线的应用
- 10款实用Android UI工具
- Join the Conversation
- DirectX3D窗体创建
- 探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密
- 探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密
- 数据结构--顺序表c语言实现
- [LeetCode]longest consecutive sequence
- 超体