Vous êtes sur la page 1sur 61

E-BOOK CONTOH LATIHAN 3D MENGGUNAKAN VRML

Practical
VRML V 1.0 & V 2.0

For Beginner
UNIVERSITAS NASIONAL TEKNIK INFORMATIKA
HIMPUNAN MAHASISWA TEKNIK INFORMATIKA

1.STRING
Software => cortona3D viewer ,VRMLpad
#VRML V1.0 ascii
Separator {
FontStyle{
style ITALIC
size 11

AsciiText{
string [ "selamat datang", "di", "Dunia anak"]
justification CENTER
}
}
2.CUBE

#VRML V1.0 ascii


Separator {
Material { diffuseColor 0 1 1}
Cube { }
}
3.CONE

#VRML V1.0 ascii


Separator {
Material { diffuseColor 1 0 1}
Cone { }
}
4.CYLINDER

#VRML V1.0 ascii


Separator {
Material { diffuseColor 0 1 0}
Cylinder { }
}
5.SPHERE

#VRML V1.0 ascii


Separator {
Material { diffuseColor 1 1 1}
Sphere { }
}
6.SPECULAR

#VRML V1.0 ascii


Material
{ diffuseColor [ 1 0 0 ]
specularColor[ 0. 1 0. 1 0. 1 ] }
Sphere { }

Material
{ diffuseColor [ 1 0 0 ]
specularColor[ 0. 5 0. 5 0. 5] }
Transform { translation 3 0 0 }
Sphere { }

Material
{ diffuseColor [ 1 0 0 ]
specularColor[ 0. 9 0. 9 0. 9] }
Transform { translation 3 0 0 }
Sphere { }
7.TRANSPARENCY

#VRML V1.0 ascii


Material
{ diffuseColor [ 1 0 0 ]
transparency[ 0. 1 ] }
Transform { translation 3 0 0 }
Cylinder { }

Material
{ diffuseColor [ 1 0 0 ]
transparency[ 0. 5 ] }
Transform { translation 3 0 0 }
Cone { }

Material
{ diffuseColor [ 1 0 0 ]
transparency[ 0. 1 ] }
Transform { translation 3 0 0 }
Cone { }
#VRML V1.0 ascii
Material
{ diffuseColor [ 1 0 1 ]
transparency[ 0. 1 ] }
Transform { translation 3 0 0 }
Cylinder { }
Material
{ diffuseColor [ 0 1 0 ]
transparency[ 0. 5 ] }
Transform { translation 3 0 0 }
Cone { }
Material
{ diffuseColor [ 0 1 1 ]
transparency[ 0. 1 ] }
Transform { translation 3 0 0 }
Cube { }
Material
{ diffuseColor [ 1 0 0 ]
transparency[ 0. 1 ] }
Transform { translation 3 0 0 }
Sphere { }
8.EMISSIVE

#VRML V1.0 ascii


Material
{ diffuseColor [ 1 0 0 ]
emissiveColor[ 1 0 0 ] }
Cone { }

Material
{ diffuseColor [ 1 0 0 ]
emissiveColor[ 0 0 0 ] }
Transform { translation 3 0 0 }
Cone { }

Material
{ diffuseColor [ 1 0 0 ]
emissiveColor[ 0. 9 0. 9 0. 9] }
Transform { translation 3 0 0 }
Cone { }
9.TEXTURE

#VRML V1.0 ascii


Texture2 { filename "merak.png" }
Cube { }
10.TEXTURE3D

#VRML V1.0 ascii


Texture2 { filename "merak.png" }
Transform { translation 3 0 0 }
Cube { }

Texture2 { filename "merak.png" }


Transform { translation 3 0 0 }
Cone { }

Texture2 { filename "merak.png" }


Transform { translation 3 0 0 }
Cylinder { }
#VRML V1.0 ascii
Texture2 { filename "rails.png" }
Transform { translation 3 0 0 }
Cone { }

Texture2 { filename "rails.png" }


Transform { translation 3 0 0 }
Cylinder { }

Texture2 { filename "rails.png" }


Transform { translation 3 0 0 }
Cube { }
#VRML V1.0 ascii
Texture2 { filename "emas.jpg" }
Transform { translation 3 0 0 }
Cone { }

Texture2 { filename "emas.jpg" }


Transform { translation 3 0 0 }
Cylinder { }

Texture2 { filename "emas.jpg" }


Transform { translation 3 0 0 }
Cube { }

Texture2 { filename "emas.jpg" }


Transform { translation 3 0 0 }
Sphere { }
#VRML V1.0 ascii

Texture2 { filename "unas.jpg" }


Cube { }

Texture2 { filename "unas.jpg" }


Transform { translation 3 0 0 }
Cone { }

Texture2 { filename "unas.jpg" }


Transform { translation 3 0 0 }
Cylinder { }

Texture2 { filename "unas.jpg" }


Transform { translation 3 0 0 }
Cube { }

Texture2 { filename "unas.jpg" }


Transform { translation 3 0 0 }
Sphere { }
#VRML V1.0 ascii
Separator {
Separator { #Lantai menggunakan Garis
Material {
ambientColor 0 1 0
}
Coordinate3 {
point [
-5 0 -5,
-5 0 5,
5 0 5,
5 0 -5
]
}
IndexedLineSet {
coordIndex [
0, 1, 2, 3, 0, -1
]
}
}
Separator { #Dinding Tengah
Transform {
translation 0 2.5 -3.5
}
Material {
ambientColor 0 1 1
}
DEF Wall Cube { # Memberi nama objek
width 5
height 5
depth 0.2
}
}
Separator { #Dinding Kanan
Transform {
translation 3.5 2.5 0
rotation 0 1 0 1.57
}
Material {
ambientColor 0 1 1
}
USE Wall # pembentukan objek
}
}
Separator { #Dinding kiri
Transform {
translation -3.5 2.5 0
rotation 0 1 0 1.57
}
Material {
ambientColor 0 1 1
}
USE Wall # pembentukan objek
}
}
}
#VRML V1.0 ascii
Separator {

Separator {#lantai
Texture2 {
filename "kayu.jpg"
}
Coordinate3 {
point [
-5 0 -5,
-5 0 5,
5 0 5,
5 0 -5
]
}
IndexedLineSet {
coordIndex [
0, 1, 2, 3, 0, -1
]
}
}
Separator {# dinding tengah
Transform {
translation 0 2.5 -3.5
}
Texture2 {
filename "batu.jpg"
}

DEF wall Cube {


width 5
height 5
depth 0.2
}
}
Separator { #dinding kanan
Transform {
translation 3.5 2.5 0
rotation 0 1 0 1.57
}
Texture2 {
filename "kayu.jpg"
}
USE wall # pembentukan objek
}
}
Separator { #dinding kiri
Transform {
translation -3.5 2.5 0
rotation 0 1 0 1.57
}
Texture2 {
filename "kayu.jpg"
}
USE wall # pembentukan objek
}
}
}
VRML V2.0

