obj格式轉換成gltf (obj2gltf 本地nodejs用法)


下載obj2gltf 

 https://files.cnblogs.com/files/kiyomi7/obj2gltf-master.zip

 

用Nodejs寫的服務器 (生成的地址路徑自行修改)

const http = require('http'); //1. 導入 http 模塊
const fs = require('fs'); //5. 導入/加載/引入 文件模塊

//2. 創建服務器對象
const server = http.createServer((req,res)=>{
    res.setHeader("Access-Control-Allow-Origin", "*");
});

//3. 開啟服務器,3000為端口號
server.listen(3000, () => {
    console.log('Server is running...');
});

//4. 監聽瀏覽器請求並進行處理
server.on('request', (req, res) => {
    //6. req對象的url屬性中保存了當前請求的url地址
    const url = req.url;
        const obj2gltf = require('obj2gltf');
        const names = url.split(",");
        const path = require('path');
        console.log(__dirname);
        const modelpath = path.resolve(__dirname , '../uploads/earth3d/');
        console.log(modelpath);
        const options = {
            binary : true
        }
        obj2gltf( modelpath+'/orimodel'+names[0]+'.obj', options)
            .then(function(glb) {
                fs.writeFileSync(modelpath+"/"+names[1], glb);
                res.end(url);
            });
});

前端請求

$.ajax({
   url: 'http://127.0.0.1:3000/'+rename[0]+","+path,
   type: 'get',
   headers: {"Content-Type": "application/x-www-form-urlencoded", "Accept": "text/plain"},
   success: function (data) {
                   
   },
   error: function (XMLHttpRequest, textStatus, errorThrown) {
       console.log(XMLHttpRequest.status);
       console.log(XMLHttpRequest.readyState);
   ,
   complete: function(XMLHttpRequest, status) {
       Fast.api.close();
   } // 請求完成后最終執行參數
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM