LookAt调整
This commit is contained in:
@@ -93,29 +93,6 @@ namespace Ichni.RhythmGame
|
||||
|
||||
public partial class GameCamera
|
||||
{
|
||||
public void UpdateLookAt(LookAt lookAt) // 处理LookAt
|
||||
{
|
||||
if (
|
||||
transformSubmodule.eulerAnglesOffsetLock &&
|
||||
transformSubmodule.eulerAnglesDirtyMark)
|
||||
{
|
||||
|
||||
Vector3 lookingDirection = (lookAt.lookAtObject.transform.position - transform.position).normalized;
|
||||
|
||||
Vector3 eulerAnglesOffse = Quaternion.LookRotation(lookingDirection).eulerAngles;
|
||||
|
||||
transformSubmodule.eulerAnglesOffset.Add(eulerAnglesOffse);
|
||||
Vector3 offset = transformSubmodule.eulerAnglesOffset.Sum();
|
||||
transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + offset;
|
||||
|
||||
// transform.LookAt(transformSubmodule.lookAt.lookAtObject.transform);
|
||||
transform.localEulerAngles = transformSubmodule.currentEulerAngles;
|
||||
|
||||
transformSubmodule.eulerAnglesDirtyMark = false;
|
||||
transformSubmodule.eulerAnglesOffset.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
public void SetTransformObserver()
|
||||
{
|
||||
Observable.EveryLateUpdate().Subscribe(_ =>
|
||||
@@ -129,22 +106,20 @@ namespace Ichni.RhythmGame
|
||||
|
||||
if (!transformSubmodule.eulerAnglesOffsetLock && transformSubmodule.eulerAnglesDirtyMark)
|
||||
{
|
||||
Vector3 offset = transformSubmodule.eulerAnglesOffset.Sum();
|
||||
transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + offset;
|
||||
transformSubmodule.currentEulerAngles = transformSubmodule.originalEulerAngles + transformSubmodule.eulerAnglesOffset;
|
||||
transform.localEulerAngles = transformSubmodule.currentEulerAngles;
|
||||
transformSubmodule.eulerAnglesDirtyMark = false;
|
||||
willRefresh = true;
|
||||
transformSubmodule.eulerAnglesOffset.Clear();
|
||||
transformSubmodule.eulerAnglesOffset = Vector3.zero;
|
||||
}
|
||||
|
||||
if (transformSubmodule.positionDirtyMark)
|
||||
{
|
||||
Vector3 offset = transformSubmodule.positionOffset.Sum();
|
||||
transformSubmodule.currentPosition = transformSubmodule.originalPosition + offset;
|
||||
transformSubmodule.currentPosition = transformSubmodule.originalPosition + transformSubmodule.positionOffset;
|
||||
transform.localPosition = transformSubmodule.currentPosition;
|
||||
transformSubmodule.positionDirtyMark = false;
|
||||
willRefresh = true;
|
||||
transformSubmodule.positionOffset.Clear();
|
||||
transformSubmodule.positionOffset = Vector3.zero;
|
||||
}
|
||||
|
||||
if (willRefresh)
|
||||
|
||||
Reference in New Issue
Block a user