当前位置: 首页 > wzjs >正文

门户网站的建设意义百度入驻商家

门户网站的建设意义,百度入驻商家,人才网招聘网招聘,免费网站备案嗨,我是小路。今天主要和大家分享的主题是“threejs 安装教程”。 在当今的数字化时代,用户对视觉体验的要求越来越高。传统的2D网页已经无法满足所有需求,而三维(3D)图形技术则为前端开发者提供了新的方向。…

        嗨,我是小路。今天主要和大家分享的主题是“threejs 安装教程”。        

在当今的数字化时代,用户对视觉体验的要求越来越高。传统的2D网页已经无法满足所有需求,而三维(3D)图形技术则为前端开发者提供了新的方向。

Three.js 是一个强大的 JavaScript 库,专门用于创建和展示复杂的3D图形,并且可以直接在浏览器中运行。本文将为你详细介绍在项目开发过程中如何创建vue3项目,并在vue3结合Three.js进行3D网页的开发,帮助你快速入门并创建令人惊叹的3D网页应用。

一、创建vue3项目

1.安装nvm

注意:想要创建vue3项目,前提是安装对应的nodejs。在实际的开发中,我们经常会遇到不同的项目使用不同的nodejs版本,就会出现频繁切换nodejs的情况。为了解决这个问题,推荐小伙伴们使用nvm安装nodejs。具体的安装教程,可以点击查看以下链接:NVM 重新设置开发环境-CSDN博客

2.安装vue3

注意:在安装nvm时,注意下载对应的nodejs版本。这个项目中主要使用的nodejs是18.20.2版本。在nodejs安装完成之后,紧接着安装对应的vite,并运用vite创建vue项目。具体的步骤可以参考以下的npm命令:

#安装vite
npm install vite --save-dev   #创建vue项目
npm create vite myCase1 --template vue#项目初始化  进入到myCase1项目,安装对应的依赖
cd myCase1
npm install
#启动项目
npm run dev

3.安装vue-router

注意:router的安装步骤,可以参考以下链接:
vue3 创建vue-router-CSDN博客

vue2 配置router_vue2 router.js-CSDN博客

二、安装threejs

1、vue安装threejs

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

3、加载three.js

three.js依赖可以直接在对应的页面中进行加载。如下图:

3、按照概念搭建示例

<template><div class="pageBox"><div class="leftBox" ref="leftRef"></div><div class="rightBox"></div></div></template>
<script setup>
import { onMounted, reactive, ref } from 'vue';
import * as THREE from 'three';
// 引入轨道控制器扩展库OrbitControls.js
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
// 设置相机控件轨道控制器OrbitControls
const leftRef = ref();
// 定义相机输出画布的尺寸(单位:像素px)
let width = 800; //宽度
let height = window.innerHeight; //高度
// 创建3D场景对象Scene
const scene = new THREE.Scene();// 实例化一个透视投影相机对象
const camera = new THREE.PerspectiveCamera(50, width / height, 2, 6000);//创建一个长方体几何对象Geometry
const geometry = new THREE.BoxGeometry(50, 50, 50);//创建一个材质对象Material
const material = new THREE.MeshBasicMaterial({color: 0xff0000,//0xff0000设置材质颜色为红色
});
//将集合形体和材质融合
const mesh = new THREE.Mesh(geometry, material); //网格模型对象Mesh// 创建渲染器对象
const renderer = new THREE.WebGLRenderer();onMounted(() => {initData()render();//添加相机空间const controls = new OrbitControls(camera, renderer.domElement);// 如果OrbitControls改变了相机参数,重新调用渲染器渲染三维场景controls.addEventListener('change', function () {renderer.render(scene, camera); //执行渲染操作});//监听鼠标、键盘事件//当窗口发生改变时,触发时间,重新渲染window.onresize = () => {height = window.innerHeight;width = window.innerWidth / 2;renderer.setSize(width, height); //设置three.js渲染区域的尺寸(像素px)initData()}
})
const initData = () => {//设置网格模型在三维空间中的位置坐标,默认是坐标原点mesh.position.set(0, 10, 0);scene.add(mesh);//相机在Three.js三维坐标系中的位置// 根据需要设置相机位置具体值camera.position.set(200, 200, 200);camera.lookAt(mesh.position);//指向mesh对应的位置// AxesHelper:辅助观察的坐标系const axesHelper = new THREE.AxesHelper(150);scene.add(axesHelper);renderer.setSize(width, height); //设置three.js渲染区域的尺寸(像素px)//将innerHTML置空,避免append重复添加渲染leftRef.value.innerHTML = ''leftRef.value.append(renderer.domElement);
}
//渲染
const render = () => {renderer.render(scene, camera); //执行渲染操作mesh.rotateY(0.01);//每次绕y轴旋转0.01弧度mesh.rotateX(0.01);//每次绕x轴旋转0.01弧度mesh.rotateZ(0.01);//每次绕z轴旋转0.01弧度//重复渲染requestAnimationFrame(render);//请求再次执行渲染函数render,渲染下一帧
}</script>
<style scoped lang="less">
.pageBox {width: 100%;height: 100vh;padding: 0;margin: 0;display: flex;justify-content: space-between;align-items: center;.rightBox {width: 100%;height: 100%;background: yellow;}
}
</style>

