設為首頁收藏本站

HKCDC討論區

 找回密碼
 註冊

QQ登錄

只需一步,快速開始

搜索

積分
25576
admin 發表於 2009-5-19 23:26:39 |顯示全部樓層
目錄
-- WorldCraft 的好用弁?

尋找固體/實體

-- CSG 期間的錯誤

太大的記號
超出範圍
平面共面
非正規平面
在紋理中缺少 '['

-- BSP 期間的錯誤

漏洞

-- VIS 期間的錯誤

在 VIS 時停住
入口文件不存在

-- RAD 期間的錯誤

在 RAD 時停住

-- 遊戲中的錯誤/ 問題

更換地圖失敗: '地圖名稱'('mapname')在服務器上沒有找到
整個地圖全亮



[ WorldCraft 的好用弁?]

-- 尋找某些固體/實體
從菜單選擇地圖/尋找固體... ( 或按 Ctrl-Shift-G), 然後在"實體編號"或 "固體編號"框輸入固體編號或實體編號。當你按確定的時候,WC 將會為你尋找並且選擇固體。



[ CSG 期間的錯誤]

-- 太大的標記
錯誤樣例:
第 5 行的標記太長
描述: 一個太長的字符串在你的 .map文件中。
詳細資料: 編譯工具不能處理有太長字符串的文件。這個錯誤幾乎總是由於你的地圖中使用的 WADs 列表引起的。

修復它,去 WorldCraft 的配置並且選擇紋理表單,在紋理列表中尋找每一個無用的 WAD,並且從列表中刪除。舉例來說,如果你在當前地圖中不使用 Xen 紋理,你並不是必需 xeno.wad ,或是如果你有一些 WADs 不是用在地圖中的, 也刪除他們。 (這裡包含 cached.wad , pldecal.wad)


-- 超出範圍
錯誤樣例:
錯誤: 實體 0,固體 14: 超出範圍+/-4096) (-224,48,-32)-(-176,96,10000)
錯誤: 固體超出範圍
描述: 地圖有一個必須修復的問題
怎樣修復: 查看 ZHLTProblems.html 文件中關於這個問題的詳細說明

錯誤: 實體 0,固體 14: 超出範圍+/-4096) (-240,32,-68)-(-160,112,10036)
錯誤: 實體 0,固體 14: 超出範圍+/-4096) (-256,16,-64)-(-144,128,10032)
錯誤: 實體 0,固體 14: 超出範圍+/-4096) (-240,32,-50)-(-160,112,10018)
描述: 有固體超出允釭漲a圖範圍,或它是無效的。
詳細說明:對這個錯誤有兩個推論:
- 有一個固體超出允釭漲a圖範圍。在 WorldCraft 中,網格覆遝蒤茼a圖區域。尋找如果有一個固體超出範圍,縮小視口直到你能從中看見所有的固體都在網格邊緣內,如果他們超出, 想辦法把他們移動回來,這個問題就被修復了。
- WorldCraft 有它的方式處理無效固體,他們之一會引起這個錯誤。當你的一個固體有不可辨認的面(幾乎總是由於錯誤的頂點處理) 的時候, WorldCraft 試著在它之外製作一個有效的固體,而有時這個操作導致一個有數百、甚至數千單位的長/高的固體。 如果這個坐標在錯誤信息中大大超過 +/- 4096,這時你一定有一個無效的固體。
要修復它,從錯誤信息中找到固體/實體編號並且尋找它(使用尋找固體工具) 。然後看看是否你能找到問題或如果你能做關於固體結構的事。如果不行,刪除它並且重做固體。


-- 平面共面
錯誤樣例:
hlcsg: 錯誤: 實體 0 ,固體 14,邊 6: 有一個共面平面在 (-64,-64,-64), 紋理 BABTECH6_2

hlcsg: 錯誤: 固體有共面的表面
描述: 地圖有一個必須修復的問題
怎樣修復: 查看 ZHLTProblems.html 文件中關於這個問題的詳細說明
描述: 在相同平面上,固體擁有超過 2個的頂點。
詳細說明: 你的地圖中的一個固體有一個不被 Half-Life 引擎支持的某些結構。這個固體在在相同的平面上有超過 2個的頂點。(譯者Sysman 徐註:意思是,你不能通過頂點操作把原本兩個面合併為一個面,比如,你把一個五邊形用頂點操作拉成一個四邊形,就會導致錯誤出現)
共面平面的相關圖片:





使用尋找固體工具尋找無效的固體,輸入來自錯誤信息的固體/實體編號(固體編號在上面的錯誤樣例中是 14)。要修復它,只是簡單的使用頂點操作工具移動你不喜歡的頂點到任意一邊, 然後給"合併頂點?" 提示以肯定的回答。


-- 非正規平面
錯誤樣例:
hlcsg: 錯誤: 實體 0 ,固體 14,邊 0: 非正規平面

