three.js创建简单的3D机房(1) 创建机柜模型-2

three.js创建简单的3D机房(1) 创建机柜模型-2/****创建机柜门接上一篇*/letrearGeometryDoor=newTHREE.BoxGeometry(basicParameters.thickness,this.cabinetObj.h,this.cabinetObj.w+basicParameters.thickness*2);letmaterialsbgDoor=[];for(leti=0;i<rearGeometryDoor.faces.length/2;i+=1)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

/**

*

*创建机柜门 接上一篇

*/

let rearGeometryDoor = new THREE.BoxGeometry(basicParameters.thickness, this.cabinetObj.h,this.cabinetObj.w+basicParameters.thickness*2);

let materialsbgDoor = [];

for (let i = 0; i < rearGeometryDoor.faces.length / 2; i += 1) {

let material

if(i===1){

material = this.cabinetbgMaterial.doorBan[0];

}else if(i===0){

material = this.cabinetbgMaterial.doorBan[1];

}else{

material = this.cabinetbgMaterial.doorBan[2];

}

materialsbgDoor[i] = material

}

// rearGeometryDoor.translate(this.cabinetObj.w/2,0,0)

let door = new THREE.Mesh(rearGeometryDoor,materialsbgDoor);

let doorZ = this.position.z<0?this.position.z – this.cabinetObj.w/2 – this.cabinetObj.z/2: this.position.z + this.cabinetObj.w/2 + this.cabinetObj.z/2

let doorOption = {x:riserR.position.x-basicParameters.thickness/2,y:this.position.y,z:doorZ}

door.name=’door’;

door.closeTag= this.options.closeTag;

if(door.closeTag === ‘open’){

door.position.set(doorOption.x+basicParameters.thickness/2,doorOption.y,doorOption.z)

}else{

door.rotateY(-1.57)

door.position.set(doorOption.x – this.options.cabinetObj.w/2,doorOption.y,doorOption.z – this.options.cabinetObj.w/2+basicParameters.thickness/2)

}

cabGroup.add(door);

 

// 整个机柜的位置及旋转

cabGroup.name = ‘cabGroup’;

cabGroup.cabId = this.cabId;

cabGroup.position.set(this.cabPosition.x,this.cabPosition.y,this.cabPosition.z)

cabGroup.rotateX(this.cabPosition.rotatex)

cabGroup.rotateY(this.cabPosition.rotatey)

cabGroup.rotateZ(this.cabPosition.rotatez)

for (let i = 0; i < cabGroup.children.length; i++) {

cabGroup.children[i].cabId = this.cabId;

cabGroup.children[i].cabName = ‘cab’;

cabGroup.children[i].cabSlot = this.cabSlot;

cabGroup.children[i].status = this.status;

}

this.scene.add(cabGroup)

}

}

export default cabinet;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209931.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 推荐几个JAVA 学习不错的网站

    推荐几个JAVA 学习不错的网站  学习Java呢!不仅经是靠的自身的努力,还要懂得他的规范,所以要多看一些Java技术文档:    我感觉有五个Java自学网站不错推荐一下子;    这些网站可以提供一些最新Java的资料;    有时定期开设讲座等线下活动;    而且里面的一些Java相关的问题以及讨论;    不仅适用于Java小白程序员,而且还适用于一些Java大神;    其实外网有很多比较专业的Java学习网站,但是鉴于为Java小白推荐网站,立足当下!!!  

    2022年7月9日
    22
  • 总结ERROR 2002 (HY000):Can’t connect to…之错误

    总结ERROR 2002 (HY000):Can’t connect to…之错误

    2021年8月9日
    84
  • PHP中如何设置error_reporting错误报告级别

    PHP中如何设置error_reporting错误报告级别

    2021年9月19日
    80
  • sql清空表数据命令

    sql清空表数据命令有三种清空方式:1.delete逐行删除表数据速度比较慢,不适合删除数据量大的表。2.truncate删除表中所有数据并且保留表结构,但是不能撤消还原。3.drop表数据和表结构一起删除,在实践过程中删除大数据量表数据。使用1,2这两种方法需要等待好久才能清空完成。有一个较快的方法是先导出表结构,首先对原先表进行删除,然后再重建。…

    2022年6月13日
    107
  • mysql联合索引的底层原理_聚集索引原理

    mysql联合索引的底层原理_聚集索引原理面试中被问到了联合索引,突然就涉及到了知识盲区,对不起,我只知道B+树,B树,哈希索引,聚簇索引,非聚簇索引,联合索引的原理?。。对不起涉及到了我的知识盲区了。这里对联合索引做一个总结,联合索引,顾名思义,普通的索引我们只会对单个字段去构建索引,又分为主键索引和辅助索引,那么联合索引就是对多个字段去构建索引,从而在某些场景下提升提升查询效率。最左匹配原则提到联合索引,不得不提的就是最左匹配原则所谓最左原则指的就是如果你的SQL语句中用到了联合索引中的最左边…

    2025年9月16日
    7
  • idea2021.7.15激活码【2021.7最新】

    (idea2021.7.15激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsa…

    2022年3月21日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号