Latihan menggunakan VRML V2.0

#VRML V2.0 utf8


Shape {
geometry Cone {
bottomRadius 2
height 2
}
}
#VRML V2.0 utf8
#Copper Cone
Shape { appearance Appearance {
material Material {
diffuseColor 0.3 0.11 0
specularColor 0.75 0.33 0.00
shininess 0.08
ambientIntensity 0.26
}
}
geometry Cone {
bottomRadius 2
height 2
}
}
#VRML V2.0 utf8
Shape { appearance Appearance {
material Material {
diffuseColor 0 1 0
}
}
geometry Cone {
bottomRadius 2
height 2
}
}
Shape {
geometry Cone {}
}
#VRML V2.0 utf8
Shape { appearance Appearance {
material Material {
diffuseColor 1 1 0
transparency 0.25
}
}
geometry Cone {
bottomRadius 2
height 2
}
}
Shape {
geometry Cone {}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0 0 1
}
}
geometry Cone {
bottomRadius 2
height 2
}
}
#VRML V2.0 utf8
Shape { appearance Appearance {
material Material {diffuseColor 0 0 1
transparency 0.25
}
}
geometry Cone {
bottomRadius 2
height 2
}
}
Shape
{ geometry Cone {}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.2 0.2 0.71
specularColor 0.83 0.83 0.83
shininess 0.12
ambientIntensity 0.1

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.27 0 0
specularColor 0.61 0.13 0.18
shininess 0.20
ambientIntensity 0.15

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.1 0.03 0.22
specularColor 0.64 0 0.98
shininess 0.20
ambientIntensity 0.17

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.22 0.15 0
specularColor 0.71 0.7 0.56
shininess 0.16
ambientIntensity 0.4

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.3 0.3 0.5
specularColor 0.7 0.7 0.8
shininess 0.1
ambientIntensity 0.3

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Shape {
appearance Appearance{
material Material{
diffuseColor 0.3 0.11 0
specularColor 0.75 0.33 0.00
shininess 0.08
ambientIntensity 0.26

}
}
geometry Cone {
bottomRadius 1
height 3
}
}
#VRML V2.0 utf8
Transform {
children [
NavigationInfo { headlight FALSE } # We’ll add our own light
DirectionalLight { # First child
direction 0 0 -1 # Light illuminating the scene
}
Transform { # Second child - a red sphere
translation 3 0 1
children [
Shape {
geometry Sphere { radius 2.3 }
appearance Appearance {
material Material { diffuseColor 1 0 0 } # Red
}
}
]
}
Transform { # Third child - a blue box
translation -2.4 .2 1
rotation 0 1 1 .9
children [
Shape {
geometry Box {}
appearance Appearance {
material Material { diffuseColor 0 0 1 } # Blue
}
}
]
}
] # end of children for world
}
#VRML V2.0 utf8
PROTO TwoColorStool [ field SFColor legColor .8 .4 .7
field SFColor seatColor .6 .6 .1 ]
{
Transform {
children [
Transform { # stool seat
translation 0 0.6 0
children
Shape {
appearance Appearance {
material Material { diffuseColor IS seatColor }
}
geometry Box { size 1.2 0.2 1.2 }
}
}
Transform { # first stool leg
translation -.5 0 -.5
children
DEF Leg Shape {
appearance Appearance {
material Material { diffuseColor IS legColor }
}
geometry Cylinder { height 1 radius .1 }
}
}
Transform { # another stool leg
translation .5 0 -.5
children USE Leg
}
Transform { # another stool leg
translation -.5 0 .5
children USE Leg
}
Transform { # another stool leg
translation .5 0 .5
children USE Leg
}
] # End of root Transform’s children
} # End of root Transform
} # End of prototype

# The prototype is now defined. Although it contains a number of


# only the legColor and seatColor fields are public. Instead of
# default legColor and seatColor, this instance of the stool has
# and a green seat:
TwoColorStool {
legColor 1 0 0 seatColor 0 1 0
}
NavigationInfo { type "EXAMINE" } # Use the Examine viewer
#VRML V2.0 utf8
Transform {
translation 0 2 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry Cone { }
},
Transform {
scale 2 2 2
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Sphere { }
},
Transform {
translation 2 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0
}
}
geometry Cylinder { }
}
]
}
]

}
]
}
#VRML V2.0 utf8
# right_side_up
# ice cream

