2010年5月7日 星期五

利用Blender來設計Android OpenGL物件模型

1. 到Android OpenGL教學網站下載程式,並解壓縮。

2. 在eclipse中選擇Import選項,把下載到的檔案滙入,如右圖。

3. 執行結果

4. 查看原始程式,注意看vertices和indices兩個陣列值。

5. 利用Blender將繪製的立方體模型輸出成Wavefront(*.obj)檔案

6. 利用記事本將滙出的檔案打開


7. 修改上述的兩個陣列檔

public void onDrawFrame(GL10 gl) {
// Clears the screen and depth buffer.
gl.glClear(GL10.GL_COLOR_BUFFER_BIT GL10.GL_DEPTH_BUFFER_BIT);
// Replace the current matrix with the identity matrix
gl.glLoadIdentity();
// Translates 4 units into the screen.
gl.glTranslatef(0, 0, -4);
gl.glRotatef(30, 1, 0, 0);
gl.glRotatef(30, 0, 1, 0);
gl.glScalef(0.5f, 0.5f, 0.5f);
// Draw our square.
square.draw(gl);
}

8. 修改程式並執行

7 則留言:

  1. 由點構成面,三點構成一個三角形,再由三角形構成一個立方體。

    回覆刪除
  2. 文章中第5.點提到Blender將繪製的立方體模型輸出(*.obj)檔案,private float vertices 的值是與(*.obj)相同,private short indices 的值與(*.obj)相同Haterual不同。請問是用什麼公式轉換的?小弟數學不太好,是否可請大大說的詳細點?

    回覆刪除
  3. 這並不是您數學問題,我想應該是Blender輸出時,參數設定的問題。

    回覆刪除
  4. 作者已經移除這則留言。

    回覆刪除
  5. Blender點選輸出obj,左下方有一排點選你需要的參數,一般如果只是要這個正方形的基本參數,我在輸出時我會點選Selection Oniy , Write Materials , Triangulate Faces , Objects as OBJ Objects 點選這四個,參數的設定是Blender物件的形狀輸出形狀的點後就是參數。

    回覆刪除