成人免费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論壇

2019-04-15 14:06:12

2013-07-05 10:44:30

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

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技術棧公眾號

主站蜘蛛池模板: 欧美精品久久久久久久久久 | 久久伊人影院 | 欧美色偷拍 | 99精品国产一区二区三区 | 国产精品视频一区二区三区四蜜臂 | 国产精品一二区 | 欧美视频福利 | 国产91久久精品一区二区 | 亚洲国产精品99久久久久久久久 | 亚洲36d大奶网 | 一区二区三区视频播放 | 波多野结衣一区二区三区在线观看 | 久久电影一区 | 久久久婷 | 性一交一乱一透一a级 | 国产精品久久久亚洲 | 99re66在线观看精品热 | 亚洲免费视频一区 | 国产综合精品一区二区三区 | 伊人av在线播放 | 亚洲一区二区三区久久 | 毛片一区| 欧美一区二区在线观看 | 久久久.com | 亚洲性视频 | 日本视频一区二区三区 | 一级毛片视频 | 狠狠伊人 | 日本不卡一二三 | 午夜免费网站 | 福利一区二区在线 | 天天av综合| 成人不卡在线 | 国产高清视频一区二区 | 三级视频网站 | 欧美一区二区在线观看 | 成人在线一区二区 | 91精品久久久久 | 久产久精国产品 | 国产精品久久久久久久午夜片 | 中文字幕91 |