3DMax匯出ASE的資料提取

2021-09-26 20:10:16 字數 2082 閱讀 6076

人生苦短,這件工作python會怎麼做。。。

最近在做三角面元法,簡而言之,就是利用3dmax的剖分功能,將乙個立體模型的表面劃分成若干個三角面元,示意圖如下:

這是乙個圓錐體的面元剖分,將其剖分完畢後,可以匯出乙個ase檔案,該檔案資料主要包含兩個部分,vertex(頂點)和face(面元)部分,它們各自的資料格式如下:

vertex資料的第一列為編號(0~numvertex-1,vertexnum為剖分後的頂點個數),剩下三列為三維座標x、y、z

face資料的第一列為編號(0~numfaces-1,numfaces為剖分後的面元個數),a: 1 b: 2 c: 3 代表著該三角面元的三個頂點a、b、c分別對應著vertex編號1、2、3。

那麼顯然,我們只需要這4列face資料和前面的4列vertex資料,就能得到任意乙個面元與它的三個頂點資訊。

現在的問題就在於要把沒用的字元資訊過濾,取出有用的資料,存入容器,方便利用,以下為c++**,這裡再求助一下,要是有做一樣事情的大佬,求分享交流思路,我的程式簡直不能忍受,方法笨的不行。。。:

找到"*mesh_vertex_list",開始讀vertex資料,這裡數了下vertex資料每行需要讀5個字串,如:*mesh_vertex 0 3.7387 16.3298 0.0000。我用stringstream來讀:ss3 >> keywords1 >> num1 >> x >> y >> z

同理,找到"*mesh_face_list",開始讀face資料,這裡又數了下(my vagetable is explored。。。),需要讀8個字元,於是:

ss4 >> keywords2 >> str1 >>str2>> a >> str3 >> b >> str4 >> c

每讀入一行有用資訊,存入vector中

最後再把面元資訊和頂點資訊分別輸出到桌面的txt文字裡。

#include#include#include#include#include#includeusing namespace std;

struct vertex;

struct face;

int main()

ss2 >> keywords2 >> num2;

if (keywords2 == "*mesh_numfaces")

if (keywords1 == "*mesh_vertex_list")

while (ss3 >> keywords1 >> num1 >> x >> y >> z));

} if (keywords2 == "*mesh_face_list")

while (ss4 >> keywords2 >> str1 >>str2>> a >> str3 >> b >> str4 >> c));

} }cout << "讀取頂點數:" << v.size() << endl;

cout << "讀取面元數:" << f.size() << endl;

ofstream data_vertex("c:\\users\\dell\\desktop\\vertexdata.txt");

ofstream data_face("c:\\users\\dell\\desktop\\facedata.txt");

data_vertex.precision(9);

data_face.precision(9);

string space(" ");

for (int i = 0; i < v.size(); i++)

for (int i = 0; i < f.size(); i++)

system("pause");

return 0;

}

3D MAX匯出外掛程式編寫I

想想研究3d max 的sdk已經有了不短的時間,真正算起來也有兩個月了吧,但是講到收穫,確實不大。作為乙個3d max二次開發的學習者,我首先學習了匯出外掛程式的編寫,網上有很多參考資料,寫的都差不多,可是都是寫到關鍵的地方或者說比較模糊的地方就說不清楚了,今天我就結合自己所做的工作來講講3d m...

3D MAX匯出外掛程式編寫I

想想研究3d max 的sdk已經有了不短的時間,真正算起來也有兩個月了吧,但是講到收穫,確實不大。作為乙個3d max二次開發的學習者,我首先學習了匯出外掛程式的編寫,網上有很多參考資料,寫的都差不多,可是都是寫到關鍵的地方或者說比較模糊的地方就說不清楚了,今天我就結合自己所做的工作來講講3d m...

3dmax學習資料記錄

max2015 官方文件 cgwang動漫 3dmax 遊戲角色建模 美女篇 第一教程籃球場 第一課元素級別 flip反轉 直接看模型裡面 第二課alt r ring crtl shift e connect 分離detach的使用 3dmax動畫模型蒙皮技術 朱峰社群 x遊戲動畫中級教程 朱峰社群...