当前位置:首页 > 科技  > 软件

Vue 构建 3D 模型全新方案,TresJS 火啦?

来源: 责编: 时间:2024-06-11 17:47:36 291观看
导读Hello,大家好,我是 Sunday。说起 3D 模型构建,大家最先想到的应该就是 ThreeJS 了。但是 ThreeJS 本身是基于 WebGL 构建的 3D 模型库,学习曲线较高。特别是和 Vue 这种框架配合使用时,很多同学就需要花费较多的时间才可以

Hello,大家好,我是 Sunday。gMn28资讯网——每日最新资讯28at.com

说起 3D 模型构建,大家最先想到的应该就是 ThreeJS 了。但是 ThreeJS 本身是基于 WebGL 构建的 3D 模型库,学习曲线较高。特别是和 Vue 这种框架配合使用时,很多同学就需要花费较多的时间才可以掌握使用的方式。gMn28资讯网——每日最新资讯28at.com

那么有没有更加简单、易上手的框架呢?答案肯定是 有的,它就是咱们今天要说的主角 TresJS。gMn28资讯网——每日最新资讯28at.com

图片图片gMn28资讯网——每日最新资讯28at.com

01:TresJS

1.1 与 vue 深度兼容

TresJS 提供了完善的中文文档,我们可以直接在他的官网查看 TresJS 的使用方式。gMn28资讯网——每日最新资讯28at.com

目前 TresJS 直接兼容 vue3 和 vite,我们可以通过如下方式对 TresJS 进行使用:gMn28资讯网——每日最新资讯28at.com

  1. 直接通过 npm 进行安装 pnpm add three @tresjs/core
  2. 以插件的形式(use) 进行安装
import { createApp } from 'vue'import Tres from '@tresjs/core'import App from './App.vue'export const app = createApp(App)app.use(Tres)app.mount('#app')
  1. 在组件中直接使用
<script setup lang="ts">import { TresCanvas } from '@tresjs/core'</script><template>  <TresCanvas>    <!-- Your scene here -->  </TresCanvas></template>

1.2 完善的中文文档

学习一个库,最好的方式就是通过文档进行学习。TresJS 提供了完善的中文文档,以刚才使用的 TresCanvas 为例:gMn28资讯网——每日最新资讯28at.com

图片gMn28资讯网——每日最新资讯28at.com

根据文档中的内容,我们可以很轻松的了解 TresCanvas 组件 的使用。gMn28资讯网——每日最新资讯28at.com

那么接下来,就让我们利用 TresJS 来完成一个基本的 3D 模型展示gMn28资讯网——每日最新资讯28at.com

02:TresJS 案例

2.1 3D 场景构建基础

在使用 TresJS 之前,我们先简单了解下 3D 场景构建基础,我们来看下面的图:gMn28资讯网——每日最新资讯28at.com

图片图片gMn28资讯网——每日最新资讯28at.com

在整个 3D 场景中,包含 4 个关键概念:gMn28资讯网——每日最新资讯28at.com

  1. 物体(objects) 可以是球体、平面、灯光、你最喜欢的角色的 3D 模型(幻灯片放映类似于单词的 3D 场景)
  2. 然后我们需要一个 相机(camera) 来观察这些物体并捕捉它们。
  3. 我们将所有内容包装在一个 场景(scene) 中,然后......
  4. 我们告诉 渲染器(render) 将所有内容渲染到 DOM Canvas 元素中。

2.2 创建项目并安装 TresJS

  1. 通过 vue create project 与 pnpm add three @tresjs/core 可直接创建项目并安装 TresJS。
  2. 参考 1.1 与 vue 深度兼容 中的代码可快速构建 tresjs 基础样式。
  3. 接下来,我们可以创建 相机(camera) 即可看到一个基本的效果。
<script setup>import { TresCanvas } from '@tresjs/core'</script><template> <TresCanvas clear-color="#82DBC5">  <TresPerspectiveCamera /> </TresCanvas></template><style>* { margin: 0; padding: 0;}#app { height: 100vh; width: 100vw;}</style>
  1. 有了相机之后,我们可以利用 TresMesh 组件创建基本的模型。
<TresCanvas clear-color="#82DBC5">  <!-- 相机 -->  <TresPerspectiveCamera />  <!-- 模型 -->  <TresMesh>    <TresBoxGeometry />    <TresMeshNormalMaterial />  </TresMesh></TresCanvas>
  1. 如果想要调整模型的位置,那么我们可以直接利用 TresMesh 组件的 props 进行修改。
<TresMesh :rotation="[Math.PI / 4, Math.PI / 2, 0]">  <TresBoxGeometry />  <TresMeshNormalMaterial /></TresMesh>

此时渲染效果如下:gMn28资讯网——每日最新资讯28at.com

图片图片gMn28资讯网——每日最新资讯28at.com

今天,咱们通过一个简单的示例了解了 TresJS 的用法。如果感觉 ThreeJS 学习复杂度高的同学,那么可以看下 TresJS ,或许可以为你带来不一样的开发体验呢?gMn28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-93082-0.htmlVue 构建 3D 模型全新方案,TresJS 火啦?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 七种JavaScript 中位运算符的神奇用法

下一篇: 使用 Spring Boot 结合断点续传技术和自动重连机制实现考试系统网络不稳定性的应对策略

标签:
  • 热门焦点
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

    前言在使用SpringBoot开发中或者在求职面试中都会使用到很多注解或者问到注解相关的知识。本文主要对一些常用的注解进行了总结,同时也会举出具体例子,供大家学习和参考。注解
  • 学习JavaScript的10个理由...

    作者 | Simplilearn编译 | 王瑞平当你决心学习一门语言的时候,很难选择到底应该学习哪一门,常用的语言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 在线图片编辑器,支持PSD解析、AI抠图等

    自从我上次分享一个人开发仿造稿定设计的图片编辑器到现在,不知不觉已过去一年时间了,期间我经历了裁员失业、面试找工作碰壁,寒冬下一直没有很好地履行计划.....这些就放在日
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
Top