three.js - 将视频纹理一分为二
问题描述
我有一个视频纹理,我必须将其剪辑为 2 个部分,即纹理的大小为 1920 * 1080,我必须将此视频纹理剪辑为 1920 * 540,将剩余的纹理剪辑为另一个纹理并将它们输入到两个不同的着色器中。我不确定是否应该使用着色器或threejs 进行剪辑。如何剪辑此视频纹理?
解决方案
我会在两个平面模型上使用相同的纹理,但更改平面的 UV 坐标以显示您想要的纹理的任何部分。
基本上得到平面的几何图形,遍历它的 faceVertexUVs 并将每个的 x 乘以 0.5,然后在第二个对象上,将 x 也加 0.5。
第一个平面将缩短视频的左半部分,而右面将显示右半部分。
一个可能效率较低但可能可行的解决方案是 .clone() 视频纹理.. 设置其 .offset 和 .scale 以将映射移动到您想要的位置...并将第一个纹理应用于左侧平面上的垫子,和右半边的第二个......但我不推荐这种方法。
推荐阅读
- ksh - 删除早于当天开始的文件
- sql-server - 从 DB2 中的表更新 DB1 的表时,找不到多部分标识符错误
- r - 在条形图中使用离散颜色映射,并在 R 中的箱形图上使用抖动
- javascript - 如何在 Typescript 中推送数组中的元素
- ssl - 尝试使用 2 路 SSL 建立 Kafka 但出现错误
- android - 自定义通知 RemoteView 在向左或向右滑动时关闭
- java - JAVA:当日志文件要翻转时在应用程序中暂停
- amazon-web-services - Redshift 工作负载管理规则含义
- sharepoint - 我在哪里可以获得共享点页面的源代码?
- angular2-routing - 这个路由代码有什么问题 - Angular 8