用TWaver加载大型游戏场景一例
生活随笔
收集整理的這篇文章主要介紹了
用TWaver加载大型游戏场景一例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
游戲中經常會出現一些大型的戶外場景,例如一個小鎮、一座古城等。通常這種場景中包含了較多的建筑、道路、橋梁等等元素,其3D模型比較大且復雜。在使用TWaver加載時,可使用一些技巧,讓加載速度更快、顯示更流暢。
TWaver 3D支持導入json或obj等格式的3D場景。如果是obj格式,可將obj文件、mtl文件、所有貼圖文件,以字符串參數形式傳給TWaver進行加載。當然這些文件也都可以是網絡上的URL字符串。
var loader = new mono.OBJMTLLoader(); loader.load(obj, mtl, images);?
TWaver支持在加載過程中對每一個物體進行進一步處理。例如材質貼圖、特性等。我們通過下面的代碼,可以將每一個加載的物體強制用白模顯示:
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);});?
或者直接使用wireframe的方式忽略物體表面,直接顯示物體的線條形狀:
var loader = new mono.OBJMTLLoader(); loader.load(obj, mtl, images, function (object) {box.addByDescendant(object);box.forEach(function(element){element.setStyle('m.wireframe',true);});?
這個obj文件超過16兆,TWaver解析的過程不超過5秒。但是實際應用中,資源文件可能存在網絡上,網絡傳輸則需要一定的時間。可以將obj文件或json文件進行打包壓縮,加快傳輸效率。對于材質也可以適當降低精度,在顯示出場景后再逐漸加載或按需加載高精度的貼圖,進行動態的更換。
轉載于:https://www.cnblogs.com/twaver/p/4205901.html
總結
以上是生活随笔為你收集整理的用TWaver加载大型游戏场景一例的全部內容,希望文章能夠幫你解決所遇到的問題。