在拿到了正式美術資源之後,首先關心的就是場景的尋路和碰撞問題。尋路是遊戲中人可以行走的區域,碰撞是場景中得物體所佔的空間。對於這2個問題,不同的遊戲有著不同的處理方式。 有的是服務端有乙份資料,客戶端生成乙份資料,然後2份資料進行對比就可以很方便的找出不一樣的地方。但是我們的遊戲不是這樣做的,美術在做好場景後,生成2份檔案放在服務端,乙份尋路檔案,乙份碰撞檔案,然後客戶端部分沒有放這2份檔案,而是引擎在載入模型的時候,根據模型的屬性自動生成了尋路與碰撞。所以對於我們的測試來說就要測試服務端的正確性,測試服務端與客戶端的一致性,測試客戶端的表現。
測試服務端的正確性:首先檢視的是美術輸出的檔案是不是會跟發布的美術資源對應。有時候可能美術在匯出的時候可能忘了提交,然後就會出現對應不上的情況。在出現了對應不上的情況下,就會出現客戶端表現上是可以穿越的,而實際上是不可以的或者相反的情況。
這裡先講一下尋路屬性和碰撞屬性的關係。只有模型的尋路屬性勾選的情況下,該模型才參與尋路。這裡的參與尋路指的不一定是形成尋路,也可能是形成阻擋而影響尋路。碰撞則對模型形成阻擋作用。尋路屬性是碰撞屬性的基礎,只有在勾選了尋路屬性的基礎上碰撞屬性才有效。沒有勾選尋路的情況下(不管有沒有勾選碰撞),人物都是無法通過的,等同於是有阻擋的;在勾選尋路的情況下,模型沒有勾選碰撞,那模型就是可以穿越的。只有勾選了碰撞之後,模型才會起到阻擋的作用。
在提交正確的情況下開啟場景編輯器,載入相應的檔案,在場景編輯器中開啟尋路介面,檢查尋路是否有不合理的地方(比如尋路面包括了一顆大樹,這就是不正常的)。這時候可以試著自己查詢下問題的原因。像尋路面包括了一顆大樹的情況,是大樹沒有勾選碰撞屬性,將大樹勾選碰撞屬性後,更新下,就可以看到正確的尋路介面了。這樣可以快速發現一些明顯的沒有勾選碰撞而產生尋路異常的問題。然後再開啟碰撞介面,觀察碰撞體跟尋路面有沒有重合的部分,有重合的部分就是錯誤的。因為人是有體積的,在尋路面跟碰撞體重合的地方,會出現人的半截身子嵌在場景物體裡面的詭異情況,這種情況是不允許的。用這種方法會查詢到一些比較隱蔽的問題(比如乙個小石頭的碰撞體做的很大,美術本來就不想讓玩家經過,那這種檢查就能找出來)。
測試客戶端與服務端的一致性:本來編輯器就是引擎提供的,一般來說美術通過場景編輯器編輯好場景,編輯器輸出的尋路檔案和引擎在客戶端自動生成的尋路資訊是一致的。所以,在服務端的尋路檔案的正確性已經得到保證的情況下,如果客戶端的尋路出現問題,就說明引擎的載入存在問題也就是說客戶端與服務端的尋路資訊產生了不一致,一般這種問題在驗證客戶端表現的時候就可以發現。
測試客戶端的表現:首先確保服務端的尋路資訊已經正確,然後在客戶端中開啟尋路功能,在場景中按照尋路資訊區大致跑一遍,如果人物走到了場景中的不該走到的地方或者尋路的資訊區有中斷的情況,則說明引擎載入客戶端的尋路資訊出現了問題。
在測試完客戶端的尋路之後,就可以關閉尋路,真正的去遊戲中體驗遊戲場景了,這時進行的就是合理性測試了。合理性測試可以分為下面幾種:
遊戲場景設計文件案例 遊戲場景原畫設計教程
這次的教程是以鐵匠鋪為主題的遊戲場景原畫設計,在做場景原畫設計的時候,有乙個必須要做到的點是,把設計結構畫清楚,這樣能為3d模型人員減少建模難度,同時這也是乙個好的場景原畫設計的標誌。在繪畫中,線稿是最容易把造型結構刻畫清楚的,建議初學者從線稿開始練起,這個教程呢就是講解線稿上色方法的,希望有用。1...
遊戲場景切換的問題
遊戲場景切換的問題 場景切換的時候從空場景到新場景的過程中由於資料多,會卡住一會,感覺就像是停止響應一樣 我想在空場景到新場景的過程中加個類似讀條的東西,就做個東西在那轉也可以.但是當開始載入新場景時,空場景裡所有東西都會卡住,包括那個假的進度條 用個 非同步載入 去載入下乙個場景 當下乙個場景在後...
Cocos遊戲場景切換(C )
這裡是主場景的介面的c include helloworldscene.h include gamescene.h using ns cc using namespace std scene helloworld createscene bool helloworld init size visib...