Hey guys,
So this bug is pretty simple. Even if your FPS Camera is deactivated and/or you explicitly disable event receiving, it will receive the events and animate anyway.
I looked at the source code, and the change from 1.41 to 1.5 switched from having a CCameraFPSSceneNode that animated itself to using a CSceneNodeAnimatorCameraFPS instead. When this switch was made, the animator was written such that it always receives input (Check out Line 54 of CSceneNodeAnimatorCameraFPS.h) and it also will not check if the camera's event receiver is enabled or disabled.
[no bug]FPS Camera always recieves input, even if disabled
So I was able to partially fix this just by adding a
It works the first time I disable, but if I enable then disable again this fix stops working. Anyone have any ideas on where I should be looking to fix this?
EDIT: Ok, I just had to center the cursor while I was switching
Code: Select all
if (camera->isInputReceiverEnabled() != true)
return;
EDIT: Ok, I just had to center the cursor while I was switching
Thanks for the report, added to tracker
No, example 09 does not work. The movement of the camera using the key map is disabled, but the animation of the direction of the camera does not take cues from the camera, it takes cues from the CursorControl. Look at Example 09 again and switch to FPS, back to regular, mover the mouse around a bunch, and then switch back to FPS. The FPS camera's direction will have changed. I am not making this up, if you look at the code of the animator you will see what I mean.