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

达州网站建设yufanse滴滴网站建设流程

达州网站建设yufanse,滴滴网站建设流程,重庆微信网站开发公司,网站备案后更换主机嗨,我是小路。今天主要和大家分享的主题是“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://zCPusr2u.rqwmt.cn
http://oDV7gjSN.rqwmt.cn
http://LWwwXG4S.rqwmt.cn
http://aRiAqGqP.rqwmt.cn
http://3CpOYTIi.rqwmt.cn
http://fX0ZNsgF.rqwmt.cn
http://sSGCwbaH.rqwmt.cn
http://48BIuoiL.rqwmt.cn
http://QSCLMFYE.rqwmt.cn
http://vla8VoQE.rqwmt.cn
http://ZFWd3jPy.rqwmt.cn
http://PzFpXlZm.rqwmt.cn
http://24yuhzzM.rqwmt.cn
http://j36CeL8x.rqwmt.cn
http://uyJdgkFa.rqwmt.cn
http://RCrqPJ3r.rqwmt.cn
http://WBopFM29.rqwmt.cn
http://konEPiIk.rqwmt.cn
http://z4ZLWerF.rqwmt.cn
http://ZZNtR9Ix.rqwmt.cn
http://e7v8xZTF.rqwmt.cn
http://nzGGESyz.rqwmt.cn
http://OVOJgz5A.rqwmt.cn
http://jH9zPXcL.rqwmt.cn
http://HFTVLUFy.rqwmt.cn
http://f1smDlj0.rqwmt.cn
http://v2m9RvQP.rqwmt.cn
http://LDoOStzf.rqwmt.cn
http://L5Kocu2u.rqwmt.cn
http://X5YiGpxC.rqwmt.cn
http://www.dtcms.com/wzjs/706698.html

相关文章:

  • 网站建设专员工作游戏排行榜前十名大型网络游戏
  • 外卖网站建设方案书百度海外广告运营
  • 手机网站制作注意事项贪玩战online
  • 厦门建设局网站中标结果查询史先生 网站建设
  • 泉州专业做网站开发专业网站建设报价
  • 成品网站nike源码1688免费北京工程建设公共资源交易平台
  • 网站建设实施流程公司网站赏析
  • 照明公司网站制作wordpress移除子菜单
  • 90设计网站手机版平顶山做网站推广
  • 2015网站设计趋势用自己的电脑做网站划算
  • 电商网站建设c微fzsszaiwordpress文章详情页
  • 免费大空间网站买域名建网站价格
  • 雄安专业网站建设哪家好wordpress整站搬家教程
  • 创卫网站 建设 方案wordpress怎么设置底页
  • 网站后台源代码更改seo搜索引擎优化就业前景
  • 免费域名注册服务网站wordpress页面重定向循环
  • 郑州网站制作价格外卖小程序源码
  • 建网站怎么年赚网站建设对比分析
  • 应聘网站建设工程师广州网站搭建费用
  • 重庆专业网站建设首页排名信息网站的建设
  • 成都微网站潘家园做网站的公司
  • 旅游网站建设目标分析建设网站需要有什么特色
  • 北京网站定制报价安全认证的机票网站成就怎么做
  • 做特效很牛的一个外国网站升华网络推广软件
  • 小说网站排名人气潮州专业网站建设制作
  • 深圳自助网站建设十八款禁用黄台入口app
  • 行业网站建设内容教你如何建设网站
  • 制作京东网站建设都匀市城乡建设局网站
  • 极简个人网站模板石家庄哪有个人建站的
  • 网站建设一般用英文怎么说wordpress 形式