Desc:
略
向量
矩阵
四元数
在游戏中,往往用于插值运算物体的旋转,相对于矩阵的运算,能够减少运算量并且只用存储四个浮点值
link
加速度
A=(v1-v0)/t
v=v0+(a*t)
Vector3 acceleration = new Vector3(playerInput.x, 0f, playerInput.y) * maxSpeed;
velocity += acceleration * Time.deltaTime;
Vector3 displacement = velocity * Time.deltaTime;
应用
角色移动
贝塞尔曲线
- GPU的有界Bezier
- 通过判断函数的正负值,可以判断像素位于曲线内部(<0),还是在曲线外部(>0)
- 分段 Bezier 曲线
- 通过让连接处的切线相互平行且长度相等来改善连续性
- 优点:
可以使用一些低阶曲线来表示,并且最终曲线将会经过一组控制点
曲线艺术编程 coding curves 第八章 贝赛尔曲线(Bézier Curves) - 池中物王二狗的文章 - 知乎
应用
根据角色位置和敌人位置,计算出一条贝塞尔曲线,子弹随之移动,限制(子弹速度需要远超角色移动速度)
子弹跟踪
曲线网格构建
游戏曲线理论以及插件制作整理 - CuriousBaby的文章 - 知乎
Unity程序化河流生成 - 就是爱折腾的文章 - 知乎
三次 Hermite 插值
相对于三次Bezier曲线通过四个控制点来描述,三次Hermite曲线使用起点和终点,以及起点切线和终点切线描述
Kochanek-Bartels 曲线
Github
特点是曲线都会经过控制点,不过计算量偏大
Catmull-Rom 曲线
曲线都会经过控制点,计算量不大
wiki
贝塞尔曲线与Catmull-Rom曲线总结 - 就是爱折腾的文章 - 知乎