Beispiel #1
0
        private void SetLocation()
        {
            powerLerp = Mathf.Clamp01(powerLerp + ETime.FRAME_TIME / powerLerpTime);
            var lerpDir = Player.IsFocus ? 1 : -1;

            freeFocusLerp    = Mathf.Clamp01(freeFocusLerp + lerpDir * ETime.FRAME_TIME / freeFocusLerpTime);
            original_angle   = Mathf.Lerp(freeAngle(bpi), focusAngle(bpi), freeFocusLerp);
            tr.localPosition = Vector3.Lerp(FreeOffset, FocusOffset, freeFocusLerp);
            if (doOpacity)
            {
                var color = rootColor;
                color.a *= freeOpacity !(bpi) * (1 - freeFocusLerp) + focusOpacity !(bpi) * freeFocusLerp;
                sr.color = color;
            }
            tr.localEulerAngles = new Vector3(0, 0, original_angle + rotator?.Invoke(bpi) ?? 0f);
        }