最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

使用assimpjs轉(zhuǎn)換三維模型

2023-02-19 12:17 作者:地理信息技術(shù)雜談  | 我要投稿

assimpjs是開源類庫(kù)assimp的emscripten接口,能夠?qū)崿F(xiàn)讀取40+以上類型的三維模型格式,導(dǎo)出成json或者gltf格式的三維模型。

能夠?qū)崿F(xiàn)在瀏覽器中開發(fā)實(shí)現(xiàn),也能夠以nodejs的模式進(jìn)行開發(fā),數(shù)據(jù)處理時(shí),使用nodejs能夠很方便實(shí)現(xiàn)。

下邊以代碼的形式,簡(jiǎn)單說(shuō)一下如何進(jìn)行模型轉(zhuǎn)換,其中的注意事項(xiàng)。


簡(jiǎn)單的模型轉(zhuǎn)換

使用npm安裝依賴包:npm install assimpjs

? ? ??//nodejs初始化

? ? ? const assimpjs = require ('assimpjs')();

? ? ? let fs = require ('fs');?


assimpjs.then ((ajs) => {

? ? //?創(chuàng)建模型轉(zhuǎn)換列表

? ? let fileList = new ajs.FileList ();?

? ? // 添加模型文件,以obj為例,同時(shí)需要添加mtl索引文件

? ? fileList.AddFile (

? ? ? ? 'cube_with_materials.obj',

? ? ? ? fs.readFileSync ('testfiles/cube_with_materials.obj')

? ? );

? ? fileList.AddFile (

? ? ? ? 'cube_with_materials.mtl',

? ? ? ? fs.readFileSync ('testfiles/cube_with_materials.mtl')

? ? );

? ? // 將模型轉(zhuǎn)成assimp json格式

? ? let result = ajs.ConvertFileList (fileList, 'assjson');

? ? // 檢查轉(zhuǎn)換是否成功

? ? if (!result.IsSuccess () || result.FileCount () == 0) {

? ? ? ? console.log (result.GetErrorCode ());

? ? ? ? return;

? ? }

? ? // 獲得文件的轉(zhuǎn)換結(jié)構(gòu),轉(zhuǎn)換成字符串

? ? let resultFile = result.GetFile (0);

? ? let jsonContent = new TextDecoder ().decode (resultFile.GetContent ());

? ? // 轉(zhuǎn)換成json格式

? ? let resultJson = JSON.parse (jsonContent);

});

轉(zhuǎn)換成gltf文件

和轉(zhuǎn)換成assimp json格式有些區(qū)別,

? ?//gltf參數(shù)為gltf2表示為版本2格式

? ??let?result?=?ajs.ConvertFileList?(fileList,?'gltf2');

? ?? ....

? ??// gltf的結(jié)構(gòu)文件,索引是0

? ??let?resultFile?=?result.GetFile?(0);??

? ??let?jsonContent?=?new?TextDecoder?().decode?(resultFile.GetContent?());

???//gltf的資源文件需要單獨(dú)進(jìn)行保存,索引為1

? ??let?binFile?=?result.GetFile?(1);

? ??fs.writeFileSync('result.bin',?binFile.GetContent?());

? ??// gltf對(duì)應(yīng)的文件也為json格式

? ??let?resultJson?=?JSON.parse?(jsonContent);?


引用內(nèi)容:

? ? ?https://github.com/kovacsv/assimpjs

? ? ?https://github.com/assimp/assimp



使用assimpjs轉(zhuǎn)換三維模型的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宁武县| 宁城县| 凤庆县| 瑞安市| 晴隆县| 漠河县| 综艺| 望江县| 邓州市| 新乐市| 藁城市| 磴口县| 高雄县| 金乡县| 宜宾市| 清镇市| 夏河县| 元朗区| 巴彦淖尔市| 正镶白旗| 清徐县| 湖口县| 温州市| 沿河| 西乌珠穆沁旗| 任丘市| 孟津县| 郸城县| 德兴市| 连江县| 延寿县| 张家界市| 惠安县| 敖汉旗| 盖州市| 民乐县| 安泽县| 江北区| 伽师县| 昌黎县| 宜昌市|