vue+ThreeJS:从0 到1 搭建开发环境

news2024/11/24 10:29:26

在这里插入图片描述

文章目录

  • 一、下载安装(懒人版)
  • 二、顺序安装
    • 1,下载安装nodejs
    • 2,安装vue-cli
    • 3,创建vue-three 项目。
    • 4,安装threeJS
    • 5,安装element UI (选装)
    • 最终package.json文件如下:

本系列教程是在vue2.X的基础上加载threeJS程序,来开发各种示例程序。

一、下载安装(懒人版)

下载vue-three系统包,npm install, npm run serve 就可以运行。

二、顺序安装

1,下载安装nodejs


下载地址:https://nodejs.org/en/download/ 根据用户自己的机器情况进行选择不同版本的软件下载。 本教程示例采用是是windows 64位系统软件。
安装过程很简单,一路下一步。
安装成功,测试安装是否成功,运行CMD,分别输入
node -v** 和 npm -v 分别查看node和npm的版本号。
可以查到,表示安装成功。

2,安装vue-cli

安装可以参考:https://cli.vuejs.org/zh/guide/installation.html
安装命令:

npm install -g @vue/cli
或者 yarn global add @vue/cli (尽量不用这种方式,yarn不会自己配置环境变量,运行vue -V会提示错误)


安装完后,可以通过 vue -V或者 vue --version 查看当前 vue-cli的版本号。

3,创建vue-three 项目。

在系统中找一个文件夹,如d:/demos中,打开cmd窗口,使用 vue create vue-three 来创建基础项目

在项目中选择了 vue-router和vuex,方便以后的路由和组件数据传递使用方便。

4,安装threeJS

进入到vue-three文件夹中, 打开cmd窗口,使用 npm install three --save 来安装three组件

5,安装element UI (选装)

为了在项目中操作方便,我们直接引用elementUI组件,方便添加一些按钮,弹窗等。
进入到vue-leaflet 文件夹中, 打开cmd窗口,使用 npm i element-ui -S 来安装elementUI组件
在src/main.js中添加

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

在这里插入图片描述

最终package.json文件如下:

在这里插入图片描述

打开src/views/Home.vue,替换为以下代码:

<template>
	<div class="container">
		<h3>vue+Three: 不断翻转的立体箱体</h3>
		<p>大剑师兰特, 还是大剑师兰特</p>

		<div id="vue-three"></div>

	</div>
</template>

<script>
	import * as THREE from "three";
	export default {
		data() {
			return {

			}
		},
		methods: {
			initThree() {
				//场景
				var scene = new THREE.Scene();

				// 相机
				var camera = new THREE.PerspectiveCamera(75, 2, 0.5, 1000);
				camera.position.z = 5;

				// 渲染器
				var renderer = new THREE.WebGLRenderer();
				renderer.setSize(960, 530);
				let dom = document.getElementById('vue-three');
				dom.appendChild(renderer.domElement);

				// 几何体
				var geometry = new THREE.BoxGeometry(2, 2, 2);

				// 材质
				var material = new THREE.MeshBasicMaterial({
					color: 0xffff00
				});

				// 物体
				var cube = new THREE.Mesh(geometry, material);
				scene.add(cube);

				function animate() {
					requestAnimationFrame(animate);
					cube.rotation.x += 0.01;
					cube.rotation.y += 0.01;
					renderer.render(scene, camera);
				}

				animate();
			},
		},
		mounted() {
			this.initThree();
		}

	}
</script>
<style scoped>
	.container {
		width: 1000px;
		height: 660px;
		margin: 10px auto;
		border: 1px solid #42B983;
	}

	#vue-three {
		width: 960px;
		height: 530px;
		margin: 0 auto;
		border: 1px solid #42B983;
		position: relative;
	}
</style>


进入到vue-three 文件夹中, 打开cmd窗口,执行命令:
npm run serve
浏览器打开http://localhost:8080,就能显示我们的第一个地图。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2114940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言深入理解指针3

