public virtual void UpdatePosition() { Vector3 target = _spline.EvaluatePositionAtUnit(_pathPosition, _positionUnits) + _toMove.right * _offsetFromSpline.x + _toMove.up * _offsetFromSpline.y; _toMove.position = ExtVector3.OwnSmoothDamp(_toMove.position, target, ref _refPositionVelocity, _dampingTimePosition, Mathf.Infinity, Time.fixedDeltaTime); }
//public static void GenerateAndSwitchBranch(ControllerStick stick, SplineBase splineA, SplineBase splineB, float from, float to, SplineBase.PositionUnits positionUnits) //{ // SplineBase generatedSpline = BranchBetweenSplines.GenerateBranch(splineA, splineB, from, to, positionUnits); // stick.ChangeSpline(generatedSpline, 0); //} public void BasicPositionAndOffset(float offset) { Vector3 target = PositionWithoutOffsetFromSpline(offset) + _toMove.right * _offsetFromSpline.x + _toMove.up * _offsetFromSpline.y; _toMove.position = ExtVector3.OwnSmoothDamp(_toMove.position, target, ref _refPositionVelocity, _dampingTimePosition, Mathf.Infinity, Time.fixedDeltaTime); }
private void ApplyChange() { //_camera.transform.position = _follow.position; //_camera.transform.LookAt(_lookAt, _upReference.up); _camera.transform.position = ExtVector3.OwnSmoothDamp(_camera.transform.position, _follow.position, ref _refPositionVelocity, _dampingPosition, Mathf.Infinity, Time.deltaTime); Quaternion targetRotation = Quaternion.LookRotation(_lookAt.position - _camera.transform.position, _upReference.up); //target = target * Quaternion.Euler(_offsetRotation); _camera.transform.rotation = ExtRotation.OwnSmoothDamp(_camera.transform.rotation, targetRotation, ref _refRotationVelocity, _dampingLookAt, Time.deltaTime); }
private static float SmoothDampAngle(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed, float deltaTime) { target = current + DeltaAngle(current, target); return(ExtVector3.OwnSmoothDamp(current, target, ref currentVelocity, smoothTime, maxSpeed, deltaTime)); }