关于Unity相机碰撞到物体后会出现相机乱跑的问题

在Unity的PC项目中,当摄像机带有刚体和BoxCollider并碰撞到物体时,可能导致相机失控乱动。为解决这一问题,可以在摄像机脚本中通过设置Rigidbody组件的约束,禁止其在碰撞中改变位置,从而保持稳定性。具体做法是将刚体的FreezePosition的XYZ轴冻结,但直接在Inspector面板中打勾可能无效,需要使用脚本来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于Unity相机碰撞到物体后会出现相机乱跑的问题

在PC端的项目中, 在给摄像机添加刚体和BoxCollider组件后,与场景中的物体(模型)进行碰撞时,碰撞次数多,摄像机可能会不受控制的在场景中乱跑,在这里记录控制摄像机的Position的稳定性。只需要在挂载摄像机的脚本下中写下下面的代码即可。


            rig.constraints = RigidbodyConstraints.FreezeAll;
            rig.constraints = ~(RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionY | RigidbodyConstraints.FreezePositionZ);

注:起始这个就是将刚体组件中的Freeze Rotation的 X、Y、Z轴打上√就行,但是很奇怪的是,用脚本写上去的话就没有乱跑的情况,只是在Inspector面板中打上√的话还是会出现乱跑的情况,在此记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值