【Three.js】初識 Three.js

Threejs介紹

我們開發 webgl 主要是使用 threejs 這個庫,因為 webGL太難用,太復雜!但是現代瀏覽器都支持WebGL,這樣我們就不必使用Flash、Java等插件就能在瀏覽器中創建三維圖形。

threejs 它提供-一個很簡單的關于WebGL特性的JavaScript API, 使得用戶不需要詳細地學習webgl ,就能輕松創作出好看的三維圖形樣例。

webgl 原生的 api 是一種非常低級的接口,而且還需要一些數學和圖形學的相關技術。對于沒有相關基礎的人來說,入門真的很難,Three.js將入門的門檻降低了整整的一大截,對WebGL進行封裝,簡化我們創建三維
動畫場景的過程。

微信小游戲跳一跳也是在Three,js的基礎上開發出來的。

Threejs該項目的目的是使用默認的 webgl 渲染器創建一個易于使用,輕量級的3D庫。該庫還在示例中提供了 Canvas2D,SVG和CSS3D渲染器。
https://github.com/mrdoob/three.js

特點

優勢
  1. Three.js掩蓋了3D渲染的細節:Three.js將WebGL原生API的細節抽象化,將3D場景拆解為網格、材質和光源,即它內置了圖形編程常用的一些對象種類。
  2. 面向對象:開發者可以使用上層的 JavaScript對象,而不是僅僅調用JavaScript函數。
  3. 功能非常豐富:Three.js除了封裝了WebGL原始API之外,Three,js還包含了許多實用的內置對象,可以方便地應用于游戲開發、動畫制作、幻燈片制作、高分辨率模型和一些特殊的視覺效果制作。
  4. 速度很快:Three.is采用了3D圖形最佳實踐,來保證在不失可用性的前提下,保持極高的性能。支持交互:webgl 本身并不提供拾取(picking)功能(即是否知道鼠標正處于某個物體上)。而Three.js則固化了拾取支持,這就使得你可以輕松為你的應用添加交互功能。
  5. 包含數學庫:Three.is擁有一個強大易用的數學庫,你可以在其中進行矩陣、投影和矢量運算。
  6. 內置文件格式支持:你可以使用流行的3D建模軟件導出文本格式的文件,然后使用Three.isjs 加載,也可以使用Three.js自己的 json 格式或二進制格式。
  7. 擴展性很強:為Three.js添加新的特性或進行自定義優化是很容易的事情。如果你需要某個特殊的數據結構,那么只需要封裝到Three,js即可。
痛點
  1. 官方問的粗糙,對新手不友好
  2. 國內資源匱乏
  3. 如果想要開發游戲,threejs 不是游戲引擎,需要二次開發

與Babylon.js對比:

Babylon.JS是最好的 JavaScript.3D游戲引擎,它能創建專業級三維游戲。主要以游戲開發和易用性為主。與Three,js之間的對比:

  1. Three,js比較全面,而Babylon.js專注于游戲方面。
  2. Babylon.js提供了對碰撞檢測、場景重力、面向游戲的照相機Three.js 本身不自帶,需要依靠引入插件實現。
  3. 對于WebGL的封裝,雙方做的各有千秋,Three,js淺一些,好處是易于擴展,易于向更底層學習;Babylon.js深一些,好處是易用擴展難度大一些。
  4. Three.js的發展是依靠社區推動,出來的比較早,發展比較成熟,Babylon.js是由微軟公司在2013推出,文檔和社區都比較健全,國內還不怎么火。

threejs 在線編輯器:https://threejs.org/editor/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909354.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909354.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909354.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【經驗總結】ECU休眠后連續發送NM報文3S后ECU網絡才被喚醒問題分析

目錄 前言 正文 1.問題描述 2.問題分析 3.驗證猜想 4.總結 前言 ECU的上下電/休眠喚醒在ECU開發設計過程中最容易出問題且都為嚴重問題,最近在項目開發過程中遇到ECU休眠狀態下連續發送NM報文3S后才能喚醒CAN網絡的問題,解決問題比較順利,但分析過程中涉及到的網絡休…

企業架構框架深入解析:TOGAF、Zachman Framework、FEAF與Gartner EA Framework

執行摘要 企業架構(EA)是一項至關重要的實踐,它使組織能夠協調其業務戰略、運營流程和技術基礎設施,以實現整體戰略目標。企業架構框架作為結構化的方法論和綜合性工具,旨在管理企業級系統的固有復雜性,提…

數字化動態ID隨機水印和ID跑馬燈實現教育視頻防錄屏

摘要:數字化動態ID隨機水印和ID跑馬燈技術可以有效保護數字教育資源。動態水印將用戶信息隨機顯示在視頻上且不可去除,能追蹤錄屏者并震懾盜版行為。ID跑馬燈則自定義顯示觀看者信息,便于追蹤盜版源頭并提供法律證據。這些技術大幅增加盜版成…

< 自用文兒 騰訊云 VPS > Ubuntu 24 系統,基本設置

前言: 3 月份買的騰訊云的這臺 VPS,剛發現現在退款,只能返回 0 元。測試應用已經遷移到JD,清除內容太麻煩,重裝更簡單。 因為配合政策,國內的云主機都有兩個 IP 地址,一個內網,一個…

React ajax中的跨域以及代理服務器

Axios的誕生 為什么會誕生Axios?說到Axios我們就不得不說下Ajax。最初的舊瀏覽器頁面在向服務器請求數據時,由于返回的是整個頁面的數據,所以整個頁面都會強制刷新一下,這對于用戶來講并不是很友好。因為當我們只需要請求部分數據…

HOT 100 | 73.矩陣置零、54.螺旋矩陣、48.旋轉圖像

