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

解决three.js中加载纹理贴图时,初次渲染不显示的问题

效果:

 

解决方法:主要是将一些构建网格对象的操作放在了textureLoader.load()方法中,加载图片也用了require

init() {// 1, 创建场景对象this.scene = new this.$three.Scene();// 2, 创建立方缓冲几何体this.geometry = new this.$three.BoxGeometry(100, 100, 100);// 3,创建纹理贴图加载器对象const textureLoader = new this.$three.TextureLoader();const texture = textureLoader.load(require("../../assets/a.png"), () => {// 4,创建网格材质对象// const material = new this.$three.MeshLambertMaterial({const material = new this.$three.MeshBasicMaterial({map: texture, // map 表示材质的颜色贴图属性});// 5, 创建网格对象this.mesh = new this.$three.Mesh(this.geometry, material);this.scene.add(this.mesh);// 6,创建辅助坐标轴对象const axesHelper = new this.$three.AxesHelper(200);this.scene.add(axesHelper);// 6.1 创建环境光对象const light = new this.$three.AmbientLight(0xffffff);this.scene.add(light);// 7,创建透视投影相机对象this.camera = new this.$three.PerspectiveCamera(60, 1, 0.01, 1000);this.camera.position.set(200, 200, 200);this.camera.lookAt(0, 0, 0);// 8,创建渲染器对象this.renderer = new this.$three.WebGLRenderer();this.renderer.setSize(1000, 800);this.renderer.render(this.scene, this.camera);document.getElementById("threejs").appendChild(this.renderer.domElement);});const controls = new OrbitControls(this.camera, this.renderer.domElement);controls.addEventListener("change", () => {this.renderer.render(this.scene, this.camera);});},

http://www.lryc.cn/news/164711.html

相关文章:

  • Git学习记录
  • 建筑模板木模好还是钢模好
  • 写代码中碰到的错误
  • java文件传输简单方法
  • Vue3后台管理系统Element-plus_侧边栏制作_无限递归
  • PCIe基础概念
  • GE IS220PVIBH1A 336A4940CSP16 数字输入模块
  • 比特币与火人节
  • Nginx 中 location 和 proxy_pass 斜杠/ 问题
  • 【Spring】开发框架Spring核心技术含Resource接口详细讲解
  • 【随想】每日两题Day.5 (实则一题)
  • 【LeetCode刷题笔记】动态规划 — 70.爬楼梯
  • 2024腾讯校招后端面试真题汇总及其解答(三)
  • mysql的分组group by
  • Swoole 介绍以及 编译安装
  • Ubuntu终端指令
  • python给json 转实体类加注释的代码实现
  • 绘制三角波与梯形波
  • 【Git】 git push 提示Not possible to fast-forward,无法提交也无法提交程序
  • 优思学院|为什么质量工程师在别人看是“救火“的呢?
  • VMware Explore | 联想与VMware扩大合作带来生成式AI和多云解决方案
  • 8月份徒弟企业面试后反馈的软件测试面试题(含金量高请收藏)
  • 私有云不是真正的云计算!
  • netperf 测试时延和吞吐
  • 安卓预制权限添加规则
  • D3JS简介
  • 系统架构设计师(第二版)学习笔记----系统工程
  • java spring cloud 企业工程管理系统源码+二次开发+定制化服务
  • IMX6ULL移植篇-boot 命令的学习
  • Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析