Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js+;OrbitControls-未捕获类型错误:无法读取属性';增补列表器';未定义的_Javascript_Three.js_Computer Vision_Rendering_Render - Fatal编程技术网

Javascript Three.js+;OrbitControls-未捕获类型错误:无法读取属性';增补列表器';未定义的

Javascript Three.js+;OrbitControls-未捕获类型错误:无法读取属性';增补列表器';未定义的,javascript,three.js,computer-vision,rendering,render,Javascript,Three.js,Computer Vision,Rendering,Render,我试图在THREE.js中使用OrbitControls。如果我从下面删除了行let cameraControl=new OrbitControls(camera),则不会出现错误。但现在,我有了“未捕获的TypeError:无法读取未定义的属性'addEventListener'” 我试图将OrbitControls(camera)更改为THREE.OrbitControls(camera),然后出现了“未捕获类型错误:THREE.OrbitControls不是构造函数” 我试图通过使用外部“

我试图在THREE.js中使用
OrbitControls
。如果我从下面删除了行
let cameraControl=new OrbitControls(camera)
,则不会出现错误。但现在,我有了“未捕获的TypeError:无法读取未定义的属性'addEventListener'”

我试图将
OrbitControls(camera)
更改为
THREE.OrbitControls(camera)
,然后出现了“未捕获类型错误:THREE.OrbitControls不是构造函数”

我试图通过使用
外部
“模块”
导入
OrbitControls.js
,而不是
从…导入{OrbitControls},但它不起作用,我还尝试将
让cameraControl=new OrbitControls(camera)
移动到其他行,但也不起作用

有没有办法解决这个问题


<body>

<script type="module">
import * as THREE from 'https://threejsfundamentals.org/threejs/resources/threejs/r115/build/three.module.js';
import {OrbitControls} from 'https://threejsfundamentals.org/threejs/resources/threejs/r115/examples/jsm/controls/OrbitControls.js';


let scene, renderer, camera
let cube

function init() {

  scene = new THREE.Scene()
  renderer = new THREE.WebGLRenderer()
  renderer.setSize(window.innerWidth, window.innerHeight)
  document.body.appendChild(renderer.domElement)

  camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 100)

  let cameraControl = new OrbitControls(camera)

  camera.position.set(10, 10, 10)
  camera.lookAt(scene.position)

  // cube
  cube = new THREE.Mesh(new THREE.BoxGeometry(1, 1, 1))
  scene.add(cube)

}

function render() {
  requestAnimationFrame(render)
  renderer.render(scene, camera)
}

init()
render()

</script>
</body>


将*作为三个源导入'https://threejsfundamentals.org/threejs/resources/threejs/r115/build/three.module.js';
从导入{OrbitControls}https://threejsfundamentals.org/threejs/resources/threejs/r115/examples/jsm/controls/OrbitControls.js';
让场景、渲染器、摄影机
让立方体
函数init(){
场景=新的三个。场景()
renderer=new THREE.WebGLRenderer()
renderer.setSize(window.innerWidth、window.innerHeight)
document.body.appendChild(renderer.doElement)
摄像头=新的三个透视摄像头(60,window.innerWidth/window.innerHeight,0.1100)
让cameraControl=新的轨道控制(摄影机)
摄像机。位置。设置(10,10,10)
摄影机。注视(场景。位置)
//立方体
立方体=新的3.Mesh(新的3.BoxGeometry(1,1,1))
场景.添加(立方体)
}
函数render(){
requestAnimationFrame(渲染)
渲染器。渲染(场景、摄影机)
}
init()
render()
让cameraControl=新的轨道控制(摄影机)

始终按如下方式创建控件:

let cameraControl=新的轨道控件(camera、renderer.doElement);
第二个参数现在是必需的