Skip to content

Commit d64a17c

Browse files
committed
add position and target fields
1 parent bcdca8f commit d64a17c

File tree

1 file changed

+46
-6
lines changed

1 file changed

+46
-6
lines changed

index.html

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@
208208
}
209209
.content .left {
210210
position: absolute;
211-
left: 30px;
211+
left: 30px;
212212
top: 30px;
213213
width: 230px;
214214
}
@@ -258,8 +258,8 @@
258258
.primary:hover {
259259
background: #347eaf;
260260
}
261-
#textures td {
262-
position: relative;
261+
#textures td {
262+
position: relative;
263263
}
264264
@media screen and (max-width: 1280px), screen and (max-height: 720px) {
265265
#wrapper {
@@ -328,6 +328,16 @@ <h1>Minecraft json model viewer - <a href="https://github.com/fizzy81">Fizzy</a>
328328
</ul>
329329
<p><b>Camera</b></p>
330330
<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>
331341
<li>
332342
<p>
333343
<a onclick="viewer.reset()">Reset camera</a>
@@ -489,6 +499,16 @@ <h2 id="modaltitle">Load model</h2>
489499
console.log(e.message)
490500
}
491501
}
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+
}
492512
</script>
493513
<!-- end of demo js -->
494514

@@ -502,13 +522,11 @@ <h2 id="modaltitle">Load model</h2>
502522
<!-- Import ModelViewer.js -->
503523
<script src="src/ModelViewer.js"></script>
504524

505-
<!-- Demo -->
525+
<!-- Using the model viewer -->
506526
<script src="demo/model.js"></script>
507527
<script src="demo/textures.js"></script>
508528

509529
<script type="text/javascript">
510-
511-
512530
var container = document.getElementById('wrapper')
513531
var viewer = new ModelViewer(container)
514532

@@ -517,7 +535,29 @@ <h2 id="modaltitle">Load model</h2>
517535
var model = new JsonModel('demo', json, textures)
518536

519537
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')
520545

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+
}
521561

522562
</script>
523563

0 commit comments

Comments
 (0)