sealed public override void update(float deltaTime) { if (_delay >= 0) { _delay -= deltaTime; if (_delay < 0) { progressTime += (-_delay); } return; } progressTime += deltaTime; if (progressTime >= time) { //_cam.transform.rotation = _targetRot; _cam.transform.rotation = Quaternion.Slerp(fromRot, _targetRot, 1.0f); isComplete = true; doComplete(); } else { timeStep = progressTime / time; if (useEasing) { timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle); } _cam.transform.rotation = Quaternion.Slerp(fromRot, _targetRot, timeStep); } }
public void init(Camera cam, Vector3 targetRot, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args) { time = duration; _cam = cam; fromRot = _cam.transform.rotation; Quaternion q = cam.transform.rotation; q.eulerAngles = targetRot; _targetRot = q; isComplete = false; progressTime = 0.0f; _method = callback; _delay = delay; _parameters = args; if (string.IsNullOrEmpty(easingType) == false) { useEasing = true; string[] e = easingType.Split(','); easingStyle = MiniTweenEasingType.getEasingType(e[1]); easingMethod = e[0]; } }
public void init(Transform tf, Vector3 targetPos, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args) { time = duration; _target = tf; _fromPos = tf.localPosition; _toPos = targetPos; isComplete = false; progressTime = 0.0f; //_speedX = (_toPos.x - _fromPos.x) / duration ; //_speedY = (_toPos.y - _fromPos.y) / duration ; //_speedZ = (_toPos.z - _fromPos.z) / duration ; _method = callback; _delay = delay; _parameters = args; if (string.IsNullOrEmpty(easingType) == false) { useEasing = true; string[] e = easingType.Split(','); easingStyle = MiniTweenEasingType.getEasingType(e[1]); easingMethod = e[0]; } }
sealed public override void update(float deltaTime) { if (_delay >= 0) { _delay -= deltaTime; if (_delay < 0) { progressTime += (-_delay); } return; } progressTime += deltaTime; if (progressTime >= time) { _cam.fieldOfView = to; isComplete = true; doComplete(); } else { //_cam.fieldOfView += _speedX * deltaTime; float timeStep = progressTime / time; if (useEasing) { timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle); } _cam.fieldOfView = Mathf.Lerp(fromValue, to, timeStep); } }
sealed public override void update(float deltaTime) { if (_delay >= 0) { _delay -= deltaTime; if (_delay < 0) { progressTime += (-_delay); } return; } progressTime += deltaTime; _v = _target.localPosition; //_v.x += _speedX * deltaTime; //_v.y += _speedY * deltaTime; //_v.z += _speedZ * deltaTime; if (progressTime >= time) { _target.localPosition = _toPos + GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition(); if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Close) { GameManager.me.uiManager.uiPlay.gameCameraContainer.position = Vector3.Lerp(GameManager.me.uiManager.uiPlay.gameCameraContainer.position, GameManager.me.uiManager.uiPlay.cameraTarget.position, 0.9f); } isComplete = true; doComplete(); } else { timeStep = progressTime / time; if (useEasing) { timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle); } _target.localPosition = Vector3.Lerp(_fromPos, _toPos, timeStep) + GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition(); //_v; if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Close) { GameManager.me.uiManager.uiPlay.gameCameraContainer.position = Vector3.Lerp(GameManager.me.uiManager.uiPlay.gameCameraContainer.position, GameManager.me.uiManager.uiPlay.cameraTarget.position, (timeStep > 0.7f)?timeStep * 0.9f:timeStep); } // float step = progressTime/time; // step = Easing.EaseInOut(step,EasingType.Quadratic); // _target.localPosition = Vector3.Lerp(_fromPos,_toPos,step);//_v; } }
public bool update(float delta, Monster mon) { progressTime += delta; if (progressTime >= motionTime) { isEnabled = false; mon.setColor(_targetColor); return(false); } else { _timeStep = progressTime / motionTime; if (_useEasing) { _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle); } mon.setColor(Util.colorLerp(_startColor, _targetColor, _timeStep)); return(true); } }
public bool update(float delta, Monster mon) { progressTime += delta; if (progressTime >= motionTime) { isEnabled = false; mon.setPositionCtransform(_targetPos); return(false); } else { _timeStep = progressTime / motionTime; if (_useEasing) { _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle); } mon.setPositionCtransform(Vector3.Lerp(_startPos, _targetPos, _timeStep)); return(true); } }
void LateUpdate() { if (GameManager.renderSkipFrame == false) { _doRenderSkipFrame = _needPositionRender; } if (_needPositionRender) { tf.position = targetPosition * GameManager.renderRatio + prevTransformPosition * (1.0f - GameManager.renderRatio); //prevPos = tf.position; //tf.position = VectorUtil.lerp(tf.position, targetPosition, GameManager.renderDeltaTime); } else if (GameManager.renderSkipFrame && _doRenderSkipFrame) { tf.position = targetPosition * GameManager.renderRatio + prevTransformPosition * (1.0f - GameManager.renderRatio); //tf.position = VectorUtil.lerp(prevPos, targetPosition, GameManager.renderDeltaTime); } _needPositionRender = false; if (_isDecreaseSpinningSpeedType) { _progressTime += Time.smoothDeltaTime; if (rotater == null) { return; } float s = (200.0f - (200.0f * MiniTweenEasingType.getEasingValue(_progressTime / _decreaseSpinningDuration, MiniTweenEasingType.EaseIn, EasingType.Cubic))) * 0.95f; if (s < 1.0f) { rotater.speed = 0.0f; } else { rotater.speed = s; } } }
public void init(Camera cam, float targetFov, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args) { time = duration; _cam = cam; fromValue = _cam.fieldOfView; to = targetFov; isComplete = false; progressTime = 0.0f; _speedX = (to - fromValue) / duration; _method = callback; _delay = delay; _parameters = args; if (string.IsNullOrEmpty(easingType) == false) { useEasing = true; string[] e = easingType.Split(','); easingStyle = MiniTweenEasingType.getEasingType(e[1]); easingMethod = e[0]; } }
public void update(float delta, Transform target) { progressTime += delta; if (progressTime >= motionTime) { isEnabled = false; _v.x = _targetScale; } else { _timeStep = progressTime / motionTime; if (_useEasing) { _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle); } _v.x = Mathf.Lerp(_startScale, _targetScale, _timeStep); } _v.y = _v.x; _v.z = _v.x; target.localScale = _v; }
sealed public override void update(float deltaTime) { if (_delay >= 0) { _delay -= deltaTime; if (_delay < 0) { progressTime += (-_delay); } return; } progressTime += deltaTime; _v = _target.localPosition; if (progressTime >= time) { _target.localPosition = _toPos; isComplete = true; doComplete(); } else { timeStep = progressTime / time; if (useEasing) { timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle); } _target.localPosition = Vector3.Lerp(_fromPos, _toPos, timeStep); //_v; // float step = progressTime/time; // step = Easing.EaseInOut(step,EasingType.Quadratic); // _target.localPosition = Vector3.Lerp(_fromPos,_toPos,step);//_v; } }
public void start(Vector3 targetStartPos, // 속성1> 기준점좌표 [x,y,z(/x,y,z)] : 기준점 시작좌표 / 기준점 끝좌표(생략가능) Vector3 targetEndPos, bool useTargetEndPos, Vector3 targetStartScreenPos, // 속성2> 화면좌표A [x,y(/x,y)] : 기준점을 위치시킬 화면좌표(시작) / 기준점을 위치시킬 화면좌표(끝) Vector3 targetEndScreenPos, bool useTargetEndScreenPos, float duration, // 속성3> 카메라이동시간 (sec) : 설정된 시간동안 카메라 이동 int finalCamYpos, //속성4> 최종카메라 높이(y)값 : 현재 높이값에서 설정된 높이값으로 변경 (0 세팅시 높이 변화 없음) float distanceTweeningValue, //속성5> 기준점과의 거리변경(%) : 기준점과의 현재거리 대비 N%만큼 거리를 줄이거나 늘림 (y축은 무시, x,z 값만 가지고 기준점과의 거리를 계산) int rotValue, //속성6> 회전각도 : 오른쪽 (or 왼쪽) 이동시 양수 / 반대쪽 이동은 음수로 지정 (예 : -540 세팅시 왼쪽으로 한바퀴반 돌기) string easingType) // 속성7> 가속도 : CAM_MOVE 와 동일 { isEnabled = true; if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play) { targetStartPos += GameManager.me.uiManager.uiPlay.getUnitSkillCamOffsetPosition() + GameManager.me.uiManager.uiPlay.gameCameraContainer.position; targetEndPos += GameManager.me.uiManager.uiPlay.getUnitSkillCamOffsetPosition() + GameManager.me.uiManager.uiPlay.gameCameraContainer.position; } UIPlay.isFollowPlayerWhenSkillEffectCamIdle = false; _targetStartPos = targetStartPos; _targetEndPos = targetEndPos; _useTargetEndPos = useTargetEndPos; _targetStartScreenPos = targetStartScreenPos; _targetEndScreenPos = targetEndScreenPos; _useTargetEndScreenPos = useTargetEndScreenPos; if (targetStartScreenPos.z < 0) { _targetStartScreenPos = GameManager.me.gameCamera.WorldToScreenPoint(_targetStartPos); _targetStartScreenPos = Util.screenPositionWithCamViewRect(_targetStartScreenPos); } _v = GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition; if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play) { _v += GameManager.me.uiManager.uiPlay.gameCameraContainer.position; } _startAngle = Util.getFloatAngleBetweenXZ(_v, targetStartPos); _startDist = VectorUtil.DistanceXZ(_v, targetStartPos); csCamOffset.x = (GameManager.screenSize.x * 0.5f - _targetStartScreenPos.x) / GameManager.screenSize.x; csCamOffset.y = (GameManager.screenSize.y * 0.5f - _targetStartScreenPos.y) / GameManager.screenSize.y; csCamOffset.x = GameManager.screenWidth * csCamOffset.x * GameManager.me.uiManager.uiPlay.gameCamera.rect.width; csCamOffset.y = GameManager.screenHeight * csCamOffset.y * GameManager.me.uiManager.uiPlay.gameCamera.rect.height; useEasing = false; _progressTime = 0.0f; _time = duration; _startYpos = GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition.y; _endYpos = finalCamYpos; useYPosMove = (finalCamYpos != 0); _distTweeningValue = distanceTweeningValue; _endAngle = _startAngle + rotValue; if (string.IsNullOrEmpty(easingType) == false) { useEasing = true; string[] e = easingType.Split(','); easingStyle = MiniTweenEasingType.getEasingType(e[1]); easingMethod = e[0]; } }
public void update() { if (CutSceneManager.nowOpenCutScene) { _csDelta = CutSceneManager.cutSceneDeltaTime; } else { _csDelta = Time.smoothDeltaTime; } _progressTime += _csDelta; ///motionTime; timeStep = _progressTime / _time; if (timeStep >= 1.0f) { timeStep = 1.0f; isEnabled = false; } if (useEasing) { timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle); } _nowDist = _startDist * Mathf.Lerp(1.0f, _distTweeningValue, timeStep); _nowAngle = Mathf.Lerp(_startAngle, _endAngle, timeStep); while (_nowAngle < 0) { _nowAngle += 360.0f; } if (_useTargetEndPos) { _nowTargetPosition = Vector3.Lerp(_targetStartPos, _targetEndPos, timeStep); } else { _nowTargetPosition = _targetStartPos; } // Debug.Log(_nowTargetPosition); _nowTargetPosition += GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition(); _v = Util.getPositionByAngleAndDistanceXZWithoutTable(_nowAngle, _nowDist); if (useYPosMove) { _v.y = Mathf.Lerp(_startYpos, _endYpos, timeStep); } else { _v.y = _startYpos; } _v.x = _nowTargetPosition.x - _v.x; _v.z = _nowTargetPosition.z - _v.z; if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play) { GameManager.me.uiManager.uiPlay.gameCameraPosContainer.position = _v; } else { GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition = _v; } if (_useTargetEndScreenPos) { _nowScreenTargetPosition = Vector3.Lerp(_targetStartScreenPos, _targetEndScreenPos, timeStep); csCamOffset.x = (GameManager.screenSize.x * 0.5f - _nowScreenTargetPosition.x) / GameManager.screenSize.x; csCamOffset.y = (GameManager.screenSize.y * 0.5f - _nowScreenTargetPosition.y) / GameManager.screenSize.y; csCamOffset.x = GameManager.screenWidth * csCamOffset.x * GameManager.me.uiManager.uiPlay.gameCamera.rect.width; csCamOffset.y = GameManager.screenHeight * csCamOffset.y * GameManager.me.uiManager.uiPlay.gameCamera.rect.height; } _v = GameManager.me.uiManager.uiPlay.gameCamera.WorldToScreenPoint(_nowTargetPosition); _v.x += csCamOffset.x; _v.y += csCamOffset.y; _v = GameManager.me.uiManager.uiPlay.gameCamera.ScreenToWorldPoint(_v); GameManager.me.uiManager.uiPlay.gameCamera.transform.rotation = Util.getLookRotationQuaternion(_v - GameManager.me.uiManager.uiPlay.gameCamera.transform.position); //gameCamera.transform.rotation = Util.getLookRotationQuaternion( Vector3.zero - gameCameraPosContainer.position); if (isEnabled == false && timeStep >= 1.0f) { UIPlay.isFollowPlayerWhenSkillEffectCamIdle = true; } }