Version 0.9.1
I am pleased to announce the release of version 0.9.1 of VRMath2 Editor as of 9th October 2014. It was version 0.9 since June 2013 or earlier. Since then there were only bug fixes and small improvements. The main steps beyond version 0.9 are about data collection, animation, and behaviours (interactions). After a long time contemplating (and due to my workload), I have finally kicked off and designed some easy animation commands for all (hopefully for young children).
For version 0.9.1, the main features are as below:
1. Animation
Animation in VRMath2 is at the moment based on X3DOM profiles (which is based on X3D specifications) using TIMESENSOR, INTERPOLATORS and ROUTE to achieve. VRMath2 now has the 6 interpolators implemented:
- ColorInterpolator: can animate colors of objects from the Color node of Material node.
- CoordinateInterpolator: can animate objects with a set of coordinates such as IndexedLineSet (line) or IndexedFaceSet (face) etc.
- NormalInterpolator: can interpolate the normal in IndexedLineSet of IndexedFaceSet etc.
- OrientationInterpolator: can animate the orientation of objects by changing the rotation field of their transform nodes.
- PositionInterpolator: can animate the location of objects by changing the translation field of their transform nodes.
- ScalarInterpolator: can animation any single scalar field such as transparency and light intensity etc.
However, unless you are familiar with X3D, it may not be friendly to use TIMESENSOR, INTERPOLATORS and ROUTE to create animations. Therefore, I have also created some commands to allow easier creation of animations. These commands will generate associated TIMESENSOR, INTERPOLATOR and ROUTE automatically, and they can be changed later if needed. At the moment, there are three commands for easy animation:
- SPIN: Use OrientationInterpolator to spin an object in one of the 6 axes (by specifying a turn).
- TRAVEL: Use PositionInterpolator to travel an object along a path.
- ORIENT: Use OrientationInterpolator to orient an object along with some directions. This is more powerful than SPIN but requires more coding.
To stop these animation, you can use RemoveSpin, RemoveTravel, and RemoveOrient to remove all aossicated TIMESENSOR, INTERPOLATOR and ROUTE.
For detailed syntax and examples, please check out this forum thread and the Hydrogen atom blog.
2. Data collection
In order to animate color, position, direction etc. on the objects in 3D space, it is required to provide some data for the INTERPOLATORS to interpolate. VRMath2 is based on Logo Turtle Graphic so it has the advantage of collecting position and direction by moving and turning the turtle. The Logo programming language also make it easy to produce a series of color and/or scalar factor matheamtically. For this version 0.9.1 release, I have included the following commands for the collection of position and direction data.
- COLLECTPOS: Signal the beginning of position collection.
- COLLECTORI: Singal the beginning of direction collection.
- ENDCOLLECT: Signal the end of collection.
These data collection commands all require an input as variable name. For detailed syntax and examples, please check out this forum thread, and the Logo Programming Guide.
Further to the above functionalities, the following new commands have been added:
1. Animation
- VectorInterpolator: This interpolator output a set of SFFloat numbers. At the moment, it is used mainly to animate the height of ElevationGrid object. An example can be seen here https://vrmath2.net/content/waves-sea .
- TOUR: Use both PositionInterpolator and OrientationInterpolator to animate the VIEWPOINT object. An example can be viewed here https://vrmath2.net/content/happy-holidays .
2. Data collection
- COLLECTVIEW: collect both position and orientation of the current view. After ENDCOLLECT, the views can be used by TOUR command and applied to animate a VIEWPOINT object.