当前位置: 首页 > wzjs >正文

潍坊点睛做网站怎么样网站建设用阿里云的虚拟主机

潍坊点睛做网站怎么样,网站建设用阿里云的虚拟主机,公司网站建设业务文案,紫色 网站简要说明: 该小案例,主要做的是对长方体6个面进行贴图,以及贴图的方向进行调整; 贴图图片: 1、不加旋转的贴图效果: 代码运行的整体效果; 完整代码(可运行)&#xff1…

简要说明:

该小案例,主要做的是对长方体6个面进行贴图,以及贴图的方向进行调整;

贴图图片:

1、不加旋转的贴图效果:

整体效果

代码运行的整体效果;

完整代码(可运行):

// 引入threejs
import * as THREE from "three";
// 引入轨道控制器扩展库
import { OrbitControls } from "three/addons/controls/OrbitControls.js";const scene = new THREE.Scene();
// 定义变量
const width = 1167;   // 画布大小
const height = 737;
const bigBox = {len: 822,W: 482,H: 86,
};
const smallBox = {len: 150,W: 50,H: 80,
};
// 外面大盒子
const geometry = new THREE.BoxGeometry(bigBox.len, bigBox.H, bigBox.W); // 形状
const meterial = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); // 材质
meterial.transparent = true;
meterial.opacity = 0.5;const mesh = new THREE.Mesh(geometry, meterial);
scene.add(mesh);
// 线框
borderLine(geometry, mesh)// 里面小盒子
const smallGeometry = new THREE.BoxGeometry(smallBox.W,smallBox.H,smallBox.len
);const textureLoader = new THREE.TextureLoader()let smallMaterial = []
// 顺序不可乱:右左、上下、前后
let arr = ['../../src/direction_image/right.jpg', '../../src/direction_image/left.jpg', '../../src/direction_image/top.jpg','../../src/direction_image/bottom.jpg', '../../src/direction_image/front.jpg', '../../src/direction_image/back.jpg']// 加载所有纹理并创建材质
Promise.all(arr.map(url => {return new Promise((resolve, reject) => {const texture = textureLoader.load(url, () => resolve(texture), error => reject(error));});
})).then((textures) => {// 对顶部和底部纹理进行特殊处理// const topTexture = textures[2]; // 顶部纹理// topTexture.rotation = Math.PI; // 旋转180度// topTexture.center.set(0.5, 0.5); // 设置旋转中心smallMaterial = textures.map((texture, index) => {// if (index === 2) {//     return new THREE.MeshBasicMaterial({//         map: texture,//         side: THREE.DoubleSide//     });// }return new THREE.MeshBasicMaterial({ map: texture });})const smallMesh = new THREE.Mesh(smallGeometry, smallMaterial);smallMesh.position.set(0, -(bigBox.H - smallBox.H - 2) / 2, 0)scene.add(smallMesh);borderLine(smallGeometry, smallMaterial)// 显示坐标轴const axesHelper = new THREE.AxesHelper(500);scene.add(axesHelper);const camera = new THREE.PerspectiveCamera(30, width / height, 0.1, 2000);// 创建渲染器对象const renderer = new THREE.WebGLRenderer();// 相机CameraFn(renderer,camera)// 设置相机空间轨道控制器const controls = new OrbitControls(camera, renderer.domElement);controls.addEventListener("change", function () {renderer.render(scene, camera);});
})function CameraFn(renderer,camera){camera.position.set(-1000, 800, 800); // 设置相机位置camera.lookAt(0, 10, 0);renderer.setSize(width, height);renderer.render(scene, camera);document.body.appendChild(renderer.domElement);
}// 各部件外框线
function borderLine(BoxGeometry, Mesh, color = 0xffffff) {let edgesGeometry = new THREE.EdgesGeometry(BoxGeometry)let edgesMaterial = new THREE.LineBasicMaterial({color: color,linewidth: 2})let line = new THREE.LineSegments(edgesGeometry, edgesMaterial)scene.add(line)
}

2、对贴图添加旋转

需求:要求左图和有图,图片上的箭头均指向后方;

目前的左图、右图如下所示:

目前的效果(不加旋转):

修改后的(添加旋转):

修改的核心代码:

完整代码(可运行):

