10
Lampiran 1 Ilustrasi penggunaan parameter pencahayaan pada target spot
Pencahayaan dengan overshoot
11
Efek yang dihasilkan dari overshoot sama dengan omni karena memancarkan cahaya ke
segala arah tetapi tetap memproyeksikan bayangan seperti target spot
Menaikkan nilai bias akan
memisahkan objek dengan
bayangannya
Menaikkan sample range (dari kiri
ke kanan) akan membuat efek
antialising
Map size kiri = 32
Map size kanan = 256
Area hotspot sempit dengan area
fallof luas
Area hotspot yang diperluas
Pencahayaan tanpa overshoot
Menaikkan density (dari kiri ke
kanan) akan mempertebal bayangan
11
Lampiran 2 Script Cylight
1 --Cylight ver.1.03
2 --Written by Andi Sasmita
3 --"Cylinder Lighting" for 3ds Max 8/9/2008/2009/2010 or later 4
5 --Changelog 28 June 2009 ver.1.03 6 --Add pivot point controller
7 --Import parameters / readjust parameters after closed 8 --Add Render Setup and Render feature
9 --Add timing operations (processing time) 10 --Bugs fixed 11 12 Global CylinderRadiusValue = 100.0 13 Global CylinderHeightValue = 400.0 14 Global PivotPointValue = 0 15 Global CylinderHeightSegValue = 4 16 Global CylinderCapSegValue = 1 17 Global CylinderSidesValue = 12
18 Global CylinderPivotController = bezier_float() 19 Global CylinderRadiusController = bezier_float() 20 Global CylinderHeightController = bezier_float() 21 Global CylinderPosition = [0,0,0]
22 Global VertexCount = undefined 23 Global LightsNumber = undefined 24 Global LightsStepValue = 1 25 Global LightsMapSizeValue = 128 26 Global LightsMapBiasValue = 0.1 27 Global LightsMultiplierValue = 1.0
28 Global LightsMultiplierController = bezier_float() 29 Global LightsStatusChecked = on
31 Global LightsShadowColorColor = black
32 Global LightsShadowMultiplierController = bezier_float() 33 Global LightsOvershootChecked = off
34 Global LightsShadowChecked = on 35 Global LightsSampleRangeValue = 4.0 36 Global LightsFalloffValue = 52.0 37 Global LightsCount = 91
38 Global LightsHotspotValue = 50.0 39 Global LightsColorRGB = white
40 Global LightsShadowMultiplierValue = 1.0 41 Global LightsIndex = undefined
42
12
Lampiran 2 Lanjutan
44 fn FnArrayLights =
45 (
46 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
47 (
48 CylinderPosition = $ans_cyl.pos
49 VertexPosition = getvert $ans_cyl LightsIndex
50 LightsNumber[LightsIndex] = TargetSpot hotspot:LightsHotspotValue
falloff:LightsFalloffValue overShoot:LightsOvershootChecked decayRadius:LightsStepValue attenDecay:1 raytracedShadows:off pos:VertexPosition enabled:LightsStatusChecked rgb:LightsColorRGB multiplier:(LightsMultiplierValue/(LightsCount as Integer)) castShadows:LightsShadowChecked
shadowColor:(LightsShadowColorColor/(LightsCount as Integer))
shadowMultiplier:LightsShadowMultiplierValue mapbias:LightsMapBiasValue mapsize:LightsMapSizeValue samplerange:LightsSampleRangeValue
parent:$ans_cyl name:(uniquename "ans_light") target:(Targetobject
name:(uniquename "ans_target") parent:$ans_cyl transform:(matrix3 [1,0,0] [0,1,0] [0,0,1] CylinderPosition)) 51 ) 52 ) 53 54 fn FnTotalNumberOfLights = 55 ( 56 LightsCount = (CylinderSidesValue * (CylinderHeightSegValue+1)/LightsStepValue) 57 LightsCount += 0.99 58 ) 59
60 rollout Author "Author"
61 (
62 bitmap sprunt_bmp fileName:"light_banner.jpg"
63 )
64
65 rollout ansCreate "Create/Remove Cylight"
66 (
67 Button Create "Create Cylight!" width:194 align:#center
68 Button Remove "Remove Cylight!" width:194 align:#center enabled: false
69 On Create pressed do
70 (
71 if $ans_cyl == undefined then
72 (
73 Remove.enabled = true
74 Create.enabled = false
75 Cylinder name:"ans_cyl" pos:[0,0,0] radius:CylinderRadiusValue height:CylinderHeightValue heightsegs:CylinderHeightSegValue capsegs:CylinderCapSegValue sides:CylinderSidesValue mapCoords:on wirecolor:black renderable:off xray:on pivot:[0,0,PivotPointValue]
76 Addmodifier $ans_cyl (Mesh_Select())
77 VertexCount = getnumverts $ans_cyl
13
Lampiran 2 Lanjutan
79 LightsNumber = #() 80 FnTotalNumberOfLights() 81 disableSceneRedraw() 82 FnArrayLights() 83 enableSceneRedraw() 84 ) 85 ) 86 87 88 On Remove pressed do 89 (90 if $ans_cyl != undefined then
91 ( 92 Remove.enabled = false 93 Create.enabled = true 94 delete $ans_cyl 95 delete $ans_light* 96 ) 97 ) 98 99 ) 100
101 rollout LightsCreation "Light Settings"
102 (
103 Group "Light Parameters"
104 (
105 Checkbox LightsStatus "Enable" checked:on across:2 align:#left offset:[1,0] across:2
106 Colorpicker LightsColor "Color:" color:[255,255,255] align:#right offset:[-1,0]
107 Spinner LightsStep "Step:" range:[1,100,1] type:#integer align:#left offset:[14,0] width:60 across:2
108 Spinner LightsMultiplier "Multiplier:" range:[0,100,1]
controller:LightsMultiplierController align:#right width:70 offset:[-1,0] 109 Spinner LightsHotspot "Hotspot:" range:[0,1000000000,50.0] scale:1 align:#left
width:115 offset:[9,0]
110 Spinner LightsFalloff "Falloff:" range:[0,1000000000,52.0] scale:1 align:#right width:115 offset:[15,0] across:2
111 Checkbox LightsOvershoot "Overshoot" checked:off align:#right offset:[5,0]
112 )
113 Group "Shadow Parameters"
114 (
115 Checkbox LightsShadow "Cast Shadows" checked:on align:#left offset:[1,0] across:2
116 Colorpicker LightsShadowColor "Color:" color:[0,0,0] align:#right offset:[-1,0]
117 Spinner LightsShadowMultiplier "Density:" range:[0,100,1]
controller:LightsShadowMultiplierController align:#left width:71 offset:[20,0] across:2
14
Lampiran 2 Lanjutan
118 Spinner LightsMapSize "Map Size:" range:[1,4096,128] type:#integer align:#right width:85 offset:[-1,0]
119 Spinner LightsMapBias "Bias:" range:[0,1000,0.1] align:#left width:52 offset:[15,0] across:2
120 Spinner LightsSampleRange "Sample Range:" range:[0.01,50,4.0] align:#right offset:[-1,0] width:88
121 )
122 Label LabelTotal "Total: 60 Lights" align:#center
123 on LightsStep changed val do
124 (
125 LightsStepValue = val
126 FnTotalNumberOfLights()
127 LightsCreation.LabelTotal.text = "Total: " + ((LightsCount as integer) as string) + " Lights"
128 if $ans_cyl != undefined then
129 (
130 VertexCount = getnumverts $ans_cyl
131 delete $ans_light* 132 LightsNumber = #() 133 FnTotalNumberOfLights() 134 disableSceneRedraw() 135 FnArrayLights() 136 enableSceneRedraw() 137 ) 138 )
139 on LightsStatus changed val do
140 (
141 LightsStatusChecked = val
142 if $ans_light01 != undefined then
143 (
144 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
145 ( 146 LightsNumber[LightsIndex].baseobject.Enabled = LightsStatusChecked 147 ) 148 ) 149 )
150 on LightsColor changed val do
151 (
152 LightsColorRGB = val
153 if $ans_light01 != undefined then
154 (
155 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
156 (
157 LightsNumber[LightsIndex].baseobject.rgb = LightsColorRGB
15
Lampiran 2 Lanjutan
159 )
160 )
161 on LightsMultiplier changed val do
162 (
163 LightsMultiplierValue = val
164 if $ans_light01 != undefined then
165 (
166 FnTotalNumberOfLights()
167 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
168 ( 169 LightsNumber[LightsIndex].baseobject.multiplier = LightsMultiplierValue/(LightsCount as integer) 170 ) 171 LightsMultiplierController.value = ($ans_Light01.baseobject.multiplier*(LightsCount as Integer)) 172 ) 173 )
174 on LightsShadow changed val do
175 (
176 LightsShadowChecked = val
177 if $ans_light01 != undefined then
178 (
179 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
180 ( 181 LightsNumber[LightsIndex].baseobject.castShadows = LightsShadowChecked 182 ) 183 ) 184 )
185 on LightsShadowColor changed val do
186 (
187 LightsShadowColorColor = val
188 if $ans_light01 != undefined then
189 (
190 FnTotalNumberOfLights()
191 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
192 ( 193 LightsNumber[LightsIndex].baseobject.shadowColor = (LightsShadowColorColor/(LightsCount as integer)) 194 ) 195 ) 196 ) 197
159 on LightsShadowMultiplier changed val do
160 (
16
Lampiran 2 Lanjutan
162 if $ans_light01 != undefined then
163 (
164 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
165 ( 166 LightsNumber[LightsIndex].baseobject.shadowMultiplier = LightsShadowMultiplierValue 167 ) 168 LightsShadowMultiplierController.value = $ans_light01.baseobject.shadowMultiplier 169 ) 170 )
171 on LightsMapBias changed val do
172 (
173 LightsMapBiasValue = val
174 if $ans_light01 != undefined then
175 (
176 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
177 ( 178 LightsNumber[LightsIndex].baseobject.mapbias = LightsMapBiasValue 179 ) 180 ) 181 )
182 on LightsMapSize changed val do
183 (
184 LightsMapSizeValue = val
185 FnTotalNumberOfLights()
186 LightsCreation.LabelTotal.text = "Total: " + ((LightsCount as integer) as string) + " Lights"
187 if $ans_light01 != undefined then
188 (
189 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
190 ( 191 LightsNumber[LightsIndex].baseobject.mapsize = LightsMapSizeValue 192 ) 193 ) 194 )
195 on LightsSampleRange changed val do
196 (
197 LightsSampleRangeValue = val
198 if $ans_light01 != undefined then
199 (
200 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
201 (
202 LightsNumber[LightsIndex].baseobject.samplerange =
17
Lampiran 2 Lanjutan
203 )
204 )
205 )
206 on LightsHotspot changed val do
207 (
208 LightsHotspotValue = val
209 if (LightsHotspotValue + 2) >= LightsFalloffValue then
210 (
211 LightsFalloffValue = (LightsHotspotValue + 2)
212 LightsFalloff.value = LightsFalloffValue
213 )
214 if $ans_light01 != undefined then
215 (
216 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
217 ( 218 LightsNumber[LightsIndex].baseobject.hotspot = LightsHotspotValue 219 if (LightsNumber[LightsIndex].baseobject.hotspot + 2) >= LightsFalloffValue then 220 ( 221 LightsNumber[LightsIndex].baseobject.falloff = LightsFalloffValue 222 ) 223 ) 224 ) 225 )
226 on LightsFalloff changed val do
227 (
228 LightsFalloffValue = val
229 if (LightsFalloffValue - 2) <= LightsHotspotValue then
230 (
231 LightsHotspotValue = (LightsFalloffValue - 2)
232 LightsHotspot.value = LightsHotspotValue
233 )
234 if $ans_light01 != undefined then
235 (
236 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
237 ( 238 LightsNumber[LightsIndex].baseobject.falloff = LightsFalloffValue 239 if (LightsNumber[LightsIndex].baseobject.falloff - 2) <= LightsHotspotValue then 240 ( 241 LightsNumber[LightsIndex].baseobject.hotspot = LightsHotspotValue 242 ) 243 ) 244 )
18
Lampiran 2 Lanjutan
245 )
246 On LightsOvershoot changed val do
247 (
248 LightsOvershootChecked = val
249 LightsHotspot.enabled = not LightsOvershootChecked
250 if $ans_light01 != undefined then
251 (
252 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
253 ( 254 LightsNumber[LightsIndex].baseobject.overShoot = LightsOvershootChecked 255 ) 256 ) 257 ) 258 ) 259
260 rollout CylinderCreation "Cylinder Settings"
261 (
262 Group "Cylinder Parameters"
263 (
264 Spinner CylinderRadius "Radius:" range:[0,999999999,100] scale:10
controller:CylinderRadiusController align:#left offset:[0,0] width:107 across:2 265 Spinner CylinderHeight "Height:" range:[0,999999999,400] scale: 10 controller:
CylinderHeightController align:#right width:107
266 Spinner CylinderSides "Sides:" range:[3,16,12] type:#integer align: #left width:51
267 Spinner CylinderHeightSegments "Height Segments:" range:[1,10,4] type:#integer align:#right offset:[0,-20] width:51
268 Spinner PivotPoint "Pivot:" range:[-999999999,999999999,0] type:#integer width:84 align:#right
269 )
270
271 On CylinderRadius changed val do
272 (
273 CylinderRadiusValue = val
274 if $ans_cyl!=undefined then
275 (
276 $ans_cyl.radius = CylinderRadiusValue
277 VertexCount = getnumverts $ans_cyl
278 disableSceneRedraw()
279 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
280 (
281 VertexPosition = getvert $ans_cyl LightsIndex
282 LightsNumber[LightsIndex].pos = VertexPosition
283 )
284 enableSceneRedraw()
19
Lampiran 2 Lanjutan
286 )
287 )
288
289 On CylinderSides changed val do
290 (
291 CylinderSidesValue = val
292 FnTotalNumberOfLights()
293 --bugs fixed here (cannot read LabelTotal)
294 LightsCreation.LabelTotal.text = "Total: " + ((LightsCount as integer) as string) + " Lights"
295 if $ans_cyl != undefined then
296 (
297 $ans_cyl.sides = CylinderSidesValue
298 VertexCount = getnumverts $ans_cyl
299 delete $ans_light* 300 LightsNumber = #() 301 FnTotalNumberOfLights() 302 disableSceneRedraw() 303 FnArrayLights() 304 enableSceneRedraw() 305 ) 306 ) 307
308 On CylinderHeight changed val do
309 (
310 CylinderHeightValue = val
311 if $ans_cyl!=undefined then
312 (
313 $ans_cyl.height = CylinderHeightValue
314 VertexCount = getnumverts $ans_cyl
315 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
316 (
317 VertexPosition = getvert $ans_cyl LightsIndex
318 LightsNumber[LightsIndex].pos = VertexPosition 319 ) 320 CylinderHeightController.value = $ans_cyl.height 321 ) 322 ) 323
324 On CylinderHeightSegments changed val do
325 (
326 CylinderHeightSegValue = val
327 FnTotalNumberOfLights()
20
Lampiran 2 Lanjutan
329 LightsCreation.LabelTotal.text = "Total: " + ((LightsCount as integer) as string) + " Lights"
330 if $ans_cyl != undefined then
331 (
332 $ans_cyl.heightsegs = CylinderHeightSegValue
333 VertexCount = getnumverts $ans_cyl
334 delete $ans_light* 335 LightsNumber = #() 336 FnTotalNumberOfLights() 337 disableSceneRedraw() 338 FnArrayLights() 339 enableSceneRedraw() 340 ) 341 ) 342
343 On PivotPoint changed val do
344 ( 345 PivotPointValue = val 346 if $ans_cyl!=undefined then 347 ( 348 $ans_cyl.pivot = [$ans_cyl.pos.x,$ans_cyl.pos.y,PivotPointValue] 349 $ans_target*.pivot = $ans_cyl.pivot 350 CylinderPivotController.value = PivotPointValue 351 ) 352 ) 353 ) 354 355
356 rollout HideUnhide "Hide/Unhide Cylight"
357 (
358 Button HideAll "Hide Cylight" align:#left width:100 offset:[1,0] across:2 359 Button UnhideAll "Unhide Cylight" align:#right width:100 offset:[-1,0] 360 361 On HideAll pressed do 362 ( 363 hide $ans_cyl* 364 hide $ans_light* 365 ) 366 On UnhideAll pressed do 367 ( 368 unhide $ans_cyl* 369 unhide $ans_light* 370 ) 371 )
21
Lampiran 2 Lanjutan
372 rollout Rendering "Rendering"
373 (
374 Button RenderSetup "Render Setup" width:100 across:2 align:#left 375 Button Render "Render" width:100 align:#right
376 Label LabelTime "No render time" align:#center 377
378 On RenderSetup pressed do
379 (
380 actionMan.executeAction 0 "60010" -- Render: Render SetUp
381 )
382
383 On Render pressed do
384 (
385 start = timeStamp()
386 actionMan.executeAction 0 "50031" -- Render: Render
387 end = timeStamp()
388 format "Processing took % seconds\n" ((end - start) / 1000.0) 389 Rendering.LabelTime.text = "Processing took " + (((end - start) /
1000.0) as string) + " seconds"
390 )
391 )
392
393 rollout Aboutans "About Cylight"
394 (
395 Label LabelVersion "Version: 1.03" align:#center 396 Label LabelRelease "Release: 28 June 2009"
397 Label LabelAuthor "Author: Andi Sasmita" align:#center 398 Button Contact "ans_3d@yahoo.com" align:#center
399 Button Website "http://ans_3d.carbonmade.com" align:#center 400 372 On Contact pressed do 373 ( 374 assetBrowser.open() 375 assetBrowser.gotoURL "mailto:ans_3d@yahoo.com" 376 ) 377 On Website pressed do 378 ( 379 assetBrowser.open() 380 assetBrowser.gotoURL "http://ans_3d.carbonmade.com" 381 ) 382 ) 383 384 --Initialise Controllers
22
Lampiran 2 Lanjutan
385 LightsMultiplierController.value = 1.0 386 LightsShadowMultiplierController.value = 1.0 387 CylinderRadiusController.value = 100.0 388 CylinderHeightController.value = 400.0 389 CylinderPivotController.value = 0 390391 ans_Floater = NewRolloutFloater "Cylight ver. 1.03" 260 560 392 AddRollout Author ans_Floater
393 AddRollout CylinderCreation ans_Floater 394 AddRollout LightsCreation ans_Floater
395 AddRollout ansCreate ans_Floater rolledUp:off 396 AddRollout Rendering ans_Floater
397 AddRollout HideUnhide ans_Floater rolledUp:on 398 AddRollout Aboutans ans_Floater rolledUp:on 399
400 if ($ans_cyl != undefined) and ($ans_light01 != undefined) then
401 ( 402 CylinderPosition = $ans_cyl.pos 403 CylinderRadiusValue = $ans_cyl.radius 404 CylinderCreation.CylinderRadius.value = CylinderRadiusValue 405 CylinderHeightValue = $ans_cyl.height 406 CylinderCreation.CylinderHeight.value = CylinderHeightValue 407 CylinderHeightSegValue = $ans_cyl.heightsegs 408 CylinderCreation.CylinderHeightSegments.value = CylinderHeightSegValue 409 CylinderSidesValue = $ans_cyl.sides 410 CylinderCreation.CylinderSides.value = CylinderSidesValue 411 PivotPointValue = $ans_cyl.pivot.z 412 CylinderCreation.PivotPoint.value = PivotPointValue 413 LightsCount = $ans_light*.count 414 LightsFalloffValue = $ans_light01.baseobject.falloff 415 LightsCreation.LightsFalloff.value = LightsFalloffValue 416 LightsMapBiasValue = $ans_light01.baseobject.mapbias 417 LightsCreation.LightsMapBias.value = LightsMapBiasValue 418 LightsHotspotValue = $ans_light01.baseobject.hotspot 419 LightsCreation.LightsHotspot.value = LightsHotspotValue 420 LightsSampleRangeValue = $ans_light01.baseobject.samplerange 421 LightsCreation.LightsSampleRange.value = LightsSampleRangeValue 422 LightsMapSizeValue = $ans_light01.baseobject.mapsize 423 LightsCreation.LightsMapSize.value = LightsMapSizeValue
424 LightsMultiplierValue = ($ans_light01.baseobject.multiplier * LightsCount) 425 LightsCreation.LightsMultiplier.value = LightsMultiplierValue
426 LightsOvershootChecked = $ans_light01.baseobject.overShoot 427 LightsCreation.LightsHotspot.enabled = not LightsOvershootChecked
23
Lampiran 2 Lanjutan
428 LightsCreation.LightsOvershoot.checked = LightsOvershootChecked 429 LightsShadowColorColor = $ans_light01.baseobject.shadowColor 430 LightsCreation.LightsShadowColor.color = (LightsShadowColorColor * LightsCount) 431 LightsShadowMultiplierValue = $ans_light01.baseobject.shadowMultiplier 432 LightsCreation.LightsShadowMultiplier.value = LightsShadowMultiplierValue 433 LightsShadowChecked = $ans_light01.baseobject.castShadows 434 LightsCreation.LightsShadow.checked = LightsShadowChecked 435 LightsStatusChecked = $ans_light01.baseobject.enabled 436 LightsCreation.LightsStatus.checked = LightsStatusChecked 437 LightsColorRGB = $ans_light01.baseobject.rgb 438 LightsCreation.LightsColor.color = LightsColorRGB439 LightsStepValue = ($ans_light01.baseobject.decayRadius as integer) 440 LightsCreation.LightsStep.value = LightsStepValue
441 VertexCount = getnumverts $ans_cyl
442 FnTotalNumberOfLights() 443 TempNumber = #() 444 TempNumber = $ans_light* 445 TempIndex = 1 446 LightsNumber = #() 447 ansCreate.Remove.enabled = true 448 ansCreate.Create.enabled = false 449
450 for LightsIndex in 2 to (VertexCount-1) by LightsStepValue do
451 (
428 LightsNumber[LightsIndex] = TempNumber[TempIndex]
429 LightsNumber[LightsIndex].pos =TempNumber[TempIndex].pos
430 TempIndex += 1
431 )
432 LightsCreation.LabelTotal.text = "Total: " + ((LightsCount as integer) as string) + " Lights"
24
Lampiran 3 Pengujian waktu render
Nama file
Triangles
(Tris) Ukuran render Kamera
Tekstur/
warna Metode
Waktu render (dalam detik)
No. Ulangan 1 Ulangan 2 Ulangan 3 Rataan2
chairs.max 123 098 325 x 400 pixel Perspective Tidak Cylight 3.890 3.859 3.844 3.864 P8A
P83
Scanline GI 26.594 26.610 27.109 26.771 P8B
mental ray GI 11.461 13.348 11.610 12.140 P8C
model_yaris.max 206 938 400 x 300 pixel Camera02 Tidak Cylight 4.485 4.469 4.328 4.427 P9A
P94
Scanline GI 29.688 30.406 30.406 30.167 P9B
mental ray GI 12.984 12.000 11.750 12.245 P9C
building.max 189 748 325 x 400 pixel Camera01 Tidak Cylight 10.000 9.890 9.938 9.943 P10A
P105
Scanline GI 107.860 108.000 107.896 107.919 P10B
mental ray GI 20.340 20.258 19.930 20.176 P10C
steamworks.max 111 445 325 x 400 pixel Camera01 Ya Cylight 4.203 4.172 4.140 4.172 P11A
P116
Scanline GI 66.891 67.344 66.734 66.990 P11B
mental ray GI 52.000 51.578 50.891 51.490 P11C
steamworks.max 111 445 325 x 400 pixel Camera02 Ya Cylight 4.531 4.469 4.516 4.505 P12A
P127
Scanline GI 81.188 81.188 80.391 80.922 P12B
mental ray GI 55.219 56.094 55.937 55.750 P12C
bedroom.max 75 918 325 x 400 pixel Camera01 Ya Cylight 3.703 3.719 3.703 3.708 P13A
P138
Scanline GI 38.875 38.825 38.782 38.827 P13B
mental ray GI 13.094 13.203 13.438 13.245 P13C
2
Data rataan yang digunakan untuk perhitungan ANOVA
3Pertanyaan nomor 8 pada kuesioner
4
Pertanyaan nomor 9 pada kuesioner
5Pertanyaan nomor 10 pada kuesioner
6Pertanyaan nomor 11 pada kuesioner
7Pertanyaan nomor 12 pada kuesioner
825
Lampiran 4 Parameter-parameter metode pencahayaan
No.9 Rad. Sides Height
Height
Seg. Pivot Mult.
Lights Color
(RGB) Overshoot Step Hotspot Falloff
Shadow Color (RGB) Density Bias Map Size Sample Range
P8A 780 12 720 2 0 2.2 255,255,255 Yes 1 tdk aktif 52 0,0,0 1 0,1 512 16 P9A 70 12 100 2 0 2.2 255,255,255 Yes 1 tdk aktif 52 0,0,0 1.2 0,1 1024 8 P10A 60 12 60 2 -1 3.5 255,255,255 Yes 1 tdk aktif 52 0,0,0 1 0,1 1024 4 P11A 40 12 40 2 3 2 255,255,255 Yes 1 tdk aktif 52 0,0,0 1 0,1 128 2 P12A 40 12 40 2 3 2 255,255,255 Yes 1 tdk aktif 52 0,0,0 1 0,1 128 2 P13A 1460 12 2500 2 0 2 255,255,255 Yes 1 tdk aktif 52 0,0,0 1 0,1 256 8
No.10 Cone Angle Sky Rays per Sample Filter Size Ray Bias Global Mult. Color Filter (RGB) Color Bleed Object Mult . Extra Ambient (RGB) Bounces Initial Sample Spacing Volumes Subd. Contrast Subd. Down To P8B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 P9B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 P10B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 P11B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 P12B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 P13B 88 1 250 0.5 0.03 1 255,255,255 1 1 0,0,0 1 16x16 1 5 1x1 No.11 FGM 12 W 13 IFGD 14 Rays per FG Point IFGP 15 DB16 Final Gather Color (RGB) Noise Filtering Max. Depth Max. Refl. Max. Refr. GI Color (RGB) GI Mult. Max. Num. Photon per Sample Avg. GI per Light Decay m17 M18 Ray Tracing Method Shadow Mode P8C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm. P9C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm. P10C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm. P11C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm. P12C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm. P13C 1 1 0.1 30 50 1 255,255,255 Standard 6 4 6 255,255,255 1 500 20001 2.1 4 64 BSP 10x40 Segm.
9
P8A s.d. P13 A adalah citra yang di-render menggunakan metode Cylight
10P8B s.d. P13B adalah citra yang di-render menggunakan Scanline GI
11P8C s.d. P13C adalah citra yang di-render menggunakan mental ray GI
12Final Gather Multiplier
13
Weight
14Initial FG Point Density
15Interpolate Over FG Points
16Diffuse Bounces
17
Minimum Sample
1826
Lampiran 5 Kuesioner
27
Lampiran 5 Lanjutan
28
Lampiran 5 Lanjutan
29
Lampiran 5 Lanjutan
30
Lampiran 5 Lanjutan
31
Lampiran 5 Lanjutan
32
Lampiran 5 Lanjutan
33
Lampiran 5 Lanjutan
34
Lampiran 5 Lanjutan
35
Lampiran 5 Lanjutan
36
Lampiran 6 Demografi dan mental model responden
Demografi
Jenis Kelamin (JK)
Jumlah
Persentase (%)
Laki-laki
71
72.45
Perempuan
25
25.51
Tidak menjawab
2
2.04
Total
98
100
Umur
Jumlah
Persentase (%)
11-15 tahun
2
2.04
16-22 tahun
58
59.18
23-30 tahun
30
30.61
> 30 tahun
7
7.14
Tidak menjawab
1
1.02
Total
98
100
Mental Model
Bermain game 3D (P4)
Jumlah
Persentase (%)
Tidak pernah
10
10.20
Pernah
32
32.65
Kadang-kadang
26
26.53
Sering
25
25.51
Selalu
5
5.10
Total
98
100
Menonton animasi 3D (P5)
Jumlah
Persentase (%)
Tidak pernah
4
4.08
Pernah
18
18.37
Kadang-kadang
20
20.41
Sering
46
46.94
Selalu
10
10.20
Total
98
100
Menggunakan aplikasi 3D (P6)
Jumlah Persentase (%)
Tidak bisa
48
48.98
Bisa sedikit
16
16.33
Sedang-sedang saja
24
24.49
Mahir
9
9.18
Tidak menjawab
1
1.02
Total
98
100
Mengetahui istilah GI (P7)
Jumlah Persentase (%)
Tidak tahu sama sekali
30
30.61
Rasanya pernah dengar
22
22.45
Sudah tidak asing, tapi kurang/tidak tahu artinya
26
26.53
Paham sekali & tahu artinya
20
20.41
37
Lampiran 7 Data SPSS rank
No. JK Umur P4 P5 P6 P7 P8A P8B P8C P9A P9B P9C P10A P10B P10C P11A P11B P11C P12A P12B P12C P13A P13B P13C
1 1 3 2 2 1 1 1 5 3 4 5 1 3 5 3 4 5 3 4 5 3 3 5 3 2 1 4 2 5 3 3 3 5 1 3 5 1 5 1 3 3 5 1 3 5 1 3 4 3 3 1 4 4 2 2 2 1 4 2 3 5 1 3 1 5 5 3 1 5 3 1 5 3 1 4 1 3 2 4 2 2 5 3 3 4 2 2 4 3 3 5 4 3 5 4 2 5 3 3 5 1 4 4 4 4 3 2 4 1 2 4 1 1 1 3 2 2 2 2 2 2 2 4 1 6 2 3 2 4 1 1 4 2 3 3 4 2 4 3 2 3 4 2 4 3 2 2 3 4 7 2 2 1 1 2 3 5 5 3 2 5 3 2 3 5 2 5 3 2 3 5 2 8 1 4 5 4 4 3 3 5 2 3 5 2 2 3 5 4 3 2 3 4 2 3 5 2 9 1 3 4 4 1 1 5 3 2 2 5 3 3 5 2 3 4 2 3 4 2 5 3 2 10 2 3 2 2 1 1 3 4 1 3 4 1 3 4 1 3 3 1 2 2 2 4 3 1 11 2 3 1 3 1 2 2 5 1 3 5 1 2 3 5 2 3 5 3 3 5 2 3 5 12 1 3 2 4 1 1 3 4 2 3 4 2 3 2 4 2 2 4 13 2 3 3 4 1 2 3 4 2 3 4 2 2 4 3 3 4 2 4 3 2 3 4 2 14 2 3 1 4 1 1 2 3 4 4 3 2 5 3 2 4 4 3 4 3 2 15 2 3 1 1 1 2 3 5 1 1 3 5 3 4 2 3 2 4 5 2 4 1 3 2 16 2 3 1 3 1 1 4 5 2 3 5 2 3 5 3 4 5 3 3 4 2 2 4 2 17 1 3 4 4 1 2 3 5 2 3 4 2 5 2 3 3 3 5 5 3 2 5 4 4 18 1 3 1 4 1 1 3 5 1 4 5 2 3 5 2 4 5 3 4 3 2 4 5 3 19 1 3 2 4 4 3 1 5 3 1 5 3 1 5 3 3 5 1 3 5 1 3 5 1 20 1 4 2 4 2 2 5 4 3 5 4 3 5 4 3 3 5 4 5 4 3 5 4 3 21 1 3 2 2 1 1 3 4 3 3 5 2 3 5 3 4 5 3 4 5 2 5 4 2 22 1 3 2 3 1 3 1 5 3 2 5 2 2 5 2 3 5 1 1 5 3 5 3 2 23 2 4 4 4 1 3 2 3 5 5 3 2 5 4 2 5 3 2 5 4 4 5 4 4 24 1 3 2 2 1 2 2 5 3 4 5 2 4 2 5 4 5 2 3 5 2 3 4 2 25 1 3 4 4 3 2 2 3 2 2 4 1 3 1 3 3 2 4 3 2 4 2 3 4 26 1 3 1 1 1 1 5 3 2 3 5 2 2 3 5 3 5 2 3 5 2 5 3 2
38
Lampiran 7 Lanjutan
No. JK Umur P4 P5 P6 P7 P8A P8B P8C P9A P9B P9C P10A P10B P10C P11A P11B P11C P12A P12B P12C P13A P13B P13C
27 1 4 3 3 1 3 3 4 2 4 3 2 3 4 2 3 4 2 4 3 2 3 4 2 28 1 3 2 5 2 2 3 5 3 3 5 2 4 4 4 4 5 2 4 5 2 4 4 2 29 1 4 3 4 2 4 4 3 2 3 3 2 5 3 2 4 4 2 5 4 3 4 4 3 30 1 3 3 4 1 3 1 5 2 5 2 1 2 1 5 1 5 2 4 1 2 1 1 5 31 1 3 4 3 3 4 3 5 2 3 5 1 5 4 2 5 5 3 4 3 5 4 5 4 32 1 3 3 4 1 3 3 5 4 4 5 3 4 5 3 5 4 3 5 4 3 5 4 3 33 1 5 5 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 34 2 4 2 4 1 2 5 3 3 3 3 3 5 3 1 5 3 1 5 1 3 5 3 3 35 1 2 4 4 3 2 3 5 3 5 5 4 5 5 4 5 5 5 5 4 4 4 4 4 36 1 3 4 3 3 3 3 5 4 5 4 2 4 4 3 4 5 3 5 5 2 4 5 2 37 1 3 2 3 2 2 1 4 3 5 3 3 5 2 4 4 4 1 3 5 2 4 5 1 38 1 4 5 5 4 2 5 2 3 4 4 5 5 3 2 4 5 3 5 3 1 4 5 3 39 2 3 2 4 1 3 2 5 3 3 5 2 2 5 3 5 3 2 3 5 2 3 5 2 40 1 4 4 4 4 4 3 4 1 3 3 1 4 2 3 4 4 1 3 2 3 3 2 3 41 2 5 3 4 3 3 3 5 2 4 5 2 4 1 3 1 2 3 1 2 3 2 3 2 42 1 3 4 5 4 4 2 4 2 3 4 2 3 4 2 4 4 3 3 4 2 2 4 1 43 1 3 3 2 1 2 3 5 2 3 5 2 2 5 3 5 4 3 5 4 3 4 5 3 44 2 4 3 4 3 3 2 4 2 3 4 5 5 5 2 5 5 2 3 4 1 4 5 3 45 1 4 2 2 3 4 3 5 2 3 4 2 5 3 2 3 2 5 5 2 3 4 3 4 46 1 3 2 2 1 4 4 4 3 4 4 3 4 4 3 4 4 3 4 4 4 4 5 3 47 1 3 4 4 1 1 5 3 2 4 3 2 4 2 3 3 4 2 3 5 2 4 3 2 48 1 4 4 5 4 4 1 5 3 5 3 2 5 3 2 5 3 2 5 3 2 3 5 2 49 1 4 4 4 1 3 4 5 3 4 5 3 4 5 3 4 5 3 5 4 3 5 4 3 50 1 3 3 3 1 1 3 5 4 4 5 3 5 4 3 3 4 5 4 4 5 4 5 4 51 2 3 3 3 2 2 5 3 1 5 4 2 3 4 5 4 5 3 5 4 2 4 3 5 52 1 3 4 4 3 3 2 4 1 2 4 2 2 4 2 2 2 4 4 3 2 3 4 2
39
Lampiran 7 Lanjutan
No. JK Umur P4 P5 P6 P7 P8A P8B P8C P9A P9B P9C P10A P10B P10C P11A P11B P11C P12A P12B P12C P13A P13B P13C
53 2 3 1 3 1 2 5 3 2 3 5 2 5 3 2 2 3 5 5 2 3 5 5 1 54 2 4 2 3 1 1 2 5 4 3 5 1 4 5 3 4 5 2 5 4 5 4 5 2 55 1 3 2 4 3 1 5 3 2 3 4 2 3 4 2 2 4 3 3 5 2 4 5 3 56 1 3 4 5 2 2 2 5 2 4 5 1 5 3 1 2 2 5 3 2 5 3 3 2 57 1 4 1 4 1 1 5 3 2 4 3 5 5 4 1 4 5 2 5 3 4 2 5 4 58 1 3 2 2 1 1 5 3 1 3 5 2 5 4 2 4 5 2 5 4 2 4 5 2 59 1 3 5 3 2 4 2 4 3 3 5 2 3 5 2 4 5 3 1 3 3 3 4 2 60 2 4 4 5 2 4 3 5 2 5 3 1 3 5 3 5 3 3 3 5 2 5 3 2 61 2 4 3 4 1 1 3 5 2 1 3 2 5 2 1 4 2 1 3 5 1 62 1 3 3 5 3 4 2 5 3 3 5 1 5 3 1 3 3 4 2 3 5 3 4 2 63 1 3 2 4 1 1 1 4 3 4 5 4 3 4 3 4 5 3 4 5 3 3 5 4 64 1 4 3 4 3 4 1 3 2 3 4 1 2 1 4 4 5 3 3 4 2 2 3 1 65 1 2 3 5 3 3 4 2 2 3 1 2 3 3 2 4 4 2 3 3 3 3 3 2 66 2 4 1 2 1 1 5 3 2 5 3 1 5 3 1 3 5 1 5 3 1 3 5 1 67 1 3 3 1 1 1 2 5 3 5 4 2 4 2 5 2 5 4 2 5 4 2 5 1 68 2 3 3 4 3 3 2 3 5 3 5 2 5 3 1 3 2 5 3 2 5 2 3 5 69 1 3 2 3 2 3 5 4 3 4 4 3 3 4 5 4 4 2 4 5 3 4 5 3 70 2 3 4 4 3 3 2 4 3 4 4 1 2 3 4 4 4 3 5 4 1 3 4 1 71 1 3 1 1 1 1 4 5 3 4 5 3 4 5 3 4 5 3 4 5 3 4 5 3 72 2 4 3 4 1 3 1 5 3 3 5 1 1 3 5 3 5 1 3 5 1 3 1 5 73 1 3 4 2 2 2 2 5 4 2 4 3 2 3 5 3 4 2 3 4 2 3 5 3 74 1 3 4 3 2 1 4 3 4 5 3 2 2 4 3 3 4 2 2 4 3 1 3 5 75 1 3 2 2 1 1 3 5 1 4 5 3 2 5 3 5 3 2 4 5 2 5 4 2 76 1 3 3 4 2 3 4 5 2 4 5 3 3 5 4 3 5 4 3 5 4 4 5 3 77 1 3 3 4 3 4 3 5 1 3 4 2 3 3 1 4 4 2 4 4 3 4 4 2 78 2 3 3 3 1 1 5 2 5 3 2 3 5 2 3 5 2 2 5 3 3 5 2
40
Lampiran 7 Lanjutan
No. JK Umur P4 P5 P6 P7 P8A P8B P8C P9A P9B P9C P10A P10B P10C P11A P11B P11C P12A P12B P12C P13A P13B P13C
79 1 3 4 3 2 2 3 5 2 5 4 1 3 5 3 4 4 3 4 5 2 3 5 2 80 1 3 3 3 1 5 2 3 4 2 1 3 5 2 3 5 2 3 5 2 5 4 2 81 2 5 2 4 1 1 3 5 1 5 3 1 5 3 1 5 3 1 5 3 1 5 3 1 82 2 3 2 4 1 2 5 3 2 4 5 2 5 3 2 5 4 3 3 2 4 4 5 3 83 1 5 4 4 3 4 2 5 1 2 3 1 4 5 2 84 1 5 2 4 3 4 2 3 1 2 3 1 2 1 3 2 2 2 3 3 2 2 3 2 85 1 4 4 3 3 3 3 4 2 4 5 2 5 4 4 4 5 2 5 4 3 5 4 3 86 4 4 2 3 3 3 5 1 2 5 3 5 1 3 4 5 1 4 5 2 3 1 5 87 2 5 2 2 2 4 2 5 4 5 4 3 4 5 3 5 4 3 5 4 3 3 5 4 88 1 3 3 4 1 1 5 3 1 5 3 1 5 3 1 5 3 1 5 3 1 5 3 1 89 1 4 4 3 1 3 4 3 2 4 3 1 4 3 2 3 4 2 5 3 2 4 3 2 90 1 5 3 5 3 4 2 4 3 3 5 4 2 3 4 3 4 2 4 4 2 3 5 2 91 1 4 2 4 4 4 2 5 1 2 5 1 2 5 2 2 5 1 3 4 2 2 5 1 92 1 4 2 2 3 3 1 3 2 2 3 1 2 1 1 2 3 1 3 3 2 2 2 2 93 1 4 2 4 1 1 2 5 4 5 3 2 2 3 5 4 5 2 4 3 2 3 4 5 94 1 4 2 2 3 3 1 3 1 1 3 1 1 1 3 5 5 4 5 5 4 4 4 3 95 1 4 3 4 3 4 5 3 2 3 5 2 3 5 2 5 3 2 3 5 2 3 5 2 96 1 3 3 3 1 2 2 5 3 5 4 3 5 2 4 4 5 4 5 4 4 4 5 5 97 1 3 5 2 1 1 2 5 1 5 3 1 1 1 5 1 5 1 2 2 1 1 5 1 98 1 3 3 4 1 4 1 5 2 3 5 1 2 3 5 2 1 4 3 4 1 5 4 1