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

网站建设工作量统计表深圳推广公司有哪些

网站建设工作量统计表,深圳推广公司有哪些,做家具的外国网站,住建部证书查询大厅Three.js加载360全景图片/视频 效果 原理 将全景图片/视频作为texture引入到three.js场景中将贴图与球形网格模型融合,将球模型当做成环境容器使用处理视频时需要以dom为载体,加载与控制视频动作每次渲染时更新当前texture,以达到视频播放效…

Three.js加载360全景图片/视频

效果

请添加图片描述

原理

  • 将全景图片/视频作为texture引入到three.js场景中
  • 将贴图与球形网格模型融合,将球模型当做成环境容器使用
  • 处理视频时需要以dom为载体,加载与控制视频动作
  • 每次渲染时更新当前texture,以达到视频播放效果
  • 全景图片加载有球体与正方体两种模式,区别在于是加载单张图片还是多张图片

核心方法

      // 添加VR全景图const addVrPicture = async () => {// 创建贴图const loader = new THREE.TextureLoader();const texture = await loader.load('./img/vr.jpg');texture.wrapS = THREE.RepeatWrapping;texture.repeat.x = -1;// 创建球形载体const sphereGeometry = new THREE.SphereGeometry(200, 60, 40);const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture, side: THREE.BackSide });const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);scene.add(sphere);};// 添加VR全景视频const addVrVideo = async () => {// 通过Dom引入并控制视频源const video = document.createElement('video');video.src = './video/vr.mp4';video.loop = true;video.muted = true;video.autoplay = true;// 创建视频贴图const texture = new THREE.VideoTexture(video);texture.minFilter = THREE.LinearFilter;// 创建球形载体const sphereGeometry = new THREE.SphereGeometry(200, 60, 40);const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture, side: THREE.BackSide });const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);scene.add(sphere);// 添加动画序列animationList.push(() => {// 更新视频纹理// 播放视频video.play();if (video.readyState === video.HAVE_ENOUGH_DATA) {texture.needsUpdate = true;}});// 调整相机视角const point = new THREE.Vector3(200, 0, 0);camera.lookAt(point);};

完整代码

<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {margin: 0;padding: 0;}</style></head><body><script type="module">import * as util from './js/util.js';import * as THREE from './node_modules/three/build/three.module.js';import { creatWallByPath } from './js/effect.js';const scene = util.initScene();const stats = util.initStats();const camera = util.initCamera(-1, 0, 0);const renderer = util.initRender();const controls = util.initOrbitControls(camera, renderer);util.windowReSize(renderer, camera);util.addAxisHelper(scene, 100);util.addAmbientLight(scene);util.addDirectionalLight(scene);// 动画序列,每个渲染周期执行const animationList = [];// 添加VR全景图const addVrPicture = async () => {// 创建贴图const loader = new THREE.TextureLoader();const texture = await loader.load('./img/vr.jpg');texture.wrapS = THREE.RepeatWrapping;texture.repeat.x = -1;// 创建球形载体const sphereGeometry = new THREE.SphereGeometry(200, 60, 40);const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture, side: THREE.BackSide });const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);scene.add(sphere);};// 添加VR全景视频const addVrVideo = async () => {// 通过Dom引入并控制视频源const video = document.createElement('video');video.src = './video/vr.mp4';video.loop = true;video.muted = true;video.autoplay = true;// 创建视频贴图const texture = new THREE.VideoTexture(video);texture.minFilter = THREE.LinearFilter;// 创建球形载体const sphereGeometry = new THREE.SphereGeometry(200, 60, 40);const sphereMaterial = new THREE.MeshBasicMaterial({ map: texture, side: THREE.BackSide });const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);scene.add(sphere);// 添加动画序列animationList.push(() => {// 更新视频纹理// 播放视频video.play();if (video.readyState === video.HAVE_ENOUGH_DATA) {texture.needsUpdate = true;}});// 调整相机视角const point = new THREE.Vector3(200, 0, 0);camera.lookAt(point);};const main = async () => {// 添加VR图像await addVrPicture();// 添加VR视频// await addVrVideo();};// 渲染函数const render = () => {renderer.render(scene, camera);stats.update();animationList.forEach((callback) => callback());requestAnimationFrame(render);};window.onload = () => {main();render();};</script></body>
</html>
http://www.ds6.com.cn/news/661.html

相关文章:

  • wordpress mysql 端口北京seo主管
  • 合格的网站设计师需要会什么软件b站大全永不收费2023入口在哪
  • 利用python做网站郑州seo招聘
  • 做网站 推广数字经济发展情况报告
  • 用linux做网站外贸seo建站
  • 揭阳专业的网站建设价格中国营销网
  • 企业营销管理软件品牌seo推广咨询
  • 株洲论坛网windows 优化大师
  • 网站目录在哪企业seo排名有 名
  • 信息设计网站优帮云排名自动扣费
  • 达令的网站建设电商平台排行榜前十名
  • 南宁市网站建设陕西seo优化
  • 郫县做网站长沙网站推广和优化
  • 广东党员两学一做测试网站长沙网站开发制作
  • 网站推广指标包括软文网站推荐
  • wordpress 日历小工具优化措施最新回应
  • 大浪网站建设 优帮云优秀的营销案例
  • wordpress侧栏菜单合肥优化排名推广
  • 皋兰县建设局网站看广告收益的正规平台
  • 网站做直播b站软件推广大全
  • 乌鲁木齐微信公众号制作班级优化大师官方免费下载
  • 时时彩网站源码怎么做如何创建网页链接
  • 佳作哪个公司做网站比较好百度关键词自然排名优化公司
  • 国医堂网站平台建设天津百度推广中心
  • 银川网站建设广告公司廊坊网络推广公司
  • 免费seo网站诊断国外免费推广网站有哪些
  • 哪家做公司网站成都网站seo
  • 商务网站制作语言基础网络营销推广要求
  • 商城网站的开发怎么做的汕头seo公司
  • 40岁以上的设计师都去哪了360优化大师旧版