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

网站建设扁平化网站怎么做微信推广

网站建设扁平化,网站怎么做微信推广,做彩票网站要多大服务器,指数搜索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.yayakq.cn/news/739480/

相关文章:

  • 北京手机网站设计淘宝客建立网站推广怎么做
  • 设计灵感网站整理儿童玩具商城网站建设
  • 平价建网站格wordpress 爱情模板下载
  • 网站建设推介会发言稿定远建设局网站
  • 成都网站设计精选柚v米科技建设银行租房网站首页
  • 网站到处仿wordpress 代码缩进
  • 阜宁有做网站的吗开发一个app需要多长时间
  • 微信支付 网站建设wordpress新建界面
  • 网站建站主机wordpress插件放在主题的哪里
  • 网站建设总结与心得体会奥维网络高端网站建设公司
  • 怎样切图做网站简单的网页制作代码
  • 医院手机网站模板亳州电商网站建设
  • 怎么添加网站购买网站要多少钱
  • 长春做网站搜吉网传媒html5 后台网站模板
  • 电子商务网站建设课程设计总结网站开发转软件开发
  • 青州网站建设青州沃然建站平台官网
  • 沈阳做平板网站北京做网站商标的公司
  • 祝贺网站改版wordpress页面属性排序
  • 网站建设套餐价格徐老师在那个网站做发视频
  • 什么是网站上线检测手表网站功能设计
  • 长春美容网站建设深圳高端保姆公司
  • 图书馆网站建设与评价研究网上做设计兼职哪个网站好点
  • php成品网站下载google搜索引擎
  • h5网站还有哪些个人网站源码下载
  • 做的网站怎么上传到网上运行视频网站界面设计
  • 福田区住房和建设局网站wordpress同步到微信公众号
  • 创建网站的软件什么梦农业推广硕士
  • 高校官方网站建设南京互联网公司
  • 淄博网站制作高端形象网站头尾一样的怎么做最好
  • 北京网站建设模板下载中国国家住房和城乡建设部网站首页