Javascript Oribt控件不工作,鼠标无法移动场景
我一直在试图弄清楚这一点,但我不确定这是否与OrbitControls.js或我的代码有关。我只是想让轨道控制装置工作,但似乎什么也没动 我用过:Javascript Oribt控件不工作,鼠标无法移动场景,javascript,three.js,Javascript,Three.js,我一直在试图弄清楚这一点,但我不确定这是否与OrbitControls.js或我的代码有关。我只是想让轨道控制装置工作,但似乎什么也没动 我用过: controls = new THREE.OrbitControls(camera, scene); 当我使用renderer.domElement时,我将无法再看到我的场景,而不是renderer.domElement 如果有人有任何建议,我们将不胜感激 这是我的密码: <script src="libr
controls = new THREE.OrbitControls(camera, scene);
当我使用renderer.domElement时,我将无法再看到我的场景,而不是renderer.domElement
如果有人有任何建议,我们将不胜感激
这是我的密码:
<script src="libraries/three.min.js"></script>
<script src="libraries/OrbitControls.js"></script>
<script>
let scene,camera,renderer, controls;
function init(){
scene = new THREE.Scene();
scene.background = new THREE.Color( 0xdddddd );
//Camera Things
camera = new THREE.PerspectiveCamera( 75, window.innerWidth/ window.innerHeight, 0.1, 5000 );
camera.position.set(0,25,25);
//cube
var cubeGeometry = new THREE.BoxGeometry (10,10,10);
var cubeMaterial = new THREE.MeshBasicMaterial ({color: 0x1ec876});
cube = new THREE.Mesh (cubeGeometry, cubeMaterial);
cube.position.set (0, 0, 0);
scene.add (cube);
// controls
controls = new THREE.OrbitControls(camera, scene);
scene.add( new THREE.AxesHelper(500));
// Renderer
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth,window.innerHeight);
document.body.appendChild( renderer.domElement );
animate();
}
function animate() {
controls.update();
renderer.render( scene, camera );
requestAnimationFrame( animate );
}
init();
</script>
</body>
让场景、摄影机、渲染器、控件;
函数init(){
场景=新的三个。场景();
scene.background=新的三种颜色(0xDDDD);
//照相器材
摄像头=新的三个透视摄像头(75,window.innerWidth/window.innerHeight,0.15000);
摄像机位置设置(0,25,25);
//立方体
var立方计量法=新的三箱几何体(10,10,10);
var cubeMaterial=new THREE.MeshBasicMaterial({color:0x1ec876});
立方体=新的三网格(立方计量法、立方材料);
cube.position.set(0,0,0);
scene.add(立方体);
//控制
控件=新的三个。轨道控件(摄影机、场景);
场景。添加(新的三个。AxeHelper(500));
//渲染器
renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
制作动画();
}
函数animate(){
控件更新();
渲染器。渲染(场景、摄影机);
请求动画帧(动画);
}
init();
谢谢
控件=新的三个。轨道控件(摄影机、场景)
您必须始终传入DOM元素作为第二个参数。不是3D对象或场景。因此正确的代码是:
controls=新的三个.OrbitControls(摄影机、渲染器.doElement);
当然,这段代码需要在创建渲染器之后执行
控件=新的三个。轨道控件(摄影机、场景)
您必须始终传入DOM元素作为第二个参数。不是3D对象或场景。因此正确的代码是:
controls=新的三个.OrbitControls(摄影机、渲染器.doElement);
当然,这段代码需要在创建渲染器之后执行