Javascript 语法错误JSONLoader
我正在尝试将我的模型从c4d导入three.js。 我知道有一款车载设备对我来说很好用。如果我想使用导出的波前(.obj)并使用convert_obj_three.py进行转换,它不会返回任何错误,json文件看起来也不错 但是如果我想在我的three.js-script中加载生成的.js文件,它会返回: 未捕获的语法错误:意外标记强> 这就是我尝试过的:Javascript 语法错误JSONLoader,javascript,json,three.js,Javascript,Json,Three.js,我正在尝试将我的模型从c4d导入three.js。 我知道有一款车载设备对我来说很好用。如果我想使用导出的波前(.obj)并使用convert_obj_three.py进行转换,它不会返回任何错误,json文件看起来也不错 但是如果我想在我的three.js-script中加载生成的.js文件,它会返回: 未捕获的语法错误:意外标记 这就是我尝试过的: var loader2 = new THREE.JSONLoader(); loader2.load('assets/models/test.j
var loader2 = new THREE.JSONLoader();
loader2.load('assets/models/test.js', createScene);
function createScene(){
mesh = new THREE.Mesh();
scene.add(mesh);
}
test.js:
错误:
以下是全部代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>three.js webgl - loaders - OBJ loader</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<style>
body {
font-family: Monospace;
background-color: gray;
color: #fff;
margin: 0px;
overflow: hidden;
}
#info {
color: #fff;
position: absolute;
top: 10px;
width: 100%;
text-align: center;
z-index: 100;
display:block;
}
#info a, .button { color: #f00; font-weight: bold; text-decoration: underline; cursor: pointer }
</style>
</head>
<body>
<div id="info">
<a href="http://threejs.org" target="_blank">three.js</a> - OBJLoader test
</div>
<script src="assets/three.min.js"></script>
<script src="assets/OBJLoader.js"></script>
<script src="assets/TrackballControls.js"></script>
<script src="assets/Detector.js"></script>
<script src="assets/stats.min.js"></script>
<script>
var container, stats;
var camera, scene, controls, renderer;
var mouseX = 0, mouseY = 0;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;
init();
animate();
function init() {
container = document.createElement( 'div' );
document.body.appendChild( container );
camera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 2000 );
camera.position.z = 900;
// controls
controls = new THREE.TrackballControls( camera );
controls.rotateSpeed = 5.0;
controls.zoomSpeed = 5;
controls.panSpeed = 2;
controls.noZoom = false;
controls.noPan = false;
controls.staticMoving = true;
controls.dynamicDampingFactor = 0.3;
// scene
scene = new THREE.Scene();
var ambient = new THREE.AmbientLight( 0xfff3dd );
scene.add( ambient );
var directionalLight = new THREE.DirectionalLight( 0xffeedd );
directionalLight.position.set( 0, 0, 1 ).normalize();
scene.add( directionalLight );
// model
var loader2 = new THREE.JSONLoader();
loader2.load('assets/models/test.js', function (geometry, materials){
mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
scene.add(mesh);
});
renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
container.appendChild( renderer.domElement );
window.addEventListener( 'resize', onWindowResize, false );
}
function onWindowResize() {
windowHalfX = window.innerWidth / 2;
windowHalfY = window.innerHeight / 2;
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
controls.handleResize();
renderer.setSize( window.innerWidth, window.innerHeight );
}
function animate() {
requestAnimationFrame( animate );
render();
}
function render() {
controls.update();
renderer.render( scene, camera );
}
</script>
</body>
</html>
three.js webgl-加载程序-OBJ加载程序
身体{
字体系列:Monospace;
背景颜色:灰色;
颜色:#fff;
边际:0px;
溢出:隐藏;
}
#信息{
颜色:#fff;
位置:绝对位置;
顶部:10px;
宽度:100%;
文本对齐:居中;
z指数:100;
显示:块;
}
#信息a、.按钮{颜色:#f00;字体大小:粗体;文本装饰:下划线;光标:指针}
-车载试验
var容器,stats;
摄像机、场景、控件、渲染器;
var mouseX=0,mouseY=0;
var windowHalfX=window.innerWidth/2;
var windowHalfY=window.innerHeight/2;
init();
制作动画();
函数init(){
container=document.createElement('div');
文件.正文.附件(容器);
摄像头=新的三个透视摄像头(45,window.innerWidth/window.innerHeight,12000);
摄像机位置z=900;
//控制
控件=新的三个轨迹球控件(摄像头);
controls.rotateSpeed=5.0;
controls.zoomSpeed=5;
控制。速度=2;
controls.noZoom=false;
controls.noPan=false;
controls.staticMoving=true;
controls.dynamicDampingFactor=0.3;
//场面
场景=新的三个。场景();
var环境光=新的三个环境光(0xfff3dd);
场景。添加(环境光);
var方向灯=新的三个方向灯(0xffeedd);
directionalLight.position.set(0,0,1).normalize();
场景。添加(方向光);
//模型
var loader2=new THREE.JSONLoader();
loader2.load('assets/models/test.js',函数(几何体、材质){
网格=新的三个网格(几何体,新的三个网格面材质(材质));
场景。添加(网格);
});
renderer=new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth、window.innerHeight);
container.appendChild(renderer.doElement);
addEventListener('resize',onWindowResize,false);
}
函数onWindowResize(){
windowHalfX=window.innerWidth/2;
windowHalfY=window.innerHeight/2;
camera.aspect=window.innerWidth/window.innerHeight;
camera.updateProjectMatrix();
controls.handleResize();
renderer.setSize(window.innerWidth、window.innerHeight);
}
函数animate(){
请求动画帧(动画);
render();
}
函数render(){
控件更新();
渲染器。渲染(场景、摄影机);
}
加载json文件的函数:
THREE.JSONLoader.prototype.load = function ( url, callback, texturePath )
loader2.load('assets/models/test.js', function(geometry, materials){
mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials));
scene.add(mesh);
});
请显示
assets/models/test.js的内容
我认为您没有提供足够的信息来解决您的问题。你能检查一下你的控制台,告诉我们语法错误发生在哪一行吗?这里没有什么突出的地方。分享“test.js”的内容,可能有一些与“;”相关的语法错误。我之所以选择这个页面,是因为这里的这个页面:讨论已经一年了。代码已更改。好的,我已将代码更改为您的版本。仍然给出相同的错误。意外的令牌错误与JSONLoader无关,但很难说什么时候看不到代码。我尝试了你的json,它正在工作代码>