我已经尝试解决它5个小时了。没有运气。
我在场景中使用fly control
。
在将对象添加到场景后,我尝试让我的相机查看对象,如下所示:
var mat = new THREE.MeshStandardMaterial( { color: 0xffffff, morphTargets: true, vertexColors: THREE.FaceColors, shading: THREE.FlatShading } );
var obj = new THREE.Mesh(new THREE.BoxGeometry( 0.6, 1.8, 0.6 ), mat );
obj.name = <some id>;
obj.castShadow = true;
obj.position.x = p.posX;
obj.position.y = p.posY;
obj.position.z = p.posZ;
obj.rotation.x = p.rotX;
obj.rotation.y = p.rotY;
obj.rotation.z = p.rotZ;
scene.add( obj );
//NOTE 1
camera.position.set(obj.position.x-10, obj.position.y+10, obj.position.z-10);
var pos = obj.position.clone();
//NOTE 2
camera.lookAt(pos); //with this line, a warning is shown in the console
显示的错误如下:
THREE.WebGLProgram:gl.getProgramInfoLog()警告:找不到 顶点着色器属性'position'以匹配BindAttributeLocation 请求。
发生了什么事?
奖金问题
即使位置在NOTE 1
更改并且对象在NOTE 2
处查看,当我开始飞行时,场景变黑。
我也尝试了orbitcontrol
,我得到的结果相同。