提交 14843aec 编写于 作者: Z zz85

fanciful camera view from spline animation :)

上级 58ee2b30
......@@ -632,7 +632,6 @@
function render() {
if (animation) {
// Try Animate Camera Along Spline
var time = Date.now();
var looptime = 20 * 1000;
......@@ -651,39 +650,47 @@
var binormal = new THREE.Vector3();
binormal.sub(tube.binormals[pickNext], tube.binormals[pick]);
binormal.multiplyScalar(pickt-pick).addSelf(tube.binormals[pick]);
binormal.multiplyScalar(pickt - pick).addSelf(tube.binormals[pick]);
var dir = tube.path.getTangentAt(t);
var offset = 50;
var offset = -15;
// pos.addSelf(binormal.clone().multiplyScalar(offset));
// We move on a offset on its binormal
pos.addSelf(binormal.clone().multiplyScalar(offset));
// console.log(t, pos);
splineCamera.position = pos;
var lookAt = tube.path.getPointAt(t + 0.001);
// lookAt.multiplyScalar(scale);
// camera.lookAt(lookAt);
var lookAt = tube.path.getPointAt((t + 0.101) % 1);
lookAt.multiplyScalar(scale);
cameraPos.position = pos;
splineCamera.lookAt(lookAt);
cameraPos.position = pos;
splineCamera.matrix.lookAt( splineCamera.position, lookAt, binormal ); //camera.position.clone().addSelf(dir)
splineCamera.rotation.getRotationFromMatrix( splineCamera.matrix );
cameraHelper.update();
// splineCamera.matrix.lookAt(splineCamera.position, lookAt, binormal); //camera.position.clone().addSelf(dir)
// splineCamera.rotation.getRotationFromMatrix(splineCamera.matrix);
// cameraHelper.update();
// var axis = new THREE.Vector3( 0, 1, 0 ).crossSelf( dir );
// var radians = Math.acos( new THREE.Vector3( 0, 1, 0 ).dot( dir.clone().normalize() ) );
// var matrix = new THREE.Matrix4().setRotationAxis( axis.normalize(), radians );
// camera.rotation.getRotationFromMatrix( matrix, camera.scale );
parent.rotation.y += (targetRotation - parent.rotation.y) * 0.05;
}
if (animation) {
renderer.render(scene, splineCamera);
} else {
parent.rotation.y += (targetRotation - parent.rotation.y) * 0.05;
renderer.render(scene, camera);
}
}
</script>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册