-
Creator 版本: 3.7.0
-
目标平台: Chrome
(十分重要,别简单的就说“原生”或者“网页”)–> -
重现方式:NodeA与NodeB相碰撞,B是BoxCollider2D,A是CircleCollider2D是或BoxCollider2D,A跳跃从下方撞向B,观察norma.y的值
-
首个报错:
-
之前哪个版本是正常的: 未测试
-
手机浏览器: chrome
-
编辑器操作系统: win11
-
重现概率:100%
NodeA与NodeB相碰撞,B是BoxCollider2D,A是CircleCollider2D是或BoxCollider2D,A跳跃从下方撞向B,观察norma.y的值
下面是碰撞时候,B的脚本,打印normal的x和y方向,居然不一样
- 采用BoxCollider2D时,normax.y = 1
- 采用CircleCollider2D时,normax.y = -1
···
onBeginContact (selfCollider, otherCollider, contact: IPhysics2DContact | null)
{
var worldManifold = contact.getWorldManifold();
var normal = worldManifold.normal;
console.log("xy", normal.x, normal.y)
console.log("selfCollider " , otherCollider)
}
···
类似的问题也出现在预制体和层级管理器。
同一个BoxCollider2D对象,
- 预制体拖拽到层级管理器,碰撞时候,法线 normal.y = -1
- 以程序方式,加载预制体,碰撞时候,法线 normal.y = 1