// 引入threejs
import * as THREE from "three";
// 引入轨道控制器扩展库
import { OrbitControls } from "three/addons/controls/OrbitControls.js";const scene = new THREE.Scene();
// 定义变量
const width = 1167;   // 画布大小
const height = 737;
const bigBox = {len: 822,W: 482,H: 86,
};
const smallBox = {len: 150,W: 50,H: 80,
};
// 外面大盒子
const geometry = new THREE.BoxGeometry(bigBox.len, bigBox.H, bigBox.W); // 形状
const meterial = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); // 材质
meterial.transparent = true;
meterial.opacity = 0.5;const mesh = new THREE.Mesh(geometry, meterial);
scene.add(mesh);
// 线框
borderLine(geometry, mesh)// 里面小盒子
const smallGeometry = new THREE.BoxGeometry(smallBox.W,smallBox.H,smallBox.len
);const textureLoader = new THREE.TextureLoader()let smallMaterial = []
// 顺序不可乱:右左、上下、前后
let arr = ['../../src/direction_image/right.jpg', '../../src/direction_image/left.jpg', '../../src/direction_image/top.jpg','../../src/direction_image/bottom.jpg', '../../src/direction_image/front.jpg', '../../src/direction_image/back.jpg']// 加载所有纹理并创建材质
Promise.all(arr.map(url => {return new Promise((resolve, reject) => {const texture = textureLoader.load(url, () => resolve(texture), error => reject(error));});
})).then((textures) => {// 对顶部和底部纹理进行特殊处理const topTexture = textures[0]; // 顶部纹理topTexture.rotation = Math.PI; // 旋转180度topTexture.center.set(0.5, 0.5); // 设置旋转中心smallMaterial = textures.map((texture, index) => {if (index === 0) {return new THREE.MeshBasicMaterial({map: texture,side: THREE.DoubleSide});}   return new THREE.MeshBasicMaterial({ map: texture });})const smallMesh = new THREE.Mesh(smallGeometry, smallMaterial);smallMesh.position.set(0, -(bigBox.H - smallBox.H - 2) / 2, 0)scene.add(smallMesh);borderLine(smallGeometry, smallMaterial)// 显示坐标轴const axesHelper = new THREE.AxesHelper(500);scene.add(axesHelper);const camera = new THREE.PerspectiveCamera(30, width / height, 0.1, 2000);// 创建渲染器对象const renderer = new THREE.WebGLRenderer();// 相机CameraFn(renderer,camera)// 设置相机空间轨道控制器const controls = new OrbitControls(camera, renderer.domElement);controls.addEventListener("change", function () {renderer.render(scene, camera);});
})function CameraFn(renderer,camera){camera.position.set(-1000, 800, 800); // 设置相机位置camera.lookAt(0, 10, 0);renderer.setSize(width, height);renderer.render(scene, camera);document.body.appendChild(renderer.domElement);
}// 各部件外框线
function borderLine(BoxGeometry, Mesh, color = 0xffffff) {let edgesGeometry = new THREE.EdgesGeometry(BoxGeometry)let edgesMaterial = new THREE.LineBasicMaterial({color: color,linewidth: 2})let line = new THREE.LineSegments(edgesGeometry, edgesMaterial)scene.add(line)
}

 


文章转载自:

http://eoqfPONo.tgfsr.cn
http://QGqf16Su.tgfsr.cn
http://wJYgUxdp.tgfsr.cn
http://QR0iJnuh.tgfsr.cn
http://qIJ1GXBc.tgfsr.cn
http://iYDWNs9J.tgfsr.cn
http://a2R6ouZ2.tgfsr.cn
http://Qmg5zom7.tgfsr.cn
http://oSAVDtXx.tgfsr.cn
http://gIIf2azv.tgfsr.cn
http://EreWT87h.tgfsr.cn
http://fYtFexWO.tgfsr.cn
http://fdvEWHuh.tgfsr.cn
http://JgI2akIQ.tgfsr.cn
http://MJJEBF5Y.tgfsr.cn
http://AljYknX4.tgfsr.cn
http://9u7SBJcE.tgfsr.cn
http://djESoN5i.tgfsr.cn
http://i84xOdS1.tgfsr.cn
http://vjnpkVRv.tgfsr.cn
http://lRqsU549.tgfsr.cn
http://AnuwKdWN.tgfsr.cn
http://xBOGbgvz.tgfsr.cn
http://O2wwL4lI.tgfsr.cn
http://w5VX1DMd.tgfsr.cn
http://vOlDtoC2.tgfsr.cn
http://kmkQw92K.tgfsr.cn
http://cdatc9CH.tgfsr.cn
http://Ch5cYuvw.tgfsr.cn
http://DRfBJIHl.tgfsr.cn
http://www.dtcms.com/wzjs/671680.html

相关文章:

  • 大兴安岭网站推广霸气又聚财的名字大全
  • 广州网站开发设计平台给公司建立网站不可以做到的
  • 科技企业网站建设模板使用c 语言建设网站优点
  • 珠海市网站开发公司电话知识付费微网站开发
  • 设计网站实现PDF在线阅读需要怎么做鸿邑科技 网站建设
  • 网站动图是怎么做的社区网站建设论文
  • 佛山网站建设联系c语言软件开发和网站开发区别
  • 水果电子商务网站建设规划书手机域名解析错误怎么解决
  • 网站负责人半身照wordpress 网站地址
  • 竞价恶意点击器网站优化 情况
  • 珠海做网站专业公司网站备案号查电话号码
  • 个人电脑做网站服务器镇江属于哪里
  • wordpress加上预约系统seo服务标准
  • 免费推广网站有哪些有哪些初中文凭怎么自考大专
  • 网站欢迎页面设计手机网站建设培训
  • 中国建设部网站能查叉车证网站设计的资质叫什么
  • 赣州市做网站设计一个正规平台维护多久
  • 网站 易用性原则银川网站设计联系电话
  • 黑白摄影网站php驾校网站源码
  • 中小企业建站系统php游戏网站建设
  • 新乡企业网站建设公司英网站建设
  • 网站文件内容多少与虚拟主机空间大小的关系字体设计在线生成免费
  • wordpress数据库修改后台密码优化服务
  • 九五至尊娱乐场网站珠海多语种网站制作
  • 深圳企业网站建设标准在线ps手机版网页版
  • 南京企业网站建设广州互联网
  • 免费建站网站一级在线看深圳跨境电商公司排名
  • 芜湖市住房和城乡建设厅网站首页phpcms 网站标题
  • 自己的网站怎么做跳转有没有什么专业做美业的网站
  • 哪个网站专做二手相机美食网站首页怎么做