Contenu connexe
Plus de Masyarah Zulhaida (8)
Th3813 12 kawalan perincian & skrip
- 1. TH3813 Realiti Maya
Kawalan keterperincian &
Penskriptan
Kawalan keterperincian
TH3813 12 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
1
Latar belakang
TH3813 12 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
2
Contoh
Lebih ke dalam pemerhati melihat, lebih banyak
yang perlu dilukis
Jika bentuk pada jarak yang jauh:
Bentuk lebih kecil
Pemerhati tidak akan melihat dengan lebih detail
Oleh itu … pelukisan tidak terlalu terperinci
[prox1.wrl]
Variasi dengan jarak – kurangkan masa
download, dan tingkatkan kelajuan melukis
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
3
Penghasilan pelbagai versi bentuk
Untuk mengawal keterperincian, modelkan bentuk
yang sama beberapa kali
Keterperincian tinggi – jika pemerhati sangat
hampir
Keterperincian sederhana – jika pemerhati hampir
Keterperincian rendah – jika pemerhati jauh
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
4
Pengawalan keterperincian
Kumpulkan versi bentuk sebagai paras (level)
dalam nod pengumpulan LOD
LOD ialah akronim bagi Level of Detail
Senaraikan daripada tinggi hingga rendah
Lazimnya, 3 atau 3 versi berlainan objek sudah
memadai
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
5
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
6
1
- 2. Sintaks: LOD
Pemilihan julat keterperincian
Nod pengumpulan LOD hasilkan sekumpulan bentuk yang
mendeskripsikan paras (versi) berbeza untuk bentuk yang
sama
center – pusat bentuk
range – senarai julat paras switch
level – senarai paras bentuk
Jika ada 3 paras, perlu 2 julat
Julat adalah hint kepada browser
range [ 5.0, 10.0 ]
shape
center
LOD {
center 0.0 0.0 0.0
range [ . . . ]
level [ . . . ]
}
TH3813 11 VRML 10
Gunakan senarai julat untuk paras titik suis
Viewer <= 5.0
Show 1st level
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
7
Pengoptimuman bentuk
5.0
|
|
TH3813 11 VRML 10
10.0
Viewer <= 10.0
Show 2nd level
|
|
Viewer > 10.0
Show 3rd level
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
8
Contoh paras keteperincian
Prosedur yang dicadangkan untuk menghasilkan
paras berbeza
Hasilkan bentuk dengan keterperincian yang tinggi
dahulu
Salinkan untuk menghasilkan bentuk dengan
keterperincian yang sederhana
Anjakkan bentuk dengan keterperincian sederhana
ke jarak suis yang sesuai
Padamkan bahagian yang tidak dominan
Ulang semula untuk paras yang lebih rendah
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
9
Contoh LOD
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
12
Contoh LOD
LOD {
center 0.0 0.0 0.0
range [ 7.0, 10.0 ]
level [
Inline { url “torch1.wrl”}
Inline {url “torch2.wrl”}
Inline {url “torch3.wrl”}
]
}
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
11
TH3813 11 VRML 10
2
- 3. Latar belakang
Banyak tindakan yang terlalu kompleks dengan
menggunakan nod animasi
Pengenalan penggunaan
skrip
Laluan animasi berkomputer (cth. Graviti)
Bentuk algoritma (cth. Fractal)
Persekitaran kolaboratif (cth. Permainan)
Boleh hasilakn pengesan baru, interpolasi, dll, dengan
menggunakan program skrip:
Java
JavaScript
VRMLscript
TH3813 12 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
13
Nod Script pilih program skrip untuk dilarikan:
field, eventIn, dan eventOut – input dan output
DEF Bouncer Script {
url “bouncer.class”
atau …..
url “bouncer.js”
atau …..
url “javascript: ….. “
atau …..
url “vrmlscript: …..”
}
Setiap satu mempunyai nama dan jenis data
Medan mempunyai nilai awal
DEF Bouncer Script {
field SFFloat bounceHeight 3.0
eventIn SFFloat set_fraction
eventOut SFVec3f value_changed
}
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
15
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
16
Contoh penggunaan program
skrip
Jenis Data
Jenis Data
SFBool
Boolean, true or false value
SFColor, MFColor
RGB color value
SFFloat, MFFloat
Floating point value
SFImage
Image value
SFInt32, MFInt32
Integer value
SFNode, MFNode
SFRotation, MFRotation
Node value
Rotation value
SFString, MFString
Text string value
SFTime
Time value
SFVec2f, MFVec2f
DEF Clock TimeSensor { . . . }
DEF Ball Transform { . . . }
DEF Bouncer Script {
field SFFloat bounceHeight 3.0
eventIn SFFloat set_fraction
eventOut SFVec3f value_changed
url "vrmlscript: . . ."
}
ROUTE Clock.fraction_changed TO Bouncer.set_fraction
ROUTE Bouncer.value_changed TO Ball.set_translation
Makna
XY floating point value
TH3813 11 VRML 10
14
Nod Script juga terangkan antaramuka program
skrip
url – pilihan program skrip
SFVec3f, MFVec3f
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
Mendefinisikan antaramuka
program skrip
Sintaks: Script
TH3813 11 VRML 10
TH3813 11 VRML 10
XYZ floating point value
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
17
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
18
3
- 4. Contoh yang menggunakan skrip
Contoh
[ bounce1.wrl ]
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
19
TH3813 11 VRML 10
© Dr. Shahrul Azman Mohd Noah
samn@ftsm.ukm.my
20
4