一、73. 矩陣置零 73. 矩陣置零 - 力扣(LeetCode) 1. 解題思路 1. 使用兩個數組分別標記每行每列是否有0,初始化全為False,遇到0就變成True。 2. 遍歷矩陣,遇到0就將False改成True。 3. 再次遍歷矩陣,更…

神經網絡壓縮

網絡壓縮技術學習筆記 以下筆記基于提供的 PDF 文件(tiny_v7.pdf),總結了網絡壓縮技術的核心概念、實現原理和方法,特別針對多模態大模型、空間智能以及未來智能體(Agent)和通用人工智能(AGI&a…

論索引影響性能的一面④ 索引失蹤之謎【上】

梁敬彬梁敬弘兄弟出品 往期回顧 論索引影響性能的一面①索引的各種開銷 論索引影響性能的一面②索引的使用失效 論索引影響性能的一面③ 索引開銷與經典案例 開篇:DBA的深夜“尋人啟事” 作為數據庫的守護者,我們最信賴的伙伴莫過于“索引”。它如同一…

java集合(九) ---- Stack 類

目錄 九、Stack 類 9.1 位置 9.2 特點 9.3 棧 9.4 構造方法 9.5 常用方法 9.6 注意點:循環遍歷 Stack 類 九、Stack 類 9.1 位置 Stack 類位于 java.util 包下 9.2 特點 Stack 類是 Vector 類的子類Stack 類對標于數據結構中的棧結構 9.3 棧 定義&…

ARXML可視化轉換工具使用說明

ARXML可視化轉換工具 | 詳細使用指南與說明 📝 前言 自上篇文章《聊聊ARXML解析工具:我們是如何擺脫昂貴商業軟件的》發布以來,收到了眾多朋友的關注和咨詢,這讓我倍感榮幸! 新朋友請注意:如果您還沒有閱…

松勝與奧佳華按摩椅:普惠科技與醫療級體驗的碰撞

在智能健康設備快速普及的今天,按摩椅已從奢侈品轉變為家庭健康管理的重要工具。面對市場上琳瑯滿目的品牌,松勝與奧佳華憑借截然不同的發展路徑,各自開辟出特色鮮明的賽道:前者以“技術普惠”理念打破高端按摩椅的價格壁壘&#…

一起學習Web 后端——PHP(二):深入理解字符與函數的使用

一、前言 在上一講中,我們主要講PHP的相關知識。本節我們將繼續深入,學習: PHP 中各種語法字符、符號的含義與用法; PHP 中常用函數的種類、定義方式與實際應用。 這些知識是構建 Web 后端邏輯的基礎,對于后期編寫…

【Bluedroid】藍牙啟動之 GAP_Init 流程源碼解析

藍牙 GAP(通用訪問配置文件)模塊是藍牙協議棧的核心組件,負責設備發現、連接管理及基礎屬性暴露等關鍵功能。本文圍繞 Android藍牙協議棧 GAP 模塊的初始化流程與連接管理實現展開,結合代碼解析其核心函數(GAP_Init、gap_conn_init、gap_attr_db_init)的功能邏輯,以及關…

最新四六級寫作好詞好句錦囊(持續更新中)

完整版四六級備考攻略可見另一篇博客~~(喜歡的留個點贊收藏再走唄~~) ??????四六級備考攻略-CSDN博客 一、通用 1、詞組 2、單詞 3、句型 二、老齡化、老年人 三、學習、社交、社會實踐 四、文化、習俗 五、數字素養、數字技能 六、資…

Java 通用實體驗證框架:從業務需求到工程化實踐【生產級 - 適用于訂單合并前置校驗】

Java 通用實體驗證框架:從業務需求到工程化實踐【適用于訂單合并前置校驗】 一、業務驗證痛點與需求背景 1. 傳統驗證方式的困境 傳統驗證方式存在代碼冗余、維護成本高和擴展性差等問題。相同的驗證邏輯在不同模塊重復編寫,修改驗證規則時需要同步修…

PyArk飄云閣出品的ARK工具

PyArk是由飄云閣(PiaoYunGe)開發的一款功能強大的系統安全分析工具,主要用于Windows環境下的內核級檢測與分析。該工具集成了進程管理、驅動模塊掃描、內核及應用層鉤子檢測、進程注入等核心功能,旨在幫助安全研究人員深入識別潛在…

【高中數學之復數】已知復數z的幅角為60°,且|z-1|是|z|和|z-2|的等比中項,求|z|?(2003高考數學全國卷,解答題首題,總第17題)

【問題】 已知復數z的幅角為60,且|z-1|是|z|和|z-2|的等比中項,求|z|? 【來源】 2003高考數學全國卷,解答題首題,總第17題。 【解答】 解: 由復數輻長輻角定義有 zr*(Cos60iSin60) 據等比中項定義有&#xff1…

觀點 | 科技企業到了品牌建設的歷史性窗口期

隨著全球科技產業的飛速發展,科技型企業作為推動技術創新和經濟發展的重要力量,正面臨著前所未有的機遇與挑戰。近年來,中國科技行業保持了快速增長的態勢。根據國家統計局的數據,2023年全國研究與試驗發展(R&D&am…

影像組學5:Radiomics Score的計算

Rad-score(全稱 Radiomics score,影像組學評分)是通過數學模型將影像組學提取的多個特征整合為一個綜合性指標,從而簡化臨床分析與決策。 前文已介紹影像組學的病灶分割、特征提取及篩選流程,本節將重點闡述 Rad-scor…

使用Appium在iOS上實現自動化

安裝 Appium npm install -g appium檢測 Appium 是否安裝成功 appium --version安裝 Appium Doctor npm install appium-doctor -g安裝 ios 測試驅動 appium driver install xcuitest檢測 iOS 環境是否正常 appium-doctor --ios安裝 ideviceinstaller brew install idevi…