Bezi回来了
This commit is contained in:
@@ -39,26 +39,19 @@ namespace Cielonos.MainGame.Effects.Feedback
|
||||
/// 将给定的本地空间向量根据当前设置转换到世界空间。
|
||||
/// 如果两个方向都开启,角色方向优先。
|
||||
/// </summary>
|
||||
/// <param name="localAmplitude">本地空间下的振幅向量</param>
|
||||
/// <param name="standardScreenVector">在摄像机和角色相同朝向时,屏幕空间的振幅向量</param>
|
||||
/// <param name="ownerTransform">角色 Transform(可能为 null)</param>
|
||||
/// <returns>经方向变换后的振幅向量</returns>
|
||||
public Vector3 TransformAmplitude(Vector3 localAmplitude, Transform ownerTransform)
|
||||
public Vector3 TransformAmplitude(Vector3 standardScreenVector, Transform ownerTransform)
|
||||
{
|
||||
if (affectedByCharacterDirection && ownerTransform != null)
|
||||
{
|
||||
return ownerTransform.TransformDirection(localAmplitude);
|
||||
}
|
||||
Camera mainCamera = MainGameManager.Instance?.player?.viewSc?.playerCamera;
|
||||
if (mainCamera == null) return standardScreenVector;
|
||||
|
||||
if (affectedByCameraDirection)
|
||||
{
|
||||
Camera mainCamera = MainGameManager.Instance.player.viewSc.playerCamera;
|
||||
if (mainCamera != null)
|
||||
{
|
||||
return mainCamera.transform.TransformDirection(localAmplitude);
|
||||
}
|
||||
}
|
||||
Quaternion characterRotation = ownerTransform?.rotation ?? Quaternion.identity;
|
||||
Quaternion cameraRotation = mainCamera.transform.rotation;
|
||||
|
||||
return localAmplitude;
|
||||
Quaternion deltaRotation = Quaternion.Inverse(cameraRotation) * characterRotation;
|
||||
return deltaRotation * standardScreenVector;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user