带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(13)

简介: 带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(13)

带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(12) https://developer.aliyun.com/article/1243467?groupCode=taobaotech




const geometry = new THREE.BoxGeometry( 1, 1, 1 );
- const texture = new THREE.TextureLoader().load('textures/demol.gif');
+ const textures = [
+ 'https://img.alicdn.com/imgextra/i3/O1CN01LsO1Bk20QbKpFTUQr_!!6000000006844-0-tps-1500-1500.jpg',
+ 'https://img.alicdn.com/imgextra/i3/O1CN01uTWCLc1XOCOuA92H0_!!6000000002913-0-tps-1500-1500.jpg',
+ 'https://img.alicdn.com/imgextra/i4/O1CN016lU3YJ1JdrJuFTcWt_!!6000000001052-0-tps-1500-1500.jpg',
+ 'https://img.alicdn.com/imgextra/i2/O1CN01nYe2Mn1ohkmBVyKpp_!!6000000005257-0-tps-1500-1500.jpg',
+ 'https://img.alicdn.com/imgextra/i4/O1CN014TNffn1nlaTfA98Fg_!!6000000005130-0-tps-1500-1500.jpg',
+ 'https://img.alicdn.com/imgextra/i1/O1CN01sS5m781ya6JgLSaVk_!!6000000006594-0-tps-1500-1500.jpg',
+ ];
- const material = new THREE.MeshBasicMaterial( { map: texture } );
+ const materials = [];
+ for (let i = 0; i < textures.length; i ++ ) {
+ const textureLoader = new THREE.TextureLoader();
+ materials.push( new THREE.MeshBasicMaterial({ map: textureLoader.load(textures[i]) }));
+ }
const box = new THREE.Mesh(geometry, materials);


image.png


5. 将相机放入 box 里面,同时将 box 的 X 轴或者 Z 轴的放大倍数变为负数,这样才能看到内部:


- camera.position.z = 5;
+ camera.position.z = 0.01; // 将相机放在里面
+ box.geometry.scale(1, 1, -1); // 相当于将 Z 轴正向的面移到 Z 轴负方向上


然后再添加并配置控制器,使得用户可以通过交互来进行观察:


+ const controls = new OrbitControls(camera, renderer.domElement);
+ controls.enableZoom = false; // 禁用放大
+ controls.enablePan = false; // 禁用双指缩放
+ controls.enableDamping = true; // 开启阻尼效果
+ controls.rotateSpeed = -0.25; // 旋转方向取反,使内部拖拽旋转方向一致
const animate = () => {
 requestAnimationFrame(animate);
+ controls.update(); // 开启阻尼效果后必须更新
 renderer.render(scene, camera);
};


最终效果


image.png



带你读《2022技术人的百宝黑皮书》——全景封面视频生成技术在淘宝的应用(14) https://developer.aliyun.com/article/1243465?groupCode=taobaotech

相关文章
|
负载均衡 物联网 测试技术
部署硬件负载均衡时,如何评估设备的处理能力?
部署硬件负载均衡时,如何评估设备的处理能力?
722 130
|
Linux iOS开发 MacOS
Python系统编程高手进阶:跨平台兼容性?小菜一碟💪
【9月更文挑战第6天】当我们探讨Python系统编程时,跨平台兼容性至关重要。Python凭借其解释型语言特性和多平台解释器,确保了代码能够在Windows、Linux、macOS等多种环境中顺畅运行。本文将介绍Python跨平台运行的基本原理,以及如何处理文件路径差异和系统调用等问题,助你轻松应对跨平台挑战。
547 1
【Java基础面试二】、个Java文件里可以有多个类吗(不含内部类)?
这篇文章讨论了Java文件中类的定义规则,指出一个Java文件可以包含多个类(不包含内部类),但其中最多只能有一个public类,且如果有public类,它的名称必须与文件名一致。
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
757 1
|
机器学习/深度学习 人工智能 算法
AI战略丨AI原生时代,应用创新蓄势待发
通过热点AI应用创新项目的观察,我们可以看到新技术的突破方向,也能发现基于生成式AI迸发出的全新商业前景落地的可能性。
AI战略丨AI原生时代,应用创新蓄势待发
如何在IDEA中创建Module、以及怎样在IDEA中删除Module?
这篇文章介绍了在IntelliJ IDEA中使用Module的原因、创建Module的步骤以及如何从硬盘上删除Module。
如何在IDEA中创建Module、以及怎样在IDEA中删除Module?
|
存储 编解码 Ubuntu
0-零基础安装ubuntu(超详细安装步骤)
0-零基础安装ubuntu(超详细安装步骤)
|
Oracle 前端开发 关系型数据库
宜搭认证课程-数据报表设计(三)| 学习笔记
快速学习宜搭认证课程-数据报表设计。
宜搭认证课程-数据报表设计(三)| 学习笔记
|
机器学习/深度学习 资源调度 数据挖掘
利用机器学习优化数据中心的能效
【2月更文挑战第30天】在本文中,我们探讨了如何通过应用机器学习技术来优化数据中心的能源效率。传统的数据中心管理方法往往依赖人工经验和定期维护,而机器学习提供了一种自动化和智能化的解决方案。文中首先介绍了数据中心能耗的主要来源,随后详细阐述了机器学习模型在预测和管理数据中心资源中的应用。通过对历史数据的学习和模式识别,机器学习不仅能够准确预测未来的负载变化,还能实时调整硬件配置以最小化能耗。最后,文章展示了一个基于机器学习的能效管理系统原型,并通过实验数据分析验证了该系统的有效性。
|
负载均衡 监控 关系型数据库
搭建LNMP平台实现负载均衡与高可用
搭建LNMP平台实现负载均衡与高可用
516 0