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
Three.js:加载的对象与OBJLoader的碰撞_Three.js_Collision - Fatal编程技术网

Three.js:加载的对象与OBJLoader的碰撞

Three.js:加载的对象与OBJLoader的碰撞,three.js,collision,Three.js,Collision,我用OBJLoader加载3D模型,效果很好,我通过点击链接加载它们,这就是为什么我把代码放在函数中,正如你在代码中看到的,我的问题是我想在对象或场景上应用碰撞,这样对象就不会相互干扰,我不知道怎么做,有人能帮我吗?谢谢 //变量: var对象=[]; var立方; //场面 var scene=new THREE.scene(); //scene.background=新的三种颜色(0xf0f8ff); //摄像机 var摄像机=新的三透视摄像机(70,window.innerWidth/w

我用OBJLoader加载3D模型,效果很好,我通过点击链接加载它们,这就是为什么我把代码放在函数中,正如你在代码中看到的,我的问题是我想在对象或场景上应用碰撞,这样对象就不会相互干扰,我不知道怎么做,有人能帮我吗?谢谢

//变量:
var对象=[];
var立方;
//场面
var scene=new THREE.scene();
//scene.background=新的三种颜色(0xf0f8ff);
//摄像机
var摄像机=新的三透视摄像机(70,window.innerWidth/window.innerHeight,11000);
摄像机位置z=1000;
//渲染器
var renderer=new THREE.WebGLRenderer({antialas:true,alpha:true});
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
//添加灯光
添加(新的三个环境光(0x0F0F));
var灯光=新的三个聚光灯(0xffffff,1);
光。位置。设置(05002000);
场景。添加(灯光);
//控制
const orbitControls=新的三个.orbitControls(camera、renderer.DoElement);
const dragControls=新的三个.dragControls(对象、摄影机、渲染器.doElement);
//修复窗口大小调整问题
addEventListener('resize',function()){
renderer.setSize(window.innerWidth、window.innerHeight);
camera.aspect=window.innerWidth/window.innerHeight;
camera.updateProjectMatrix();
}) ;
//生动活泼
函数animate(){
请求动画帧(动画);
渲染器。渲染(场景、摄影机);
};
//创造美食
//地板
var texture=new THREE.TextureLoader().load('wood.jpg');
const material1=新的三个.MeshBasicMaterial({map:texture,side:THREE.DoubleSide});
const geometry1=新的三个平面几何体(3000、1500、320);
施工楼面=新的三层网格(几何1,材料1);
地板旋转x=-20.42;
楼层位置y=-465;
楼层旋转y=0;
//屋顶
var texture=new THREE.TextureLoader().load('wall.jpg');
const material5=新的三个.MeshBasicMaterial({map:texture});
常数几何5=新的三个平面几何(3000、1500、320);
const roof=新的三个网格(几何5,材料5);
屋顶旋转x=20.42;
车顶位置y=1035;
roof.rotation.y=0;
//左墙
var texture=new THREE.TextureLoader().load('wall.jpg');
const material3=新的三个.MeshBasicMaterial({map:texture});
const geometry3=新的三个平面几何体(15001500320);
const left_wall=新的三个网格(几何3,材料3);
左墙位置x=-1500;
左墙位置y=285;
左墙旋转y=20.42;
//右墙
var texture=new THREE.TextureLoader().load('wall.jpg');
const material4=新的三个.MeshBasicMaterial({map:texture});
const geometry4=新的三个平面几何体(1500、1500、320);
const right_wall=新的三个网格(几何4,材料4);
右墙位置x=1500;
右墙位置y=285;
右壁旋转y=-20.42;
//后墙
var texture=new THREE.TextureLoader().load('wall.jpg');
const material2=新的三个.MeshBasicMaterial({map:texture});
const geometry2=新的三个平面几何体(3000、1500、320);
const back_wall=新的三个网格(几何2,材料2);
后墙位置z=-750;
后墙位置y=285.3;
//前墙
var texture=new THREE.TextureLoader().load('wall.jpg');
const material6=新的三个.MeshBasicMaterial({map:texture});
常数几何6=新的三个平面几何(3000、1500、320);
const front_wall=新的三个网格(几何6,材料6);
前壁位置z=750;
前壁位置y=285.3;
前壁旋转x=21.99;
//菜系2
//地板
var texture2=new THREE.TextureLoader().load('parterre.jpg');
const material12=新的三点网格基本材质({map:texture2,side:THREE.DoubleSide});
const geometry12=新的三平面几何(2000、1500、320);
const floor2=新的三个网格(几何12,材料12);
地板2.旋转.x=-20.42;
楼层2.位置y=-465;
地板2.旋转。y=0;
//屋顶
var texture2=new THREE.TextureLoader().load('wall2.jpg');
const material52=新的三个.MeshBasicMaterial({map:texture2});
const geometry52=新的三平面几何(2000、1500、320);
const roof 2=新的三个网格(几何52,材料52);
屋顶2.旋转.x=20.42;
屋顶2.位置y=1035;
屋顶2.旋转。y=0;
//左墙
var texture2=new THREE.TextureLoader().load('wall2.jpg');
const material32=新的三个.MeshBasicMaterial({map:texture2});
const geometry32=新的三个平面几何体(15001500320);
const left_wall2=新的三个网格(几何32,材料32);
左墙2.position.x=-1000;
左壁2.位置y=285;
左壁2.旋转y=20.42;
//右墙
var texture2=new THREE.TextureLoader().load('wall2.jpg');
const material42=新的三个.MeshBasicMaterial({map:texture2});
const geometry42=新的三个平面几何体(1500、1500、320);
const right_wall2=新的三网格(几何42,材料42);
右壁2.位置x=1000;
右壁2.位置y=285;
右壁2.旋转y=-20.42;
//后墙
var texture2=new THREE.TextureLoader().load('wall2.jpg');
const material22=新的三个.MeshBasicMaterial({map:texture2});
const geometry22=新的三平面几何(2000、1500、320);
const back_wall2=新的三个网格(geometry22,材料22);
后壁2.位置z=-750;
后壁2.位置y=285.3;
//前墙
var texture2=new THREE.TextureLoader().load('wall2.jpg');
const material62=新的三个.MeshBasicMaterial({map:texture2});
const geometry62=新的三平面几何(2000、1500、320);
const front_wall2=新的三个网格(几何62,材料62);
前壁2.位置z=750;
前壁2.位置y=285.3;
前壁2.旋转x=21.99;
设a=0;
函数createCuisine1(){
场景.添加(前墙);
场景。添加(后墙);
场景.添加(右墙);
场景.添加(左墙);
场景.添加(屋顶);
场景。添加(楼层);
场景。移除(地板2);
场景。移除(屋顶2);
场景。移除(左墙2)