Appearance
Video as screen
The screen prop accepts a video element.
The screen prop is unreactive, so when using it as a video it's important to only render the Mockup element when the video is loaded. Check out the code example to see how to do this.
WARNING
The video will not be visible on the model if it is set to display: none or visibility: hidden. Use opacity: 0; pointer-events: none; on the <video> element for best browser compatability.
WARNING
The video may not be autoplaying if the original <video> element is scrolled off screen. Some browsers check for viewport intersection so it may be best to set the video position to fixed.
Code example
<template>
<Mockup
v-if="vidReady"
:screen="videoElement"
/>
<video
:src="screenVideo"
ref="videoElement"
@canplay="vidReady = true"
muted
autoplay
loop
style="
position: fixed;
top: 0;
left: 0;
opacity: 0;
pointer-events: none;
"
></video>
</template>
<script setup>
import { ref } from 'vue';
import Mockup from 'vue-three-d-mockup';
import screenVideo from './assets/screen.mp4';
const videoElement = ref(null);
const vidReady = ref(false);
</script>