Transform{
rotation 1 0 0 3.14
children Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.5 0
} # end material
} # end appearance
geometry Cone {
bottom FALSE # make bottom invisible
} # end cone
} # end shape
} # end transform
#VRML V2.0 utf8
#DEF USE example...

DEF shorttower Group{


children [
Transform{
translation 0 1 0
children [
Transform {
translation 0 1.5 0
children Shape{
appearance Appearance {
material Material {
diffuseColor 1 0 0
} # end material
} # end appearance
geometry Cone { }
} # end shape
} # end transform
Shape{
appearance Appearance {
material Material {
diffuseColor 0 1 0
} # end material
} # end appearance
geometry Cylinder { height 1 }
} # end shape
] # end children
} # end Transform
] # end children
} # end group
Transform{
translation 0 1 0
rotation 1 0 0 3.14
children USE shorttower
} # end transform
#VRML V2.0 utf8
#openbox example...
Transform{
rotation 0 1 0 .78 # rotate 90 degrees about y axis
children Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0.5 # light green color
} # end material
} # end appearance
geometry IndexedFaceSet {
solid FALSE # make visible from top and bottom
coord Coordinate {
point [1 1 1, 1 -1 1, -1 -1 1, -1 1 1,
-1 1 -1, -1 -1 -1, 1 -1 -1, 1 1 -1,
1.5 1.5 1, 1.5 1.5 -1,
-1.5 1.5 1, -1.5 1.5 -1]
} # end coordinate
coordIndex [0,1,2,3,-1, # 5 sides
0,1,6,7,-1,
1,6,5,2,-1,
3,2,5,4,-1,
5,6,7,4,-1,
0,7,9,8,-1, # 2 flaps
4,3,10,11,-1]
} # end indexedfaceset
} # end shape
} # end transform
#VRML V2.0 utf8
#simple elevation example...
Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0
}
} #end appearance
geometry ElevationGrid {
solid FALSE
height [0, 0.1, 0.1, 0,
1.2, 2.1, 1.9, 1.4,
0.2, 0.2, 0.5, 0]
xDimension 4 #4 vertices in the x plane
zDimension 3 #3 vertices in the z plane
xSpacing 1 #spacing of 1 meter for x plane
zSpacing 2 #spacing of 2 meters for z plane
} #end elevationgrid
} #end shape
Contoh desain menggunakan VRML V1.0
rumah

