成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 前端
咱們通過一個簡單的示例了解了 TresJS 的用法。如果感覺 ThreeJS 學習復雜度高的同學,那么可以看下 TresJS ,或許可以為你帶來不一樣的開發體驗呢?

Hello,大家好,我是 Sunday。

說起 3D 模型構建,大家最先想到的應該就是 ThreeJS 了。但是 ThreeJS 本身是基于 WebGL 構建的 3D 模型庫,學習曲線較高。特別是和 Vue 這種框架配合使用時,很多同學就需要花費較多的時間才可以掌握使用的方式。

那么有沒有更加簡單、易上手的框架呢?答案肯定是 有的,它就是咱們今天要說的主角 TresJS。

圖片圖片

01:TresJS

1.1 與 vue 深度兼容

TresJS 提供了完善的中文文檔,我們可以直接在他的官網查看 TresJS 的使用方式。

目前 TresJS 直接兼容 vue3 和 vite,我們可以通過如下方式對 TresJS 進行使用:

  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 為例:

圖片

根據文檔中的內容,我們可以很輕松的了解 TresCanvas 組件 的使用。

那么接下來,就讓我們利用 TresJS 來完成一個基本的 3D 模型展示

02:TresJS 案例

2.1 3D 場景構建基礎

在使用 TresJS 之前,我們先簡單了解下 3D 場景構建基礎,我們來看下面的圖:

圖片圖片

在整個 3D 場景中,包含 4 個關鍵概念:

  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>

此時渲染效果如下:

圖片圖片

今天,咱們通過一個簡單的示例了解了 TresJS 的用法。如果感覺 ThreeJS 學習復雜度高的同學,那么可以看下 TresJS ,或許可以為你帶來不一樣的開發體驗呢?

責任編輯:武曉燕 來源: 程序員Sunday
相關推薦

2023-10-05 12:55:12

自動駕駛系統

2023-12-01 10:37:20

自動駕駛3D

2024-05-15 09:15:34

Vue環境3D

2021-12-28 10:52:10

鴻蒙HarmonyOS應用

2015-06-26 15:26:30

Cocos百視通ARM

2015-06-29 10:07:01

Cocos百視通ARM H5論壇

2013-07-05 10:44:30

3D打印3D打印技術Windows 8.1

2019-04-15 14:06:12

2025-06-24 08:40:00

3D模型訓練

2010-07-07 16:37:13

BSM惠普云計算

2024-12-02 09:57:43

GormScopesClauses

2013-05-15 12:20:30

NETGEAR智能家庭

2012-07-27 11:02:32

打印機

2011-05-25 16:07:17

2012-07-24 10:05:09

打印機

2013-10-16 09:53:08

IBMPureSystemsPower Syste

2011-08-30 10:39:28

VMworld 201vmware

2010-10-29 16:36:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区在线观看视频 | 亚洲国产精品自拍 | 中文字幕一区二区三区四区五区 | 亚洲精品电影在线观看 | 一区二区三区网站 | 精品视频一区二区 | 91精品国产日韩91久久久久久 | 久久婷婷色 | 欧美在线一区二区视频 | 日韩欧美在线观看 | 国产精品免费一区二区 | 一级高清免费毛片 | 麻豆精品久久 | 性国产丰满麻豆videosex | 国产欧美精品一区 | 美女久久视频 | 在线播放中文字幕 | 日韩中文字幕一区 | 亚州视频在线 | 欧美日韩成人网 | 精品中文字幕一区二区三区 | 天堂一区二区三区 | 欧美一级片在线 | 亚洲一区电影 | 91网站在线看 | 一道本不卡 | 久草福利 | 亚洲欧美视频 | 91看片在线观看 | 欧美精| 精品国产欧美一区二区三区成人 | 激情小视频 | 中文在线播放 | 91小视频在线 | 免费黄色的视频 | 欧美中文字幕一区二区三区亚洲 | 久久久久亚洲精品 | 久久精品国产一区二区三区不卡 | 亚洲91av| 亚洲欧美日韩在线一区二区 | 亚洲天堂影院 |