本文主要是對Threejs中加載模型的支持種類進行簡單的知識科普。
3ds (.3ds)
3ds是3ds max通用儲存文件格式。使用的范圍更寬,可被更多的軟件識別使用.
amf (.amf)
AMF是以目前3D打印機使用的“STL”格式為基礎、彌補了其弱點的數據格式,新格式能夠記錄顏色信息、材料信息及物體內部結構等。AMF標准基於XML(可擴展標記語言)。
3mf (.3mf)
由微軟牽頭的3MF聯盟,於2015年推出全新的3D打印格式——3MF(3D Manufacturing Format),相較於STL格式,3MF檔案格式能夠更完整地描述3D模型,除了幾何信息外,還可以保持內部信息、顏色、材料、紋理等其它特征。3MF同樣也是一種基於XML的數據格式。
assimp & assimp2json (.assimp |.json)
Assimp是一個強大的模型加載和轉換庫,支持多種格式的加載和轉換,可通過c++進行調用開發。assimp2json顧名思義就是assimp格式的json格式導出。
awd (.awd)
AWD是一種用於三維場景的二進制格式,並且通常與AWD引擎一起使用。
Babylon (.babylon)
微軟的基於webgl的開發框架. Babylon.js
BVH (.bvh)
BVH是BioVision等設備對人體運動進行捕獲后產生文件格式的文件擴展名,BVH文件包含角色的骨骼和肢體關節旋轉數據。BVH 是一種通用的人體特征動畫文件格式,,廣泛地被當今流行的各種動畫制作軟件支持。通常可從記錄人類行為運動的運動捕獲硬件獲得。
Collada(.dae |.xml)
COLLADA™ 是面向交互式 3D 應用程序的基於 XML 的數字資產交換方案,使 3D 創作應用程序可以自由地交換數字資產而不損失信息 - 使多種DCC和3D處理軟件包可以組合成強大的工具鏈管道。DAE 是純文本的模型格式,其本質就是一個單純的xml文件。相比fbx,對dae格式模型的載入我們擁有非常高的自由控制,這也是最復雜的地方。基本上,dae文件內一開始就把數據分成了好幾大塊。對我們來說最為有用的是VisualScenes(包含場景骨骼節點樹)、Nodes(與VisualScenes類似,兩者或互為補充)、Geometries(網格數據)、Materials/Effects/Images(材質相關信息)、Controllers(骨骼信息數據)、Animations(動畫數據)、AnimationClips(全局的動畫信息),其中靜態模型一般也就包括VisualScenes和Geometries。(有C++API)
OpenCTM (.ctm)
OpenCTM格式的3D模型文件,OpenCTM 格式文件是二進制文件,相比於 stl 格式的文件,它將不承載除模型三角面片信息以外的信息,一個 OpenCTM 文件僅包含一個 Mesh,一個文件主要分成Mesh 的頂點信息和Mesh 的面片信息。(有C++API)
draco(.drc)
Google公司推出的3d模型壓縮利器,壓縮比甩gzip幾條街,100M的.obj壓縮后大約5M。
FBX(.fbx)
FBX 是 FilmBoX 這套軟件所使用的格式,后改稱 Motionbuilder。因為Motionbuilder扮演的是動作制作的平台,所以在前端的modeling和后端的rendering也都有賴於其它軟件的配合,FBX最大的用途是用在諸如在 Max、Maya、Softimage 等軟件間進行模型、材質、動作和攝影機信息的互導,這樣就可以發揮 Max 和 Maya 等軟件的優勢。可以說,FBX 方案是非常好的互導方案。
GCode(.gcode)
GCODE是用於3d打印的文件,存儲有3d打印機的運動命令和坐標等。
glTF (.gltf)
glTF是一種可以減少3D格式中與渲染無關的冗余數據並且在更加適合OpenGL簇加載的一種3D文件格式。glTF 就是三維文件的 JPEG ,三維格式的 MP3。在沒有glTF的時候,大家都要花很長的的時間來處理模型的載入。此外,glTF是對近二十年來各種3D格式的總結,使用最優的數據結構,來保證最大的兼容性以及可伸縮性。這就好比是本世紀初xml的提出。glTF使用json格式進行描述,也可以編譯成二進制的內容:bglTF。glTF可以包括場景、攝像機、動畫等,也可以包括網格、材質、紋理,甚至包括了渲染技術(technique)、着色器以及着色器程序。同時由於json格式的特點,它支持預留一般以及特定供應商的擴展。
Clara(.json)
Clara.io有可建立於桌面的3D創建工具,它是一個整合性的3D內容創作軟件,不僅僅是單一用途的應用程序,還是算圖或layout工具,並由許多外掛模塊和語法所組成。大多3D artists不需太多適應時間就可熟悉Clara.io,並獲得更多的便利功能。由於Clara.io是設計在網絡瀏覽器上運行,所以用戶可隨時隨地接觸到它,無需設定、可跨平台使用,自動存儲所有的制作步驟,讓你可以實時與他人協同作業,以及擁有無限制的雲端運算需求。
KMZ(.kmz)
kmz是谷歌kml語言文件的zip壓縮格式,常用於的谷歌地圖文件,由kml語言編寫,KML是標記語言(Keyhole Markup Language)的縮寫,最初由Keyhole公司開發,是一種基於XML 語法與格式的、用於描述和保存地理信息(如點、線、圖像、多邊形和模型等)的編碼規范,可以被 Google Earth 和 Google Maps 識別並顯示。
LDraw(.mpd)
lego的3D模型庫
LightWave(.lwo)
lwoss是LightWave 3D模型美國NewTek公司開發的LightWave 3D是一款高性價比的三維動畫制作軟件,它的功能非常強大,是業界為數不多的幾款重量級三維動畫軟件之一。
MD2 (.md2)
MD2文件是QuakeП專用的文件格式,QuakeП中復雜的三維場景就是通過對它的讀取產生的。
MMD(.pmd + .vmd)
MikuMikuDance是日本人樋口優所開發,將VOCALOID2的初音未來等角色制作3D模組的免費軟件
nrrd (.nrrd)
NRRD格式包含了一個單獨的頭文件和若干個可以被結合在一起或者分開的圖像文件。NRRD頭文件為科學可視化和圖像處理准確地表征了N維光柵信息。常用於醫療設備的多層切片數據。
obj (.obj)
OBJ文件是Alias|Wavefront公司為它的一套基於工作站的3D建模和動畫軟件"Advanced Visualizer"開發的一種標准3D模型文件格式,很適合用於3D軟件模型之間的互導。目前幾乎所有知名的3D軟件都支持OBJ文件的讀寫。OBJ文件是一種文本文件,可以直接用寫字板打開進行查看和編輯修改。
obj2 (.obj)
同上
pcd (.pcd)
Point Cloud Data即3d點雲圖像。
PDB(.pdb)
PDB是protein data base 的簡寫,在生物學軟件中,一般把蛋白質的三維結構信息用pdb文件保存。本質是一種ASICLL碼文件,可以用普通的文本編輯器編輯,也可以用專業軟件編輯。
PlayCanvas(.json)
PlayCanvas是一款開源游戲引擎,完全基於瀏覽器;
ply (.ply)
PLY 是一種電腦檔案格式,全名為多邊形檔案(Polygon File Format)或 斯坦福三角形檔案(Stanford Triangle Format)。 該格式主要用以儲存立體掃描結果的三維數值,透過多邊形片面的集合描述三維物體,與其他格式相較之下這是較為簡單的方法。它可以儲存的資訊包含顏色、透明度、表面法向量、材質座標與資料可信度,並能對多邊形的正反兩面設定不同的屬性。作為OBJ 格式的升級版!PLY格式受 Wavefront .obj 格式的啟發,但改進了Obj格式所缺少的對任意屬性及群組的擴充性。因此PLY格式發明了"property"及"element"這兩個關鍵詞,來概括“頂點、面、相關資訊、群組”的概念。
prwm(.prwm)
Packed Raw WebGL Model 是一種二進制的3d模型文件, 它是為web中的幾何外形設計的,主要特點是解析和加載速度特別快,原理是對元素進行索引和數組話操作。 prwm
sea3d(.sea3d)
sea3d為游戲而生的一種開源的格式與工具,可導出動畫, 紋理, 材質, 骨骼 ( Skin ), 頂點動畫, 變形, 相機, 光源, 環境和輔助.
stl(.stl)
STL是用三角網格來表現3D CAD模型。文件格式簡單,只能描述三維物體的幾何信息,不支持顏色材質等信息,是計算機圖形學處理CG、數字幾何處理如CAD、 數字幾何工業應用, 如三維打印機支持的最常見文件格式。
vrm(.vrm)
vrm是日本推行的3D虛擬形象的新格式標准,打造3D人形角色行業標准
vrml(.vrml)
VRML(Virtual Reality Modeling Language)即虛擬現實建模語言。是一種用於建立真實世界的場景模型或人們虛構的三維世界的場景建模語言,也具有平台無關性。它可以做很多事並且支持很多效果.但是事實上它並未得到廣泛應用.
vtk
VTK,全稱是Visualization Toolkit,即可視化工具包。是一個開源、跨平台、可自由獲取、支持並行處理的圖形應用函數庫。
x
.x文件是微軟為DX開發提供的一種3D文件.包括頂點\紋理、動作。