#VRML V1.0 ascii


DEF BackgroundColor Info { string "1 1 1"}

DEF Dinding Separator


{Texture2 {filename "batubata.jpg"}

Cube
{ width 1.5
height 1
depth 1.5 }
}
DEF Atap Separator
{
Texture2 {filename "batik.jpg"}
Transform {translation -1 0.5 1}
Coordinate3
{point [0 0 0,
2 0 0,
2 0 -2,
0 0 -2,
1 1 -1] }
IndexedFaceSet
{ coordIndex
[0, 1, 2, 3, 0, -1,
0, 1, 4, -1,
1, 2, 4, -1,
2, 3, 4, -1,
0, 3, 4, -1] }
}

DEF Pintu Separator


{
Texture2 {filename "kayu.jpg"}
Coordinate3
{ point [0.25 -0.5 0.75,
0.25 0.25 0.75,
-0.25 0.25 0.75,
-0.25 -0.5 0.75] }
IndexedFaceSet
{ coordIndex
[0, 1, 2, 3, -1] }
}
Membuat Meja

#VRML V1.0 ascii

DEF BackgroundColor Info {string "1 1 1"}


### objek meja #
DEF Meja Separator
{
#Alas meja#
DEF Alas Separator
{Texture2 {filename "kayu.jpg"}
Cube
{ width 10
height 1.5
depth 7}

Separator
{
Transform { translation 3 -2 -2}
#kaki meja#
DEF Kaki Separator
{
Texture2 {filename "batu.jpg"}
Cylinder
{ radius 0.5
height 5 }
}
}
}
# kaki meja ke-2#
Separator
{Transform {translation -3 -2 -2}
USE Kaki}

# kaki meja ke-3#


Separator
{ Transform {translation 3 -2 2 }
USE Kaki}
#kaki meja ke -4#
Separator
{ Transform {translation -3 -2 2}
USE Kaki}
}
#akhir objek meja#
Membuat Roket

#VRML V1.0 ascii


DEF BackgroundColor Info { string "1 1 1"}

DEF Roket Separator


{
Material {diffuseColor 1 1 0}

DEF Pertama Separator


{
Transform {translation 0.5 0 0.5}
DEF Kaki Separator
{ Cylinder {radius 0.5 height 1 } }
Transform {translation -1 0 0}
USE Kaki
Transform {translation 0 0 -1}
USE Kaki
Transform {translation 1 0 0}
USE Kaki
}
Transform {translation 0 1 0}
DEF Kedua Separator
{
Material {diffuseColor 1 0 0}
Cylinder { }
}

DEF Ketiga Separator


{
Material {diffuseColor 0 0 1}
Transform {translation 0.5 2 0.5}
DEF Tiang Separator
{
Cylinder { radius 0.25 }
}
Transform {translation -1 0 0}
USE Tiang
Transform {translation 0 0 -1}
USE Tiang
Transform {translation 1 0 0}
USE Tiang
}
DEF Keempat Separator
{
Material {diffuseColor 0 1 0}
Transform {translation 0 4 0}
Cylinder { }
}
DEF Kelima Separator
{
Material {diffuseColor 1 0 0}
Transform {translation 0 6 0}
Cone { }
}
}
Membuat Monas

