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)


相关推荐

  • Window Hook 技术详解

    Window Hook 技术详解Hook简介微软的MSDN中,对Hook的解释为:Ahookisapointinthesystemmessage-handlingmechanismwhereanapplicationcaninstallasubroutinetomonitorthemessagetrafficinthesystemandprocesscertain

  • GridLayout网格式布局

    GridLayout网格式布局1.设置网格的列数。gridLayout.numColumns=3;//设置网格的列数为3,默认是1importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.*;importorg.eclipse.swt.layout.*;publicclassA{ publicstaticvoidmain(String[]…

  • Vue学习之自定义指令「建议收藏」

    Vue学习之自定义指令「建议收藏」Vue学习之自定义指令

  • eclipse导入maven项目的设置

    eclipse导入maven项目的设置Eclipse配置:1.使用自己的maven:Windows-preference-maven-usersettings,更改为自己安装的maven目录下的设置文件。conf-settings.2.安装插件:Help-installnewsoftware,在workwith后的框里直接输入插件安装网址(国外软件,在线安装不推荐)Help-eclipsemarketplace,直接在搜索框搜索点击install安装(要连eclipse外网,不推荐)…

  • 卡巴斯基爱好者见面会 卡巴斯基先生与卡fans亲密互动

    卡巴斯基爱好者见面会 卡巴斯基先生与卡fans亲密互动3月31日,国际著名的技术先锋人物、领先的反病毒厂商卡巴斯基实验室的创始人&CEO尤金•卡巴斯基由莫斯科飞抵北京。阔别中国两年之久,尤金抵京后做的第一件事就是出席与卡巴fans的见面会,与其“

  • 自己动手编写CSDN博客备份工具-blogspider源码下载(4) .

    自己动手编写CSDN博客备份工具-blogspider源码下载(4) .作者:gzshun.原创作品,转载请标明出处!来源:http://blog.csdn.net/gzshun本博文需要声明几点:1.blogspider_v1.0源码已经更新,文件名为”blogspider_v2.0.tar.bz2″,下载地址在下文。2.该备份工具用其他语言(比如Java,PHP)可能比较简单,但本人只会C/C++。3.blogspider_v1.0源码报

发表回复

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

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