| | |
| | | |
| | | void Start() |
| | | { |
| | | |
| | | targetPos = TargetRot; |
| | | initPos = transform.localPosition; |
| | | |
| | | |
| | | targetPos = TargetRot; |
| | | initPos = transform.localPosition; |
| | | |
| | | Initialize(); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | void EndInit() |
| | | { |
| | | if (!isFixed) |
| | | { |
| | | transform.localRotation = targetRot; |
| | | |
| | | } |
| | | else |
| | | { |
| | | transform.localPosition = targetPos; |
| | | |
| | | } |
| | | transform.localPosition = targetPos; |
| | | isEnd = true; |
| | | } |
| | | |
| | | void Init() |
| | | { |
| | | if (!isFixed) |
| | | { |
| | | transform.localRotation = initRot; |
| | | |
| | | } |
| | | else |
| | | { |
| | | transform.localPosition = initPos; |
| | | |
| | | } |
| | | transform.localPosition = initPos; |
| | | isEnd = false; |
| | | } |
| | | |
| | |
| | | if (Run) |
| | | { |
| | | t += Speed * Time.deltaTime; |
| | | if (!isFixed) |
| | | { |
| | | if (isEnd) |
| | | { |
| | | // 초기 회전값까지 애니메이션 |
| | | transform.localRotation = Quaternion.Slerp(transform.localRotation, initRot, t); |
| | | if (transform.localRotation == initRot) |
| | | { |
| | | InitValues(false); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // 목표 회전값까지 애니메이션 |
| | | transform.localRotation = Quaternion.Slerp(transform.localRotation, targetRot, t); |
| | | if (transform.localRotation == targetRot) |
| | | { |
| | | InitValues(true); |
| | | |
| | | } |
| | | if (isEnd) |
| | | { |
| | | // 초기 좌표까지 애니메이션 |
| | | transform.localPosition = Vector3.Lerp(transform.localPosition, initPos, t); |
| | | if (transform.localPosition == initPos) |
| | | { |
| | | InitValues(false); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (isEnd) |
| | | // 목표 좌표까지 애니메이션 |
| | | transform.localPosition = Vector3.Lerp(transform.localPosition, targetPos, t); |
| | | if (transform.localPosition == targetPos) |
| | | { |
| | | // 초기 좌표까지 애니메이션 |
| | | transform.localPosition = Vector3.Lerp(transform.localPosition, initPos, t); |
| | | if (transform.localPosition == initPos) |
| | | { |
| | | InitValues(false); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // 목표 좌표까지 애니메이션 |
| | | transform.localPosition = Vector3.Lerp(transform.localPosition, targetPos, t); |
| | | if (transform.localPosition == targetPos) |
| | | { |
| | | InitValues(true); |
| | | } |
| | | InitValues(true); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |