美文网首页电竞·游戏程序员
Defold 游戏开发笔记 05

Defold 游戏开发笔记 05

作者: 一個迷途小碼農 | 来源:发表于2018-01-20 21:24 被阅读0次
Defold

趁着周末有点时间,为游戏的路线编辑器加了不少新东西。

首先是加了敌人在移动时,会面对着所移动的方向,本来我以为用 go.animate(go.get_id(), "rotation"...) 就可以,谁知道 go.animate 在处理旋转角度时会引起不正常的缩放效果,因为它所用的变量是 quarternion,而不是一个简单的角度,估计go.animate 是用了vmath.lerp() 来处理数值的变化,如果想正确的处理quarternion 是要用 vmath.slerp 的。后来在官方论坛找到有人遇到相同问题并想到的解决方法,几番折腾后才终于搞好。

更重要的是,今天加入了敌人可以沿着曲线移动的功能! 终于不用只是直来直往的那么单调。

-- Catmull-Rom Splines

local function getPointOnCurve(p0, p1, p2, p3, target, t)

local t2 = t * t

local t3 = t2 * t

target.x = 0.5*((2.0*p1.x)+(-p0.x+p2.x)*t+(2.0*p0.x-5.0*p1.x+4*p2.x-p3.x)*t2+(-p0.x+3.0*p1.x-3.0*p2.x+p3.x)*t3)

target.y = 0.5*((2.0*p1.y)+(-p0.y+p2.y)*t+(2.0*p0.y-5.0*p1.y+4*p2.y-p3.y)*t2+(-p0.y+3.0*p1.y-3.0*p2.y+p3.y)*t3)

end

本来的直线模拟曲线 新的曲线路径

我选用的曲线计算公式是 Catmull-Rom Splines,这个公式的原作者是 Edwin Catmull 和 Raphael Rom。Catmull 的其他重要发明还有 Texture mapping 和 Catmull–Clark subdivision surface,大家有没有发现这些可都是三维电脑图像处理的重要公式!而Catmull 是何许人呢? 他正是Pixar 创办时的技术大牛CTO,现任 Walt Disney 和 Pixar 的President!

John Lasseter 是 Pixar 的创意灵魂,但背后若不是Catmull 技术上过硬的支持,估计 Pixar 是不可能取得现在的成就的!

相关文章

  • Defold 游戏开发笔记 05

    趁着周末有点时间,为游戏的路线编辑器加了不少新东西。 首先是加了敌人在移动时,会面对着所移动的方向,本来我以为用 ...

  • Defold 游戏开发笔记 06

    经常看到有独立游戏开发者,花三五年才把一个游戏完成,我总觉得挺不可思议的,这得需要多少的坚持才能做的到啊! 然后自...

  • Defold 游戏开发笔记 03

    路线编辑器这两天进度不错,加好了一些基本的功能,可以画出路线,调整点的位置,删掉不要的点等。 除了点出路线,现在也...

  • Defold 游戏开发笔记 01

    最近老是不务正业,一会画个东西,一会玩玩音乐,而且总有漂亮的借口:做游戏需要画角色对吧?做游戏需要背景音乐对吧?至...

  • Defold 游戏开发笔记 02

    今天为游戏加了一个简单的菜单,主要用到了 Defold 的 collection proxy 功能。 一般来说我们...

  • Defold 游戏开发笔记 00

    简介 Defold 是一个以 Lua 为脚本语言的2D游戏引擎,最初是由两个游戏程序员为了打造自己心目中理想的引擎...

  • Defold 游戏开发笔记 04

    这两天加上了储存和载入功能,似乎可以开始利用这编辑器设定敌人的移动路线了。 一开始我用了sys.save/sys....

  • Defold学习笔记002

    1.拖拽(详细工程https://github.com/britzl/publicexamples/tree/ma...

  • Defold学习笔记001

    1.上下左右移动和点击 2.图集相关

  • iOS 2D游戏开发学习笔记:GameplayKit

    iOS 2D游戏开发学习笔记:GameplayKit 这是我的 iOS 2D 游戏开发学习笔记,本篇学习内容来自r...

网友评论

    本文标题:Defold 游戏开发笔记 05

    本文链接:https://www.haomeiwen.com/subject/deataxtx.html