ITPub博客

首页 > 数据库 > 数据库开发技术 > 【02】vue2中使用three.js绘制一个可移动的几何体【实战】

【02】vue2中使用three.js绘制一个可移动的几何体【实战】

原创 数据库开发技术 作者:小南瓜开发平台 时间:2023-03-08 00:01:00 0 删除 编辑

导语

这一节我们通过创建一个vue项目,并在vue中使用three.js绘制一个几何体。

1、创建项目

1.第一步:安装vue-cli

cnpm install vue-cli -g      //全局安装 vue-cli

查看vue-cli是否成功,不能检查vue-cli,需要检查vue


cli2 创建项目

vue init webpack  testthree


现在项目已经创建好了,那就让项目先安装下依赖再运行一下,会出现下面的页面,操作指令是:

cnpm install

cnpm run dev



项目运行成功

2、安装threed.js


3、在项目中使用three.js

修改APP.VUE文件的内容如下:

<template>  <div class="container" ref="container">
</div></template>
<script >import * as THREE from "three";import { ref } from "vue";//添加一个轨道控制器import { OrbitControls} from "three/examples/jsm/controls/OrbitControls";export default { name: 'App', data() { return { renderer: null, scene: null, camera: null, } }, beforeCreate() { console.log("beforeCreate"); }, beforeMount() { console.log("beforeMount"); }, created() {
},

mounted() { //初始化场景 const scene = new THREE.Scene(); //初始化相机 const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000); //设置相机位置 camera.position.z =5; //初始化渲染器 const renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth,window.innerHeight); // const container = ref(null); //添加控制器 const controls = new OrbitControls(camera,this.$refs['container']); controls.enableDamping = true;//阻尼 this.$refs['container'].appendChild(renderer.domElement); this.renderer=renderer; this.scene=scene; this.camera=camera; this.renders(); // renderer.render(scene,camera);
/* const render { renderer.render(scene,camera); requestAnimationFrame(renderer); } */ //添加立方体 const geometry = new THREE.BoxGeometry(1,1,1); const material = new THREE.MeshBasicMaterial({color: 0X00FF00}); const cube = new THREE.Mesh(geometry,material); scene.add(cube);




}, methods: { renders(){
this.renderer.render(this.scene,this.camera); // requestAnimationFrame(this.renders());//此行代码会出现threejs requestAnimationFrame 导致的call stack超出上限的问题 requestAnimationFrame( this.renders.bind(this) );

}
}}</script>
<style> *{ margin: 0; padding: 0; }.container{ height: 100vh; width: 100vw; background-color: #f0f0f0;}</style>


重新启动项目后,就可以看到一个绿色可拖动的几何体了


原文作者:小南瓜开发平台;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-08-21

  • 博文量
    209
  • 访问量
    89526