BlockE核心物理触发器设计——设计动机及其考虑

BUGE物理引擎分为触发引擎和牛顿引擎两种引擎,触发引擎只负责区块的转移和区块的探索以及物理触发器的触发。而牛顿引擎将模拟反弹碰撞等特效,牛顿引擎依赖于触发引擎,这是由于牛顿引擎需要与触发引擎相互作用的结果,只有触发引擎的物体对于拥有牛顿引擎的方块来说是刚体。所有的方块默认带有触发引擎(以及基础显示引擎)。牛顿引擎属于可选引擎(可选择为实体),同时牛顿引擎分为两种子引擎,第一种是使用字链表的推动式引擎,优点是精度高不容易出现反牛顿的现象,缺点是设计复杂易出错而且对待旋转的物体不友好(如果物体发生旋转会发生反牛顿的现象),(这一种被舍弃了,原因是如果连个物体同时使用了这种物理引擎的话还是会出现穿模型问题而且优化空间很小)第二种是采用物理桢刷新的方式刷新这种方式将会按照一定的频率刷新场景中的物体并检测碰撞,这种方式设计较为简易但是效率较低(当然如果使用优先队列并分块刷新的话就能克服效率的问题,但是会使设计难度上升。),除此之外最大的问题是很容易出现穿模现象,物体的刷新是按照桢刷新的所以物体的移动实际上是离散的。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值