2023年5月10日 星期三

JIA的電腦圖學日誌 Week13

 1 裁切模型

這週要先裁切模型再組裝起來,整合前面教過的東西讓他擺 POSE!

打開 Maya 匯入檔案, 先從 https://jsyeh.org/3dcg10/ 下載 data ,只要 al.obj 是白色的素模

老師先交如何裁切    

選取正確後 > Export Selection 

!切好要存 obj 檔

File > Import

al.obj


一開始很複雜有很多東西

為了後續能夠好好的動起來,就把他切割一下吧

選取好部位後 > File > Export Selection


裁切完後就會有各個部位的 obj 和 mtl 檔


我們要把上週的 Final_Project 下載下來 ( 因為我用自己的電腦,其實東西已經存在了)


先開啟專案檔

為了解決每次都要安裝 freeglut 的問題,直接在 Final_Project 中貼上 freeglut


Project > Properties


Project settings > Project's build options...


Search diretories > Compiler >點原始路徑 > Edit > freeglut\include > ok


變更完如下圖


有兩個地方要做更動,Linker 也是一樣的步驟


再來用 Notepad++ 打開 gitignore  把 .a 檔.lib 檔 註解掉


2 組合模型


剛才不是裁切好很多檔案了嗎,但是太亂了!

建立 model 資料夾把他們放進來


像這樣

再來把第十週的 glm.cpp 和 glm.h 貼過來 Final_Project


到 CodeBlocks 中 右鍵點 Final_Project > Add files...


加入 glm.cpp


該有的都進來啦



最最重要的一步 > File > Save everything


開始寫程式啦

我分的比較細,所以看起來很多


更改程式碼


執行小黑, 不對啊!大小太奇怪了



來修改一下


執行小黑,出現了!


加上鍵盤 ( 舊得先註解掉,後面再回來 )

用 show[ i ] 來決定是否顯示 ( 我有14個物件但是先跟著老師做4個 )

預設 0,1,0,0 所以執行時身體一開始就會出現

if(key=='0') show[0] = !show[0];  按壓鍵盤 0變1 1變0 

if(show[0])glmDraw(head, GLM_MATERIAL); 上面的 0 1能控制消失與出現( 有沒有畫出來 )

glutPostRedisplay(); 


要 display 不然畫面就會卡住不更新了


執行小黑, 原先身體會存在,鍵盤按壓順序,1 身體先消失,接著 2 0 1 3


今天最後一次修改檔案


執行小黑, 現在除了可以透過鍵盤控制出現消失,還可以透過滑鼠移動


同時也可以透過小黑看到移動的數值 ( 可得知要移動多少能到中心 )


放一下今天的程式
很重要!最後 Save everything


👋最後



去 gitignore 檢查 *obj *.dll *.a *.lib 是否都註解掉了














沒有留言:

張貼留言