/// <summary> /// 平移注视视野 /// </summary> /// <param name="position">目标位置</param> /// <param name="damping">阻尼缓动模式</param> public void SetPosition(Vector3 position, bool damping = true) { if (_isKeepTrack) { return; } if (NeedLimit) { position = MathfToolkit.Clamp(position, XMinLimit, YMinLimit, ZMinLimit, XMaxLimit, YMaxLimit, ZMaxLimit); } if (_moveTweener != null) { _moveTweener.Kill(); _moveTweener = null; } if (damping) { _moveTweener = Target.transform.DOMove(position, DampingTime); } else { Target.transform.position = position; } }
private void ApplyPosition() { if (NeedLimit) { Target.transform.position = MathfToolkit.Clamp(Target.transform.position, XMinLimit, YMinLimit, ZMinLimit, XMaxLimit, YMaxLimit, ZMaxLimit); } }
private void SwitchAngle(bool damping) { //摄像机插值变换到新的位置 if (damping) { transform.rotation = Quaternion.Lerp(transform.rotation, _rotation, Time.deltaTime * _damping); transform.position = Vector3.Lerp(transform.position, _position, Time.deltaTime * _damping); } //摄像机直接变换到新的位置 else { transform.rotation = _rotation; transform.position = _position; } //摄像机位置限制 if (NeedLimit) { transform.position = MathfToolkit.Clamp(transform.position, XMinLimit, YMinLimit, ZMinLimit, XMaxLimit, YMaxLimit, ZMaxLimit); } }