hlcsg: 錯誤: 非正規平面
描述: 地圖有一個必須修復的問題
怎樣修復: 查看 ZHLTProblems.html 文件中關於這個問題的詳細說明
描述: 固體的一個面沒有任何的表面區域,所以不正規。
詳細說明:當你對一個固體進行頂點操縱而且移動一個頂點到另外一個,WC 提示你是否要 "合併頂點" 。回答否基本上僅僅是因為有原因的,可能這個位置只是暫時的。 在某些情況下,如果你不合並頂點,固體就能有一個有一些相同的拐角頂點的面, 於是這個面"不是真實的存在" 。(譯者Sysman 徐註:一個平面是由 3 個頂點確定的,每個頂點的位置必須不同,如果其中兩點一樣的話就不是面而是線了,當你使用頂點工具拖曳頂點時其中兩個頂點重合,卻沒有在彈出的對話框「合併頂點嗎?」選擇確定合併頂點的時候,這時,雖然這個面有三個頂點,但是其中兩個重合了,這樣就產生了「非正規平面」錯誤。所以,一定要選擇確定,合併掉頂點)

用來自錯誤信息的信息尋找固體。(在這裡的情況,固體編號是 14) 。現在你已經找到固體,使用頂點操作工具找到有問題的面。 當你找到它的時候,分別移動面的拐角頂點,然後移動它們其中一個到另一個身上,現在, 當出現 "合併頂點?" 提示時按[確定]。


-- 紋理中缺少 '['
錯誤樣例:
hlcsg: 錯誤: 紋理中缺少 '['
描述: 地圖有一個必須修復的問題
怎樣修復: 查看 ZHLTProblems.html 文件中關於這個問題的詳細說明
描述: 編譯工具不能正確的從 .map 文件中讀取紋理名稱。
詳細說明:發生這種事件的原因很少:
- 你的紋理名稱包含空格或其他的違法字符。 違法的字符也含 '?','?' 和用於一些語言的相似的其他文字。
- 對固體的一個面沒有應用紋理。 WorldCraft 可以用查找錯誤工具找到他們。



[ BSP 期間的錯誤 ]

-- 漏洞
錯誤樣例:
警告: === 漏洞在外殼 0 ===
實體光源 @( 0, 0, 128)
錯誤:
一個漏洞就是地圖的一個洞, 它的內部暴漏在
(不必要的)區域的外面。 在錯誤中列出的實體僅僅幫助
指示漏洞頂點文件(pts)在那裡開始, 那些線條可以快速的找到並描繪出在外面的範圍。 除非這個實體意外地出現在地圖的外面, 它或酗?雩茬Q刪除。 一些複雜的旋轉對象的實體需要他們的原點在地圖之外。 處理這些, 只需將原點固體綁定到一個固體實體中。

產生漏洞頂點文件(pts)

警告: ===漏洞在外殼 1 ===
實體光源 @(0,0,128)
產生漏洞頂點文件(pts)

錯誤: 因為在外殼 1 的漏洞而停下來.
描述: 你的地圖一個測點實體能檢視無效。
詳細說明:出現漏洞有三個基本的原因:
- 你的地圖不是完全封閉的 (甚至一個極小的洞就能引起)
- 在你的地圖之外有一個指針實體 (在空間裡)
- 至少你的外牆之一是基於固體的實體 (例如:func_wall)

找出這些原因中哪個導致產生漏洞,你需要想想在你最後一次編譯成奶妨嵺@過那些改變。 (舉例來說,如果你移動你的地圖中的一個房間,你有可能忘記移動光源實體,從而有機會使他們在空間外面。)如果你找不到原因,使用其中任何下列各項 ( 使用最普遍的) 方法來尋找導致滲漏的東西 :

1. 頂點文件(pts)
正如你看到的,編譯器給出 "產生漏洞頂點文件(pts)" 。 那是我們用來尋找滲漏的文件。
如果腳本/前端不能自動地完成它, 拷貝頂點文件(pts)(命名為你的地圖名稱.pts) 到.bsp 文件的目錄中 ( 舉例來說 C:\ sierra\half life\valve\map\).
1.2. 然後裝載你的地圖以單人模式運行遊戲。
1.3. 打開控制台輸入 "pointfile"(不要引號) 裝載頂點文件。 (如果遊戲提示你顆粒太小了, 添加參數 "-particles 100000" 到半條命的命令行。 這個數字定義遊戲將會分配的顆粒數量,如果你仍然找不到錯誤,增加數量)。
1.4. 你將會在地圖的周圍看到黑白交錯的線條。 現在,我建議你到 「不剪切模式」 (在控制台輸入 "noclip") 並且移動到線條開始的地方。(如上面錯誤信息所講,線條開始於和錯誤關聯的實體,在本樣例的錯誤信息的中,它是坐標在 0,0,128 的光源實體)。
1.5. 跟著這條線找出在那裡它超出你的地圖。那是漏洞發生的重點。 如果看起來它穿過一面牆,確定牆體沒有被綁定到一個實體。但是如果線條從你的地圖外面開始,那麼原因就是你在你的地圖之外有一個指針實體。

