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

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

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

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

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

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

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

01:TresJS

1.1 与 vue 深度兼容

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

目前 TresJS 直接兼容 vue3 和 vite,我们可以通过如下方式对 TresJS 进行使用:m9r28资讯网——每日最新资讯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 为例:m9r28资讯网——每日最新资讯28at.com

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

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

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

02:TresJS 案例

2.1 3D 场景构建基础

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

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

在整个 3D 场景中,包含 4 个关键概念:m9r28资讯网——每日最新资讯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>

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

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

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

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

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

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

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

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 7月安卓手机性价比榜:努比亚+红魔两款新机入榜

    7月登场的新机有努比亚Z50S Pro和红魔8S Pro,除了三星之外目前唯二的两款搭载超频版骁龙8Gen2处理器的产品,而且努比亚和红魔也一贯有着不错的性价比,所以在本次的性价比榜单
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的&ldquo;新电商三兄弟&rdquo;成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
  • 2299元起!iQOO Pad开启预售:性能最强天玑平板

    5月23日,iQOO如期举行了新品发布会,除了首发安卓最强旗舰处理器的iQOO Neo8系列新机外,还在发布会上推出了旗下首款平板电脑——iQOO Pad,其搭载了天玑
  • 质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
Top