vanta.js + tree.js +vue3 实现3d页面
使用vanta.js 搭建酷炫3d网页

NPM地址
网页地址
<template>
<div ref="loginPageRef" class="3dPage">
自定义页面内容
</div>
</template>
<script lang="ts" setup>
import * as THREE from 'three'
import NET from 'vanta/dist/vanta.waves.min'
let vantaEffect = null
onMounted(() => {
if (loginPageRef.value) {
vantaEffect = NET({
el: loginPageRef.value,
THREE,
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.0,
minWidth: 200.0,
scale: 1.0,
scaleMobile: 1.0,
})
}
console.log(vantaEffect)
})
onBeforeUnmount(() => {
if (vantaEffect) vantaEffect.destroy()
})
</script>
<style lang='less' scoped>
.3dPage{
width: 100%;
height: 100vh;
}
</style>
本文展示了如何在vue3项目中结合vanta.js和tree.js创建动态3D背景效果。代码示例中,利用vanta.js的waves效果,配合THREE库,在<div>元素上应用3D特效,并在组件的生命周期方法onMounted和onBeforeUnmount中进行初始化和销毁操作,确保效果的正确显示和资源释放。
661

被折叠的 条评论
为什么被折叠?



