Пример #1
0
        public void TestCamera()
        {
            FPendingViewTarget newViewTarget = new FPendingViewTarget();

            newViewTarget.targetPosition.x          = 1000.0f;
            newViewTarget.targetPosition.y          = 2000.0f;
            newViewTarget.targetPosition.z          = 3000.0f;
            newViewTarget.targetOrientation.pitch   = 0.0f;
            newViewTarget.targetOrientation.yaw     = 0.0f;
            newViewTarget.targetOrientation.roll    = 0.0f;
            newViewTarget.blendParameters.blendType = ECameraBlendType.EBlendType_3;
            newViewTarget.blendParameters.blendTime = 1.0f;
            SetViewTarget(ref newViewTarget);

            FPendingCameraMode newCameraMode = new FPendingCameraMode();

            newCameraMode.cameraMode                = ECameraMode.ThirdPersonSimple;
            newCameraMode.parameters.camDistance    = 2000.0f;
            newCameraMode.parameters.camOffset.x    = 0.0f;
            newCameraMode.parameters.camOffset.y    = 20.0f;
            newCameraMode.parameters.camOffset.z    = 70.0f;
            newCameraMode.parameters.desiredFOV     = 75.0f;
            newCameraMode.blendParameters.blendType = ECameraBlendType.EBlendType_2;
            newCameraMode.blendParameters.blendTime = 1.0f;
            SetCameraMode(ref newCameraMode);

            TimeSpan timeDelta = TimeSpan.FromSeconds(1.0f / 60.0f);

            while (true)
            {
                UpdateCamera(timeDelta.Seconds);
                Thread.Sleep(timeDelta.Milliseconds);
            }
        }
Пример #2
0
        private void SetCameraMode(ref FPendingCameraMode newCameraMode)
        {
            pendingCameraMode = newCameraMode;
            pendingCameraMode.bPendingActive = true;

            currentCameraMode = pendingCameraMode.cameraMode;
            cameraParameters  = newCameraMode.parameters;
            blendTimeLeft     = pendingCameraMode.blendParameters.blendTime;
        }