我正在使用单位的角色控制器工具。
问题是,如果在下面与默认角色控制器的胶囊碰撞器发生碰撞,除非无法检测到与表面的任何接触,否则它将不会下滑或掉落。
它是这样的: 在此处输入图片说明https://i.stack.imgur.com/9yf5t.png
我正在像这样使用自己的重力:
private void ApplyGravity() { if (!characterController.isGrounded) { gravity += Physics.gravity * Time.deltaTime * gravityFactor; if (gravity.y > 0 && !Input.GetButton(jumpButton)) gravity += Physics.gravity * Time.deltaTime * gravityFactor * (lowJumpMultiplier - 1); } else if (!isJumping) gravity = Vector3.down; CheckCollisionFlags(); movement += gravity; }
我还没有找到任何修改角色控制器属性以应用任何滑移或添加新对撞机以进行碰撞的方法。
我已经尝试过减小胶囊对撞机的半径,但这会导致角色可以稍微穿过墙壁。
我曾考虑过使用多种射线来检查身体中部是否超出边缘,然后施加力使其掉落,但是我认为这可能是解决此问题的更简便,更理想的方法。