Bug in CameraController.AddRotateForce(double dx, double dy)

Anonymous 9 years ago 0
This discussion was imported from CodePlex

Elemental wrote at 2012-02-19 11:16:


the method CameraController.AddRotateForce(double dx, double dy) always works as CameraMode.Inspect.

In my case, I have CameraMode set to WalkAround, which works fine for mouse controls, but keyboard control is wrong in that case.


I changed the method to

        public void AddRotateForce(double dx, double dy)
            if (!this.IsRotationEnabled)


            if (this.CameraMode == CameraMode.WalkAround)
                this.rotationPoint3D = this.CameraPosition;
                this.rotationPoint3D = this.CameraTarget;
            this.rotationPosition = new Point(this.ActualWidth / 2, this.ActualHeight / 2);
            this.rotationSpeed.X += dx * 40;
            this.rotationSpeed.Y += dy * 40;


which does kind of work, but rotating left/right via keyboard is inverted compared to mouse control.

What is the reason for the inverted controls?


Best Regards



btw: Just downloaded the latest source code and changing the CameraMode in CameraControlDemo does not work anymore.

objo wrote at 2012-02-21 20:59:

thanks for the feedback! I have only used the "Inspect" mode recently, it seems like the "Walkaround" mode is not working properly. I added it as issue 9949!

Elemental wrote at 2012-02-22 08:08:

Thank you.