天天看點

【J2ME3D系列學習文章之一】J2ME3D開發技術和基礎知識

        由于j2me 3d(jsr184)的文章網上也有了不少,這裡就不多說了,隻是概括的說下針對于j2me 3d開發基本需要了解的知識以及簡單闡述幾個術語;

 第一:開發模式  ;

        j2me 3d(jsr184)api 分為兩種開發模式,一個是立即模式,另一個就是保留模式。這裡簡單的說下兩者的差別和不同。

        立即模式:所謂立即模式通俗點說就是不需要外界導入資料,如m3g(3d模型的格式都是.m3g),所有的3d模型資料等都由開發者一個在代碼中完成!例如自己定義3d模型的頂點,顔色,面等等……

        保留模式:由于立即模式下要自定義這些頂點,各個面 等等,資料量是相當的大,如果全部手工完整的去做一個rpg或者arpg的遊戲幾乎是不可能了也就是很說設計一個複雜的遊戲世界将成為一項令人望而卻步的工作 – -、 是以我們可以通過模組化工具來設計 3d 場景,并将資料導入程式。導入資料來簡化開發工作量,例如通過導入m3g檔案,進而得到 一個 world (3d世界) camera 等等,這樣的方式被稱為保留模式。

      概述:其實說白了,保留模式下我們開發就相同于j2me中用midp2.0去做一樣,用别人封裝好的東西來簡化開發量!

 第二:三角形帶;      什麼叫三角形帶,估計看過一些j2me 中3d開發文章中,會發現很多出現這麼個詞語。其實三角形帶,就是利用頂點重複用的方式;例如我們構造一個三角形描述立方體,那麼需要6 條邊 * 2 個三角形 * 3 個頂點 = 36 個頂點。這麼多重複的頂點顯然浪費了大量記憶體。為節約記憶體,首先應将頂點與其三角形定義分隔開來,然後例三角帶方式來構造。假設兩個頂點a1(1,2,3) 和 a2(2,3,4),那麼我們寫成1,2,3,4 的方式,這樣就是三角帶方式。重複利用重複的點坐标!當然這裡可能說的比較含糊,那麼後續文章中根據代碼執行個體會詳細講解。

        那麼這裡簡單的就說這兩點,針對兩種模式,肯定就要先從立即模式開始學習,畢竟就算以後用導入模型資料的方法來做開發,也應該知道原理才能更好的去了解!

        其實3d開發需要是基礎知識很多,例如高數、圖形學等,但是我感覺這些都是次要的,隻要努力去做一件事,沒有做不好的!這裡我寫的文章也隻是根據自己了解認為重點的拿來先進行闡述說明,其實我也是剛開始接觸3d開發。我的計劃是從j2me 3d開始 (因為我是做j2me 起身的),然後再轉向android 3d開發。當然如果你還沒有對遊戲開發腦子裡沒有一個簡單的架構那麼建議先去學習下,這裡不多做說明。

 文章是記錄本人學習3d的過程以及經驗分享的文章,是以文章中對基本的遊戲架構不會講述和說明,

        希望不太了解的同學先去學習下j2me遊戲開發相關資料,請諒解。

繼續閱讀