三、回顾反思

1.项目流程

注意:视图效果基础的三要素是场景、相机和渲染。

第一步将需要创建的几何形和材质融合在一起,形成新的对象;第二步将相机聚焦新对象的位置,在屏幕展示出来;最后再将整个项目进行持续渲染,呈现整个3D模型渲染效果。

其它项目的不同就是在这基础上进行进行细化,深化。

2.遇到页面高宽变动时,几何图形运转加快

注意:在渲染的过程中,注意将innerHTML进行清空,因为append会将项目加载在父类上,不会删除原来存在的实例,会直接在父类的末尾添加子元素,导致几何体在一个定位上重复添加,呈现快速转动的效果。

希望这篇推广文能够帮助你更好地理解和使用 Three.js,激发你的创造力,让你在3D网页开发的世界里大放异彩!既然都看到这里了,记得【点赞】+【关注】+【收藏】哟。

参考文章:

3. 开发和学习环境,引入threejs | Three.js中文网

http://www.dtcms.com/wzjs/57229.html

相关文章:

  • 织梦网站怎么做下载地址企业网络营销推广方案策划
  • o2o网站建设行情河北seo技术
  • 做算法题网站上首页的seo关键词优化
  • 鹤山网站建设易搜互联百度站长工具平台
  • 网站建设人员需求优化网站软文
  • 智慧旅游网站建设方案ppt附近广告公司联系电话
  • 科迪兔网站建设百度账号个人中心
  • 网站建设的相关政策成品视频直播软件推荐哪个好一点
  • 百度做网站的电话百度识图扫一扫入口
  • webform做网站 适应屏幕大小小程序商城
  • 品牌建设总结seo优化网络
  • 南昌p2p网站建设公司成都网络推广优化
  • 做网站的软件项目进度计划产品软文范例
  • 网站规划与建设规划书可以免费发外链的论坛
  • 坪山网站建设设计百度搜索引擎入口
  • 网站建设 骏域网站建设专家搜索引擎优化岗位
  • 一条龙做网站单页关键词优化费用
  • 线上做笔记的网站武汉seo网站排名优化公司
  • 网站建设的知识和技能sem工资
  • json做网站的数据库网页免费制作网站
  • 装潢设计学校有哪些深圳seo外包
  • 厦门建站最新消息江苏网站seo设计
  • 简述如何对网站进行推广?学生个人网页制作素材
  • 苏中建设官方网站杭州百度百科
  • 做易经类的网站网站访问量查询工具
  • wordpress文章自定义字段网站seo外链
  • 深圳做消防工程的公司网站seo链接购买
  • 做网站好迷茫搜索引擎优化内容包括哪些方面
  • 网站建设公司怎么做业务seo网站优化详解
  • 在日本网站做推广渠道沈阳黄页88企业名录