如何在不使用 Collision 的情况下关闭 Cinemachine Impulse 源?
How do you fire off the Cinemachine Impulse source without using the Collision one?
如何通过ImpulseSource正确调用GenerateImpulse()来实现Cinemachine的camera ImpulseListener(camera shake)?如果我将 CollisionImpuleSource 放在播放器上,我可以让它工作,但我不想那样。我想用Impulse Source,然后用代码,确定什么时候摇。
我正在查看文档 https://docs.unity3d.com/Packages/com.unity.cinemachine@2.3/manual/CinemachineImpulseSource.html,但没有看到如何正确地启动 ImpulseSource。
我设置了私人...
public CinemachineVirtualCamera vCamera;
private CinemachineImpulseSource _impulseSource;
我可以调用 generateImpulse...
_impulseSource.GenerateImpulse();
但我不知道如何获取组件
private void Start(){
_impulseSource = vCamera.GetCinemachineComponent<CinemachineImpulseSource>();
}
我收到一个错误..
The type
'Cinemachine.CinemachineImpulseSource'
must be convertible to
'Cinemachine.CinemachineComponentBase'
in order to use it as parameter 'T' in
the generic method 'T
Cinemachine.CinemachineVirtualCamera.GetCinemachineComponent()'
但如果我也改变私人..
private CinemachineComponentBase _impulseSource;
这没有帮助。需要一些关于如何引用它的指导。
将 CinemachineImpulseSource
视为自定义游戏对象上的一个组件。
将 CinemachineImpulseSource
脚本组件附加到新游戏对象。您可以将它添加到您的问题脚本所附的同一个 GO 中,但没有对此进行测试。
根据您的需要配置脉冲源组件并引用它。如果它在同一个游戏对象上,请创建一个 public 字段,就像您的相机参考一样,并在检查器中分配它 或 使用 GetComponent<CinemachineImpulseSource>()
获取它。然后你可以在上面调用GenerateImpulse()
。
public CinemachineVirtualCamera vCamera;
public CinemachineImpulseSource ImpulseSource; // Assign in inspector
...
ImpulseSource.GenerateImpulse();
如何通过ImpulseSource正确调用GenerateImpulse()来实现Cinemachine的camera ImpulseListener(camera shake)?如果我将 CollisionImpuleSource 放在播放器上,我可以让它工作,但我不想那样。我想用Impulse Source,然后用代码,确定什么时候摇。
我正在查看文档 https://docs.unity3d.com/Packages/com.unity.cinemachine@2.3/manual/CinemachineImpulseSource.html,但没有看到如何正确地启动 ImpulseSource。
我设置了私人...
public CinemachineVirtualCamera vCamera;
private CinemachineImpulseSource _impulseSource;
我可以调用 generateImpulse...
_impulseSource.GenerateImpulse();
但我不知道如何获取组件
private void Start(){
_impulseSource = vCamera.GetCinemachineComponent<CinemachineImpulseSource>();
}
我收到一个错误..
The type 'Cinemachine.CinemachineImpulseSource' must be convertible to 'Cinemachine.CinemachineComponentBase' in order to use it as parameter 'T' in the generic method 'T Cinemachine.CinemachineVirtualCamera.GetCinemachineComponent()'
但如果我也改变私人..
private CinemachineComponentBase _impulseSource;
这没有帮助。需要一些关于如何引用它的指导。
将 CinemachineImpulseSource
视为自定义游戏对象上的一个组件。
将 CinemachineImpulseSource
脚本组件附加到新游戏对象。您可以将它添加到您的问题脚本所附的同一个 GO 中,但没有对此进行测试。
根据您的需要配置脉冲源组件并引用它。如果它在同一个游戏对象上,请创建一个 public 字段,就像您的相机参考一样,并在检查器中分配它 或 使用 GetComponent<CinemachineImpulseSource>()
获取它。然后你可以在上面调用GenerateImpulse()
。
public CinemachineVirtualCamera vCamera;
public CinemachineImpulseSource ImpulseSource; // Assign in inspector
...
ImpulseSource.GenerateImpulse();