Matter.js设置碰撞规则-创新互联
Matter是一套不错的js物理引擎,LayaAir内置后,变得更加好用
成都创新互联公司主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务大安市,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792Matter相互碰撞提供了collisionFilter属性,支持三种属性,分别是
group
category
mask
使用三种属性,就能设计出很复杂的碰撞关系
其中规则如下:
第一种情况
在两个group相等的前提下
如果任意group大于零,则两者始终碰撞,比如大家都是1,这大家相互直接始终碰撞
如果任意group小于0,比如大家都是-1,则大家永远也不碰撞
除上述两种情况,则根据category和mask进行判定
第二张情况
在两个group不相等的前提下
根据category和mask进行判定
根据category和mask判定
category,mask判定规则
category代表一个碰撞分类,其值可为1,2,4,8...直到 2^31,每个刚体设置一个值
mask为碰撞集合(category集合),是category相与的结果值,比如接受2,4类型,其值为6
a和b碰撞情况是
a的mask必须包含b的category,同时b的mask也必须包含a的category,即
(a.category & b.mask) !== 0 && (b.category & a.mask) !== 0
总结如下:
简单的碰撞关系,直接设置group即可
复杂的碰撞关系,可以通过设置category和和mask值进行搭配,做出很高级的碰撞关系
附带我做的小物理游戏
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:Matter.js设置碰撞规则-创新互联
本文路径:http://hbruida.cn/article/pdsos.html