最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

補檔:06.【擴展研究】物理特性和碰撞體指南

2023-01-02 10:16 作者:零貳02  | 我要投稿


《ZM3 GTA5 導入與導出插件》技術文檔

原創(chuàng)教程:零貳

以下是技術文檔的目錄:

01. GTAV 導入與導出插件的準備工作:如何安裝 ZM3.1.0

02.【基礎知識】GTA V:場景層級,復合物體,幾何體模型

03.【使用指南】ZM3《GTA V 導入與導出插件》使用指南

04.【拓展研究】GTA V:玻璃破碎數(shù)據(jù)指南 (*.cwgv 文件)

05.【擴展研究】GTA V 著色與材質,車體效果,載具燈光,貼圖等的指南

06.【擴展研究】GTA V:物理特性和碰撞體指南


寫在前言,從最初撰寫和翻譯第一篇《ZM3 GTA V 導入與導出插件》指南的 8 月 16 日,到

今天,經過 10 天的時間,總算把總數(shù)為六篇的插件指南編寫完了。全部指南涵蓋了制作一

個 MOD 所需的大部分知識,只要你對 MOD 有興趣,認真研究一下的話,都可以做出優(yōu)質

的 MOD。


06. GTA V: Physics and collision guide.

06.【擴展研究】GTA V:物理特性和碰撞體指南

原創(chuàng)翻譯:零貳


載具的物理特性來自于一個或多個碰撞體(collision)部件,包括質量,體積和模型表層參數(shù)

(碰撞體代表的材質特性)。

碰撞體是一個包圍在車體外部的低模多邊形,游戲通過檢測它,來感知載具的體積。沒有碰

撞體,你的角色可以直接穿過載具或者載具穿過建筑,顯然這是錯誤的,很可能會導致游戲

崩潰。在游戲中,不僅僅載具有碰撞體,游戲內的建筑,植物等等都是有碰撞體包裹的,這

里我就不再詳細闡述了。

你可以給載具的多個部件賦予不同的碰撞體,但是部件的體積不能超過碰撞體。舉例來說,

當你為車體框架,車門和保險杠賦予碰撞體的時候,基本上不會為懸浮的部件,小部件,裝

在保險桿上的升級部件和行李箱賦予碰撞體。

另外,當一些部件已經被包含在一個較大的碰撞體內,那么這個碰撞體也可能足夠包容附加

在這個部件上的小物件。譬如:載具上的一個名為“bodyshell”車體外殼的部件,它并沒有被賦予到碰撞體,但是載具的“chassis”車身框架是有被賦予碰撞體的,而且這個碰撞體的體積

足夠大,完全可以容納這個“bodyshell”部件。那么就沒有必要為它再次制作一個碰撞體了。

只有幾何體模型才能被賦予碰撞體文件。在你導出載具之前,必須確保層級面板中,所有的

部件都必須包含在碰撞體內。當然也要包含尾燈,倒車燈,大燈,警燈這些小部件。

碰撞體的數(shù)據(jù)

你的碰撞體可以是多邊形幾何體,也可以是一個沒有實體的虛擬體。你可以使用長方體,圓

柱體,膠囊狀和球體來制作幾何體類碰撞體模型,除了圓錐體外。虛擬體類的碰撞體則必須

以中心點為依據(jù)。在為形狀復雜的載具制作碰撞體時,可以由數(shù)個簡單造型的碰撞體拼接組

成,或者由多個虛擬體類碰撞體拼接成組。

為了將碰撞體和所包含的部件建立對應的聯(lián)系,你需要為你的碰撞體命名一個和部件相同的

名字,只是在碰撞體名字的后面加上“[col]”標簽。譬如,你要為載具的左前門“door_dside_f”

賦予一個碰撞體,那么你的碰撞體名字就是:“door_dside_f [col]”。這樣,游戲引擎在渲染時

就會將這個碰撞體辨識為左前門的碰撞體。

另外,你也可以將這個左前門的碰撞體放置到復合體部件中,將它歸類為碰撞體聲明里(COL?

state)。這樣這個碰撞體和左前門一起組成了一個復合體部件,這個復合體部件便可以即作

為 LOD 文件,又可以作為碰撞體文件。

不過,當你把這兩個合并為復合體部件后,有一個缺點,就是在你編輯的時候,它們不能被

同時顯示出來,每次只能顯示其中的一個。下圖是一個前保險桿與它的碰撞體組合成的復合

體部件,同時點擊 L0 和 COL 聲明按鈕后,在場景內,依舊每次只能看到其中一個模型。

像前面說的,碰撞體的形狀越精簡越好。如果載具造型復雜,那么可以使用基本的多邊形搭積木一般組成載具的外觀。這種基本的多邊形也是面數(shù)越少越好,并且必須要是節(jié)點封閉的

多邊形,這樣引擎在檢測的時候,才會切實的檢測到碰撞體的邊線。由此,也會得到一個更

