vue3+three.js给glb模型设置视频贴图

1.在网上下载一个显示屏或者自己画一个,在blender中设置好显示屏的Mesh,UV设置好,这样方便代码中添加纹理贴图。可以让美术在建模软件中,先随机设置一张图片作为纹理,验证UV是否设置好

关于如何 在blender中给模型设置UV贴图百度很多的

typescript 复制代码
// 视频
import * as THREE from "three"
// 加载建筑模型
import {
  GLTFLoader
} from 'three/examples/jsm/loaders/GLTFLoader.js'
import {
  DRACOLoader
} from 'three/examples/jsm/loaders/DRACOLoader'
export function getVideo(th) {
  console.log('th', th) // this
  var that = th
  const loader = new GLTFLoader().setPath('/models/')
  const dracoLoader = new DRACOLoader()
  dracoLoader.setDecoderPath('/draco/')
  loader.setDRACOLoader(dracoLoader)
  loader.load("SP.glb", function (gltf) {
    gltf.scene.position.set(-50, 0, 90); // 模型位置
    gltf.scene.rotation.y = Math.PI; // 180度等于PI弧度
    gltf.scene.traverse(function (child) {
      console.log('child', child)
      child.castShadow = true;
      child.receiveShadow = true;
      // 下面的这几个判断,就是用来给模型添加视频的
      if (child.name === '显示屏') {
        let video = document.createElement('video');
        video.src = "/public/data/123.mp4";
        video.muted = true;
        video.autoplay = "autoplay";
        video.loop = true;
        video.play();
        const videoTexture = new THREE.VideoTexture(video);
        const videoMaterial = new THREE.MeshBasicMaterial({
          map: videoTexture
        });
        console.log('videoMaterial', videoMaterial)
        child.material = videoMaterial; 
      }
    });
    // 设置模型的大小
    const modelScale = 2.5; // 定义模型的缩放比例
    gltf.scene.scale.set(modelScale, modelScale, modelScale);
    that.scene.add(gltf.scene);
  });
}

结果

相关推荐
2601_9654490841 分钟前
新闻视频自动化:从采集、清洗到成片的工程化实践
信息可视化·自动化·音视频
码流子1 小时前
毫米波雷达+视频融合(雷视一体)在高速事件检测里怎么落地:从目标级融合到事件级研判
大数据·人工智能·音视频
Industio_触觉智能1 小时前
瑞芯微RK平台视频硬解排障指南-下|板端实测记录
音视频·视频编码·视频编解码·零拷贝·gstreamer·视频解码·rk3576
企业数字化笔记2 小时前
视频加放大特写后音画不同步怎么办?OpenCV转场与FFmpeg音轨续接实战
opencv·ffmpeg·音视频
I Am a robert girl2 小时前
当视频预测遇上辛几何:拆解 LHFM 的拉格朗日-哈密顿流框架
深度学习·计算机视觉·音视频·视频预测·辛几何·哈密顿力学·拉格朗日力学
DogDaoDao2 小时前
声音、图像、视频是如何形成的:从物理量到比特流的完整链条
图像处理·数学·音视频·音频·数字信号处理·视频处理·音视频编解码
yikegis2 小时前
手机拍视频太多,内存不够用了怎么办?(怎么压缩视频)
智能手机·音视频
音视频牛哥2 小时前
从 RTSP、RTMP 到 WHIP:SmartMediaKit 的技术演进与工程实践
音视频·whip推流·whep播放器·rtsp转whip推流·rtmp转whip推流·安卓摄像头推送whip·webrtc推流
公子小六2 小时前
基于.NET的Windows窗体编程之WinForms自定义控件(3)
windows·c#·.net·音视频·winforms
jiangyoushushu3 小时前
FLAC手机播不了?转成MP3会更方便
音视频·音频