Javascript &引用;三、OBJLoader不是构造函数“;及;OBJLoader和OrbitControls中出现意外的标记“{”
我正在尝试将OBJ 3D模型显示为线框,可以使用Three.js使用OrbitControls进行移动。我对Three.js是新手,如果我遗漏了一些“明显的”东西,我向您道歉 我已经能够用OrbitControl将立方体显示为线框。 在另一种设置中,我能够将OBJ 3D模型显示为线框。因此,问题与3D模型无关 当我尝试将这两种方法混合在一起时,问题就出现了 我试着从两个方面着手:Javascript &引用;三、OBJLoader不是构造函数“;及;OBJLoader和OrbitControls中出现意外的标记“{”,javascript,three.js,objloader,Javascript,Three.js,Objloader,我正在尝试将OBJ 3D模型显示为线框,可以使用Three.js使用OrbitControls进行移动。我对Three.js是新手,如果我遗漏了一些“明显的”东西,我向您道歉 我已经能够用OrbitControl将立方体显示为线框。 在另一种设置中,我能够将OBJ 3D模型显示为线框。因此,问题与3D模型无关 当我尝试将这两种方法混合在一起时,问题就出现了 我试着从两个方面着手: 我尝试将OBJLoader插入到多维数据集环境中 我试图将OrbitControls添加到工作但不可移动的线框OBJ
three.min.js
,OrbitControls.js
,OBJLoader.js
,以及我的主要工作model.js
有序化
这是我的密码:
html,正文{margin:0;}#model#容器{背景色:#333333;margin:50px;}
线框
const globalWidth=window.innerWidth-100;
const globalHeight=window.innerHeight-100;
const scene=new THREE.scene();
常量摄影机=新的三透视摄影机(75,全球宽度/全球高度,0.11000);
摄像机位置x=300;
摄像机位置y=-6;
摄像机位置z=1;
const renderer=new THREE.WebGLRenderer({
反别名:是的,
阿尔法:是的
});
setClearColor(0xffffff,0);
设置大小(globalWidth,globalHeight);
const canvas=document.getElementById(“模型容器”);
canvas.appendChild(renderer.doElement);
常数环境=新的三个环境光(0xffffff);
场景。添加(环境光);
const loader=new THREE.OBJLoader();
loader.load(“assets/castle.obj”,函数(对象){
常量几何体=对象。子对象[0]。几何体;
三、几何中心(几何);
const material=new THREE.meshlambertmater({});
常量网格=新的三个网格(几何体、材质);
mesh.material.wireframe=真;
场景。添加(网格);
})
常数控制=新的三个轨道控制(摄像机);
controls.enableDamping=true;
控制。阻尼系数=0.05;
controls.rotateSpeed=0.1;
controls.target.set(0,0,0);
var animate=函数(){
请求动画帧(动画);
控件更新();
渲染器。渲染(场景、摄影机);
};
制作动画();
以下是我在3天的搜索和尝试后无法修复的错误:
:OrbitControls.js:9
未捕获的语法错误:意外标记{
:OBJLoader.js:5
未捕获的语法错误:意外标记{
未捕获类型错误:THREE.OBJLoader不是model.js:23的构造函数
three.js R106
修复了它!非常感谢!
<script defer src="script/three/examples/jsm/controls/OrbitControls.js"></script>
<script defer src="script/three/examples/jsm/loaders/OBJLoader.js"></script>
<script defer src="script/three/examples/js/controls/OrbitControls.js"></script>
<script defer src="script/three/examples/js/loaders/OBJLoader.js"></script>