先看下最终实现的效果
接下来,我们就从创建项目开始,一步一步实现这个效果
pnpm create vite bmw-app --template vue
创建项目在控制终端中输入pnpm i three
安装threejs插件,安装完成后,我们可以通过在App.vue中使用import引入threejs,然后通过控制台打印的方式验证threejs是否安装成功
引用代码如下:在script标签中添加如下代码
<script setup>
import * as THREE from 'three'//导入three.js核心库
console.log(THREE)
</script>
刷新浏览器,打开开发者工具,可以看到控制台已经输出了Module对象,说明threejs已经正确安装,可以在项目中使用了
删除vite构建工具为我们自动创建的代码,清空App.vue中的style标签样式
清空style.css中的样式,设置如下像素
*{
margin: 0;
padding: 0;
list-style: none;
}
删除vite构建工具为我们创建的components文件夹下的HelloWorld.vue文件
在components文件夹下新建CarView.vue文件
在CarView.vue文件的template标签中创建HTML标签,构建HTML页面
在template标签中创建一个div,设置id为scene,作为threejs的容器
<template>
<div id="scene"></div>
</template>
创建5个div标签,作为车辆颜色选择的按钮使用,代码如下
<template>
<div id="scene"></div>
<div class="car-color">
<div class="color1">
<div class="color-white" @click="setCarColor('#c0c0c0')">
</div>
<span>亮银色</span>
</div>
<div class="color1">
<div class="color-blank" @click="setCarColor('#222')">
</div>
<span>星际黑</span>
</div>
<div class="color1">
<div class="color-red" @click="setCarColor('#ff0000')">
</div>
<span>中国红</span>
</div>
<div class="color1">
<div class="color-green" @click="setCarColor('#9dc209')"