Threejs进阶之八:使用Sky和Water创建蓝天大海

阅读: 评论:0

Threejs进阶之八:使用Sky和Water创建蓝天大海

Threejs进阶之八:使用Sky和Water创建蓝天大海

这一节我们使用Threejs提供的Sky和Water来创建天空和大海的效果,实现游轮随水波浮动效果,先看下最终效果

话不多说,直接开干,在前面的vue项目中新建组件,

新建SeaView.Vue组件

在components文件夹新建SeaView.Vue组件,并在template模板中新建一个id为scene的div作为threejs的容器

<template><div id="scene"></div>
</template>
<script setup>
</script>
<style scoped>
</style>

App.vue中引用SeaView.vue组件

在App.vue中引用SeaView.vue组件

<template> <sea-view></sea-view>
</template>
<script setup>
import SeaView from './components/SeaView.vue';  
</script>
<style scoped> 
</style>

引入Threejs并初始化

在SeaView.Vue的script标签里引入Threejs并初始化场景,这些就不再细说了,不了解的看前面的文章

import * as THREE from 'three'
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls' 
import { onMounted } from 'vue'
let scene,camera,renderer,controls,water,sun,yacht
let mesh = []
onMounted(()=>{init()
})
function init() {initScene()initCamera()initAxesHelper()initLight()initRenderer()initControls() animate() window.addEventListener('resize',onWindowResize.bind(this))
}
// 初始化场景
function initScene() {scene = new THREE.Scene()scene.background = new THREE.Color(0x808080)
}
// 初始化相机
function initCamera() {camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000)camera.position.set(2,2,2)
}

本文发布于:2024-01-29 00:01:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645768011256.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进阶   蓝天   大海   Threejs   Water
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23