我有一个跳跃前进的球员。我路上也有树。当玩家试图向后或侧身移动到树上时,我无法做到。但是,当我向前移动时,我会直接穿过物体并向侧面移动。我检查了与硬币和汽车的碰撞,这两种情况都与我经过横向穿过的树木一起工作。
void OnTriggerEnter (Collider col) {
else if (col.gameObject.name == "tree1(Clone)" || col.gameObject.name == "tree2(Clone)" ||
col.gameObject.name == "tree3(Clone)" || col.gameObject.name == "tree4(Clone)") {
charController.canMove = false;
if (gameObject.name == "LeftCollider" && charController.lastJump == JumpDirection.left) { // left collider
charController.endPosition.z -= CharController.jumpDistance;
} else if (gameObject.name == "RightCollider" && charController.lastJump == JumpDirection.right) { // right collider
charController.endPosition.z += CharController.jumpDistance;
} else if (gameObject.name == "FrontCollider" && charController.lastJump == JumpDirection.up) { // front collider
charController.endPosition.x -= CharController.jumpDistance;
environmentMaker.collideFront = true;
environmentMaker.charRoadPos--;
} else if (gameObject.name == "BackCollider" && charController.lastJump == JumpDirection.down) { // back collider
charController.endPosition.x += CharController.jumpDistance;
}
前/左/右/后/碰撞器只是我的播放器前面的物体。
答案 0 :(得分:3)
如果您希望对象不从其他对象传递,则应使用colldier而不进行isTrigger检查(isTrigger应该为false)并使用OnCollisionEnter Event而不是OnTriggerEnter。
答案 1 :(得分:0)
你只是使用Bounds
代替制作许多对撞机。