Unity本身是用的Box2d的普通重力算法,直接使用的话,上升速度和下降速度没有最大值,速度变化也是线性而不会像马里奥那样到跳到顶会稳定一会。
所以,要实现漂亮的跳跃曲线,要自己做重力算法,放弃Unity本身的重力。具体点
如果使用1、RigidBody2d,就自己控制velocity的y轴速度。
如果是自己做移动,那本身就是自己做RigidBody2d.Move或者移动Transform。
公式的话,我也没有具体研究过。马里奥印象中是有个最大下落速度,跳到顶的时候重力加速度减小,然后越下落加速越快。
我认为用unity开发2d游戏最大的优势是,unity作为一款游戏引擎已经提供了比较完善的底层基础游戏功能模块,例如碰撞检测和物理模拟,而要用到这些功能是必须用“方法1”的,unity目前内建的二维渲染机制(无论是guitexture还是unitygui)都不能享受到上述福利。而且最关键的是,使用unity做三维渲染的效率比二维渲染快多了(同等二维画面复杂程度)。
为了享受游戏引擎的丰富功能以及更快更好的渲染效果,请用方法1。unity到目前为止,gui就是鸡肋中的鸡肋,所以很多二维界面效果反而不得不动用三维渲染,期待3.5版更新吧。
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
恺撒(教主)