npm i three
--------------------------------------------
<template>
<div id="t-container">
<div class="title">基础示例</div>
</div>
</template>
<script>
import * as THREE from 'three'
let camera, scene, renderer
let geometry, material, mesh
export default {
data() {
return {
menus: []
}
},
props: {},
computed: {},
components: {},
watch: {},
methods: {
init() {
camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 0.01, 10) // *** 相机
camera.position.z = 1
scene = new THREE.Scene() // *** 场景
geometry = new THREE.BoxGeometry(0.2, 0.2, 0.2) // 几何图形
material = new THREE.MeshNormalMaterial() // 外观材质
mesh = new THREE.Mesh(geometry, material) // 网格
scene.add(mesh)
renderer = new THREE.WebGLRenderer({ antialias: true }) // *** 渲染器
renderer.setSize(window.innerWidth, window.innerHeight)
let contain = document.getElementById('t-container')
contain.appendChild(renderer.domElement)
renderer.render(scene, camera)
},
animate() {
requestAnimationFrame(this.animate)
mesh.rotation.x += 0.01
mesh.rotation.y += 0.02
renderer.render(scene, camera)
},
demo1() {
this.init()
this.animate()
},
},
mounted() {
this.demo1()
}
}
</script>
<style lang="scss" scoped>
.title {
position: absolute;
top: 0;
left: 0;
color: #fff;
}
</style>
three.js 基础展示
最新推荐文章于 2024-05-15 02:20:25 发布