好的碰撞效果。

當你導入載具時,導入的碰撞體的模型可能會丟失貼圖的法線,或者依舊沿用著舊的法線,

并且看起來很平滑。為了避免這種情況,你可以勾選“Flat shaded”平滑光影渲染選項。

雖然這不是必須的,但還是建議你將所有的碰撞體部件合并成復合體部件,并且歸類

到”[COL]”聲明中。首先,點擊“Structure”結構面板上的“[COL]”聲明按鈕,接著在“hierarchy”

層級列表里選擇一個碰撞體模型,然后點擊結構面板上的“Convert to compound”轉變?yōu)閺秃?/p>

體部件按鈕。把所有的碰撞體模型歸類到[COL]聲明下,并不需要太久的時間,但卻可以給你

的工作帶來效率。通過點擊“[COL]”聲明按鈕,你便可以顯示或隱藏碰撞體。碰撞體形狀

碰撞體的類型有兩種:可變形“deformable”與不可變形。大部分情況下,可變形的碰撞體用

于載具外圍的部件,譬如保險桿,車門,引擎蓋等。不可變形的碰撞體主要用在了內部部件,

譬如車體框架,大部分的飛機和船的主體也是用不可變形碰撞體包裹的。你可以在碰撞體的

屬性面板里,通過勾選或不勾“deformable”來設定是否屬于可變形碰撞體。

可變形的碰撞體必須使用節(jié)點完全閉合的多邊形來制作,不能有洞,或是從一個整體上分離

出來的面。如果你需要制作復雜的碰撞體造型,那么就是用簡單基礎多邊形來堆疊拼接成碰

撞體,然后將它們成組。

另外,可變形碰撞體必須要指定一個損壞的程度。你可以通過編輯碰撞體的節(jié)點來調整大小。

在“Structure”結構面板上按下“Damage”損壞按鈕,然后保持按鈕啟用的情況下,編輯節(jié)點,

將節(jié)點向內收縮一段距離。要注意的是,“Damage”損壞按鈕右側有一個下拉箭頭,點擊它,

你會看到從 25%到 100%的四個程度。顯而易見,你需要為這四個損壞程度,分別定制碰撞體的大小。如果不清楚的話,可以參照對比游戲原始載具的碰撞體,點擊不同的程度,你就

可以看到區(qū)別了。下圖中顯示的是前保險桿在正常和損壞兩種狀態(tài)的模型大小。

上圖中,綠色的半透明模型是原始的前保險桿模型,藍色的是通過編輯節(jié)點,縮放后的模型。

這是一張重疊的圖,僅僅用來作為對比。在 ZM 里,并沒有這樣的對比功能。但你可以通過

開關“Damage”損壞按鈕來對比。

一部分的碰撞體它本身是帶有代碼編號的,這些編號代表著所擁有的物理屬性。下圖中,你

可以通過選擇工具,將碰撞體上,車體“chassis”的多邊形選中,然后在屬性面板的

“General->External State -> ID”序號中,可以看到它的編號“ID”為 142,它代表著不可損壞

區(qū)域,不會和其他碰撞體發(fā)生反應。它保證了當你關車門時,車門和車窗玻璃不會“撞擊”到

車體框架上。這個編號同樣可以保證子彈可以穿過這個區(qū)域,然后在車門或者車窗的碰撞體

上留下痕跡。

目前我還沒有完整的編號列表,你在制作時可以通過比對游戲原本的模型,來為你的碰撞體

相應的部分編號。

你也可以展開并查看下“Default Compatibility”默認兼容性選項。這些標記“Flag”一般都代表著

物體在游戲內損壞聲明,告訴游戲引擎當被損壞時,物體以何種形式表現(xiàn)。

同樣的,我暫時也還沒有這些標記“Flag”所代表的意義列表,這需要你自己去挖掘。

一些最常用的碰撞體表層材質代碼編號(IDs)和標記(Flags):

116 = 金屬表層。當子彈撞擊到這種表層時,碰撞體會渲染出火花和撞擊痕跡。這鐘表層同

樣會生成刮擦的痕跡,當載具和其他物體碰撞時。

117 = 布料材質。通常會帶有一個標記:Flag #2。

120,121,122 = 玻璃材質,分別是低硬度,低硬度和中等硬度。120 用于車門玻璃,121 一

般用于后擋風玻璃,122 用于前擋風玻璃。通常帶有標記:Flag #3 和 Flag #8。

123 = 損壞不了的玻璃材質。一般用在船艇上的小窗玻璃上。通常帶有標記:Flag #2 和 Flag?

#3。

142 = 不可損壞區(qū)域,不會與其他碰撞體發(fā)生反應。一般用在車體框架“chassis”上。通常帶

有標記:Flag #3 和 Flag #4。

基礎多邊形構成的碰撞體

你可以使用長方體、球體、圓柱體和膠囊狀模型來轉換成虛擬碰撞體,這些碰撞體的中心必須位于幾何中心位置。圓柱體以 X 軸為基準,膠囊狀模型以 Z 軸為基準。這些碰撞體的表層

