用户登录
用户注册

分享至

unity 跳跃

  • 作者: 恺撒(教主)
  • 来源: 51数据库
  • 2020-09-29
Unity本身是用的Box2d的普通重力算法,直接使用的话,上升速度和下降速度没有最大值,速度变化也是线性而不会像马里奥那样到跳到顶会稳定一会。
所以,要实现漂亮的跳跃曲线,要自己做重力算法,放弃Unity本身的重力。具体点
如果使用1、RigidBody2d,就自己控制velocity的y轴速度。
如果是自己做移动,那本身就是自己做RigidBody2d.Move或者移动Transform。
公式的话,我也没有具体研究过。马里奥印象中是有个最大下落速度,跳到顶的时候重力加速度减小,然后越下落加速越快。



  我认为用unity开发2d游戏最大的优势是,unity作为一款游戏引擎已经提供了比较完善的底层基础游戏功能模块,例如碰撞检测和物理模拟,而要用到这些功能是必须用“方法1”的,unity目前内建的二维渲染机制(无论是guitexture还是unitygui)都不能享受到上述福利。而且最关键的是,使用unity做三维渲染的效率比二维渲染快多了(同等二维画面复杂程度)。
为了享受游戏引擎的丰富功能以及更快更好的渲染效果,请用方法1。unity到目前为止,gui就是鸡肋中的鸡肋,所以很多二维界面效果反而不得不动用三维渲染,期待3.5版更新吧。
软件
前端设计
程序设计
Java相关