three.js panning restr.
by Herst
HTML
<script src="https://rawgit.com/mrdoob/three.js/dev/build/three.js"></script>
<script src="https://rawgit.com/Herst/three.js/OrbCtrlPanRestrExample/examples/js/controls/OrbitControls.js"></script>
CSS
body {
overflow: hidden;
}
JavaScript
var camera, renderer, controls;
var floor, box;
var scene;
var i;
init();
render();
function init() {
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.set(150, 450, 450);
scene = new THREE.Scene();
floor = new THREE.Mesh(
new THREE.PlaneGeometry(500, 500),
new THREE.MeshBasicMaterial({
color: 0x00ff00
}));
floor.rotation.x = -Math.PI / 2
scene.add(floor);
box = new THREE.Mesh(new THREE.BoxGeometry(100, 100, 100), new THREE.MeshBasicMaterial({
color: 0xff0000
}));
box.translateY(50.001);
scene.add(box);
renderer = new THREE.WebGLRenderer({
antialias: true,
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x5f5f5f);
controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.maxPolarAngle = Math.PI / 2 * 0.8;
document.body.appendChild(renderer.domElement);
}
function render() {
requestAnimationFrame(render);
renderer.render(scene, camera);
}