2024年5月6日 星期一

Week12

 Week12

12-1

課程前設定:

Freeglut 解壓縮後複製改檔名
下載 OpenCV (中間的 Add Path打勾
codeblock complier setting設定好


正課:

把上週Gundam的手切成上手臂含下手臂,並且會旋轉
將上週Week11程式檔複製
Step 1.
新增兩個變數
GLMmodel * upper = NULL;
GLMmodel * lower = NULL;

Step 2.
設定Upper跟Lower的檔案
void drawUpper(void)
{
    if (!upper) {
        upper = glmReadOBJ("upper.obj");
             if (!upper) exit(0);
            glmUnitize(upper);
            glmFacetNormals(upper);
            glmVertexNormals(upper, 90.0);
    }
    glmDraw(upper, GLM_SMOOTH | GLM_TEXTURE);
}

*Lower的把Upper改成Lower即可

Step 3.
打開MAYA將手分割成上手臂和下手臂
檔案為 OBJ檔

Step 4.
調整位置和旋轉(X軸)
glPushMatrix();
        //drawUpper();
        glTranslatef(0,0,0);
        glPushMatrix();
            glTranslatef(0,-0.3,0);
            glRotatef(angle++,1,0,0);
            glTranslatef(0,-1,0);
           // drawLower(); ///glutSolidTeapot( 0.3 );
        glPopMatrix();
    glPopMatrix();

12-2

複製12-1的檔案,增加身體
Step 1.
新增一個變數
GLMmodel * body = NULL;

Step 2.
設定Body的檔案
void drawBody(void)
{
    if (!body) {
        body = glmReadOBJ("body.obj");
             if (!body) exit(0);
            glmUnitize(body);
            glmFacetNormals(body);
            glmVertexNormals(body, 90.0);
    }
    glmDraw(body, GLM_SMOOTH | GLM_TEXTURE);
}

Step 3.
打開MAYA 切割出身體
檔案為 OBJ檔

Step4. 
的陣列前面加上
glRotatef(180,0,1,0); *檔案本身是背面所以要轉成正面
        drawBody();
*我在 Upper跟 Lower 的陣列內加上 Scalef(0.5,0.5,0.5);
因為一開始抓的檔案模型太大

課堂結果呈現如圖:




沒有留言:

張貼留言