Lighthouse3d.com

uW(.JUMLO-O)ͭKLSW(L)ɰU7TWHL(3RRl bJP< Send me bugs and suggestions, please
VRML Script Tutorial
Full list

VRML Interactive Tutorial

Introduction
VRML File Structure
Drawing: Shape node
Geometry Nodes:
Box
Sphere
Cone
Cylinder
PointSet
IndexedLineSet
IndexedFaceSet
Extrusion
ElevationGrid
Example: Chessboard
Text
FontStyle
Appearance
Material
Textures
Image Texture
Movie Texture
Pixel Texture
Texture Coordinate
Texture Transform
Let there be Light
Directional Light
Point Light
Spot Light
Materials with Colored Lights
Hierarchical Node Structures
Group
Transform
Collision
Anchor
Billboard
Switch
Inlining Files
Defining and Instancing Nodes
Defining Levels of Detail
Events in VRML
Creating Paths between events: ROUTE
Generating Events based on Timers or User Actions
Timers
Touch Sensor
Visibility Sensor
Dragging Sensors
Plane Sensor
Sphere Sensor
Cylinder Sensor
Proximity Sensors
Example: Proximity sensor
Interpolators
Color
Coordinate
Normal
Orientation
Position
Scalar
Example
Let the Music Play
Sound
AudioClip
Bindable Nodes
Who Am I: NavigationInfo
Where Am I: ViewPoint
Adding Realism to the world
Background
Fog
Information about your world
WorldInfo
Definition for Auxiliary Nodes
Coordinate
Color
Normal

}[6X>[rDj3%';sEBmdxnayvV RDo.g:N7  B ?z/ސUv/Ϟ?V΂| >^J{pA\[NS~j۵E|XqM:uaZtU_w MuBXD$+3p(V?Pvݰ?ww8=nb۶i=Z/(߅aE)0}|EM5Mb0ois\LBN-AV!]p,WO"ڵm`1 ,5X إ3x~L~_TyÞϣVs>5WD4?bRdN(&PWLF(Y,uQꧨAM@ƝO(E&{\y8:'|m*D!v5%eUc{,hlRt:QlƑz`DZXCr~H;R]R@=O!Da2 e8 :ƱVʸa1 =3Acƨa}}Vui[-/ȷuL:?Wz &͋% LEƥ8CwKLb_iĬxT"諌s Lbi|l 5vZw98tMDγ'$ТvZ)s+R(Yכm0 yW"n;2Gl"q8Ӫ$oi8GvA'##t%Z;.ݴ #ۉLGB;Ӌ/ w݅*nheMe&DRxUxMՆ[ z h6!\4 ʵCE*ϊC3oIdgQtɓibGD76: ` ;0xPY"mĴУ`2iCknim`miM `X09LQ{4VYVM D&i"%yc֝Ը;jc.E۫̓8;+ #s1=CF4t,Fj0^r t ֻ6゗EZٹvl XZim&VƪfPMhO.۠ 6K-j :&T5( }1'}/'\@jeN0MئQ;JvwŴ0&OCs0 _øl\޶c[g*''jȦ[( _;*Ich {T켃 Т(Mwۋ@dI'=&Ő.hrib!O5~ ݌8dxXJ ᎏՊEі)E,Pm)Cpbzwrb iщ߄fO DnΡq0%B^e$D,c^HD9uKK). p)ZWló߀=*WȽW!"G *&@iJ`-`Z½AŅۦKrlz]~QҜ^p?KaP`MJ-Uلc:-9z"]ʼBJk 澉WVؤLmj!8^Mwp mz;5g_ i)&{cJ|`Ϧ T4SryXt !(DjM(2V<S$W*yJO\ +a+9?XEx 3kPT8&^\8$;!VHxUyӒ+. 0. ykkm+q g3;b ʃ00$.϶]NJ0׉﫜gc#E~K̐B}t'* vz 2H8@N(c{;&Bҹ cńhxiYYff`G4.A[ ۆ1l0E"FE\v-7',pq1 6Q[jWrCa `Ι0@Rbz^6lHwGm1C-w8L{ {@- lqA@4 V 6ҙ(KQ{xP| &_n eh@j©1oLnP*@A_R^ׇ-6!Èv}Qn[׍1}l`FIfѷ# %]"=b(Sѱ0)S 1!u[7Q:Fj3=x:RGIj. }0Ab3}Pls9)0ІQ i^. Dߓ|bjHWj MHQ<3NBDА& VDSr+mJ!6k{J0)WIObJX\rWQޅ hԽQpzu4T>Ⱥf:vfR’j|/g$6Crؤ҄9Bgmb;YHHmǜ|+ Ä*ga{ڋdRSD[uq.q <ǴJDӲ|#=*G3-%Qvdj+Rc8`& W&ĕWE,{wO"VQ(5јviDYTj'cHy ,CԶ!rj<{=[ [P{k[<:]1j*k×d}0=;j < >*1V "n'ڧA˨beT(~)x" Zun"ϾTsXP/pB^Jw Y |'cYZkJa߄qBKx<{Lޯ,hI=1R>Wf']z+6*a׺Hp$d ?텴م/ZLjnan7K :_q5Ďyc`RH+FmJgM#b H] g2օR%L.Mk#6ErNKxVqJS벴Z!$媳Z.D/6o2p+d^mC5ٖ{$k3xЙL;dP2 fz6S݇0}U?` 3U\?X;``h̭Md`RlyhηbԞ:FOѿQܯ帙woc+rYBlnKaN܉e,VG"},q_[;$p}Ӗ([,w+,0!fR,Bawi,3Ȗ0@f1x\JvB'HϽ8*xGaT{A"'Z`E~Kh4H<')Ɂ4E3@$;íKt\.[}j%!kh_0X :781LYC͢R{rl䧯i,+ ,Lc!z},"M]m3qn%RyA>5#t9ã7ȎD;!Jڧ2;r:Z= At K8J;N0z;3&=MC.:ܢޣ#e}ư( - q7x+:1؞q{,5+9's ,[=T ,y4ʰt@y 7ˡBk#*L2<aZ ⊌~VUV\BX6͹yVe1vpsvˆ`o#y憶"b0Imm0(_Wl( Foc3T:ܤvK tԙaxnze(r%ƴYAN2n\L ;0: ܘ2ogIm~b:|[bGNG5㥘;ҽbEvN}vxFi O 3wEػiO3˭|Fקta m;tw\CK;5vewݶί~5!kZSHŽ8_=5F؍XA. >ݗzb*W;0mZq?[x?8W)쟮%l It.1, ݤ68>PP7]ܠP erþTlwSW.X~ruW.W~5.Z Ovz4揎vɚ.Xk1<[%q`:nQ}NjOvɚ.XSYwQv,p ]Άa!n{lQ|rF`&,y2aK֘3(e!E + %+@y=)J p܋lBz\  [d| Zp3TDQ36lBxba12tl+,%=LQp?3d)NvN#`>.G0f DBܼ7?kڌZR)gA2vP +w12Tdž<.@G{4PoUt]h'xTo*j`@Gߦ*/¥j+oھ SmrΥwO)Ih|%rUŽV(J_4레%I<\GEB{^"u2M4< (R\.զbqNIڨoH8Ꮣa`Ak54 ꤞ'):خf$ײRѲʢ:r#4PdՊoޟ \{MF/wyHB`E?>p>UNPn+fd"2_F.w_{Hn!YOƧb5EW q~[N{y+vBVzTp 'C9|XcGLr@H&8n҃!fPJgfƢ uJiT \G3;]Oaȹb&% F\̞f-P2nƆ+4bl8=4|0}: @e&7ʠ3 /ә$`/> \B<  "/2\d2!gT14y֖,;9砒<;Id+)}P]!l0hKuWhkEJLu/ܨNCCBIj!9.ChGW&;oG}ZV+3FNKaᚴOQ܂|E"p"Hҳtf!A~sv? '2:"kI>W#I,!zǑ'%6Q sbpWPX1595j+@0&scc. }\;a# [t-Ś.|dd@! n~,s3GBe&[b59zE&m$Ʊ)_Ա|Cct; \>wK¢ic0N䤠N28:)X~NSajRYdˎ X}7h4,@=:#) (XK*n* X,IymWz6w%k~͠6m\n5b[%o@b](_s8`t_ʱ"!@n8\Izs䒁Ybs`Gb;On.d+ԣ+ ;t^;&"}3G9&$G6~煓9la&尺=7K_fnsH&ϪcG!uW '!4_Nb@*?mN1@Fnlt6XiR3\nEDpjozOKC =GO!";xf#]5npD, p7= iԆֆ1ߴ]P,K!4jL\8)T}id4e+ۍjtJ7W@Ǫu ,߽> S1X(xҰT]u{cyϨCY%"+ǯaS>8ff C"R q* UqROW?( ߏrjpjTgFRf8DwCc0CĚߌ"i2Y±\o!BWeQ,6uD :ݑfX{f$78O:s?UcHVgr&!5]%v5ԿW1恖ȨM%[c9R5c̟SB3+R˼VC;<\b_siG2:^תnz\^!IVƏIX/+a#-bi5HQթ°j.wHѕ{k,_:VWʖߏeyQQU;)$շoeecYj-J",Pe PeDepd-ֿ >-5uh\}/~x H&p la/\_$xJ/p ߊ7&+WfCax+PxqcJ֙/URvaw󳭒@۵Uϵ/Ux|'%j>^qO |ձy2q}e;> g*5C菍~ZaVF3~WikWg=y%0[c8++D_x$1CylgWlG ;}!(}n=qHTlWSgn5@c[;|M}/xAq,ӹ27(%QoeXO*Z*I&ѐ%dOhp14~y'~G[gG!s6`$. vD]y:nx8/Ә\N lmBviY}w""P1Ccgƻv# x+G3{zeV9}_~j|8 F*BWY8PF|%]oăr Wxx<1ÐMv䖆nbBLwC䡛G: t.فM?qC-N2#_mcQ!B}4 NLpN {g胷vΏ=:G<, "K\[Y:7iN(1q΁Iw$9P&r#k gI0"` I~:fke(؅iW,IL@`Л>B#1zZ*01?c"z1_J 3U\)#1_㰊Q Q ХbHY}oaLU|O" \=8Sj)ܡg W 726@Oij(Y9.?3Bu4]r f:Y%Q~UcOČHvY;ˌ`lt_K9&u]̳9 ~&z^CGvrOI%AT<Ý08@ Y Kv ʛ\)dGJ PҢ[Ov5b™ajYβ] Uw>3-3?O3ccnFA)dU0s :0P@_iغ9tF!ȺQ/HB?Rp\a3: gA*Vj*Aw XTT\-6ZVd4f18_42=*Nkj->ڗwX5Ǵ̀k D !dXTd/e:(U,g|(,7u&̨q6&1VaŠ&,T!` 4`Dӥ).:&F6Bΐr DsOINCSց,23heqU(\Ude1W*.i ^2[͔TZ<ߝ>Y/OetlK(M{i}#&o^zmK]P-]춅M3~ /O@&cpVf I>e_tRz D$vɜFxm+v2/ϧn1;\viQlŝv^~;`mrw=9rm\<97h4кm19Odɹ>o+Pbľǻbi@gpLrW-OWAg+XP Y~H; aGnt4 X4p-Jz<o8"xw?9Y`$TYR݁GA03ų6+nVRKEŭCOg7M?M6#']%A1 iGk$>^dӤ;whz]ċQMhWʃIӣ75ԫŗh/"oФ*^ ۬x+`quoJ$w@(W+5ֆwӃeG+_mԂp[3puO_w ~%E!6U1i]<3c "$HR\Dt:⏭\D%A.jL/_rMt3>Џ-^Ǻc-g:j6[w|2 ΂nv"jXu-XtMT[f9)`XqMGb(gq$@ez{5Jφܗi5T^F^.[)z5&V 5Zi-[$=LX8md6OCs^Y~@> U|5+֚ͮdv-jTf+~Bfta؍~!-`w3-E)~ FWl)%]#%/p ; :,+?|c^E1GDshŻp}ةcUMk Ώγ_ЗMUhz,H koonq[pX6 ]bћJgGҀLV BgW+7iC3s45u>vK_HjUZY{ȩҘu0,!;VOh`~4K~ :ͮ'Szi4Fv"-%^>|kDb6~T} M\t 8NzMվc)-]Uɻ͵P5{񈍇PeoȅJ IjM]4vҶ@Wc/β+h+ S ywieӧm>l\Y"ln>0X@vM\?ӦJN7a3[Xӧ߈&‰7hfՂ sN1p+#"xuQ8[W/?Z\

VRML File Structure


A VRML file always starts with the header:

#VRML V2.0 utf8

The identifier "utf8" which appears on the header lets you use international characters in your VRML models.

Comments start with #, all characters until the end of the line being ignored.

After the header the following can appear:
nodes
prototypes
routes
In the next sections one shall see what each of the above is used for.

Note: For precise syntax and semantic definition please consult the VRML 2.0 Specification.

The color model in VRML is RGB. In order to define a color three values are needed: Red Green and Blue, these values are between 0.0 and 1.0. For instance 0.0 0.0 0.0 is Black, 0.0 0.0 1.0 is Blue, and 1.0 1.0 1.0 is White.

The units in VRML are assumed to be meters. Although you do not have to follow this convention it is advisable that you do. If everyone follows this convention then all worlds will be scale compatible.

The angles in VRML are measured in radians, not in degrees.