|
寫一個path是再簡單不過的事情了
首先,從寫單個path開始.
不過在開始自己寫之前,我還是建議,一般不用自己親手寫一個path,拿遊戲自帶的path和NAM海量的path來修改是一個避免出錯和麻煩的更明智的選擇.當然,無論是寫path還是改path,你至少要能讀懂一個怕他會到底寫的什麽東西,比如PathCreator就是一個很好的東西,它能幫助你迅速的瞭解一個path描繪的是什麽(不支持負Z坐標).強烈建議你把PathCreator下下來試試.
一,一個path如何寫成的
好,廢話太多了,我們就打開一個path看看(這是NWM的AVE6)
SC4PATHS
1.2
4
0
0
-- car_1_3_a
1
0
1
3
0
2
-3.5,8,0
-3.5,-8,0
-- car_1_3_b
1
1
1
3
0
2
1,8,0
1,-8,0
-- car_1_3_c
1
2
1
3
0
2
5.5,8,0
5.5,-8,0
-- sim_1_3
2
0
1
3
0
2
-7,8,0
-7,-8,0
開看:
簡單的説,文件開頭這部分很有特點
SC4PATHS
1.2
4
0
0
第一行SC4PATHS,這個是固定的..沒什麽可以解釋的
第二行1.2:path的版本:
Path有3個版本,其中1.2版只有在尖峰時刻及其以上才可用,而使用1.2版的目的是在自駕模式中軌道交通有變軌按鈕,在1.0和1.1的中,自駕就悲劇了.(變軌問題一會兒説)
下面兩個:
4
0
第一個是下文普通path的個數,第二個是STOPpath的個數(所以說我這裏沒有STOPpath)
然後是
0:所謂terrain variance,一般是0比較好吧…
然後是path主體:
-- car_1_3_a
1
0
1
3
0
2
-3.5,8,0
-3.5,-8,0
首先每個Path在文件中的排序和命名是有一定約定成俗的規定的:
第一,普通path必須在STOPpath前面,這個是必須的;第二path再按照path的通勤種類排序;其次,按path出入方嚮排序(後面解釋這個什麽).
因此在第一句:
-- car_1_3_a
:命名時,最好按照car(通勤種類)_1_3(方嚮從1到3)_a(的第一條)或者Stop(表明是stop)_car(通勤種類)_1_3(方嚮從1到3)_b(的第二條)
1 : 通勤種類
可用的分別是1 Car.2 Sim.3 Train.4 Subway.6 Elevated Train.7 Monorail.
0 :同一個通勤種類同一方嚮出入的path編號,只要不重複就行.比如本文件的同是car_1_3的path,a,b,c的第二條分別寫的0,1,2(如果你按上述path排序法排序,就不會糾結這個)
1
3 :出入口,從1進去3出來.0,1,2,3到底是什麽方嚮,看上邊那個圖.
0 :是否有軌道匝道的值,只在1.2版才有這行
2 :path是一串點相連的,這是指有多少個點
-3.5,8,0
-3.5,-8,0
:每個點的坐標XYZ,其中XY限定在-8到8之間
OK一般的path就是這樣,簡單吧.
至於STOPpath,我暫時還不了解它的具體用法,來一個例子:
-- stopUK_car_1_255 :名字
2 :這行是左行右行(1:左行,2:右行)(我確實不知道描述這個有什麽用)
1 : 通勤種類(同上)
0 : 同一個通勤種類同一方嚮出入的path編號(同上)
1
255 :1和255是出入口編號,255是只在STOPpath可用的特殊出口編號,表示neighbour connections and others.
2.54713,7.26555,0.0 :STOPpath只有一個終點
Path主體教程完成
二,寫PATH前的工作
寫path前,你一定要有一個清晰的思路,在草稿紙上畫畫,明確每個path的出入口方嚮(這是很重要的),了結是否有幾條path有同樣的通勤類型和出入口方嚮(如果有,需進行編號).然後,到Multipath去干吧.例如我這個實例
方便吧……
有一個整體規划,一個整體的平臺上寫path,就不怕方嚮不對等囧事發生了.退一步說sc4也沒嚴格要求path對上,差不多就行了…
三,寫PATH后的工作
一個或者一堆path完成后你總是要用它的.把它導入dat的過程就不用說了吧…然後就是用法.
第一種用法是嵌套在LOT上,使lot可以按一定路徑通勤,首先説這個:
首先,導入LOT的path的group必須是a966883f一般修改通勤lot使用SC4TOOL的TE,你首先必須瞭解http://www.simcity.cn/thread-23130-1-1.html,請再繼續看下去.
用TE將lot上加上基本的通勤,要注意的在嵌套path前,每個地塊的外接方向不要按照lot中的方嚮設置(REP15),而要按照path的正方向設置.(因為對path進行鏡像,旋轉,外界方嚮也要跟著動的,我建議放在後面來修改)
然後就對REP16進行設置,嵌套上path的ID(這個就隨便你了)
要注意的是,LOT的正方向是path的反方向(LOT和path的方嚮是反着的),這個旋轉和鏡像的感覺我覺得只有你自己設置幾次經遊戲看看path的效果才更能瞭解,我在此就不累訴.反正REP3的8位首位0或8代表是否鏡像,末尾0,1,2,3表示旋轉.
Path的旋轉和鏡像的REP3設置好了,再來設置REP15.
REP15有6個可用值.如上表……看着十分暈吧…
按一般來說,00和02比較常用,00就是沒有外接,02表示有外接,還有04,用在雙錢道路形式(如大道)的兩條線之間的通勤,而01和03用在斜向外接,請參考http://www.simcity.cn/forum.php?mod=viewthread&tid=15946;而ff在lot中幾乎不用在設置REP15時,要注意不同的道路種類之間不要設置對接,因為每個地塊無完全對接就無法顯示path,如果本來就無法連接的地方你還設置着連接,就是畫蛇添足了.
效果:
還要注意的,既然是lot,就不要介意通勤在裏面亂竄(小火車的悲劇)如:
這是lot嘛....
挂path主要就是設置REP3,REP15,REP16(REP14是道路種類,你用TE加通勤時已經完成這一步了).LOT挂path這種東西主要還是要有經驗,多試試就會覺得很簡單啦.
然後第二個用法就是給NetworkPiece用(完整的piece製法,請看http://www.simcity.cn/thread-29253-1-1.html)
NetworkPiece用path就很糾結了,它無法鏡像和旋轉,所以你只有在需要時製作多份方嚮不同的同樣path了……
它的group值依然是a966883f,至於ID,應該和對應exemplar一樣.
因為NetworkPiece是一個自動調用組,就像指向xxxxx000的模型就可以調用一整個model的所有room的模型一樣, NetworkPiece調用一個exemplar組,是xxxxxXY0,其中XY是對應tile在Network中的坐標,所以和上面那個lot一樣的NetworkPiece,就有如圖exemplar組和對應path
然後在rul的描述中,也有与lot的REP14,REP15相似的描述,是CellLayout和CheckType.道理与上相同.(由於這個教程是path的, NetworkPiece就不多說了)
CellLayout =......
CellLayout =..AA..
CellLayout =..aa..
CellLayout =..aa..
CellLayout =..aa..
CellLayout =..aa..
CellLayout =.YWWM.
CellLayout =.ZXXN<
CellLayout =..aa..
CellLayout =..aa..
CellLayout =..aa..
CellLayout =..aa..
CellLayout =..BB..
CellLayout =..^...
CheckType = a - road:0x02000200
CheckType = A - road:0x02000000 optional
CheckType = B - road:0x00000200 optional
CheckType = W - avenue:0x04020002
CheckType = X - avenue:0x00020402
CheckType = Y - avenue:0x04020000 optional
CheckType = Z - avenue:0x00020400 optional
CheckType = M - avenue:0x04000002 optional
CheckType = N - avenue:0x00000402 optional
這裏就定義了每個tile的道路類型,和外接方嚮,optional指是否可以拖拉之類的
整個Piece效果如圖
就寫這麼多吧,看看還有什麽補充的
[ 本帖最后由 lrdcq 于 2010-10-6 17:56 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?入住
x
评分
-
查看全部评分
|