如下图,左边绿色块是我开启的一个RigidBodyType = static的一个 PhysicsBoxCollider。然后一个RigidBodyType = animated的PhysicsBoxCollider从箭头方向撞过来
结果我得到的法向量为啥是[-1,0]?不应该是[1,0] 吗?
如下图,左边绿色块是我开启的一个RigidBodyType = static的一个 PhysicsBoxCollider。然后一个RigidBodyType = animated的PhysicsBoxCollider从箭头方向撞过来
结果我得到的法向量为啥是[-1,0]?不应该是[1,0] 吗?
看样子大佬们都没空么。。。?还是我这问题太简单了,大佬们不屑于回答
再补充个图,这个方向撞过来,为啥法向量右下?这里不应该是垂直向上吗?
大佬们有空了没有?求求了,别沉啊
感谢大佬,但是不仅仅是相反的问题,有时候取出来法向量跟碰撞的平面平行,有时候就是瞎给的法向量,断点调试发现在触发碰撞回调的时候manifold.pointCount为0,然后并没有去做碰撞的计算,直接return了。目前我只能做特殊处理,判断碰撞的对象为墙壁时写死对应的法向量,相当于这里ccc自带的box2d完全没得卵用。。。我觉得应该是我哪里写的不符合ccc设定的规范才发生这个问题,但是就是没有方向,不知道该往哪找
如果只是边界墙这个需求的话,我觉得完全不必要用碰撞啊,效率又不高,直接算边界,数学运算不香么
emm…这里不是特例啊,并不是移动不出边界这个规则,而是移动碰到障碍物要做反弹。。。边界只是障碍的一种
这个也可以用数学运算呀,先算出移动目标位置,判断如果超出墙则限制位置为墙的位置,然后下一帧算出反弹方向,朝着相反的方向移动,然后再判断是否超出墙体,循环处理
所以咱们就是承认了ccc的物理引擎是渣渣完全用不了么。。。。?
感觉不科学, 没有接触点怎么触发和解决碰撞的.
是各个阶段的回调函数里都是这样吗?
这就不知道了,其他刚体碰撞因为没有明显问题所以没有调试过,就这个怪物的刚体因为需要根据碰撞的法向量做反弹,然后给的法向量是错的所以会弹出屏幕太明显了
这么小的功能需求为啥用那么重的功能呢,包体不考虑吗
几十个怪物spine动画,设计尺寸1920x1080,肯定不会在乎这点包体啊。。。关键不能因为照顾包体而本身能用的功能都改的不能用了吧?
onBeginContact
onEndContact
onPreSolve
onPostSolve
各个阶段的回调里都没有碰撞法线吗?
不知道,我只使用了onBeginContact
最后问题解决了吗?别沉下去啊
并没有,项目已经放弃了
大佬,我关注你一年了,看你一年前刚接触cocos,现在变得无所不能,是有啥秘诀吗
有啊,先学一年2dx,然后再工作5年,再转creator从头学,一年后你就能变得跟我一样废物了