屬性所對應的代碼編號和兼容性可以查看上一段的文字。

車輪的碰撞體

輪胎的碰撞體必須是要確保中心點在它的幾何中心,也即 X 軸,Y 軸,Z 軸的中心。碰撞體

的尺寸可以在虛擬體屬性“Dummy properties”的屬性面板里進行修改?!癤-scale” X 軸縮放表

示的是輪胎寬度,“y-scale”和“Z-scale”表示的是輪胎的半徑。

碰撞體組合

在制作載具 MOD 時候,經常會碰到某個部件的碰撞體是由多個簡單的基礎多邊形構成,這

種類型的碰撞體一般都是將這些多邊形成組“group”。一般你可以在帶有大型尾箱,開放式尾

箱的車輛上見到這類碰撞體。

目前的 ZM GTA V 插件版本還不允許對成組后的模型編輯,也包括成組后的屬性。因此,你

需要首先將成組后的碰撞體解開“ungroup”,然后就可以對里面的單個模型進行編輯。在你

編輯完后,需要重新將它們成組“group”。

當這個碰撞體組是包含在復合體部件中,那么首先必須將這個復合體解散“Dismiss”。但你編

輯完單獨的模型后,再在“hierachy”層級面板里選擇剛才被你解散的復合體,然后重新集合

“group”它們。接著點擊“COL”聲明按鈕,接著點擊“Convert to compound”轉換為復合體部件。

要注意的是,但你解組后編輯單個碰撞體模型時,你只能編輯這一個模型的屬性。譬如像碰

撞體的質量屬性,這個質量是碰撞體組合里面所有單個碰撞體質量的總和。因此,如果你要

修改,就必須要單獨的對所有的碰撞體進行修改。

物理屬性

物理屬性都保存在了碰撞體的“user-defined”用戶自定義選項中,雙擊此項目,可彈出設置面

板。點擊結構面板上的“[COL]”聲明按鈕,當你的碰撞體和載具模型合并成了復合體部件的時

候,你需要展開列表,然后選擇碰撞體文件。

質量屬性是指一個物體的重量

“E”屬性是一個帶有 4 個數(shù)值的未知屬性。我猜測他是“Energy”能量或“Energy spread”能量

擴散,但是也有可能并不是這個。這些數(shù)值控制著載具的部件在游戲的行為,包括撞擊后的

變形等級,以及其他一些特別的屬性。在早前的 GTA 4 插件中,這個屬性是依據(jù)碰撞體的大小和邊線來控制的。

修改這些數(shù)值,如果不在正確的范圍內,那么就會導致載具撞擊后,出現(xiàn)錯誤的變形?;蚴?/p>

導致可被開啟的物體產生錯誤行為,譬如引擎蓋受到輕微撞擊,就可能飛走。在這個新的 GTA?

5 插件中,我將這個“E”屬性保留為可編輯模式,以便你可以研究并制定自己的四項物理屬性

值。如果你感覺無從下手,可以去參考游戲原本的載具數(shù)據(jù)。推薦使用比較普遍的數(shù)值來填

寫這四項屬性,可以避免錯誤。

如果你在測試不同的數(shù)據(jù)時發(fā)現(xiàn)了問題,也歡迎你在論壇里發(fā)帖,我們可以一起探討并嘗試

解決。

正確的處理碰撞體模型的面是非常重要的。

某些碰撞體模型會有外凸的凸面,在之前的 GTA 游戲中,這些面如果沒有完全縫合,引擎也

不會太在意,會忽略掉這個問題。下圖的左側是 GTA4 中車門的碰撞體,右側是 GTA 5 中的

碰撞體??梢钥吹?GTA4 中的碰撞體,它的點并沒有完全縫合。這種碰撞體到了 GTA5 中,

會被游戲引擎拒絕掉,導致的結果就是碰撞體不起作用。因此,你必須像右側那樣,將碰撞

體的面完全縫合成一個整體。另外,還要注意那些被翻轉的面,這種面也會導致問題的出現(xiàn)。

所以也必須將這類面翻轉到正確的一側。


補檔:06.【擴展研究】物理特性和碰撞體指南的評論 (共 條)

分享到微博請遵守國家法律
新晃| 布拖县| 贵德县| 明溪县| 宝兴县| 麻栗坡县| 逊克县| 五寨县| 剑川县| 铜梁县| 万山特区| 洪泽县| 东港市| 原阳县| 闻喜县| 荔波县| 伊春市| 于都县| 多伦县| 威宁| 黄陵县| 鄂州市| 囊谦县| 黔西| 龙门县| 丹阳市| 河东区| 富川| 墨玉县| 湘潭市| 历史| 宝山区| 泸水县| 长子县| 望都县| 韶关市| 伊宁县| 铁力市| 玉田县| 华亭县| 原平市|