1、地圖編輯器:用途
1 提供美術加載對應場景后,進行特效、建築、動畫等對象的擺放設計。
2 提供策划進行對應場景的區域編輯、NPC和怪物、傳送點等編輯。
1、地圖編輯器主要是可以給美術做一些場景效果還有地形地圖,然后給策划去配置地圖,比較地形的怪物、NPC擺放,特效擺放,最后導出游戲需要用的數據文件。
1、區域編輯:可以刷整個地圖的區域,分為障礙區,安全區,跳點,水域,動態區,游泳區
實現原理:1、根據3D地形大小,創建一張像素一樣大小的貼圖Texture2D,然后一個像素相當於是一個格子,每個格子都有一個坐標,這個邏輯坐標后面是用來尋路的。貼圖的操作是通過SetPixel和 GetPixels32來獲取和設置貼圖每個格子的像素值,然后通過修改這張貼圖的值,可以達到刷不同的區域和下一次讀取這張圖片來打開上次操作后的狀態。
2、貼圖的信息通過MeshRenderer的material.mainTexture設置,來顯示到屏幕,然后貼圖的圖片改變時,材質球就會改變,顯示在屏幕的信息也會對應改變。
3、當貼圖和地形已經一個格子對應一個像素時,要再對應的畫對應的網格線出來。在Unity里畫線有三種方法,Gizmos.DrawLine、LineRenderer和Debug.DrawLine都會比較卡頓,這幾個是在Update里面一直刷新的,因為地圖像素是有1萬個格子,畫那么多的線就會導致很卡。最后采用了OpenGL來畫線。GL.PushMatrix();
重點:1、unity單位是1:100,所以顯示是要進行換算。
2、相機要改成正交模式,這樣就可以從上方平面看下去,直接把貼圖按1比1的效果對應地形顯示。