![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Inventor | VRML 2.0 |
#Inventor V1.0 ascii #artdeco00.iv Material { ambientColor 0.0706087 0.0212897 0.0336154 diffuseColor 0.282435 0.0851587 0.134462 specularColor 0.276305 0.11431 0.139857 emissiveColor 0 0 0 shininess 0.127273 transparency 0 } |
#VRML V2.0 utf8 PROTO Artdeco00 [] { Material { ambientIntensity 0.250000 diffuseColor 0.282435 0.085159 0.134462 specularColor 0.276305 0.114310 0.139857 emissiveColor 0.000000 0.000000 0.000000 shininess 0.127273 transparency 0.000000 } } |
VRML2.0 "ambientIntensity" is calculated by the mean factor between the Inventor "ambientColor" and "diffuseColor". |
Unfortunately, most of the VRML 2.0 browsers doesn't seem to support external prototypes (especially PC versions), so you might as well cut an paste any material prototype inside the file you want to use it.
file : Materials.wrl | |
#VRML V2.0 utf8 PROTO MyMaterial00 [] { Material { ambientIntensity 0.263158 diffuseColor 0.345455 0.163262 0.122622 specularColor 0.212121 0.107475 0.000000 emissiveColor 0.021212 0.010747 0.000000 shininess 0.048649 transparency 0.100000 } } . . . PROTO MyMaterial27 [] { Material { ambientIntensity 0.240506 diffuseColor 0.277281 0.104336 0.079900 specularColor 0.305587 0.141916 0.2705727 emissiveColor 0.030559 0.014192 0.0270573 shininess 0.096970 transparency 0.000000 } } |
Materials prototype definition with PROTO.
Note that these PROTO have no field nor events to rule their behaviour as they are only "definitions". |
file : Material_example.wrl | |
#VRML V2.0 utf8 EXTERNPROTO MyMaterial07 [] "http://.../Materials.wrl#MyMaterial07" EXTERNPROTO MyMaterial15 [] "http://.../Materials.wrl#MyMaterial15" . . . Group { children [ DEF Right_Object Transform { translation 2 0 0 children [ Shape { appearance Appearance { material MyMaterial07 {} } geometry Sphere {} } ] }, DEF Left_Object Transform { translation -2 0 0 children [ Shape { appearance Appearance { material MyMaterial15 {} } geometry Cylinder {} } ] } ] } |
All the PROTO to be used should be instancied using an EXTERNPROTO statement refering to the Material definition file with an URL field. |