TWaver - 專注UI技術

          http://twaver.servasoft.com/
          posts - 171, comments - 191, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          如何用TWaver加載大型游戲場景

          Posted on 2015-01-06 13:41 TWaver 閱讀(4238) 評論(1)  編輯  收藏

          游戲中經常會出現一些大型的戶外場景,例如一個小鎮、一座古城等。通常這種場景中包含了較多的建筑、道路、橋梁等等元素,其3D模型比較大且復雜。在使用TWaver加載時,可使用一些技巧,讓加載速度更快、顯示更流暢。
          twaver-3d-town-1

          TWaver 3D支持導入json或obj等格式的3D場景。如果是obj格式,可將obj文件、mtl文件、所有貼圖文件,以字符串參數形式傳給TWaver進行加載。當然這些文件也都可以是網絡上的URL字符串。

          1
          2
          var loader = new mono.OBJMTLLoader();
          loader.load(obj, mtl, images);

          TWaver支持在加載過程中對每一個物體進行進一步處理。例如材質貼圖、特性等。我們通過下面的代碼,可以將每一個加載的物體強制用白模顯示:

          1
          2
          3
          4
          5
          6
          var loader = new mono.OBJMTLLoader();
          loader.load(obj, mtl, images, function (object) {
            box.addByDescendant(object);
            box.forEach(function(element){
              element.setStyle('m.texture.image',null);
            });

          twaver-3d-town-2

          或者直接使用wireframe的方式忽略物體表面,直接顯示物體的線條形狀:

          1
          2
          3
          4
          5
          6
          var loader = new mono.OBJMTLLoader();
          loader.load(obj, mtl, images, function (object) {
            box.addByDescendant(object);
            box.forEach(function(element){
              element.setStyle('m.wireframe',true);
            });

          twaver-3d-town-3

          308

          309

          這個obj文件超過16兆,TWaver解析的過程不超過5秒。但是實際應用中,資源文件可能存在網絡上,網絡傳輸則需要一定的時間。可以將obj文件或json文件進行打包壓縮,加快傳輸效率。對于材質也可以適當降低精度,在顯示出場景后再逐漸加載或按需加載高精度的貼圖,進行動態的更換。


          評論

          # 開心魔盤  回復  更多評論   

          2015-01-07 12:09 by 開心磨盤
          羊年大吉,愿新的一年有更大的收獲

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 双峰县| 沾化县| 修武县| 合阳县| 米脂县| 黄陵县| 罗源县| 遂昌县| 石林| 麦盖提县| 阳山县| 沽源县| 个旧市| 达拉特旗| 宁津县| 自贡市| 蒲江县| 获嘉县| 文成县| 遂川县| 新巴尔虎左旗| 伽师县| 榕江县| 贵州省| 舞钢市| 达拉特旗| 达孜县| 固阳县| 谢通门县| 大冶市| 游戏| 合山市| 沂南县| 长治市| 江华| 衢州市| 黄梅县| 祁阳县| 丹寨县| 石屏县| 龙里县|