Development news: Examine improvements, smooth transitions, PlaneSensor and more
The quest to "cleanup and optimize" all around the engine continues :) New features are listed below. As usual, you're welcome to test them by trying our nightly builds.
Examine camera got a functionality boost, and as a result some long-time troubles with switching camera modes are fixed now. Examine camera correctly honors now Viewpoint nodes, and switching camera modes preserves the current view, and switching viewpoints preserves camera mode. Thanks to Jens van Schelve for reporting this and pushing me to fix this :)
Developers: engine has a new camera class, TUniversalCamera, that is created by default for VRML/X3D scenes and offers a functionality of both Examine and Walk navigation methods. If you previously used something like
"(SceneManager.Camera as TWalkCamera)" to access Walk-specific properties, you may need to use now
"(SceneManager as TUniversalCamera).Walk" to use them. Or just try to use the basic
TCamera features, without downcasting to specific camera descendants.
Smooth transitions between viewpoints are implemented. They also follow X3D
NavigationInfo.transitionTime fields (X3D spec).
All camera moving and rotating speeds are now expressed inside the engine in nice units/per second.
Also, headBobbingDistance is renamed into much more suitable headBobbingTime, and is also expressed in seconds now (divide by 50 to get the same behavior with old values).
Various fixes to
TimeSensor and other stuff, thanks to Stephen H. France for reporting!