晝夜交替
實現白天、黑夜的交替,太陽、月亮的移動,主要通過skybox的旋轉,skybox的交替。或者採用unistorm等插件實現。
天氣系統(雨雪)
由於需要遮擋關係(樹下淋不到雨),所以採用一種動態面片生成算法。
主要根據玩家所處的block,設定一個範圍(xz)和高度(16),範圍內的block根據heightmap判斷最頂面開始玩上生成一個面片。
每個面片是一個貼圖uv動畫,方向朝向玩家,如圖所示。
uv動畫
每個block一個面片,一個單獨uv動畫,玩家移動到不同block,需重新計算所有面片。
每個block需單獨記錄其當前的uv起點,以便在玩家移動(包括上下)時,保持每個block的uv動畫和之前的一致(沒有突變)。此步驟注意根據高度計算uv值。面片朝向
採用固定值朝向,加快刷新速度。根據俯視圖可以開出每個面片的朝向,只有兩種:一種中間垂直,一種對角線。採用這樣的簡單的方式,可以快速計算面片頂點座標。