BS Contact 7.1 - Release Notes
Introduction
This document provides information about the new features and improvements in the most recent releases of BS Contact 7.1. Indepth technical documentation is available in the BS SDK.
Contents
BS Contact - Release 7.1
Release 7.107 update (2008/03/06)
- Improved COLLADA support
- Performance and stability improvements for the COLLADA parser.
- Supports multiple materials per mesh.
- The COLLADA parser is now able to read Google SketchUp models.
For a demonstration of this feature visit the Google 3D Warehouse where you can download models directly as Collada files.
- MouseSensor has new fields for controlling the visibility.
- exposedField SFBool centerMousePos
if this field is true the mousecursor is invisible and is centered in the middle of the screen. The fields positionDelta and position emiting deltas from the mouse movement. - eventOut SFVec2f positionDelta
This field is emiting the mouse deltas
- exposedField SFBool centerMousePos
- Improved TreeGorup
- Creating instances of prototypes if they are not availabel during the build of the tree.
- Improved Multi User Support
- Avatar is reciving events, also when it's not displayed.
- New field for the multiTexture apperance node. (Only available in VRML)
- exposedField SFBool materialSpecular If this field is True, the specular color is added to the lighted material.
Release 7.100 (2007/12/22)
Multi-User Support with BS Collaborate
In this release Bitmanagement provide with BS Contact 7.1 new nodes for multi-user support. A detailed introduction to this product can be found in the BS Collaborate documentation.
The node NetConnection establishes a connection between server and BS Contact 7.1
NetConnection
exposedField SFBool enabled TRUE #Enable or disable the connection exposedField MFString address "localhost" #Address of the server to connect exposedField SFInt32 port 0 #Port number from the server eventIn SFInt32 protocol 3 #Protocol number to use eventOut SFBool isActive FALSE #Event for established connection to server
The node BSCollaborate is for managing user events such as Avatar movement, Login/Logout events and Chat messages.
BSCollaborate
field SFNode connection NULL #Node with connection to server field MFNode users NULL #Node array with user informations eventIn SFString sceneName #Name of the scene to wich this node belong eventIn MFString tryLogin #Credentials for login to the server eventOut SFBool loginResult #The login result eventOut SFInt32 sessionId #Session ID from server eventOut SFNode hasJoined #Event if someone joined the server eventIn SFTime logOut #Logout from the server eventOut SFNode hasLeft #Event if someone leave the server eventIn SFVec3f userPos #User Position eventIn SFRotation userOri #User Orientaion eventOut SFNode hasMoved #Event if a user moved around eventIn MFString meSay #Sending chat messages to the server eventOut SFNode hasSaid #Chat messages from server
The node EventStreamSensor is like a proto or script interface. It can handle many variables for sending and reciving events.
EventStreamSensor
exposedField SFNode connection NULL #Node with connection to server exposedField SFString streamName "" #Real name of the EventStream eventOut SFBool initialized FALSE #TRUE if initial values transmitted from server eventIn [Type] [VariableName] #Events from server eventOut [Type] [VariableName] #Events to server
Physics Support
With BS Contact 7.1 Bitmanagement is offering the following physic nodes to support physics with Ageia PhysX engine.
The node PhysicTransform is like a normal Transform node with special fields for physic relevant values.
PhysicsTransform
eventIn MFNode addChildren eventIn MFNode removeChildren exposedField MFNode children exposedField SFVec3f translation exposedField SFRotation rotation exposedField SFVec3f scale exposedField SFRotation scaleOrientation exposedField SFVec3f center field SFVec3f bboxCenter field SFVec3f bboxSize # Physics fields field SFBool fixed FALSE #Field for static or non static objects exposedField SFString mode "auto" #Keywords for physic initialization exposedField SFFloat mass 1 #Mass of the object exposedField SFVec3f forceDir 0 0 0 #Force direction to manipulate the object exposedField SFVec3f forceAt 0 0 0 #Force at wich point exposedField SFBool forceDirLocal FALSE #In local or global coordinates exposedField SFBool forceAtLocal TRUE #In local or global coordinates
To define special physicalized shapes with a high poly model and a simpler physic shape, BS Contact 7.1 provide the node PhysicShape.
PhysicsShape
exposedField SFNode appearance NULL exposedField SFNode geometry NULL # Physics fields exposedField SFFloat mass 0 #Mass of the shape exposedField SFString mode "auto" #Keywords for physic initialization exposedField SFNode collision_geometry NULL #Proxy collision geomtry
You can customize the physics engine and set some global threshholds with the physics node PhysicsInfo
PhysicsInfo
exposedField SFFloat skinWidth 0.01 #Defining how thik the skin is exposedField SFVec3f gravity 0 -9.81 0 #The global gravity exposedField SFFloat bounceThreshold -2.0 #At which threshold objects stops with bouncing field SFBool collision TRUE #Objects can collide exposedField SFFloat sleepLinVel 0.1 #At which linear velocity objects stops with moving exposedField SFFloat sleepAngVel 0.1 #At which angle velocity objects stops wich rotating exposedField SFInt32 iterations 8 #Maximum of iterations to divide a timestep into exposedField SFFloat timeStep 0.016 #Maximum size to take for a timestep exposedField SFFloat angularDamping 0.05 #Default angular Damping exposedField SFFloat linearDamping 0.0 #Default linear Damping
Demos
Demo tour through possible physics uses.
A box wall will hit by balls and collaps.
You can control a gun to shoot physiclized models which collide with shelves, tables and chairs.
To view the previous examples please download the respective
and/or acquire an AGEIA PhysX Accelerators from an
and use it according to the AGEIA terms of use.
FlashMovieTexture
The X3D node MovieTexture also supports SWF files. The new flag exposedField SFBool stream FALSE for MovieTexture nodes allows the direct download by the movie renderer. With the default stream FALSE http urls are first downloaded to the cache.
A Cube with a YouTube Flash Movie
The node FlashMovieTexture renders SWF files or streams to a texture and allows interaction with the embedded Adobe Flashplayer. With the option transparent=true Flash movies can have background color key transparency.
Test for a transparent Flash Movie
Support for Collada 3D Interchange files
The xml-parser now supports the usage of collada digital asset exchange (dae) files. This example demonstrates different transform nodes applied onto cylinder shapes.
Collada content authors are now able to inline their collada-geometry in a X3D or VRML file. DAE files can simply be inlcuded using a regular Inline node.
Instant Interactivity for users
The BS Contact 7.1 release makes it even simpler to utilize the visualization software BS Contact. A new installation mechanism enables the user to install the Bitmanagement viewer (plug-in) and stand-alone application instantly and simultaneously. Under Windows XP an application can be started by a simple click on a link of the application and can then be used interactively, without any previous knowledge of how to install the application.
Automatic Installation of BS Contact 7.1
Other Updates
The Text node in USE_TEXTURE mode is improved for extended UTF-8 character ranges.
The Particle node supports the new field for emitting particels in local or global coordinates.
exposedField SFBool emitLocal TRUE
New scripting functions:
Browser.saveNode(...) Browser.openFileDialog(...)
New member functions for nodes : Introspection of node interfaces
int sfnode.getNumFields() # get number of fields mfstring sfnode.getFieldInfo(int) # get information for field value sfnode.getFieldDefault(int) # get the PROTO default field value sfnode.setEventIn(eventInNameString,value) # set an event in by name and field value
node= textureNode.createPixelTexture(..)
New Stereo Modes: INTERLACED_VERTICAL INTERLACED_HORIZONTAL TRIDELITY
For the DX7 Render DXT1 DXT3 and DXT5 dds texture are now treated as having alpha like in DX9.
Texture nodes are supporting an additional field:
eventOut SFBool isFlipped
This flag indicates if the internal texture image layout is vertically flipped, and can be used by shaders to adopt the texture coordinates.
New url prefixes install: and cache:
New getOption values: languageENG languageNative language
New option for get and set UI-LANG for setting the Contact translation file.
Extensions for the Object node
Extensions for the DrawOp node
TreeGroup now updates the children field on add/remove children.