[LookingGlass]holoplay.jsで焦点をオブジェクトの表面に合わせる

回転するとオブジェクトの裏に焦点がいきぼやけてしまうので
視線からオブジェクト表面の距離を求めてフォーカスをそこに合わせるようにしてみた

var vlocal = new THREE.Vector3(0, 0, -1);
var dir = vlocal.applyQuaternion(camera.quaternion);
//カメラと中心部の距離
var length = camera.position.clone().sub(objcenter).length();
//大体の表面位置を算出し焦点を移動
var pos = dir.multiplyScalar(length - objradius).add(camera.position);
holoPlay.lookAt(pos, camera);

レンダリングの直前に行うとよさそう

コメントを残す

メールアドレスが公開されることはありません。