
The above image was taken Sataurday in Seamless chat, The seamless chat server has not been modified since 2.148 but Asheanor has got the seamless server running from Alain's dedicated OVH server in France and so far I have not experienced loosing my connection once
Sorry I am a bit late announcing this version but I was up much of the night getting it ready for Saturday's chat and had no time left to write the announcement until after a rest. Just as well I took a rest because documenting this many features has proven to be a few days work. While testing some of the new features I found some minor bugs that has now been fixed for 2.153 and so to save time I am announcing 2.152s features here for 2.153
Open source 2.153 is available for download from:
http://seamless3d.com/download
doBuild() script Function
The doBuild function allows seamless script to control when a build node performs a build operation.
The script that generates the railway sleeper and the script that duplicates and places all the leaves on the trees for the new Techuelife Island is an example of the doBuild function being utilized by a seamless script algorithm. Although I have had scripts build geometry on the fly before, the doBuild function and Seamless3d's procedural modeling environment greatly simplifies the script and because the geometry ends up in white Parts instead of VRML/X3D Shape nodes, the geometry does not have to be deleted by hand after saving the file to reduce the file size (white parts automatically delete any geometry they contain when files are saved).
Recalculating an Animation to Match a Default Pose
When importing an animation into an avatar, a common problem encountered will be that the default pose for the animation will not match the default pose for the avatar.
Seamless3d now addresses this issue by allowing us to modify an animation's default pose.
For help on how to do this see the new tutorial: Recalculating an Animation to Match a Default Pose
Export to BVH
Not only can you import from, you can now export to BVH files by right clicking on an Anim node in the scene tree and selecting export to bvh. This allows animations to be exported from seamless to a range of popular 3D platforms such as Second Life.
Create Lathes from pivotPoints
The simple lathe type avatars made from lathes that you get when importing from BVH files can now be created directly from any avatar that uses pivotPoints by right clicking on the Seamless node and selecting: create lathes from pivotPoints. Such a simple simple lathe generated avatar has significant advantages for storing animations because it adds so very little to your file size.
Disable Dimension Tug for NurbsPatch
I have added 3 check box fields to the NurbsPatch, xTug, yTug & zTug. The user can prevent themselves from tugging in any dimension by un-ticking the appropriate box..
Land Gravity
I have built into seamless the same sort of land gravity the robots use for Techuelife Island so that any avatar in a world that uses this type of gravity can move over the hills.
I must point out that this is not a general type gravity for all objects (which I will add later), but it is much more efficient because the CPU does not have to test 1000s of triangles to locate which triangle the avatar is positioned over. To specify this type of gravity for your world you must specify the nurbs patch that is being used for generating the land. This is simply done by giving the nurbs patch a name beginning with "land". For this type of gravity to work the nurbs patch must be exactly square with the number of staves equaling the number of rows and must be centered exactly at the middle point. It can not be translated or rotated but you can compile transform the patch's scale field so long as your X and Z are equal. Because all the land vertex points must be exactly square and evenly spaced, to create land for this method you want to un-tick the NurbsPatch's xTug and zTug fields so that you can only drag up and down. Do not worry if this sounds complicated, it is not really at all once you understand and there is no need to understand this if you begin with an example already set up for you. I will soon set up a flat NurbsPatch so that anyone (even with no previous skills in using seamless) can make some land with hills (with gravity enabled) by simply tugging the control points.
Avatar View
When you move your avatar in seamless chat the viewpoint will now automatically follow your avatar much like it did in blaxxun. You are still currently free to drag the world view by right dragging which makes it possible to see the face of your avatar or view the world from any angle positioned around your avatar.
backfaceRender Field
I have added a backfaceRender render field to the TextureEffect and ColorEffect nodes. When this field is checked, all triangles that use the Effect node will have triangles visible both sides.
backfaceRender is the equivalent of a VRML/X3D object field.
I have noticed that for textured triangles all seems as one would expect but for colored triangles the inside triangles are black but because I get the same results from Contact when color per vertex is used this is probably a DirectX or video card specific issue.
Display Multiple Textures and Material Settings for a Single Seamless Node
You could many years ago plug in multiple Effect nodes into a single Seamless node (which allows for more than one texture file per avatar) but this was only useful for exporting where as now you see the effects inside seamless. It is more efficient to use only one texture file per Seamless node but there are times when it is useful to be able to have more than one texture. for example if you want to import a textured accessory to your avatar. Remember that a single Effect nodes affects the part it is plugged into and all it's descendent parts. If you want to use the same Effect for other parts that share the same Seamless node that are not in the same branch (in the skeleton), reference (USE) the Effect node where needed but do NOT reference an Effect node outside the Seamless node because Effect nodes contain data that is indexed specifically for the Seamless node.
Import HAnim Avatars that Use IndexedFaceSets and HAnimSegment Nodes
With HAnim it is possible to have multiple IndexedFaceSets for your skin, also it is possible to have extra IndexedFaceSets contained in HAnimSegment nodes, Seamless can now import these IndexedFaceSets eaither way. When importing an HAnim avatar you will not see the extra IndexedFaceSets until after HAnimHumanoid is converted. The HAnim avatar must either use textures for every IndexedFaceSet or color per vertex for every IndexedFaceSet but can NOT be a mixture of both textures and colored vertices. When importing HAnim avatars that use multiple texture files the texture maps will be in tact but you will need to manually specify the extra texture files. This can be done by plugging in extra TextureEffect nodes for the appropriate parts. I have tested importing multiple IndexFaceSet Hanim avatars that have been exported from Seamless3d and from Vivaty Studio that was supplied from nontiti but because none of these examples contained IndexedFaceSet nodes that were transformed by Transform nodes, if you want to import an avatar with such a scenario and get strange effects, please let me know.
VRML97 Fog and Fog2 Nodes now Functioning in Seamless
Fog and Contact's extension the Fog2 nodes could be set before inside seamless but until now they did not function inside seamless.
Miscellaneous
The Viewpoint node's fieldOfView field now functions.
I finally remembered to invert the caret when Seamless3d's windows are inverted (Settings->invertWindowColor).
Bug Fixes
A bug that would prevent a VRML background node from being exported correctly has been fixed. Thanks to Alain for finding it.
A bug that would cause a crash when importing a VRML Shape node directly into a Part if the shape node was a child of a grouping node has been fixed.
This bug-fix was kindly posted by a C++ programmer from his iPhone stating exactly what the problem was and what line to fix. It felt very good to receive this message and was a realization that Seamless3d is benefiting from being part of the open source community