2. 大區塊的方法
這一方法基於封閉漏洞來尋找它。 不幸地,如果你的地圖有超過一個的漏洞,你需要做一些工作,使用[頂點文件]在釵h情況可能是最快的方法。
2.1. 創建一個巨大的固體區塊大約包含一半的地圖。 ( 如果我使用這個技巧, 我更喜歡使用[頂視]縮放固體, 而且當我到達一個足夠小的地區的時候,我起用 Z 軸 (向上/下).)
2.2. 編譯地圖並且看看漏洞是否仍然存在。(為更快和混亂的結果更少,你可能應該用 "- leakonly"參數運行 HLBSP, 以及跳過 VIS 和 RAD 的運行.)
2.3. 如果漏洞沒有了, 縮小大區塊使它包含最初面積的一半。如果漏洞仍然存在,移動區塊到地圖另一邊在試一次。
2.4. 重複直到你能準確地找到漏洞。


[ VIS 期間的錯誤 ]

-- 在 VIS 時停住
情形: VIS 沒有反應。
詳細說明: 這個問題相當普通,尤其是製圖人正在試著做一個複雜的地圖。 看一看 "過長編譯時間和如何改善" 教程獲取較多的信息。


-- 入口文件不存在
錯誤樣例:
錯誤: 入口文件'mapname.prt' 不存在,不能為地圖執行 VIS 。
描述: VIS 找不到運行 BSP 後一定產生的 .prt 文件。
詳細說明: 這個錯誤通常是由於製圖人沒有運行 BSP 或是運行編譯工具的順序不正確。另外的通常原因是在那個編譯程序的前一階段有一個錯誤。
如果你不能確定什麼用工具運行和是什麼順序, 那麼檢查編譯設置並且確定工具以這順序運行: CSG , BSP , VIS , RAD。
但是如果你發現運行順序沒有錯誤, 用文本編輯程序打開編譯日誌(命名為你的地圖名稱.log) ,查看在這之前的所有錯誤。


[ RAD 期間的錯誤 ]

-- 在 RAD 時停住
情形: RAD 沒有反應。
詳細說明: 這個,連同"在 VIS 時停住"問題一起,在 "過長編譯時間和如何改善" 教程都有提到。


[ 遊戲中的錯誤/ 問題 ]

-- 更換地圖失敗: '遊戲名稱'('mapname') 在服務器上沒有找到
錯誤樣例:

描述: 遊戲不能從指定的目錄中找到 .bsp 文件。
詳細說明: 這個問題是那些沒有簡單解決方法的問題的其中一個,因為有大量的事件導致了這個錯誤發生。感謝的是,這裡有一些通常的事件:
- 在編譯的時候有一個錯誤,但是腳本/前端沒有發現錯誤並且正常的啟動了遊戲。 這有時導致遊戲啟動是沒有載入任何 .bsp 文件,因此你將會收到那個信息。解決它,查看編譯日誌(命名為你的地圖名稱.log) 並且嘗試找到一些錯誤信息。
- 你正在運行錯誤的 mod 。 如果你要玩一個放在指定的 mod's 的目錄之內的地圖,半條命需要 mod 從指令行啟動或是通過定制遊戲菜單(Custom game)。 如此,舉例來說,如果當你試著運行一個 CS 地圖的時候你正在看著半條命控制台,,你會知道你有一個問題。 檢查快捷方式參數或編譯器前端設定並且確定你正在運行真確的 mod(如果你製作的是 CS 的地圖,命令行應該像 "hl.exe -game cstrike +map 你的地圖名稱")


-- 整個地圖全亮
描述: RAD 編譯操作階段沒有成尼髡芋C
詳細說明: 這裡有 2 個關於這個問題的非常普遍的原因:
- 有編譯的前一部分有一個錯誤 , 但是一個可以玩的 .bsp 文件已經建立。用文本編輯程序打開編譯日誌(命名為你的地圖名稱.log) ,查看在這之前的所有錯誤。
- 你沒有在你的地圖中放置任何光源。RAD 需要出現至少一個類型的光源(指針實體,紋理光源..) 。 如果沒有,它將會使整個地圖全亮

如要查看全部, 請登錄註冊 QQ登錄

使用道具 舉報

積分
20999

最高榮譽勳章

a0001521 發表於 2009-6-5 21:32:59 |顯示全部樓層
漏洞是新手常犯的錯誤。
原創作品↓


Nexon作品↓

使用道具 舉報

中尉

元老

積分
10403

最高榮譽勳章

茹子2007 發表於 2009-6-10 09:09:28 |顯示全部樓層
值得省思

使用道具 舉報

積分
237
lhfdjddf 發表於 2009-7-1 19:23:14 |顯示全部樓層
好詳細哇,我會修改

使用道具 舉報

積分
30
laixiaoer 發表於 2011-4-19 15:16:26 |顯示全部樓層
師兄 ,這可真全啊! 謝了啊 ...

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

Archiver|手機版|HKCDC   

GMT+8, 2017-10-18 06:22 , Processed in 0.150654 second(s), 19 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部