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;

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm运行没结果_pycharm安装lxml库

    pycharm运行没结果_pycharm安装lxml库原因是用程序选择了console来运行,取消console方法如下:Run-&gt;EditConfigurations取消runwithpythonconsole的勾

  • windows恶意软件删除工具(MRT.exe)检查计算机是否感染病毒使用图解

    windows恶意软件删除工具(MRT.exe)检查计算机是否感染病毒使用图解 MicrosoftWindows恶意软件删除工具可以检查运行WindowsXP、Windows2000和WindowsServer2003的计算机是否受到特殊、流行的恶意软件(包括Blaster、Sasser和Mydoom)的感染,并帮助您删除所有找到的感染病毒。当检测和删除过程完成时,此工具将显示一个报告,说明检测到并删除了哪些恶意软件(如果有)等检查结果。…

  • 深入浅出Python——Python基础语法全解

    深入浅出Python——Python基础语法全解前言:Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。文章目录一、Python简介1.了解Python2.Python介绍3.Python特点4.Python发展历史5.Python版本二、Python解释器1.解释器的作用2.解释器的安装三、PyCharm安装与使用1.PyCharm的作用2.PyCharm安装与使用四、注释1.注释的作用2.注释的分类及语法五、变量1.变量的作用2.定义变量2.1标识符2.2命名习惯2.3使用变量2.4认识

  • heap和stack区别Java_Java中Heap与Stack的区别

    heap和stack区别Java_Java中Heap与Stack的区别1)Heap是Stack的一个子集.——扩展—>从内存观点考虑。优化2)Stack存取速度仅次于寄存器,存储效率比heap高,可共享存储数据,可是其中数据的大小和生存期必须在运行前肯定。spa3)Heap是运行时可动态分配的数据区,从速度看比Stack慢,Heap里面的数据不共享,大小和生存期均可以在运行时再肯定。指针4)new关键字是运行时在Heap里面建立对象,每ne…

    2022年10月24日
  • hdu 1215 七夕节

    hdu 1215 七夕节

  • 跟我一起数据挖掘(20)——网站日志挖掘

    跟我一起数据挖掘(20)——网站日志挖掘收集web日志的目的Web日志挖掘是指采用数据挖掘技术,对站点用户访问Web服务器过程中产生的日志数据进行分析处理,从而发现Web用户的访问模式和兴趣爱好等,这些信息对站点建设潜在有用的可理解的未知信息和知识,用于分析站点的被访问情况,辅助站点管理和决策支持等。1、以改进web站点设计为目标,通过挖掘用户聚类和用户的频繁访问路径,修改站点的页面之间的链接关系,以适应用户的访问习惯…

发表回复

您的电子邮箱地址不会被公开。

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