1. 程式人生 > >Uniblocks Voxel Terrain我的世界地圖生成原理

Uniblocks Voxel Terrain我的世界地圖生成原理

地圖生成外掛Uniblocks Voxel Terrain


地圖生成方式:以玩家為中心生成和更新地圖,確保玩家周圍一定有地圖。整片地圖由許多個Chunk(大塊)組成。Chunk管理範圍內包含的許多小塊,也就是我的世界的方塊。(預設狀態是每個Chunk的範圍是10*10*10,包含10*10*10個小塊(Voxel),空的位置也是有Voxel物件表示那是空的方塊)


這張圖就是一個大塊。可以看到,其實它不是由一個個立方體堆成,整個大塊使用一個Mesh,每當玩家新增或刪除方塊時,就更新這張Mesh的頂點數和頂點位置,種類不同的方塊只需使用不同貼圖就行。在修改更新一個大塊(Chunk)時,會順帶更新與它相鄰的大塊以保證大塊之間完美對接。

地圖主要組成(指令碼):Engine,Chunk,ChunkManager,Voxel,VoxelInfo,Index,