208
208
}
209
209
.content .left {
210
210
position : absolute;
211
- left : 30px ;
211
+ left : 30px ;
212
212
top : 30px ;
213
213
width : 230px ;
214
214
}
258
258
.primary : hover {
259
259
background : # 347eaf ;
260
260
}
261
- # textures td {
262
- position : relative;
261
+ # textures td {
262
+ position : relative;
263
263
}
264
264
@media screen and (max-width : 1280px ), screen and (max-height : 720px ) {
265
265
# wrapper {
@@ -328,6 +328,16 @@ <h1>Minecraft json model viewer - <a href="https://github.com/fizzy81">Fizzy</a>
328
328
</ ul >
329
329
< p > < b > Camera</ b > </ p >
330
330
< ul >
331
+ < li >
332
+ < p >
333
+ < label for ="camera-pos "> Position < input type ="text " id ="camera-pos " onchange ="setCameraPosition(this.value) "> </ label >
334
+ </ p >
335
+ </ li >
336
+ < li >
337
+ < p >
338
+ < label for ="camera-target "> Target < input type ="text " id ="camera-target " onchange ="setCameraTarget(this.value) "> </ label >
339
+ </ p >
340
+ </ li >
331
341
< li >
332
342
< p >
333
343
< a onclick ="viewer.reset() "> Reset camera</ a >
@@ -489,6 +499,16 @@ <h2 id="modaltitle">Load model</h2>
489
499
console . log ( e . message )
490
500
}
491
501
}
502
+ function setCameraPosition ( input ) {
503
+ viewer . camera . position . set . apply (
504
+ viewer . camera . position ,
505
+ input . trim ( ) . split ( ' ' ) . map ( parseFloat )
506
+ )
507
+ }
508
+ function setCameraTarget ( input ) {
509
+ var pos = input . trim ( ) . split ( ' ' ) . map ( parseFloat )
510
+ viewer . controls . target = new THREE . Vector3 ( pos [ 0 ] , pos [ 1 ] , pos [ 2 ] )
511
+ }
492
512
</ script >
493
513
<!-- end of demo js -->
494
514
@@ -502,13 +522,11 @@ <h2 id="modaltitle">Load model</h2>
502
522
<!-- Import ModelViewer.js -->
503
523
< script src ="src/ModelViewer.js "> </ script >
504
524
505
- <!-- Demo -->
525
+ <!-- Using the model viewer -->
506
526
< script src ="demo/model.js "> </ script >
507
527
< script src ="demo/textures.js "> </ script >
508
528
509
529
< script type ="text/javascript ">
510
-
511
-
512
530
var container = document . getElementById ( 'wrapper' )
513
531
var viewer = new ModelViewer ( container )
514
532
@@ -517,7 +535,29 @@ <h2 id="modaltitle">Load model</h2>
517
535
var model = new JsonModel ( 'demo' , json , textures )
518
536
519
537
viewer . load ( model )
538
+ </ script >
539
+
540
+ <!-- hack just for the demo -->
541
+ < script type ="text/javascript ">
542
+
543
+ var campos = document . getElementById ( 'camera-pos' )
544
+ var camtarget = document . getElementById ( 'camera-target' )
520
545
546
+ var prevCamPos = new THREE . Vector3 ( )
547
+ var prevCamtarget = new THREE . Vector3 ( )
548
+
549
+ var originalDrawMethod = viewer . draw . bind ( viewer )
550
+
551
+ viewer . draw = function ( ) {
552
+ originalDrawMethod ( )
553
+ if ( viewer . camera . position . equals ( prevCamPos ) && viewer . controls . target . equals ( prevCamtarget ) ) return
554
+
555
+ prevCamPos = viewer . camera . position . clone ( )
556
+ prevCamtarget = viewer . controls . target . clone ( )
557
+
558
+ campos . value = prevCamPos . x + ' ' + prevCamPos . y + ' ' + prevCamPos . z
559
+ camtarget . value = prevCamtarget . x + ' ' + prevCamtarget . y + ' ' + prevCamtarget . z
560
+ }
521
561
522
562
</ script >
523
563
0 commit comments