你好,所有人,我遇到了一个问题,我正在使用Unity 6和Cinemachine制作一个游戏。我的问题是:我使用了一种固定第三人称摄像机,它不会旋转,它保持一定的角度和偏移量相对于玩家。然而,我的问题是:当玩家靠近一个墙壁时,摄像机会进入墙壁内部,显示墙壁的内部网格(剪影)。我希望我的摄像机能够像一个坚硬的物体一样行为。它应该与3D模型(墙壁、树木等)发生碰撞,并在碰撞时被推开或“滑动”以保持在外部,不会进入几何体内部。
以下方法不起作用或不符合我的需求:
- Cinemachine Deoccluder / Collider:这些组件太“智能”了,它们试图使我始终看到我的角色。结果是,当树木穿过摄像机和玩家的路径时,摄像机会剧烈地放大。这不是我想要的。我希望树木可以遮挡玩家而不会使摄像机移动。
- 经典的光线检测:使用单个光线检测中心是不够的,因为如果屏幕边缘接触墙壁但中心不接触,仍然会显示穿透效果。
总之,我正在寻找一种方法,使我的摄像机在特定层面(LayerMask)上被“物理”阻挡,但完全忽略玩家的遮挡(它不应该放大,如果一个物体遮挡玩家)。
评论 (0)