THREEJSノート1最も基本的な項目

3998 ワード

threeJSの基礎プロジェクトには、上記のようなものがあります.https://www.zybuluo.com/mdeditor少なくとも正しいバージョンのthreeJSファイル、カメラ、シーン、ベースオブジェクト、ループレンダリング方法、ライトが存在します.
//html       
// jquery,threejs // , , , , 。 // css body, html { width: 100%; height: 100%; } * { margin: 0; } #container { border: 0; cursor: pointer; width: 100%; height: 100%; background: #ffffff; } // js // ,threejs , requestAnimateFrame var renderer; // , , , 。 。 var camera; // , 。 var scene; // , , , 。 var light; // , 。 var controls; // three function initThree() { width = document.getElementById("container").clientWidth; height = document.getElementById("container").clientHeight; // , WebGLRenderer canvasRenderer renderer = new THREE.WebGLRenderer({ // :antialias antialias: true }); // renderer.setPixelRatio(window.devicePixelRatio); renderer.setSize(window.innerWidth, window.innerHeight); console.log(window.innerWidth, window.innerHeight) // , , , //renderer.shadowMapEnabled = false; // renderer.setSize(width, height); document.getElementById('container').appendChild(renderer.domElement); // renderer.setClearColor(0xFFFFFF, 1.0); } // function initCamera() { // camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 1000); // camera.position.set(50, 50, 50); // , , controls = new THREE.OrbitControls(camera, renderer.domElement); controls.enableDamping = true; // an animation loop is required when either damping or auto-rotation are enabled controls.dampingFactor = 0.25; controls.screenSpacePanning = false; //controls.minDistance = 50; controls.maxDistance = 100 controls.minPolarAngle = Math.PI / 12; controls.maxPolarAngle = Math.PI / 2.5; // controls.autoRotate = true; controls.autoRotateSpeed = 0.5 //controls.maxPolarAngle = Math.PI; // , clock = new THREE.Clock(); } // function initScene() { scene = new THREE.Scene(); // , scene.fog = new THREE.Fog(0xffffff, 200, 1300); } // var sun1; function initLight() { // sun1 = new THREE.DirectionalLight(0xffffff); sun1.position.set(-1000, 500, -1000); // 2, //sun1.castShadow = true; // scene.add(sun1); sun2 = new THREE.DirectionalLight(0xffffff); sun2.position.set(1000, 500, 1000); //sun2.castShadow = true; scene.add(sun2); } function preload() { // renderer initThree(); // ( ) initCamera(); // initScene(); // initLight(); } function render() { // var delta = clock.getDelta(); controls.update(delta); // // renderer renderer.render(scene, camera); // renderer requestAnimationFrame(render); } $(document).ready(function() { // three preload(); // render, render(); // render , renderer renderer.render(scene, camera); // , scene scene.background = new THREE.CubeTextureLoader() .setPath("assets/img/skybox/") .load(['px.jpg', 'nx.jpg', 'py.jpg', 'ny.jpg', 'pz.jpg', 'nz.jpg', ]) })