1.字符指针变量 在指针类型中char*是字符指针 int main() {char ch w;char* pc &ch;//pc是字符指针变量//字符指针变量是用来存放地址的const char* p "abcsefghi";// 不是将abcdefghi\0存放到p中// 而是将首字符a的地址存放在p中// "abcsefghi"是…

逻辑代数的基本规则

目录 逻辑代数的基本规则 带入规则 反演规则 对偶规则 逻辑代数的基本规则 带入规则 将逻辑等式两边的某一变量均用同一个逻辑函数代替&#xff0c;等式仍然成立。 可以用A非代替A&#xff0c;也可以用C代替B。 也可使用BC这样一个整体代替B。 反演规则 可以把与换或&#x…

营养作用的对象是有区别的 第八篇

除了7大营养素 还需要补充其他营养素 食品营养学 临床营养学 大众营养学 食品营养学 你要早点就开始预防

怎么强制撤销excel工作表保护?

经常不是用的Excel文件设置了工作表保护&#xff0c;偶尔打开文件的时候想要编辑文件&#xff0c;但是发现忘记了密码&#xff0c;那么这种情况&#xff0c;我们怎么强制撤销excel工作表保护&#xff1f;今天分享两种解决方法。 方法一、 将excel文件转换为其他文件格式&…

C语言进阶【1】--字符函数和字符串函数【1】

本章概述 字符分类函数字符转换函数strlen的使用和模拟实现strcpy的使用和模拟实现strcat的使用和模拟实现strcmp的使用和模拟实现彩蛋时刻&#xff01;&#xff01;&#xff01; 字符分类函数 字符&#xff1a; 这个概念&#xff0c;我们在以前的文章中讲过了。我们键盘输入的…

通信工程学习:什么是MPC多媒体个人计算机、MCS多媒体计算机系统

一、MPC多媒体个人计算机&#xff08;Multimedia Personal Computer&#xff09; 1、MPC多媒体个人计算机定义 多媒体个人计算机&#xff08;MPC&#xff09;是指具备处理多媒体信息&#xff08;如音频、视频、图像、动画和文本等&#xff09;能力的个人计算机。它不仅具备传统…

html记账本改写:保存数据 localStorage。

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>记账本改写</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid…

数据集 3DPW-开源户外三维人体建模-姿态估计-人体关键点-人体mesh建模 >> DataBall

3DPW 3DPW-开源户外三维人体建模数据集-姿态估计-人体关键点-人体mesh建模 开源户外三维人体数据集 inproceedings{vonMarcard2018, title {Recovering Accurate 3D Human Pose in The Wild Using IMUs and a Moving Camera}, author {von Marcard, Timo and Henschel, Robe…

从“游戏科学”到玄机科技:《黑神话:悟空》的视角打开动漫宇宙

近日&#xff0c;中国游戏界迎来了一场前所未有的盛事——由游戏科学公司开发的《黑神话&#xff1a;悟空》正式上线&#xff0c;并迅速成为全球玩家热议的焦点。在居高不下的讨论热度中&#xff0c;有人说他的成功在于对《西游记》为背景进行改编&#xff0c;对原著进行了分析…

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的&#xff0c;彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在…

1 模拟——67. 二进制求和

1 模拟 67. 二进制求和 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a "11", b "1" 输出&#xff1a;"100" 示例 2&#xff1a; 输入&#xff1a;a "1010", b "…

单GPU一分钟生成16K高清图像!新加坡国立发布LinFusion:无缝兼容Stable Diffusion插件

论文链接&#xff1a;https://arxiv.org/pdf/2409.02097 Git链接&#xff1a;https://lv-linfusion.github.io/ 亮点直击 本文研究了Mamba的非因果和归一化感知版本&#xff0c;并提出了一种新颖的线性注意力机制&#xff0c;解决了扩散模型在高分辨率视觉生成中的挑战。 本文…

Vue——day11之生命周期

目录 生命周期的八个阶段 生命周期执行的流程图 代码示例 总结 Vue的生命周期是指在Vue实例创建、挂载、更新和销毁过程中&#xff0c;会触发的一系列钩子函数。这些钩子函数可以用来在不同的生命周期阶段执行相应的逻辑操作。 生命周期的八个阶段 Vue的生命周期可以分为…

Github 2024-09-08 php开源项目日报 Top10

根据Github Trendings的统计,今日(2024-09-08统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量PHP项目10TypeScript项目1JavaScript项目1Laravel: 以优雅语法简化Web开发 创建周期:4028 天开发语言:PHP协议类型:MIT LicenseStar数量:30…

gazebo 已加载模型但无法显示

目录 写在前面的话问题一&#xff1a;robot_state_publisher 发布机器人信息失败报错一 Error: Error document empty.报错二 .xcaro 文件中有多行注释成功启动 问题二&#xff1a;通过 ros2 启动 gazebo 失败成功启动 问题三&#xff1a;gazebo 崩溃和无法显示模型问题四&…

使用LSTM(长短期记忆网络)模型预测股票价格的实例分析

一&#xff1a;LSTM与RNN的区别 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种特殊的循环神经网络&#xff08;RNN&#xff09;架构。LSTM是为了解决传统RNN在处理长序列数据时遇到的梯度消失或梯度爆炸问题而设计的。 在传统的RNN中&#xff0c;信息通过隐藏状…

电动机制造5G智能工厂工业物联数字孪生平台,推进制造业数字化转型

电动机制造5G智能工厂工业物联数字孪生平台&#xff0c;推进制造业数字化转型。5G智能工厂与物联数字孪生平台的融合应用&#xff0c;为电动机制造业的数字化转型铺设了一条高速通道。这一创新模式不仅极大地提升了生产效率&#xff0c;还深刻改变了产品的设计、生产、管理及运…

在全球化时代成为超级个体:Web3、个人品牌与AI工具的融合

随着Web3技术和人工智能的快速发展,个人品牌建设与创作者经济正在迎来前所未有的机遇。《Web3Brand》是一个专注于帮助用户理解Web3技术、建立和增强个人品牌、提升创作者经济实力,并利用AI工具提高工作效率的平台。本文将探讨该博客如何通过提供播客、案例分析、策略指南和工…

redis内存清理和linux系统清理缓存以及redis启动

1清空所有数据库 redis-cli FLUSHALL 2清空所有数据库redis-cli FLUSHDB 3. 删除指定的缓存键 redis-cli DEL <key>4. 设置键过期 redis-cli EXPIRE <key> <seconds>例如&#xff1a; redis-cli EXPIRE mykey 605.启动redis 这个启动命令要在/usr/loca…

sql 中名字 不可以 包含 mysql中 具有 特定意义 的单词

这种sql执行不报错 这种sql执行报错 所以sql中名字不可以使用mysql中具有特定意义的单词 以此文章作为警告&#xff0c;我下次起名字不可以使用 mysql中具有特殊意义的字符 就因为这个导致我搞了一个多小时&#xff0c;急死我了&#xff0c;周五就要前后端联调了。下次千万不…