#VRML V1.0 ascii


#membuat groud tanah#
DEF Tanah Separator
{
Texture2 {filename "silver.jpg"}
Cube {width 10
height 0.05
depth 10
}
}
#bagian bawah monas#
DEF Dasar Separator
{
Texture2 {filename "silver.jpg"}
Transform {rotation 1 0 0 3.14}
Coordinate3

{ point [
1 0 1, 1 0 -1, -1 0 -1, -1 0 1,
2 -1 2, 2 -1 -2, -2 -1 -2, -2 -1 2] }
IndexedFaceSet
{ coordIndex
[0, 1, 2, 3, -1,
4, 5, 6, 7, -1,
0, 1, 5, 4, -1,
1, 2, 6, 5, -1,
2, 3, 7, 6, -1,
3, 0, 4, 7, -1] }
}
#alas penutup poligon#
DEF Alas Separator
{
Texture2 {filename "silver.jpg" }
Transform
{translation 0 1 0}
Cube {width 3.5
depth 3.5
height 0.05}
}
#tiang monas#
DEF Tiang Separator
{
Texture2 {filename "silver.jpg" }
Transform {translation 0 3 0}
Cube {width 0.75
depth 0.75
height 5 }
}
#bagian atas monas#
DEF Atap Separator
{

Transform {translation 0 5.5 0 }


Transform {scaleFactor 0.5 0.5 0.5 }
USE Dasar
USE Alas
}
#Emas monas#
DEF Emas Separator
{
Texture2 {filename "gold.jpg" }
Transform {translation 0 7 0}
Cone {bottomRadius 0.4
height 1.75}
}
Puri Inggris

#VRML V1.0 ascii


#DEF BackgroundImage Info { string " "}
DEF BackgroundColor Info { string "1 1 1" }
#objek menara bigben
DEF Bigben Separator
{
#dinding ke-1
DEF Kubus Separator
{
Texture2 {filename "batu.jpg"}
Cube {}
}
#dinding ke-2
DEF Silinder Separator
{
Texture2 {filename "silver.jpg"}
Transform {translation 0 2 0}
Cylinder {}
}
#dinding ke-3
Separator
{
Transform {translation 0 4 0}
USE Kubus
}
#jam
DEF Bola Separator
{
Transform {translation 0 4 0}
Texture2 {filename "rose.jpg"}
Sphere {radius 1.25}
}
#atap menara
DEF Kerucut Separator
{
Texture2 {filename "gold.jpg"}
Transform {translation 0 6 0}
Cone {}
}
}
#objek pagar sekeliling menara#
DEF Wall Separator
{
Texture2 {filename "seratkayu.jpg"}
Transform {translation 3 0 0}
Cube
{width 5
height 2
depth 1}
}
#mengkopi menara sebanyak 3 kali#
Separator
{ Transform {translation 6 0 0}
USE Bigben
Transform {translation 0 0 -6}
USE Bigben
Transform {translation -6 0 0}
USE Bigben }
#mengkopi pager sebanyak 3 kali#
Separator
{Transform {translation 0 0 -6}
USE Wall }
Separator
{
Transform {rotation 0 1 0 1.5707}
#Transform {translation 0 0 0}
USE Wall
Transform {translation 0 0 6}
USE Wall
}
Perhatian :
Koding diatas adalah VRML V1.0 dan VRML V2.0

------TUTORIAL INI GRATIS-----

Rilis Januari 2011

By: HIMTI (HIMPUNAN MAHASISWA TEKNIK INFORMATIKA)


DIVISI LITBANG

Dibuat untuk Mahasiswa yang ingin mempelajari VRML

Fakultas Teknologi Komunikasi dan Informatika


Jurusan Teknik Informatika

Faculty of Information and Communication technology


Department of Informatic Engineering

www.unas.ac.id

Vous aimerez peut-être aussi