Test of Bitmanagement Contact VRML 6

Lire la version française

1. INTRODUCTION

We were expecting with impatience, Contact 6 is finnally here now, but it changed of hands meanwhile in appearance because, now, it is Bitmanagement Software GmbH who develops it; however, the team remains the same as at Blaxxun's (cf. the interview of Peter Schickel).
You can download it at http://www.bitmanagement.de/download/bsvrml/ (you will have to register, then will receive a personnal code so that you can access the download area).

First of all, you will see that this is a 60-days "demo" (a logo displayed in the right-bottom corner will remind you about it when you will browse scenes), but in fact it is a beta, and a newer version is planned for 2003, explaining the use of the word "demo". Also, BS Contact VRML (it is its new name) is compatible with Contact 5.1, so there is nothing to worry about on that side either.

(Also, for those who like to switch between versions, note that you will have to use "regsvr32.exe bsContactVRML.ocx" instead of "regsvr32.exe blaxxuncc3d.ocx" for re-registering Contact 6).




2. GRAPHICS

2.1 Multitexturing / Bump mapping.

The Multitexture node has received additions, in particular the bump mapping which gives an impression of relief to the textures:

                

A note however: because of the addition of the "transparent" field, you will now have to specify the line "transparent TRUE" for textures generated by multitexturing to have transparency.


2.2 H-Anim 2001 (character animation)

                

