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

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

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




1. 创建场景、相机和渲染器,将渲染器挂载到 DOM 上:


const scene = new THREE.Scene();
const _width = window.innerWidth > 640 ? 640 : window.innerWidth;
const _height = window.innerHeight;
const camera = new THREE.PerspectiveCamera(90, _width / _height, 0.1, 100); // PerspectiveCamera(fov, aspect, 
near, far);
const renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio); // 设置设备像素比,通常用于避免 HiDPI 设备上绘图模糊
renderer.setSize(_width, _height); // 将输出 canvas 的大小调整为 (wi
dth, height) 并考虑设备像素比
document.getElementById('container').appendChild(renderer.domElement);


2. 初始化一个立体几何,并上色:


const geometry = new THREE.BoxGeometry( 1, 1, 1 ); // BoxGeometry(width, height, depth)
const material = new THREE.MeshBasicMaterial({ color: 0x156289 });
const box = new THREE.Mesh(geometry, material);
scene.add( box ); // 将物体添加到场景
camera.position.z = 5; // 设置相机的 z 轴位置为正,从外部观察物体
// 执行动画渲染
const animate = () => {
 requestAnimationFrame(animate);
 renderer.render(scene, camera);
};
animate();


image.png


3. 给立方体添加图片纹理:


- const material = new THREE.MeshBasicMaterial({ color: 0x156289 });
+ const texture = new THREE.TextureLoader().load('textures/demol.gif');
+ const material = new THREE.MeshBasicMaterial( { map: texture } );


image.png


4. 将上面的纹理替换为 6 张全景图片,图片加载的顺序是 正X(px.jpg),负X(nx.jpg),正Y(py.jpg),负Y(ny.jpg),正Z(pz.jpg) 和 负Z(nz.jpg),将他们分别赋给 6 个材质的贴图,作为立方体 box 的材质。


image.png



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


相关文章
|
11月前
|
算法 Java 微服务
2025 年 Java 面试宝典社招春招秋招实操全方位攻略
2025年Java面试宝典涵盖核心技术及最新趋势,分为四大板块:1. Java基础:深入数据类型、多态等特性,结合学生信息管理等实例;2. JVM核心:解析内存模型与GC算法,附多线程转账等场景应用;3. 高并发方案:详解synchronized与线程池配置,提供Web服务器优化案例;4. Spring生态:剖析IoC/AOP原理,演示微服务架构实现。特别新增Java 17+特性实操,包括Record类、密封接口等语法糖,整合Spring Boot 3、响应式编程及云原生技术,通过订单状态机、API网关配置。
498 1
|
安全 数据库 数据安全/隐私保护
处理用户输入数据格式验证不通过的情况时,如何给出友好的提示信息?
处理用户输入数据格式验证不通过的情况时,如何给出友好的提示信息?
1089 78
|
人工智能 自然语言处理 负载均衡
评测|零门槛,即刻拥有DeepSeek-R1满血版
DeepSeek是阿里云推出的一款强大的推理模型,尤其擅长处理数学、代码和自然语言等复杂任务。其在少量标注数据下显著提升推理能力,吸引了众多开发者关注。阿里云提供的零门槛、即刻拥有的DeepSeek-R1满血版解决方案,支持便捷的云上调用和部署,无需编码,最快5分钟、最低0元即可部署实现。该方案具备负载均衡和自动扩缩容机制,保障API调用稳定性,并提供Chatbox可视化界面简化调用流程,极大降低了使用门槛和成本,适合新手和企业用户快速上手。
1593 1
评测|零门槛,即刻拥有DeepSeek-R1满血版
|
存储 缓存 NoSQL
分布式架构下 Session 共享的方案
【10月更文挑战第15天】在实际应用中,需要根据具体的业务需求、系统架构和性能要求等因素,选择合适的 Session 共享方案。同时,还需要不断地进行优化和调整,以确保系统的稳定性和可靠性。
814 55
|
传感器 机器学习/深度学习 存储
物联网设备精细化管理系统解决方案
随着科技的进步,物联网技术作为新一代信息技术的核心部分,正在深刻改变各行业的生产和管理方式。其在资产管理、智慧城市、能源管理和智慧医疗等多个领域的广泛应用,不仅提高了运营效率,还促进了资源优化配置和精细化管理。本文详细介绍了物联网的基础概念及其在设备精细化管理系统中的具体应用方案,展示了如何通过智能感知层建设、数据处理分析平台以及精细化管理应用,实现设备的实时监控、预测性维护和能耗管理等功能,从而帮助企业提升竞争力,降低成本,并推动社会向更智能化、绿色化的方向发展。
632 3
物联网设备精细化管理系统解决方案
|
人工智能 移动开发 HTML5
HTML5实现人机对战的国际象棋AI版
这是一个基于HTML5的国际象棋小游戏,它也提供人机对战,不过智商相对较低,我们称它为“Cheap AI”,像一个国际象棋初级入门的人都可以轻轻松松赢得比赛。如果你对人工智能感兴趣,你也可以改造这款国际象棋的机器智商,让它变得更为强大。
606 2
|
Java Android开发
Eclipse 运行配置(Run Configuration)
Eclipse 运行配置(Run Configuration)
458 1
|
Kubernetes Cloud Native Docker
使用 kubevpn 在本地快速开发云原生应用
KubeVPN 是一个用于云原生开发的工具,它允许用户通过本地计算机直接访问远程 Kubernetes 集群中的服务,利用 k8s DNS 或 Pod IP/Service IP。它可以拦截并调试服务网格中的工作负载流量,并提供开发模式,让容器在本地以与 k8s pod 相同的环境运行。快速开始包括下载二进制文件、自定义 Krew 安装、构建二进制文件以及安装示例应用。KubeVPN 支持链接到多个集群、DNS 解析、反向代理,以及在 Docker 中的开发模式,确保与 Kubernetes 运行环境一致。此外,它还兼容多种协议和平台。
870 5
|
JavaScript
Vue.js中的作用域插槽有什么特点和应用场景
Vue.js中的作用域插槽有什么特点和应用场景
236 2
Compass Arena: 司南x魔搭携手推出大模型竞技场
从Llama-3的问世,到参数规模空前的MoE模型,再到GPT-4o的震撼发布,大语言模型(LLM)的飞速进步让人目不暇接。然而,随着模型数量的增加,如何客观、公正地评估和比较这些模型的性能,亟待探索与解决的问题。