这是基本的HTML文件,可以在启动项目时用作样板。该样板使用带有阻尼的轨道控制(可以使物体围绕物体移动并产生减速效果的相机),并创建一个旋转的立方体。
<!DOCTYPE html> <html> <head> <title>Three.js Boilerplate</title> <!--This is important to get a correct canvas size on mobile--> <meta name='viewport' content='width=device-width, user-scalable=no'/> <style> body{ margin:0; overflow:hidden; } /* Next 2 paragraphs are a good practice. In IE/Edge you have to provide the cursor images. */ canvas{ cursor:grab; cursor:-webkit-grab; cursor:-moz-grab; } canvas:active{ cursor:grabbing; cursor:-webkit-grabbing; cursor:-moz-grabbing; } </style> </head> <body> <script xx_src='three.js/build/three.js'></script> <script xx_src='three.js/examples/js/controls/OrbitControls.js'></script> <script> var scene, renderer, camera, controls, cube; init(); function init () { renderer = new THREE.WebGLRenderer(); //这是为了在便携式设备上获得正确的像素细节 renderer.setPixelRatio(window.devicePixelRatio); //这将设置画布的尺寸。 renderer.setSize( window.innerWidth,window.innerHeight); document.body.appendChild(renderer.domElement); scene = new THREE.Scene(); camera = new THREE.PerspectiveCamera( 70, //FOV window.innerWidth/ window.innerHeight, //aspect 1, //接近裁剪平面 100 //远裁剪平面 ); camera.position.set( 1, 3, 5 ); controls = new THREE.OrbitControls( camera,renderer.domElement); controls.rotateSpeed= .07; controls.enableDamping= true; controls.dampingFactor= .05; window.addEventListener( 'resize', function () { camera.aspect=window.innerWidth/ window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize( window.innerWidth,window.innerHeight); }, false ); cube = new THREE.Mesh( new THREE.BoxGeometry( 1, 1, 1 ), new THREE.MeshBasicMaterial() ); scene.add( cube ); animate(); } function animate () { requestAnimationFrame( animate ); controls.update(); renderer.render( scene, camera ); cube.rotation.x += 0.01; } </script> </body> </html>