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

网站建设可行性分析包括什么重庆搭建工厂

网站建设可行性分析包括什么,重庆搭建工厂,北京网站制作推广,wap建站模板vue3threejs,做一个给模型批量CSS2D标签的案例,在导入模型的js文件里,跟着课程写的代码如下: import * as THREE from three; // 引入gltf模型加载库GLTFLoader.js import { GLTFLoader } from three/addons/loaders/GLTFLoader.…

vue3+threejs,做一个给模型批量CSS2D标签的案例,在导入模型的js文件里,跟着课程写的代码如下:

import * as THREE from 'three';
// 引入gltf模型加载库GLTFLoader.js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';// 引入CSS2模型对象CSS2DObject
import {CSS2DObject
} from 'three/addons/renderers/CSS2DRenderer.js';const model = new THREE.Group();
const loader = new GLTFLoader();
// 路径要特别注意,默认是从public读取的,模型文件必须放在public下,并且路径前的public要省略
loader.load('models/简易小区.glb', gltf => {gltf.scene.getObjectByName("小区房子").traverse(function (obj) {if (obj.isMesh) {let label = tag(obj.name);const pos = new THREE.Vector3();obj.getWorldPosition(pos);label.position.copy(pos);label.name = obj.name;model.add(label);}});model.add(gltf.scene);
}, undefined, error => {console.error(error);
});function tag(name) {// 创建dom元素(作为标签)let div = document.createElement('div');div.innerHTML = name;div.classList.add('css2dtag');//使用dom元素生成CSS2模型对象CSS2DObjectlet label = new CSS2DObject(div);div.style.pointerEvents = 'none';//避免HTML标签遮挡三维场景的鼠标事件return label;//返回CSS2模型标签      }export default model;

在vue文件里设置css。

<template>
</template><script setup>
import { scene } from './init.js';
</script><style scoped>.css2dtag {background: #ffffff;color: orangered;}
</style>

运行代码后发现css没有生效。

查了资料,找到一篇参考文章:

threejs 代码创建div设置样式不生效的问题原因探讨 - 简书

尝试去掉scoped,确实生效了,但是这种处理并不理想。

在继续学习threejs课程的时候,发现老师教了另一种批量创建的办法。

对vue文件修改如何:

增加一个id为css2dtag的div,css加上scoped。

<template><div id="css2dtag" style="display: none;"></div>
</template><script setup>
import { scene } from './init.js';
</script><style scoped>#css2dtag {background: #ffffff;color: orangered;}
</style>

然后在导入模型的js文件里,通过克隆这个div来批量创建dom元素。

import * as THREE from 'three';
// 引入gltf模型加载库GLTFLoader.js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';// 引入CSS2模型对象CSS2DObject
import {CSS2DObject
} from 'three/addons/renderers/CSS2DRenderer.js';const model = new THREE.Group();
const loader = new GLTFLoader();
// 路径要特别注意,默认是从public读取的,模型文件必须放在public下,并且路径前的public要省略
loader.load('models/简易小区.glb', gltf => {gltf.scene.getObjectByName("小区房子").traverse(function (obj) {if (obj.isMesh) {let label = tag(obj.name);const pos = new THREE.Vector3();obj.getWorldPosition(pos);label.position.copy(pos);label.name = obj.name;model.add(label);}});model.add(gltf.scene);
}, undefined, error => {console.error(error);
});function tag(name) {// 通过克隆来批量创建divlet div = document.getElementById('css2dtag').cloneNode();div.innerHTML = name;//使用dom元素生成CSS2模型对象CSS2DObjectlet label = new CSS2DObject(div);div.style.pointerEvents = 'none';//避免HTML标签遮挡三维场景的鼠标事件return label;//返回CSS2模型标签      
}export default model;

再次运行代码,css生效了。

http://www.dtcms.com/wzjs/826894.html

相关文章:

  • 刚做的网站适合做外链吗网站后台管理系统域名
  • wordpress子目录网站东莞市永铭装饰有限公司
  • 长春网站建设方案推广10个网站
  • 免费视图网站建设在郑州网站建设
  • 江苏省建设厅网站证件查询网页设计与网站建设主要内容
  • 做网站网站代理犯法吗做一个简单的网站要多少钱
  • ip做网站需要过白名单吗googlechrome浏览器
  • 自己如何建设校园网站建设厅网站打不开
  • 能自己做网站接业务吗wordpress修改注册页
  • 学院网站建设自查报告长沙城市建设档案馆网站
  • 铁岭 网站建设东莞国网站建设
  • 实验教学中心网站建设东莞企业网站公司
  • 网站设计论文大全wordpress虚拟资源助推
  • 怎样创建行业门户网站用py做网站
  • 网站建设未来趋势没网站做cpa广告联盟
  • 扬州网站建设企业网站开发外贸客户
  • 如何建立公司网站?北京建工博海建设有限公司网站
  • 制作简单的网站电子商务公司简介
  • 官网和网站的区别桂林八景
  • 杭州网站建设案例隆尧网站制作
  • 哪里有做投票的网站wordpress迁移hexo
  • 推荐昆明做网站建设优化手机软件
  • 网站中常用的功能模块网站网络推广企业
  • 做网站 建站福州网站建设案例
  • 如何看配色网站网络广告推广网站
  • 网站开发的项目背景王也的口头禅
  • 360的网站怎么做小众电商平台有哪些
  • 襄阳营销网站建设cms 做网站模板
  • 网站内容怎么写鹰手营子矿网站建设
  • 建设一个旅游平台网站需要多少资金网站展示型广告