private void SetEyePosition(CameraUpdateInfo iRUpdateInfo) { m_lstPoints.Clear(); m_lstCamera.Clear(); LimitStock crLimit = Global.CameraMgr.Impl.Limit; m_lstPoints.Add((iRUpdateInfo.At + iRUpdateInfo.LookatDir * crLimit.MinDistance)); // Last point float fDistance = iRUpdateInfo.Distance / 4.0f; float nXDir = m_effectQuake.RandLength; float nYDir = m_effectQuake.RandLength; int ran = LEMath.RandInt(2); if (m_effectQuake.RandState && ran > 0) { nXDir *= -1.0f; nYDir *= -1.0f; } for (int i = 0; i < 2; i++) { if (i % 2 > 0) { nXDir *= -1.0f; nYDir *= -1.0f; } if (m_effectQuake.RandState) { nXDir = LEMath.RandRange(0.0f, nXDir); nYDir = LEMath.RandRange(0.0f, nYDir); } float valueDst = (i + 2) * fDistance; float horAngle = (iRUpdateInfo.Horizon) + nXDir; float verAngle = (iRUpdateInfo.Vertical) + nYDir; Vector3 lookatDir = (LEMath.AngleToDirection(verAngle * LEMath.s_fDegreeToRadian, horAngle * LEMath.s_fDegreeToRadian)); m_lstPoints.Add((iRUpdateInfo.At + lookatDir * (valueDst))); } m_lstPoints.Add((iRUpdateInfo.At + iRUpdateInfo.LookatDir * iRUpdateInfo.Distance)); // Start point SetRespectiveBlending(); // Camera path setting }
public void UpdateLimit(LimitStock stock) { m_limitStock = stock; }