- 1.基础知识点:
- 资源加载器: type="video-texture" 可以设置很多video属性
<xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded">
<xr-asset-load
type="video-texture" asset-id="cat"
src="https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/videos/cat.mp4" options="autoPlay:true,loop:true,abortAudio:false,placeHolder:https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/videos/cat.jpg"
/>
</xr-assets>
- 网格:
<xr-mesh
node-id="mesh-cube" scale="1.6 0.9 0.9"
geometry="cube" material="standard-mat"
uniforms="u_baseColorMap:video-cat"
cube-shape="autoFit:true"
bind:touch-shape="handleTouchCube"
/>
注明:作为普通纹理
对mesh的uniforms设置为对应的视频即可
整体代码:
<xr-scene id="xr-scene" bind:ready="handleReady">
<xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded">
<xr-asset-load
type="video-texture" asset-id="cat"
src="https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/videos/cat.mp4" options="autoPlay:true,loop:true,abortAudio:false,placeHolder:https://mmbizwxaminiprogram-1258344707.cos.ap-guangzhou.myqcloud.com/xr-frame/demo/videos/cat.jpg"
/>
<xr-asset-material asset-id="standard-mat" effect="standard" />
</xr-assets>
<xr-node>
<xr-node node-id="target" />
<xr-mesh
node-id="mesh-cube" scale="1.6 0.9 0.9"
geometry="cube" material="standard-mat"
uniforms="u_baseColorMap:video-cat"
cube-shape="autoFit:true"
bind:touch-shape="handleTouchCube"
/>
<xr-camera
id="camera" node-id="camera" position="0 0 3" clear-color="0.925 0.925 0.925 1"
target="target" camera-orbit-control=""
></xr-camera>
</xr-node>
<xr-node node-id="lights">
<xr-light type="ambient" color="1 1 1" intensity="1" />
<xr-light type="directional" rotation="40 0 0" color="1 1 1" intensity="3"/>
</xr-node>
</xr-scene>
- 注明:代码来源于微信开放平台