提交 59c50e7b 编写于 作者: B Brian Peiris 提交者: Diego Marcos

Fix poseObject transform (#2)

* fix standing matrix application

* demonstrate setPoseTarget

* update build
上级 f19cfa30
......@@ -24,7 +24,7 @@
<script>
var camera, scene, renderer;
var box, camera, scene, renderer, poseTarget;
var reflector;
......@@ -123,6 +123,15 @@
mesh.receiveShadow = true;
reflector.add( mesh );
box = new THREE.Mesh(new THREE.BoxGeometry());
var boxPivot = new THREE.Object3D();
boxPivot.add(box);
boxPivot.position.z = -3;
scene.add(boxPivot);
poseTarget = new THREE.Object3D();
//
renderer = new THREE.WebGLRenderer( { antialias: true } );
......@@ -131,6 +140,7 @@
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.shadowMap.enabled = true;
renderer.vr.enabled = true;
renderer.vr.setPoseTarget(poseTarget);
document.body.appendChild( renderer.domElement );
document.body.appendChild( WEBVR.createButton( renderer ) );
......@@ -138,7 +148,6 @@
//
window.addEventListener( 'resize', onWindowResize, false );
}
function onWindowResize() {
......@@ -163,6 +172,9 @@
mesh.rotation.x = time * 2;
mesh.rotation.y = time * 5;
box.position.setFromMatrixPosition(poseTarget.matrixWorld);
box.quaternion.setFromRotationMatrix(poseTarget.matrixWorld);
renderer.render( scene, camera );
}
......
......@@ -112,7 +112,7 @@ function WebVRManager( renderer ) {
poseObject.position.fromArray( pose.position );
}
}
if ( pose.orientation !== null ) {
......@@ -120,10 +120,8 @@ function WebVRManager( renderer ) {
}
poseObject.updateMatrixWorld();
var stageParameters = device.stageParameters;
if (stageParameters) {
standingMatrix.fromArray( stageParameters.sittingToStandingTransform );
} else {
......@@ -131,7 +129,8 @@ function WebVRManager( renderer ) {
}
standingMatrixInverse.getInverse( standingMatrix );
poseObject.matrixWorld.multiply( standingMatrix );
poseObject.position.applyMatrix4( standingMatrix );
poseObject.updateMatrixWorld();
camera.matrixWorldInverse.multiply( standingMatrixInverse );
if ( device.isPresenting === false ) return camera;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册