One of the great new features is the integration of the h-anim 2001 specificities (http://www.h-anim.org), aka, as Character Studio in 3dsmax, instead of changing every point when the character moves, you say "the arm has to move that way, the feet that other way, etc" and it's Contact which deducts how the mesh will deform. The movements are fluids and, in particular for complex characters, there is a real gain of file size because you are moving a group isntead of each individual point (example: if you would have to carry bags of oranges, it is much slower to carry them one by one than together). But it's not because it's called H-Anim (Human Animation) that it is limited to humans only, it works even with a 53-legged spider !

You can create h-anim animations mainly from MilkShape (with Roland Smeenk's VRML97 exporter) and 3dsmax4 (with Character Studio and Blaxxun's VRML exporter), but note that with MilkShape, the algorithm of the deformations (aka the lines of code for deforming) are included in the exported files instead of linking with Contact's externprotos.


2.3 Procedural textures

The (experimental) node ProceduralTexture allows you to create dynamic images based on Ken Perlin's 'noise' function.
Example: proctexture.wrl


2.4 OpenGL improvements

2.4.1 DDS textures support

You can use NVidia's plugin (available here), for Photoshop & compatible, for creating DSS textures , or also with "DXTTool" from Microsoft's DirectX SDK. The support of DDS textures in the ImageTexture node includes the Cube-Maps, Volume-Maps and DXT compressed formats, but that is available only on OpenGL.
Note also that 3dsmax 5 supports DDS textures too.

Examples:
    For DirectX and OpenGL: Textures DDS basiques
    For OpenGL only: Cube de textures DDS



2.4.2 Reflections

New modes for the TextureGen node: "CAMERASPACEREFLECTIONVECTORR" and "NORMAL". Those two modes are particulary useful with Cube-Maps imported via DDS textures.

Example (OpenGL only): Hardware reflection using a DDS cube-map (6 textures in only one DDS file)



2.4.3 Other improvements and additions

-- Greater quality of textures in mip-mapping mode.
-- If the option "Compressed Textures" is on in the preferences, static images (ImageTexture node) are compressed by the OpenGL engine.
-- Also, the speed of render is optimized for the MovieTexture node if the parameters "repeatS" and "repeatT" are set to FALSE (they allow or no the pattern's repetition).
-- By default, the fullscreen render resolution is your desktop's one and not anymore 640 pixels.


2.5 Display on several screens (trick)

For now, Windows doesn't satisfactorily support 3D splitted on several screens, but it may change with DirectX 9 and multiheaded cards.
However, for the multiheaded NVidia cards (in the "NView Display Driver" parameters), the Windows Desktop can be set to be one single render split on two screens.

Nevertheless, there is an internal limitation with DirectX 7 to a maximum of 2048 pixels for each direction.




3. NEW FEATURES

3.1 Multimedia

3.1.1 Sound2 node

The Sound2 node extends the Sound node for supporting the cone model from Microsoft Direct Sound: it allows you to direct the sound cone in a given direction and some other effects.
Example: sound2_test.wrl

3.1.2 MovieTexture node

The MovieTexture node in DirectShow mode now supports the "speed" parameter.
Example: timetime2.wrl (beware, the trailer's size is rather large)


3.1.3 Ogg vorbis format

The MovieTexture node has been successfully tested with the "OGG Vorbis DirectShow" filters. However, you will need a DirectShow decoder (available at http://tobias.everwicked.com/).
Example: test_ogg.wrl


3.2 Text

3.2.1 Text render via textures

A new variant for the text render (do not confuse with texts whose' font is defined in a picture which was already available in Contact 5) which can greatly improve the render engine's capabilities : instead of using the font file directly (ex. Arial or Times New Roman), Contact generates the matching picture and uses it as texture, consequently gaining calculation time for the engine. This can be set as default in the preferences "Right mouse button -> Preferences -> Performance Options -> Use textures for text".

Example: TextureText.wrl


3.2.2 UTF-8

The Text node now decodes stings as UTF-8. Windows 2000, Me and XP's notepad can save files as UTF-8 (the "encoding" parameter at the bottom of the "Save file as" dialog) which finnally allows to use asian signs.
Some characters such as "äöüÄÖÜßéè", once converter in UTF-8, look like "äöüÄÖÜßéè".

Example: Extruded text (byt the way, it is often unknown that Contact can create extruded texts)


3.3 Radial Fog

The Fog2 node now has a new field (FALSE by default) named "radial". If TRUE, the fog is based on the radial distance around the user if your card allows it (otherwise, it will be a normal fog).


3.4 Miscellanous new features

-- Additions to Browser.SetOption, Browser.getCap and new modes for DrawOp.
-- The transparent/frameless render in HTML pages for composing with, for example, HTML or Flash contents has been updated in order to match Internet Explorer's latest version.
-- For OpenGL and DirectX, you can now use Shift+F11 for making a screenshot which will be saved in BMP in the cache directory of Contact (an advice, set your colors in 32 bits mode and allow antialiasing in order to have a greater quality).
-- You can now control the appearance of the console thanks to "showConsole()" : Browser.showConsole(true) opens it whereas Browser.showConsole(false) hides it.
-- The nodes ImageTexture (texture from a file) and PixelTexture (texture defined pixel per pixel) have a new field named "parameter" which can be used in particular in the case of bumpmapping where the map for the bump would be defined thanks to an ImageTexture or a PixelTexture. -- The urn and url of Contact's externprotos have changed, you will find the list here.
-- The Layer nodes with no defined translation are transformed as specified in MPEG, so you will have to use "translation 0 0" for being compatible with Contact 5.




4. NAVIGATION

4.1 "Game" mode

A new navigation mode appeared, similar to the one from various PC games (Quake, Unreal, ...). This mode is divided in two states: the "clickable" and the "navigation" state.

A dialog, when going in "Game" mode by the context menu or clicking the "Help on GAME mode" button in the preferences, will remind you about the control keys (you can disactivate/reactivate that dialog if you want).

Also, you can choose to replace the "Walk" mode by this new mode in the preferences with the option "Use GAME like navigation for WALK":

In "navigation" state:
The cursor is hidden and you use the mouse for looking around (without having to click and drag) but you cannot click on the touchSensors; the keys W (front), S (back), A (left) D (right) allow you to walk.

These keys are useful with american keyboards, however, for international keyboards sur as the french ones, there is a trick:
In Windows, you can have several keyboard layours and switch between them as wished and so switch to "american keyboard" mode (qwerty) for the GAME mode. The keys Z Q S D, for the case of french keyboards (azerty), would be easier to use then. For activating the layouts, go in the "Keyboard" menu of the COnfiguration Panel for Windows 98, or the "Regional and linguistic options" for Windows XP. Also, check that 'Switch between input locales' is desactivated or you may switch keyboards by mistake when using combinations of Ctrl / Alt / Shift / Smth".

In "clickable" state:
You cannot walk, nor with the mouse, nor with the keys, but you get the cursor back (and can change of frame) and can click on the TouchSensors.

The event "isNavigating" pf the Browser object will allows you to know in which state the user is.

There are three ways to go in Game mode:
- the scene's author specified "GAME" as default mode in the NavigationInfo node
- the user chooses to go in Game mode thanks to the middle button mouse menu or with the shortcut Ctrl + Shift + Q
- the user has specified to replace the Walk mode by the Game mode

Once in Game mode:
- for switching from "navigation" to "clickable", press Escape (or Ctrl for a temporary change aka only during Ctrl is pressed).
- for switching from "clickable" to "navigation"", press Ctrl

Note that you can adjust your speed using the mouse wheel, if you have one. But you still can also use Shift for temporarily increasing your speed. The wheel speed is stored between worlds, so if you set it to high speed in a world, it will be high in the next one too.

Examples: DeathMatch 1 (Quake 3) and DeathMatch 7 (Quake 3)


4.2 Joystick support.

We could already use a joystick with Contact but had to write a plugin thanks to the SDK and install it (a premade exemple was available however), the support is available immediately now.

Exemple: ShowJoyStick.wrl


4.3 Preload ressources

We used to be able to preload ressrouces before the displau thanks to a parameter of the EMBED tag in html pages, but the option is now available directly for the users in the "Right button > Preferences > Performance options > Preload ressources" menu.



4.4 "Examine" mode

When a .wrl file contains no Viewpoint node, nor NavigationInfo node, BS Contact VRML automatically switches to "Examine" mode whereas it used to stay in "Walk" mode in the previous versions. Indeed, this type of file is often caracteristic of a file which is not a scene but a part of a scene, which leads to the use of the Examine mode.

Also, the center of rotation of the Examine mode can now be controlled using the 4th, 5th and 6th parameter of the "avatarSize" field from the NavigationInfo node. These three numbers are interpreted as a coordinate in the space defined from the current Viewpoint.




5. Conclusion

Those who predicted the death of Contact after the money troubles of Blaxxun were wrong because this new version of one of the most used (if not *the* most used) VRML player holds its promises. To install ASAP :)

For more information

written byCécilé Muller (http://www.wildpeaks.com)
for http://www.web3d-fr.com
07/12/2002



 
11 internaute(s) sur Web3d-fr
Copyright Web3d-fr 2001-2004