Sunday, January 19, 2014

Objek 3D UFO sederhana dengan VRML


  1. Pengertian VRML
    VRML adalah bahasa skrip dalam format teks polos (plain text). Bedanya VRML digunakan untuk menggambarkan scene 3 dimensi dalam ruangan virtual. Selain membuat objek 3d, dengan VRML kita juga bisa melihat objek 3d dari berbagai cara pandang yang diinginkan. Agar terlihat lebih nyata, objek yang dibuat dapat diatur warna permukaannya menggunakan UV mapped textures, shininess, transparency, dll. Objek juga dapat dibuat agar bisa berinteraksi dengan memperbolehkan linking keluar ke Web dan memasukkan URL lainnya. Feature yang disebut linking out feature ini (WWW Anchor) menyediakan feature yang sama yang disediakan HREF anchors di HTML.
  2. struktur VRML:
    Shape
    Shape adalah node dasar yang digunakan untuk membuat sebuah objek sederhana. Pada contah diatas dapat diterangkan sebagai berikut yaitu Node Shape yang memiliki field appearance dan geometry. Sedangkan field appearance di isi dengan Node Apperance yang juga memiliki fields material dan diisi Node Material.
    appearance
    Field appearance pada node Shape digunakan untuk memberi warna tektur dan transparansi serta sifat-sifat yang lain.geometryField geometry digunakan untuk membetuk objek dasar yang dimilikik oleh VRML.
    Berikut adalah contoh objek 3D pada VRML :

    KUBUS:
    Node Box memungkinkan kita untuk membuat kotak dengan panjang, lebar dan tinggi menurut keinginan kita. Node ini hanya mempunyai satu field berupa vektor yang menentukan ukuran dari kubus ini.
    Box {
    field SFVec3f size 2 2 2
    }


    CYLINDER:
    Node Cylinder dipakai untuk membuat objek silinder. Selain mempunyai field height dan radius sebagai parameter objek, node ini mempunyai 3 field lainnya masing-masing dari tipe SFBool, yaitu top, bottom dan side yang mengindikasikan apakah sisi yang disebut dalam field nyata atau tidak. Jika nilai ini FALSE maka pada sisi yang bersangkutan tidak akan dilakukan proses rendering dan sisi ini tidak dapat dipakai dalam proses deteksi kolisi (collision detection).Struktur dari node ini adalah seperti berikut.
    Cylinder {
    field SFBool bottom TRUE
    field SFFloat height 2
    field SFFloat radius 1
    field SFBool side TRUE
    field SFBool top TRUE
    }
  3. Kerucut
    #VRML V2.0 utf8
    Shape {
    appearance Appearance {
    material Material {
    diffuseColor 0 1 1 # biru muda
    emissiveColor 0.3 0.3 0.3
    }

    }
    geometry Cone {} # kerucut pada posisi default
    }
Membuat Objek UFO sederhana
  • Listing Program
  #VRML V2.0 utf8

# A Cylinder
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0.8 0.4
specularColor 1 0 1
shininess 1
}
}
geometry Cylinder {
height 0.2
radius 3
}
}
# A Sphere
Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0.5 0.5
transparency 0.0
}
}
geometry Sphere {
radius 1
}
}
Shape {
appearance Appearance {
material Material {
diffuseColor 1 0.8 0.4
specularColor 1 0 1
shininess 1
}
}
  • Logika Program
Shape adalah node dasar yang digunakan untuk membuat sebuah objek sederhana. Pada contah diatas dapat diterangkan sebagai berikut yaitu Node Shape yang memiliki field appearance dan geometry. Sedangkan field appearance di isi dengan Node Apperance yang juga memiliki fields material dan diisi Node Material. Field appearance pada node Shape digunakan untuk memberi warna tekstur dan transparansi serta sifat-sifat yang lain. Dan Material berisi pewarnaan dari objek tersebut.
Isi dari Material itu adalah diffuseColor yang artinya adalah warna dasar. Pewarnaan ini berdasarkan RGB(Red, Green, dan Blue) dengan skala 0 hingga 1. Jika di beri skala lebih dari 1 maka yang akan tampil tetaplah dengan skala 1.
SpecularColor adalah warna gradasi yang tidak terlalu mencolok. Sedangkan shininess adalah kecerahan dari objek tersebut.


geometry Cylinder {
height 0.2
radius 3
}


Geometry disini merupakan perintah untuk membentuk objek yang akan dibuat. Untuk objek silinder perintah yang dibuat adalah Cylinder. Cylinder ini terdiri dari heigth dan radius. Height dapat dikatakan ketebalan dari silinder tersebut, sedangkan radius adalah jari-jari dari silinder tersebut.

Untuk objek bola cara membuatnya hampir sama, yang membedakan hanyalah pada geometrinya.


geometry Sphere {
radius 1
}

Objek bola di buat dengan perintah Sphere yang mengandung perintah radius. Semakin besar Radius maka bola akan semakin besar.

Dengan demikian maka objek yang akan tampil adalah sebagai berikut outputnya.


No comments:

Post a Comment