方法是采用CinemachineVirtualCamera的AddCinemachineComponent,在AddCinemachineComponent中找到CinemachineFramingTransposer。
这样就可以通过代码修改FramingTransposer的参数值了,记得修改参数值是变相修改,通过增加一个Cinemachine的内部组件来实现参数值的暂时修改,修改完成后要用DestroyCinemachineComponent<CinemachineFramingTransposer>();来销毁添加的Cinemachine的组件。
其他参数也可以通过该方法进行修改比如:
在AddCinemachineComponen<下面图片中的选项>
声明部分:
public CinemachineVirtualCamera FollowMouseVcam;
private CinemachineFramingTransposer cinemachineFraming;
修改参数部分:实现对DeadZone参数的修改,其他一样。
cinemachineFraming = FollowMouseVcam.AddCinemachineComponent<CinemachineFramingTransposer>();
cinemachineFraming.m_DeadZoneWidth = 0;
cinemachineFraming.m_DeadZoneHeight = 0;
使用完成后销毁Cinemachine的组件:
FollowMouseVcam.DestroyCinemachineComponent<CinemachineFramingTransposer>();
注意:修改参数后会可能发生无法继续修改的情况,需要销毁Cinemachine的组件再添加新的
也就是AddCinemachineComponent<CinemachineFramingTransposer>和DestroyCinemachineComponent<CinemachineFramingTransposer>结合着反复用。