這是虛幻引擎3UDN的技術文檔,共有六個章節。如下將分別把中文譯本貼出來,方便懶人學習[偷笑] html
UE3最低及推薦配置規格
--------------------------------------------------------------------------------
• 具備DirectX 9.0c的Windows XP SP3 (僅32位)
• 2GHz 或者更好的 CPU
• 2+ GB 內存
• 支持Shader Model 3.0的顯卡,例如 nVidia GeForce 7800
注意: 目前Windows 7 64位是主流的開發環境。
針對開發人員的推薦PC硬件規格
--------------------------------------------------------------------------------
• Windows 7 64-位
• 2.0+ GHz 多核處理器
• 8 GB 系統內存
• NVIDIA 8000 系列或更高系列的顯卡
• 大量的硬盤空間
Epic Games使用的PC硬件規格
--------------------------------------------------------------------------------
Epic的開發人員使用的硬件規格
• Lenovo ThinkStation D20 (Model 4158-C95)
• Windows 7 64-位
• Dual Quad-Core Xeon Nehalem 處理器(3.17GHz)
• 24 GB DDR3 內存
• nVidia GeForce GTX 285 (1 GB DDR3)
• 3x500 GB 硬盤 (1x OS Drive, 2x Data Drives in a RAID 0 configuration)
Epic的關卡設計人員使用的硬件規格
• Dell Precision Workstation T7400
• Windows 7 64-位
• Dual Quad-Core Xeon Nehalem 處理器(3.0GHz)
• 16 GB DDR2 內存
• nVidia GeForce GTX 285 (1 GB DDR3)
• 3x500 GB 硬盤 (1x OS Drive, 2x Data Drives in a RAID 0 configuration)
Epic的美工人員使用的硬件規格(和關卡設計人員同樣)
• Dell Precision Workstation T7400
• Windows 7 64-位
• Dual Quad-Core Xeon Nehalem 處理器(3.0GHz)
• 16 GB DDR2 內存
• nVidia GeForce GTX 285 (1 GB DDR3)
• 3x500 GB 硬盤 (1x OS Drive, 2x Data Drives in a RAID 0 configuration)
Epic的測試人員使用的硬件規格
• 自組裝的PC
• Windows 7 64-位
• Intel Core2Extreme Quad Core Processor - Q6800 - 2.93 GHz
• 4 GB DDR2 內存
• nVidia GeForce 8800 (768 MB GDDR3)
• 1x320 GB 硬盤 (OS Drive), 1x500 GB Hard Drive (Data Drive)
Swarm Farm 服務器的硬件規格
• IBM BladeCenter HS22 [7870AC1] (14 個節點)
• 一個節點的規格說明: ◦ Dual Quad Core Xeon 處理器(2.53 GHz)
◦ 24 GB DDR3 內存
◦ 73GB SAS Drive
顯卡驅動器
--------------------------------------------------------------------------------
對於 NVIDIA 顯卡,咱們目前推薦使用官方發佈的 ForceWare 191.07 驅動器。在這裏下載。
對於 ATI,咱們目前推薦使用官方發佈的 Catalyst 9.8 驅動器。在這裏下載。
性能注意事項
--------------------------------------------------------------------------------
• VTune 是一款極其有效的工具,它能夠發現性能方面的問題,可是隻適用於 Intel CPU。
• 爲了幫助正確表現次時代遊戲資源牆壁,咱們能夠進行如下操做 1. 全部機器都是16 GB或更多的內存。
2. 全部機器都在遊戲所在位置有一個 RAID 0(條形)驅動器。
3. 咱們具備夜間能夠在全公司每一個人機器上運行清理磁盤的流程。由 RaxCo 出品的 Perfect Disk 8.0。 ■ 在遠程機器上安裝簡單的集中式管理,按規定運行、升級等等。
■ 支持的XP, Vista64.
一般狀況下,I/O 會發生瓶頸現象,獲取一個 RAID 0 和大量 RAM 能夠幫助解決這個問題。
編譯時間
--------------------------------------------------------------------------------
如下是當咱們使用典型的Epic開發人員規格配置及其(8 HT核@2.8GHz,具備24GB內存)以發佈模式徹底地編譯Win32版本的UDKGame所花費的時間。
單一系統 2分50秒
使用不少XGE (IncrediBuild)代理的分佈式系統 1分37秒
64 位性能
--------------------------------------------------------------------------------
Epic的開發人員使用Windows 7 64-位系統做爲他們的主要開發系統。最大的優勢是:它具備大於4GB的內存,大大地加速了迭代時間,您沒必要在不斷地將數據交換到磁盤上。
對於程序員而言,最明顯的優點是:
• 編譯 C++;連接 C++
• 編譯UnrealScript
• 運行編輯器,運行遊戲的 1-2 副本 程序員
推薦和須要的虛幻開發硬件
--------------------------------------------------------------------------------
對於用戶計算機的最小需求
• Windows XP 附帶 DirectX 9.0c
• 支持shader model 3.0的顯卡。
開發者對計算機的最小硬件要求
• Windows XP 附帶 DirectX 9.0c
• 2GHz 或者更好的 CPU
• 2+ GB 內存
• 支持Shader Model 3.0的顯卡,例如 nVidia GeForce 7800
推薦供開發者使用的計算機硬件標準
• 具備DirectX 11的Windows 7 64位
• 2.4 GHz 或者更好的雙核(或者四核)計算機
• 2+ GB RAM
• 支持着色器模型 3.0 的 PCI 加強型顯卡,例如 nVidia GeForce 7800
• 2 個顯示器 @ 1600x1200 或者更好
注意:若是您使用的是網絡代碼,雙核處理器配置將很是有效,這樣您能夠在同一臺計算機上運行服務器和客戶端,速度也至關使人滿意。
顯卡驅動器
目前咱們推薦使用每一個顯卡製造商最新出廠的可靠發行版本:
• 在這裏下載 NVIDIA 驅動器。
• 在這裏下載 ATI 驅動器。
64 位性能
--------------------------------------------------------------------------------
Epic的開發人員使用Windows 7 64-位系統做爲他們的主要開發系統。最大的優勢是:它具備大於4GB的內存,大大地加速了迭代時間,您沒必要在不斷地將數據交換到磁盤上。
對於程序員而言,最明顯的優點是:
• 編譯 UnrealScript
• 運行編輯器;運行遊戲的 1-2 副本 web
Epic Games設計流程
--------------------------------------------------------------------------------
• Epic Games設計流程 ◦ 從概念到完成
◦ 從美術概念開始
◦ 遊戲性概念
◦ 網格物體建立
◦ 材質建立
◦ 構建關卡原型
◦ 腳本
◦ 網格物體化關卡
◦ 照亮關卡
◦ 動態載入
◦ 性能優化
◦ 附錄
從概念到完成
--------------------------------------------------------------------------------
本文檔的目的是讓你們對Epic Games公司內部的關卡建立流程有一個深刻的瞭解。
從美術概念開始
--------------------------------------------------------------------------------
一旦項目的美術指導和設計指導已經承認了環境的概念觀,那麼這個環境概念觀將會傳給關卡設計人員和環境美術工做人員進行設計。
細分概念
關卡設計人員將會開始識別地圖中的簡單構造,好比建築物將要在哪裏放置建築物以及能夠使用哪些大體的圖形來構建關卡的原型。
肯定關鍵構造
美工人員及其指導將會肯定主要的設置塊,它們作爲遊戲中特定區域的標誌性物體。 這些工做通常都先放在一邊直到項目的後期才完成,由於大部分的網絡都是模塊化集合,能夠在90%的世界中使用它。
得到模塊化的網格物體集合
關卡設計人員和環境美工人員共同定義一組模塊化網格物體塊,這些網格物體由美工人員構建。 它們包括相似於裝飾塊、門、窗、牆、角落及這些網格物體的變種等的物體。
遊戲性概念
--------------------------------------------------------------------------------
在「概念」方面,咱們認爲美術概念和遊戲性概念上有很大的不一樣,然而它們都有很重要的做用。 遊戲性概念在初期階段涉及到了關卡設計人員和程序員的不少交互。 美術概念涉及到了關卡設計人員和美工人員的不少交互,而且一般在遊戲性原型沒有完成以前美術概念甚至都不會開始。
設計人員/程序員間的交互
經過結合使用Unreal Kismet和引擎中現有的行爲,關卡設計人員和程序員一同來勾畫出遊戲性觀念的原型。 通常這個工做的完成是概念層次上的驗證,它僅包含幾何體和精確測試相關係統所須要的資源。 在項目過程當中,關卡設計人員將會須要當前不存在的行爲,這些行爲將會根據時間的容許程度和遊戲項目的須要狀況來進行優先次序排列。
Kismet中製做遊戲性原型
這個行爲或者添加到Kismet中或者經過遊戲代碼提供。 在不少狀況下,關卡設計人員將會在Kismet中建立須要的行爲,而後程序員能夠評估這些行爲並儘量地提升效率。
網格物體建立
--------------------------------------------------------------------------------
咱們的美工人員能夠使用各類工具來建立人物和環境。
高多邊形網格物體使用的工具
早期,網格物體的建立是在3D Studio Max中完成的,而後不少工做將會轉換到Z-Brush中進行建模和細節設計。
低多邊形網格物體
低多邊形網格物體建模大多數都是徹底地在3D Studio Max中進行的。美工人員建立一箇中等級別分辨率的網格物體,而後把它移動到Z-Brush中進行細節處理,同時它也用於提煉低多邊形網格物體。
展開UV貼圖
當完成低多邊形網格物體後,使用3D Studio Max的UVMap 和 UnwrapUVW修改器來建立網格物體的UV貼圖。 3D Studio Max 8具備比3D Studio Max 7更多的高級功能。
從網格物體建立法線貼圖
美工人員能夠使用不少種不一樣的方法來從網格物體上建立法線貼圖。 較老的方法是使用SHTools一同處理高多邊形和低多邊形網格物體。 在這種方法中,網格物體一般會被分解,從而能夠避免那些分離的但又離得很是近的物體產生隨機偏差,好比手指、肩墊、以及嘴部的部分好比牙齒和舌頭。 固然,較新版本的3D Studio Max (8及以上版本) 和 Maya也有處理網格物體的能力,而且不少美工人員已經轉換使用它們了。
法線貼圖一般老是會和一個次要的凸凹貼圖相結合,好比紡織物圖案。 SHTools和較新版本的3D Studio Max都支持這個功能。固然,相似於鉚釘、螺栓、劃痕及花邊等的較小細節一般會從美術人員製做的預處理的法線貼圖庫中被合成到法線貼圖中。 這將會使得建模的過程變得更加快,由於只有很是少的細節須要在多邊形上建模。
材質建立
--------------------------------------------------------------------------------
漫反射和高光建立
一旦建立了UV貼圖,並處理了法線貼圖,貼圖美工人員開始着手建立物體或人物的貼圖。 這經過UV貼圖的佈局來完成。在不少狀況下,高光貼圖是全色貼圖,容許物體或角色的不一樣部分呈現出不一樣的材質,好比肉、銅、鋼鐵等。
在UnrealEd中建立材質
一旦物體或角色的主要貼圖接近完成階段,將會把貼圖導入到引擎中,而後爲那個物體建立一個材質。 在導入貼圖的過程當中使用DeferCompression標誌能夠節約不少時間,由於在包被保存以前,它將延遲把貼圖壓縮爲DXT1 或 DXT5格式,所以能夠在實驗及調整最終貼圖的過程當中進行快速地導入。 建立一個新的材質,把貼圖放到它上做爲貼圖樣本,而且將其鏈接到適當的着色器節點(漫反射、高光、法線)上。
構建關卡原型
--------------------------------------------------------------------------------
根據概念構建粗略的BSP模型
關卡設計人員使用環境的概念美術來決定關卡所須要的基本圖形和佈局來測試環境並建立遊戲性原型。 在這個階段,關卡的任何幾何體上都只會不多或不該用材質,並只應用不多的光源。 幾乎全部的構造都是BSP圖元,這些圖元稍後在構建通道中將會被靜態網格物體或地形所替換。 在最終的關卡中將會有不多的圖元,通常最終存在的圖元主要是用於地面、頂棚或簡單牆壁的圖元。
粗略尋路BSP關卡
最初的尋路是很是簡單的,主要適用於保證全部的玩家和AI角色均可以導航環境。 當設計出初始路徑後,則開始遊戲性測試。
在BSP關卡中進行遊戲性測試
這時,已經能夠在BSP關卡中進行遊戲性測試了。 最初僅有關卡設計人員及關卡設計人員指導運行整個關卡,而後從那裏進展到由設計團隊的其餘成員來從完成的各類狀態來測試關卡。 若是關卡設計的是多玩家地圖,在咱們的測試實驗室中有預約的遊戲性會話,在遊戲播放會話結束後將會給出評論。
遊戲性粗略設計
這是決定某些遊戲性元素是否適合這個關卡,一旦腳本是適當的,即可以調整難度和交戰及拾取物的位置。 關卡設計人員在這時將會仔細檢查整個關卡來放置遊戲性物體好比彈藥拾取物,同時也會進一步調整路徑放置並開始爲關卡設計基本的腳本。
腳本
--------------------------------------------------------------------------------
Kismet介紹
Epic公司使用Unreal Kismet來完成幾乎全部關卡和過場動畫的遊戲行爲。 關卡設計人員負責全部腳本的適當放置,並負責報告腳本元素相關的問題。 在這時,關卡也會要求使用自定義的Kismet動做來執行關卡或遊戲的特定任務。
使用Matinee書寫隨着時間變化的事件腳本
在咱們的遊戲中使用Matinee主要用於執行兩個任務。 第一個是書寫隨着時間變化的事件腳本。 這能夠像打開門那麼簡單,或像隨着時間發生的能夠改變物體上的材質而且能夠致使其餘Kismet事件被觸發的一系列爆炸那麼複雜。 在戰爭機器中使用的大多數Matinee都是用於執行較簡單的動做,好比門。
向關卡中添加特效
關卡設計人員完成大多數的放置環境粒子特效(好比煙霧和火)以及稍後要經過Kismet觸發的特效(好比飄落的灰塵)的工做。 大多數的特效都是經過Kismet來驅動的,這容許當再也不須要它們時能夠關閉它們,從而提高了性能。
網格物體化關卡
--------------------------------------------------------------------------------
預留位置
關卡設計人員在關卡原型建立階段一般都會使用預留位置。 設計人員常用有美術工做人員提供的大小和形狀和最終網格物體近似的物體。 這個物體命名爲和最終網格物體相同的名稱,而且放在相同的包中。 這容許美術工做人員導入最終的網格物體及材質,並使得它們自動地傳遞給任何使用其相應預留位置的地方。
從新使用現有的網格物體
虛幻引擎3容許對放置在關卡中的物體進行非統一縮放。 咱們普遍地使用這個功能來裝配這個關卡,經過以多種方式使用一個網格物體,從而下降貼圖和網格物體數據的內存消耗量。 這個應用的一個實例是使用一各建築物上的門框來構建窗框,或者使用一個碎石堆構建一個遠處的山堆。
網格物體應用的優化
其中一個對網格物體和內存消耗進行優化的比較簡單的方法是使用通用瀏覽器的Primitive Stats(圖元統計)部分來辨別那些不常用而且能夠被其它已經一個用的網格物體替換的網格物體。 這個應用的一個實例是替換一個和其它圓柱體有不多不一樣但僅在環境中使用幾回的柱子。 儘管基於每一個物體來講它不會節約不少內存或性能,可是那個和其它網格物體結合一同刪除時,產生的性能提升則很大。
照亮關卡
--------------------------------------------------------------------------------
靜態光源
靜態光源用於照亮獨立於動態場景元素(好比角色、物理物體或移動物體)的場景。 將會使用不少靜態光源來照亮環境。 按住L鍵並點擊表面,將會在這裏添加一個光源。 從這些光源產生的引擎是靜態的,這些陰影或者被烘焙到光照貼圖或網格物體的頂點光照中。 這使光源的默認風格。
動態光源
有兩種類型的光源能夠影響動態物體。 一個是動態光源,它能夠經過右擊一個光源並從"Set what this light affects(設置這個光源影響的物體)"的列表下選擇" affecting only dynamic objects (僅影響動態物體)"來實現。 這些動態光源將會僅影響設置了動態光照通道的物體,它默認狀況下將包括人物、movers(相似於門的插值actors)和物理物體。 這些光源默認狀況下在場景中投射昂貴的動態陰影,而且應該節約地使用它,由於每一個影響一個物體的動態光源都在額外地渲染一遍那個物體。 設置光源爲`affecting both dynamic and static objects(同時影響動態和靜態物體)'將會致使光源影響世界中的任何東西。 這是咱們場景中主要的陰影透射光源,應該很是當心地使用它,由於這是最昂貴的一種光源類型。 默認狀況下設置爲這種類型的惟一光源是定向光源類型,咱們使用它來模擬太陽光。
Skylights(天空光源)
Skylights用於模仿半球體到整個世界的漫反射光照。 這用於爲世界提供環境光照。 使用這些光源是很是便宜的。
反射光照
同時按下Shift和L鍵並左擊,這將將會添加一個顏色爲您點擊的像素的顏色的光源,具備較低的密度和半徑,用於模仿反射光照。 能夠普遍地應用這個光照來提供更加真實的光照效果。
調製陰影
默認狀況下,全部的投射陰影的光源都會計算它們是否被遮擋,以便在場景中產生精確的陰影。 設置這個光源使用調製陰影有利於使用陰影投射物輪廓的投射貼圖來調製場景。 這是在世界中產生陰影時具備較高性能的方法,儘管它不像使用深度緩存陰影方法那樣精確。 這種方法也容許咱們控制陰影的顏色和密度。
動態載入
--------------------------------------------------------------------------------
還沒有完成。
切割關卡爲動態載入部分
還沒有完成。
使用體積進行動態載入
還沒有完成。
內存統計
還沒有完成。
性能優化
--------------------------------------------------------------------------------
光照優化
在虛幻引擎3中,光照是一個最昂貴的東西,因此當心地使用它們是很是地重要的。 有不少工具能夠優化光源,而且打算多數工具已經在UDN中進行了詳細的介紹。LevelOptimization(關卡優化)中也有幾個主題是關於光照優化的。
內存優化
在UnrealEd的通用瀏覽器中,有一個標籤圖元統計數據。 這個工具顯示了當前關卡使用的全部網格物體所佔用內存量。 咱們監視和那個網格物體相似或同樣的能夠替換它的網格物體,來節約內存消耗。
這裏是一些遊戲中用於分析當前場景的命令:
Stat memory -顯示每種類型的資源所使用的內存量的列表。
Stat d3dscene -顯示了Direct3D的統計數據,說明了渲染了多少個三角形、以及渲染那一幀中各個部分所花費的時間(以毫秒爲單位)。
附錄
--------------------------------------------------------------------------------
附錄1: 導入資源到引擎中
大多數狀況下,負責建立內容的美術工做人員也負責把這些資源導入到引擎中。 全部的靜態網格物體都是經過使用3D Studio Max的Ascii Scene Export (ASE)格式導入的。 經過使用一個命名機制把它們導入到內容包中,以便稍後咱們能夠定位它。 貼圖能夠按照.TGA 或.BMP格式進行導入。 Targa格式支持24或32位貼圖,然而咱們僅支持.BMP文件的24-位貼圖(沒有alpha通道)。 咱們也會在咱們Perforce倉庫的`artsource'倉庫(depot)下也存儲了全部的源資源。
附錄2: 分配材質給資源
在導入一個.ase文件時,導入器將會檢查應用到物體上的材質是否和當前加載到編輯器中的材質的名稱相匹配。 若是發現它們匹配,它將會自動地分配那個材質。
在3D Studio Max中,這個過程經過命名那個材質來簡單地設置。
若是您想爲一個物體的全部實例都從新分配材質(好比改變門上的材質),那麼請在通用瀏覽器中雙擊那個靜態網格物體,打開LODInfo文本域,打開[0],而後出現材質列表。 改變材質是很簡單的,只要選擇您想改變的材質元素,在通用瀏覽器中找到新的材質,選擇他,而後點擊材質列表上的綠色箭頭便可。
改變放置在關卡中的網格物體的材質將不會將該改變傳遞給那個網格物體的其它副本,因此這能夠用於在不須要加載額外網格物體到內存中的狀況下來建立那個網格物體的變種。
選擇您想改變的放置在關卡中的網格物體。 好比,有兩個並排放置的門,可是其中一個須要具備不一樣的材質。 您能夠選擇其中一個門,按下F4鍵來打開StaticMeshActor的屬性窗口, 打開StaticMeshActor 項,而後打開StaticMeshComponent。 向下滾動到Rendering,而後點擊Materials項。 它或許是空的,因此點擊綠色的+圖標。 這將會添加一個和應用到那個網格物體上的第一個材質相對應的元素。 若是您有兩個材質要應用到門上,好比一個材質用於門的基礎部分,一個用於窗子部分,而且您僅想改變‘第二個’材質,那麼您能夠像Material數組中添加兩個元素,改變第二個,而不改變第一個。
如今要想改變應用到網格物體上的材質,請使用向前面介紹的同樣的步驟來進行。 在瀏覽器中找到新的材質,而後在屬性窗口中選擇那個材質元素,並點擊綠色的箭頭來輸入它。 如今其中一個門的顏色應該和另外一個是不一樣的了,儘管它們都使用相同的網格物體。
附錄3: 物理資源
關於導入具備簡化碰撞的靜態網格物體的參照信息頁面是: 碰撞參考指南。 任何具備簡化碰撞的靜態網格物體均可以做爲Rigid Body[剛體](物理物體)添加到世界中。
已經具備了使用PhAT建立的物理設置的骨架網格物體, 能夠做爲Physics Assets(物理資源)放置到世界中,而且它們能夠和世界進行物理化地交互。
附錄4: 物理材質
物理材質是指PhysX系統決定的當兩個物體發生碰撞時它們的行爲。 關於物理材質的參考信息以及它們是如何工做的信息,請參照頁面: PhysicalMaterialSystem 。
附錄5: 烘焙控制檯遊戲平臺上播放的遊戲
還沒有完成。
附錄6: Source Control集成
咱們已經把source control (SCC)集成到了通用瀏覽器中。 這容許咱們在編輯器中遷入和遷出內容包(但不是關卡)。 須要注意的是: 若是包不是最新的版本,它是不能被遷出的。 那時,必須關閉編輯器並把內容包同步到最新的版本才能進行遷出操做。
關卡必須在編輯器的外面進行遷入遷出。
Epic使用[[]做爲內部的源碼控制系統。
附錄7: 內容管理
再次說明,Epic使用[[]來管理遊戲內容。美工人員一般會遷出源包,把它們有的內容添加到那個包中,而後保存包。全部的美工人員幾乎天天均可以訪問和更新內容,因此他們老是能夠擁有最新的內容。若是一個包被遷出了,那麼您能夠請求遷入它們 。
咱們的包一般是150mb,而後咱們將會繼續,爲給定的環境集合製做新的包。
好比,咱們將創建一個像這樣的環境包結構:
對於 COG_City:
• COG_City_Doors
• COG_City_Doors02
• COG_City_Doors03
• COG_City_Floors
• COG_City_Floors02
• COG_City_Floors03
請參照資源通道頁面得到關於命名慣例和包組織結構的更多信息。
附錄8: 編譯
目前,天天都會經過編譯腳原本搜索到最新版本的內容和代碼,編譯引擎和全部的遊戲工程,爲其添加惟一的標籤,把全部的內容並把編譯好的二進制文件遷入,而後在書寫一個內部的通知郵件,告訴項目團隊已經有一個新的版本。 全部的美工人員和設計人員在他們的系統上都有批處理文件,這容許它們同步到最近的徹底編譯版本。 這個有助於避免工做人員對正在使用哪一個版本進行工做產生疑惑。。 spring
配置文件 ◦ 概述
--------------------------------------------------------------------------------
虛幻引擎 3 依賴於配置文件來指示它將如何運做及初始化。配置是由成對的鍵值來決定的,他們咱找部分排列。一個鍵能夠和一個或多個值相關聯。
一些變量能夠直接地經過 native 代碼進行訪問,而其它的變量能夠很容地追溯到 UnrealScript 代碼中。不管什麼時候當在一個對象上調用 SaveConfig() 或 StaticSaveConfig() 函數時,引擎把全部的變量保存到指定的配置文件中(除非已經定義類能夠把它的設置保存到可替換的配置文件中)。
Native 代碼所使用的配置文件中的變量通常有一個簡單的部分標題。好比,出如今 DefaultEngnine.ini 配置文件的第一部分簡單地命名爲 [URL] 。然而,UnrealScript 代碼使用的任何變量一般都有徹底的符合要求的類名稱,它遵循命名格式 [(package).(classname)] 。例如,DefaultEngine.ini 中的 [Engine.Engine] 項指向存儲在 Engine 軟件包內部的 Engine 類。對於這個規則而言有一些例外狀況,例如 [WinDrv.WindowsClient] 項。
同時,請記住 UnrealScript 代碼編輯器 (UCC) 使用配置文件來決定哪一個包存在。和遊戲引擎不同的是,UCC 僅使用設置信息的一個較小的子集(主要是 DefaultEngine.ini 配置文件中的 [Editor.EditorEngine] 項)來加載包。
第一次運行引擎,可能會缺乏某些配置文件。它將會加載默認的配置文件,而後把它們轉化爲使用當前項目名稱的配置文件。好比,對於 UDKGame 項目來講,DefaultEditor.ini 會轉換爲 UDKEditor.ini。當生成真正的配置文件後,將再也不使用默認的文件。然而,您將會發現默認文件做爲參考或者容許終端用戶將他們的配置文件從新設置爲默認設置是很是有用的。
這些默認文件構成了引擎項目中的 Base 文件中的核心配置。這能夠在默認配置文件的 [Configuration] 部分看到。
引擎配置文件用來做爲項目和變量的默認值。用戶輸入配置能夠用做爲函數的按鍵綁定,好比可執行命令。
使用配置文件
--------------------------------------------------------------------------------
文件格式
部分和鍵-值對
通常的配置文件由成塊的鍵-值對組成,以下所示:
[Section]
Key=Value
特殊字符
• + - 若是該屬性還不存在則添加一行(從前一個 .ini 文件或者同一個 .ini 文件的前面的部分)。
• - - 刪除一行(可是它必須是精確匹配)。
• . - 添加一個新屬性。
• ! - 刪除一個屬性;可是沒必要是精確匹配,僅須要匹配屬性的名稱便可。
注意 : . 和 + 相似的,只是 . 能夠添加一個重複的行。這對綁定是有用的(正如在 DefaultInput.ini 中所看到的),好比,其中最底部的綁定生效,因此若是您添加了相似於如下的東西:
[Engine.PlayerInput]
Bindings=(Name="Q",Command="Foo")
.Bindings=(Name="Q",Command="Bar")
.Bindings=(Name="Q",Command="Foo")
它將能夠正確地工做。可是若是使用 + 則不能添加最後一行,且您的綁定將是錯誤的。因爲配置文件綁定,將會發生上面的應用形式。
註釋
大多數人彷佛都會以爲配置文件中的分號表示註釋,但它們不是。這種行爲是故意設計的。從技術上講,任何字符均可以表明任何一種不一樣的鍵值對。一般,會在新的一行的行首放置一個分號。它的功能像是註釋,但事實上它不是。
; This is a Comment
; So is this!
建立配置文件
當建立一個基於另外一個配置的新配置文件時,您須要包含 [Configuration] 項和 BasedOn 項的鍵值對。
好比,若是您的配置文件將要基於基礎配置文件 Engine.ini ,您須要在您文件的頂部放置如下信息:
[Configuration]
BasedOn=..\Engine\Config\BaseEngine.ini
要想向從基礎配置文件繼承而來的特定部分的現有鍵值對添加添加附加信息,請使用 + 專用字符,以下所示:
[Core.System]
+Extensions=mymap
要想從基礎配置文件繼承而來的特定部分中刪除一個的現有鍵值對,請使用 - 專用字符,以下所示:
[Core.System]
-Extensions=umap
若是您的配置文件沒有基於任何東西,那麼您將不須要指定 + 或 - 。
保存對象配置
虛幻引擎 3 能夠把一個對象的配置文件保存到任何所需的配置文件中。虛幻腳本/引擎配置文件的語法對於建立那個入口的對象來講是很是簡單的也是很容易追蹤的。
聲明配置文件名稱
類聲明包含了新的配置文件的文件名。好比,如下實例類聲明的變量將會保存到 'User' 配置文件中:
TestConfig.uc
class TestConfig extends Actor
config(User);
var config int X;
function postbeginplay()
{
X=5;
SaveConfig();
}
在運行時生成 TestConfig 時,它將會設置 X 的值並保存它的配置信息。UDKUser.ini 文件(假設您的遊戲是 UDKGame)將會更新如下信息:
[UDKGame.TestConfig]
X=5
下次在運行時生成 TestConfig 時,X 的默認值將會是 5。即便您要從 TestConfig 中刪除 PostBeginPlay() 函數,X 的值將會設置爲等於 5,前提是在配置文件中存在 5 這個值。
若是您聲明瞭一個新的配置文件名稱,那麼建立這個文件,以您的項目名稱爲前綴(UDK 表明 UDKGame,Example 表明 ExampleGame)。下面的示例會顯示一個能夠聲明新的配置文件並被保存在 UDKUDN.ini 中(對於 UDKGame)的對象:
class TestConfig extends Actor
config(UDN);
變量配置和繼承
--------------------------------------------------------------------------------
配置變量會被其子類繼承。可是,若是在 SaveConfig() 的子類上調用 TestConfig ,X 將會保存子類的值。如下的實例擴展了上面的 TestConfig 類:
TestConfigChild.uc
class TestConfigChild extends TestConfig;
function postbeginplay()
{
X=15;
SaveConfig();
}
在運行時生成 TestConfigChild 的時候,將這個對象的配置保存爲:
[UDN.TestConfigChild]
X=15
動態 vs 靜態配置
程序員能夠使用兩種不一樣的方法來把對象的配置信息保存到配置文件中: 動態和靜態。基本上,這意味着若是您在對象實例上調用 SaveConfig() ,那麼將會保存運行時變量。若是在一個類變量上調用 StaticSaveConfig() ,它會將對象的 默認 值寫到配置文件中。上面的全部實例都是保存了運行時對象的配置信息。它將會容許您恢復最終用戶配置,或者覆蓋在配置文件的 Unrealscript 中定義的這個類的默認屬性。
如下片斷保存了 X 的默認值:
class'TestConfigChild'.default.X = 30;
class'TestConfigChild'.static.StaticSaveConfig();
X 的默認值被寫入到了配置文件。
[UDN.TestConfigChild]
X=30
可用的配置文件
--------------------------------------------------------------------------------
配置文件位於任何給定項目的 Config 目錄中(例如,%UDK_ROOT%\UDKGame\Config)。
這裏是使用虛幻引擎的特定遊戲可用的配置文件列表:
• DefaultCharInfo - 虛幻競技場 3 使用的默認角色。
• DefaultCompat - 在表格中的默認功能。
• DefaultEditor - 虛幻編輯器的默認配置。
• DefaultEditorKeybindings - 在虛幻編輯器中使用的默認按鍵綁定。
• DefaultEditorUDK - 在虛幻編輯器中使用的默認 UDK 特定設置。
• DefaultEditorUserSettings - 虛幻編輯器的默認用戶設置。
• DefaultEngine - 虛幻引擎 3 的默認配置。
• DefaultEngineUDK - 在虛幻引擎 3 中使用的默認 UDK 特定設置。
• DefaultGame - 在虛幻引擎 3 中用於遊戲運行的默認遊戲配置。
• DefaultGameUDK - 在虛幻引擎 3 中用於遊戲運行的默認 UDK 特定遊戲設置。
• DefaultInput - 在虛幻引擎 3 中能夠用於遊戲運行的默認按鍵綁定。
• DefaultInputDefaults - 在使用 Coalesced.ini 的時候須要它才能從新設置默認值。
• DefaultLightmass - 供 Lightmass 使用的默認 Lightmass 設置。
• DefaultUI - 在虛幻引擎 3 中用於遊戲運行的默認用戶界面配置。
• DefaultWeapon - 供虛幻競技場 3 使用的默認武器設置。
• DefaultWeaponDefaults - 在使用 Coalesced.ini 的時候須要它才能從新設置默認值。 數據庫
虛幻引擎3命令行參數 ◦ 概述
--------------------------------------------------------------------------------
命令行參數是一連串的關鍵字字符串,當運行可執行文件時能夠經過命令行或者可執行文件的快捷方式將其傳入。它們的目的是自定義引擎運行的方式,以便符合開發人員或用戶的須要。這能夠像使得運行編輯器而不運行遊戲那麼簡單;或它也能夠更加複雜,好比使用某個特定的地圖在指定的分辨率和幀頻率下啓動遊戲,同時把每幀轉存到一個單獨的圖像文件中。
模式
--------------------------------------------------------------------------------
這些參數強制使得主要的可執行命令以某種模式而不是正常的遊戲模式運行,或者強制執行衆多命令行開關中的一個,它們是一些執行和開發人員的相關的常見任務的較小的專用的應用程序。它們緊跟在可執行文件名稱的後面比那能夠當即地被傳入到可執行命令中,不須要額外的語法。這些命令是大小寫不敏感的。
示例:
UDK.exe editor
• Editor: 啓動編輯器
• Server: 將遊戲做爲服務器運行
地圖/服務器/編輯器的URL 參數
--------------------------------------------------------------------------------
URLs能夠傳入到可執行命令中來強制遊戲在啓動時加載特定的地圖。這些參數也能夠和 SERVER或EDITOR模式結合使用來使用特定的地圖運行編輯器或服務器。傳入URL參數是可選的,可是該參數必須緊跟在可執行命令名稱的後面或者若是存在任何模式開關則緊跟在該模式開關的後面。
URL由兩部分組成: 地圖名稱或服務器IP地址以及一系列的可選的附加參數。地圖名稱能夠是使放在Maps目錄中的任何地圖的名稱。這裏是否包含文件擴展名(也就是.udk 或.ut3)是可選的。要想加載在Maps目錄中不能找到的地圖,那麼能夠使用來自於Maps目錄的絕對路徑或相對路徑。在這種狀況下,則強制包含文件擴展名。服務器IP地址是一個標準的4-部分IP地址,即由0到255之間的4個值組成,這些數值之間用句號分隔。其它的選項經過把它們附加到地圖名稱或服務器IP地址的後面來指定。每一個選項使用‘?’做爲前綴。
示例:
UDK.exe MyMap.udk?game=MyPackage.MyGame?class=MyPackage.MyPawn
UDK.exe server MyMap.udk?listen=true?bIsLanMatch=true
UDK.exe 127.0.0.1
通常選項
• CHARACTER: 要使用的玩家角色。
• CLASS: 告訴引擎要使用的玩家類(覆蓋默認值)。
• GAME: 告訴引擎要使用的GameInfo 類(覆蓋默認值)。
• NAME: 要使用的玩家名稱。
• PASSWORD: 進入一個服務器所須要的密碼。
• TEAM: 玩家所在的團隊 (或比較喜歡的團隊)。
服務器選項
• bHasVoice: 指出能夠使用語音支持。
• bIsLanMatch: 設置多玩家遊戲是否在本地網絡上(好比 bIsLanMatch=0 )。
• bRequiresPassword: 設置在線遊戲是否須要密碼(好比 bRequiresPassword=0 )。
• DEDICATED: 指定服務器做爲專用服務器。
• GAMEPASSWORD: 傳入的服務器密碼。
• LISTEN: 指定服務器做爲監聽服務器 (好比 Listen=...).
• SERVERDESCRIPTION: 爲服務器顯示的描述信息。
針對UTGame的特定選項
• DIFFICULTY: 設置遊戲中機器人的技能級別。
• MUTATOR: 指定要使用的mutator (設置器)。
• NUMPLAY: 要使用的玩家的數量。(玩家的數量是機器人的數量加1的值)。
• RESTART: 從新啓動地圖。
• SPECTATORONLY: 以觀看模式啓動遊戲。
Switches(開關)
--------------------------------------------------------------------------------
根據特定關鍵字的及它的應用目的的不一樣,這些參數能夠傳入到遊戲或編輯器中。有些參數是通常的開關(也就是-UNATTENDED),而其它的參數是設置開關,它們是「鍵=值」對(也就是-LOG=MyLog.txt)。這些命令是大小寫不敏感的。傳入普通的開關的語法是在每一個參數前面加上一個減號(‘-’),而後後面緊跟上那個參數。設置開關除了服務器開關外,其它的不須要以 ‘-‘開頭。
示例:
UDK.exe –silent LOG=MyLog.txt
開發人員
• ABSLOG: 和LOG=相似,可是沒有文件名長度檢查。
• ALLUSERS: 當指定了INSATLLGE時,爲全部用戶添加遊戲。
• AUTO: 假設對全部問題的回答都爲」是「(好比在編譯過程當中)。
• AUTOCHECKOUTPACKAGES: 自動檢查須要保存的包。
• AUTODEBUG: 執行自動調試。附加UnrealScript調試器並在遇到的第一個字節代碼出現則中斷。
• AutomatedMapBuild: 執行鍼對特定地圖的自動構建。自動地圖構建。
• BIASCOMPRESSIONFORSIZE: 覆蓋關於大小的壓縮設置。
• BUILDMACHINE: 設置爲編譯機器。用於決定是否啓用調試輸出。
• BULKIMPORTINGSOUNDS: 當批量地調出聲音時使用它(針對通用瀏覽器)。
• CHECK_NATIVE_CLASS_SIZES: 啓用native類的大小檢查。注意: 遊戲機平臺上的Native類會致使native類的大小檢查失敗,儘管假設它們是正確的。
• CODERMODE: 啓用Coder(編碼)模式。
• COMPATSCALE: 手動地設置兼容性設置來覆蓋PCCompat工具設置。
• CONFORMDIR: 當統一包時要使用的目錄。
• COOKFORDEMO: 指定其爲演示做品的烘焙包。
• COOKPACKAGES: 指定烘焙包的標籤。
• CRASHREPORTS: 老是報告引擎的崩潰狀況。
• D3DDEBUG: 使用 d3d調試設備。
• DEBUG: 告訴引擎發送調試信息到調試器,或者在腳本編譯過程當中編譯調試包。
• DEBUGFACEFX: 跟蹤FaceFX動畫。
• DEVCON: 禁用開發人員的可靠鏈接(使用未加密的插槽)
• DUMPFILEIOSTATS: 跟蹤並記錄文件IO的統計數據。
• DUMPUDKSURVEY: 簡單地轉存UDK硬件調查。不上傳。
• FATALSCRIPTWARNINGS: 把調試過程當中的腳本警告當成致命錯誤。
• FINAL_RELEASE: 爲腳本編譯設置FINAL_RELEASE宏。
• FIXEDSEED: 使用固定的值0初始化隨機數生成器。
• FIXUPTANGENTS: 自動修復在分佈中遺留的切線。
• FORCELOGFLUSH: 強制在每行後進行日誌刷新。
• FORCEPVRTC: 強制對移動平臺進行pvrtc貼圖壓縮。
• FORCESOUNDRECOOK: 強制徹底地從新烘焙全部聲效。
• GENERICBROWSER: 使用通用瀏覽器。
• INCLUDEUTGAMECONTENT: 設置要加載的UTGameContent包。
• INSTALLED: 用於開發,就像安裝了遊戲那樣運行遊戲。
• INSTALLFW / UNINSTALLFW: 設置是否要執行防火牆集成的處理。
• INSTALLGE: 把遊戲添加到遊戲瀏覽器中。
• LANGUAGEFORCOOKING: 設置烘焙所使用的語言。
• LIGHTMASSDEBUG: 使用–debug手動地啓動lightmass,並容許lightmass執行屢次。
• LIGHTMASSSTATS: 強制全部的lightmass代理向日志中報告詳細的統計數據。
• LOG: 當用做爲開關(-log)時,將打開一個獨立的窗口實時地顯示日誌的內容。當用做爲設置(LOG=filename.log)時,將告訴引擎使用緊跟在後面的字符串做爲日誌文件名。
• LOGTIMES: 在日誌輸出中打印時間。(默認狀況下,這和設置*Engine.ini文件的[LogFiles]部分中的LogTimes=True的效果一致。)
• NOCONFORM: 告訴引擎不要統一包,由於它們已經編譯了。
• NOCONTENTBROWSER: 禁用內容瀏覽器。
• NOINNEREXCEPTION: 禁用native C++中的異常處理程序。
• NOLOADSTARTUPPACKAGES: 強制不加載啓動包。若是啓動包中的對象必須從編輯器中刪除,那麼您能夠使用這項。
• NOLOGTIMES: 在日誌輸出中不打印時間。 (默認狀況下,這和設置*Engine.ini文件的[LogFiles]部分中的LogTimes=False的效果一致。)
• NOMODAUTOLOAD: 不要自動地加載mod類。
• NOPAUSE: 在退出時自動地關閉日誌窗口。
• NOPAUSEONSUCCESS: 只要沒有錯誤存在,那麼便在退出時自動地關閉日誌窗口。
• NOREMOTECONTROL: 禁用遠程控制。用於專用服務器。
• NORC: 禁用遠程控制。用於專用服務器。
• NOVERIFYGC: 不驗證垃圾編譯器的假定條件。
• NOWRITE: 禁止把結果輸出到日誌中。
• OUTPUTHEADERS: 強制批量導出腳本中頭文件的輸出。
• RC: 強制使遠程控制可見。
• REMOTECONTROL: 強制使遠程控制可見。
• REPAIR: 自動修復遊戲資源數據庫的任何問題。
• SCRIPTSTACKONWARNINGS: 在調試過程當中顯示警告的腳本棧。
• SEEKFREELOADING: 僅使用烘焙的數據。
• SEEKFREEPACKAGEMAP: 使用免搜索(烘焙)版本覆蓋包地圖。
• SEEKFREELOADINGPCCONSOLE: 僅爲PC控制檯模式使用烘焙的數據。
• SEEKFREELOADINGSERVER: 僅爲服務器使用烘焙的數據。
• SETTHREADNAMES: (僅Xbox) 強制設置線程名稱。這可能會搞糟XDK COM API,這也是爲何在須要的狀況下必須現實地設置執行它的緣由。
• SHOWMISSINGLOC: 若是丟失了本地化文本則返回錯誤的字符串,而不是英文文本。
• SILENT: 禁用輸出和反饋。
• SKIPDOWNLOADER: 對於針對Android系統的開發目的,跳過Google Play擴展下載器並使用手動同步的數據。
• TRACEANIMUSAGE: 跟蹤動畫的應用。
• TREATLOADWARNINGSASERRORS: 強制加載警告做爲錯誤處理。
• UNATTENDED: 設置爲無人管理的狀態。禁用須要從用戶得到反饋的任何東西。
• UNINSTALLGE: 從遊戲瀏覽器中刪除遊戲。
• USEUNPUBLISHED: 強制使用在Unpublished文件夾中的包(廢棄?)。
• UTRACE: 啓用腳本跟蹤功能。
• VADEBUG: 使用Visual Studio調試器界面。
• VERBOSE: 設置腳本編譯器使用詳細的輸出。
• VERIFYGC: 強制驗證垃圾編譯器的假設條件。
• WAITFORDEBUGSERVER: 強制遊戲等到UnrealConsole鏈接爲止。
• WARNINGSASERRORS: 把警告當作錯誤處理。
• WXWINDOWS: 必須傳入這個參數來啓用屬性窗口和遠程控制。
渲染
• ConsolePosX: 控制檯輸出窗口的水平位置。
• ConsolePosY: 控制檯輸出窗口的垂直位置。
• PosX: 設置遊戲窗口在屏幕上的水平位置。
• PosY: 設置遊戲窗口在屏幕上的垂直位置。
• WindowPosX: 設置遊戲窗口在屏幕上的水平位置。
• WindowPosY: 設置遊戲窗口在屏幕上的垂直位置。
• ResX: 設置遊戲窗口的水平分辨率。
• ResY: 設置遊戲窗口的垂直分辨率。
• VSync: 經過命令行激活VSYNC(這會防止產生圖像撕裂,但會形成fps消耗並致使輸入延遲)。
• NoVSync: 經過命令行禁用VSYNC。
• BENCHMARK: 爲了避免跳任何幀來處理每一幀,則以固定步長來運行遊戲。當把這個參數和DUMPMOVIE選項結合使用時是很是有用的。
• DUMPMOVIE: 把渲染的幀使用當前的分辨率轉存到文件中。
• DUMPMOVIE_TILEDSHOT: 使用指定的分辨率乘數把渲染的幀轉存到文件中。使用爲高分辨率幀使用平鋪截圖(好比 DUMPMOVIE_TILEDSHOT=4)。
• EXEC: 執行指定的exec文件。
• FORCESHADERMODEL2: 即便在shader model 3硬件上也強制使用shader model 2來渲染路徑。
• FORCESHADERMODEL3: 強制使用shader model 3。
• FPS: 設置性能基準測試中每秒鐘的幀數。
• FULLSCREEN: 設置遊戲以全屏模式運行。
• PIXO: 使用pixomatic軟件渲染。
• SECONDS: 設置最大的tick(更新)時間。
• SM3: 強制使用shader model 3。
• SM4 / D3D10: 若是DirectX 10存在,則強制使用它。
• WINDOWED: 設置遊戲以窗口模式運行。
網絡
• LANPLAY: 告訴引擎在鏈接到服務器時不要超過客戶端的帶寬。由於服務器更新量是雙倍的,這可能會佔用充滿整個客戶端帶寬。
• Limitclientticks: 強制對網絡更新進行節流。
• LIVEMACADDRESS: 指定Panorama鏈接所使用的MAC地址。
• LIVEPORT: 指定Panorama鏈接所使用的端口。
• LIVEREGKEY: 指定一個註冊碼。
• MPGAMETYPE: 指定烘焙使用的一種單獨的遊戲類型。
• MULTIHOME: 告訴引擎爲網絡使用多尋址地址。
• NETWORKPROFILER: 啓用網絡分析跟蹤。
• NOLIVE: 禁用Panorama。
• NOSTEAM: 設置不使用steamworks。
• PORT: 告訴引擎使用特定的端口號。
• PRIMARYNET: 影響引擎如何處理網絡綁定。
用戶
• NOHOMEDIR: 覆蓋使用My Documents(個人文檔)文件夾做爲主目錄。
• NOFORCEFEEDBACK: 在引擎中禁用強制反饋功能。
• NOSOUND: 禁用引擎中的任何聲效輸出。
• NOSPLASH: 當加載遊戲時禁止使用程序啓動圖像。
• NOTEXTURESTREAMING: 禁用貼圖動態載入。總加載最高質量的貼圖。
• ONETHREAD: 使用單線程運行引擎而不使用多線程。
• PATHS: 設置測試衝突的內容所使用的路徑。這個參數對發行版本無效。
• PREFERREDPROCESSOR: 設置特定處理器的線程關聯性。
• USEALLAVAILABLECORES: 強制在目標平臺上使用全部可用核心。
服務器開關
• LOGIN: 設置登陸時使用的用戶名。
• PASSWORD: 設置登陸時使用的密碼。
遊戲 統計數據/數據庫
• CSVSTATS: 把統計數據寫入到文件中,使用分號分隔。
• GAMESTATS: 使用遊戲統計數據可視化效果。
• NODATABASE: 請不要使用數據庫。忽略數據庫鏈接錯誤。
• NOGADWARNING: 在編輯器啓動時禁用遊戲資源數據庫警告。
• NOLIVETAGS: 跳過加載SQL數據庫中沒有驗證的標籤改變。僅爲當前用戶加載。
• STARTSTATSFILE: 開始寫入到統計數據文件中。
• STATFILE: 設置輸出統計數據所到的文件的名稱。
• XMLSTATS: 使用XML格式把統計數據寫入到文件中。
INI/Config 文件
• ENGLISHCOALESCED: 若是不能找到語言的本地化版本則恢復到默認的(英語)coalesced .ini。
• NOAUTOINIUPDATE: 禁止向更新的.ini文件中輸入提示信息。
• NOINI: 不更新.ini文件。
• REGENERATEINIS: 強制從新生成.ini文件。
能夠使用另外一個命令行參數來臨時地覆蓋遊戲或編輯器加載的INI文件。好比,若是使用了一個自定義的'MyGame.ini' 文件而不是'UDKGame.ini',那麼該參數將爲(也就是-GAMEINI=MyGame.ini )。這個表格列出了UE3中用於覆蓋不一樣的INI文件的參數。
命令行參數
INI覆蓋
DEFEDITORINI=
Default Editor
EDITORINI=
Editor
DEFEDITORUSERSETTINGSINI=
Default EditorUserSettings
EDITORUSERSETTINGSINI=
EditorUserSettings
DEFCOMPATINI=
Default Compat
COMPATINI=
Compat
DEFLIGHTMASSINI=
Default Lightmass
LIGHTMASSINI=
Lightmass
DEFENGINEINI=
Default Engine
ENGINEINI=
Engine
DEFGAMEINI=
Default Game
GAMEINI=
Game
DEFINPUTINI=
Default Input
INPUTINI=
Input
DEFUIINI=
Default UI
UIINI=
UI
2012年5月以後編譯版本中可供使用的參數
針對基礎數據類型(沒有進行處理的數列和結構)的單個 .ini 文件如今也能夠在命令行開關上進行重載(在Debug/Release/Test中,而不是在Shipping/FINAL_RELEASE中)。
這個功能一般用於移動設備(或者家用機),在這裏改變命令行開關很容易,可是隻是更新 .ini 設置來從新烘焙您的數據是有難度的。它的工做原理是這樣的:
-ini:IniName:Section1.Key1=Value1,Section2.Key2=Value2,...
好比:
-ini:PS3-UDKEngine:Engine.Engine.bSmoothFrameRate=False,TextureStreaming.PoolSize=100
-ini:ExoGame:AwesomeBoss.HitPoints=100000
重點是使用正確的 .ini 名稱!! 這已經經過生成的.ini文件進行測試(UDKEngine,不是DefaultEngine),因此我建議繼續使用。
要點: 在PC上使用這項功能將會使您在本地生成 .ini 文件被更新。在家用機/移動設備上,這些 .ini 文件都是隻讀文件,這樣它就只會影響遊戲的運行。
調試
• BugLoc (e.g. BugLoc=(X=1798.8569,Y=475.9513,Z=-8.8500))
• BugRot (e.g. BugRot=(Pitch=-1978,Yaw=-7197,Roll=0))
其它
• timelimit (e.g. timelimit=[time])
• goalscore (e.g. goalscore=[score])
• numbots (e.g. numbots=[num]) 編程
內容烘焙概述
--------------------------------------------------------------------------------
內容烘焙是指如何轉換內容爲 遊戲機平臺支持 (當前是 Xbox 360 和 PS3)的格式。PC如今也能夠使用烘焙數據,這將會產生更快的加載速度。就絕大部分功能而言,它是很是簡單的,可是有幾個事情至少須要您的團隊中的一我的知道。
烘焙器自己是一個Unrealcommandlet(命令開關)。通常,您將使用Unreal Frontend工具來調用這個命令開關,能夠傳入任何配置選項。可是,您也能夠經過直接使用命令行開關自己來烘焙您的內容。
請確保您已經正確地設置了您的版本!
烘焙
--------------------------------------------------------------------------------
烘焙器的最主要的做用是以最佳的格式保存包,以即可以在遊戲機平臺(以及PC)上進行加載。在包上所進行的處理包含如下幾個方面:
• 剝離任何沒必要要的數據,好比僅編輯器使用的數據(這將會對文件的大小產生很大的影響)。
• 字節交換全部數據,以便它能夠在沒有CPU消耗的狀況下被大尾字節架構所加載。
• 處理資源,以便它們按照它們native(自己)的格式存儲,而且爲加載作好準備,使得在遊戲機平臺上不須要任何進一步的處理。
• 建立免搜索的、獨立的包,以即可以從尋道速度時間較慢的媒體(也就是 DVD/BD)上得到最佳的加載速度。
在遊戲機平臺上,UE3僅支持加載烘焙的包。在PC上的UE3能夠加載烘焙的、位烘焙的、甚至二者混合的包。
決定要烘焙的東西
命令開關經過加載包、處理它們而後從新保存它們來進行操做。加載的包列表由命令行開關和.ini設置決定。烘焙的包被保存到一個烘焙目錄中,它的格式是XXXGame\CookedYYY,這裏的XXX是指您的遊戲的名稱,YYY是指遊戲平臺名稱。烘焙的包文件在遊戲機平臺上的擴展名是.xxx,在PC上的擴展名是原來的。若是命令開關選項覆蓋了默認值的狀況下,僅那些比烘焙過的包的日期更新的日期會被進行從新烘焙。
專用文件Textures.tfc(.tfc是貼圖文件緩存的擴展名)包含了全部的動態載入貼圖。這是遊戲機平臺的默認行爲,可是您能夠禁用這個功能。若是沒有.tfc文件,遊戲機平臺將僅存儲引用的內容包的副本,僅把它們貼圖留在內容包中。若是使用了.tfc文件,將再也不須要內容包,因此烘焙目錄將僅包含seekfree包和.tfc文件。
詳細的流程是這樣的:
• Non-seekfree(非免搜索)包 (當不使用.tfc時): ◦ 烘焙被正在烘焙的免搜索(seekfree )包所引用的任何過時的非-免搜索包(non-seekfree)。
• Seekfree (免搜索)包 (腳本、啓動文件、地圖) ◦ 烘焙任何相對於源文件來講已通過期的免搜索(seekfree)包(檢查是否有更新的引用的內容包)。
◦ (當使用.tfc時)當處理seekfree(免尋道)的包、貼圖或者過時貼圖時,它們將會被添加到.tfc文件中進行動態載入。
• 獨立的seekfree(免搜索)包 ◦ 烘焙任何相對於源文件來講已通過時的seekfree(免搜索)包。
若是指定了-full,那麼將會首先刪除全部的烘焙的包,以便全部的文件都會在日期檢查時失敗,從而能夠進行所有地烘焙。若是指定了-recookseekfree,那麼無論怎樣,地圖、啓動文件以及獨立的免搜索包都將會被烘焙。
命令行
通常,您將會使用Unreal Frontend來運行烘焙器,可是若是您想進行自動地烘焙或相似的行爲,您能夠使用命令行界面。
gamename.exe CookPackages [map1] [map2] ... [mapn] -platform=<Platform> -[options]
選項
• platform= <PLATFORM>: 設置爲那個平臺進行烘焙。平臺能夠使如下其中之一: ◦ pc - 烘焙具備編輯器支持的PC版本。
◦ pcserver - 烘焙針對專用服務器的PC版本 (不支持編輯器、剝離了大量數據)
◦ pcconsole - 像烘焙遊戲機平臺版本那樣烘焙PC版本 (沒有編輯器支持,剔除無關數據)。
◦ ps3, xbox360, xenon - 遊戲機平臺。
◦ tegra, iphone - 移動設備平臺。
• full: 強制從新保存全部現有包。若是指定了這個選項,則首先會刪除CookedYYY文件夾的內容。
• singlethread: 禁用多線程烘焙。
• processes= <N>: 在一個多線程烘焙中使用N個進程。
• recookseekfree: 強制從新烘焙全部的免搜索的包(在命令行或.ini上的啓動包、獨立的免搜索的包、地圖)。當默認的依賴性檢查不能正常工做時,這個功能是有用的(尤爲是對獨立的免搜索的包來講,由於當任何非免搜索的包改變時,它將不會從新烘焙全部的獨立的免搜索的包,這個地圖是不同的)。
• -cookallmaps: 烘焙遊戲中的全部地圖。
• -mapsonly: 僅烘焙地圖,將不會嘗試烘焙其它東西。
• -inisonly: 僅烘焙.ini文件和本地化文件(烘焙到Coalesced.ini 和 Coalesced.int等文件中)。
• -sha: 爲啓動文件和接合文件生成SHA hash,並把它們輸出到Hashes.sha中。
• languageforcooking= <LANG>: 設置LANG一種語言,以便進烘焙一種單獨的語言。默認值爲int(英語)。
• multilanguagecook= <LANG1<+LANG2<-LANG3...>>>: 同時烘焙多種語言。示例: -multilanguagecook=int+ita-fra 烘焙英語、意大利語和法語。前面有減號的語言(好比French(法語)),僅針對文本本地化文件進行烘焙,因此近啓動包和ini文件會被烘焙。
• saveshadersatend: 告訴烘焙器延遲着色器緩存的保存直到烘焙結束爲止,而不是在烘焙每一個包後進行保存。
• nopackagecompression: 不容許對烘焙後的包進行壓縮。以包的大小爲代價加速烘焙。
• noloccooking: 僅針對字幕處理的當前語言,僅生成和本地化文件結合的當前語言。
• verifytfc: 檢查.tfc文件的錯誤。
• analyzereferecedcontent: 存儲烘焙的包所引用的內容的統計數據。請參照FAnalyzeReferencedContentStat。
• usermode: 烘焙內容,就好像它是DLC或mod同樣(這將僅烘焙在命令行中指定的包,它不會烘焙發行的腳本包)。關於DLC的更多信息,請參照DownloadableContent and 針對PS3平臺的DLC?頁面。
• skipmaps: 僅烘焙非地圖免搜索的包。
• skipsavingmaps: 烘焙但不保存地圖。這對於烘焙地圖使用的LOC數據是有用的。
• skipnotrequiredpackages: 跳過 加載&保存 那些不須要進行烘焙處理的包,從而加速LOC烘焙。
• skipmaterialcleanup: 跳過清除材質的過程來加速烘焙迭代。
• skipstaticmeshclean: 跳過把材質壓入到關卡中放置的靜態網格物體實例中的過程。skipmaterialcleanup將會自動完成這個處理。
• skippmapobjs: 跳過識別P-maps(永久性關卡)中所包含的對象的步驟,並從它包含的子關卡中刪除這些對象。(注意: 多個永久性關卡中包含的子關卡將會自動跳過這個優化。)
• skippsysmodules: 跳過從粒子系統刪除相同的模塊的過程。
• fastcook: 等同於指定NOLOCCOOKING、SKIPMATERIALCLEANUP、SKIPPSYSMODULES、SKIPPAMPOBJS & QUICK。
輸出
烘焙器的輸出是這六種類型文件的其中一種: levels(關卡)、native script packages (native腳本包)、combined startup package(組合的啓動包)、texture streaming packages(貼圖動態載入包)、standalone seek-free files(獨立的免搜索文件)、texture file caches(貼圖文件緩存)以及 metadata/helper(元數據/幫助)文件。
(關卡) 是一個包含了除了針對高級貼圖mips的內容以外關卡所需的全部內容的包,從而基本能夠使它免搜索地加載關卡(沒有高細節貼圖)。
native script packages (native腳本包)是一個UnrealScript包,在它內部有native類,而且一般老是在遊戲啓動時加載。它將會把腳本代碼所引用的內容烘焙到這個包中,因此您須要當心地處理腳本代碼直接引用的資源的數量。對於 Gears of War(戰爭機器) 來講,咱們有一個主要的native腳本包WarfareGame.u,它具備native基類;WarfareGameContent.u,它沒有native類,可是它有不少引用了不少不須要同時加載的內容(怪物等)的子類。
combined startup package(組合的啓動包) 組合了全部用於啓動遊戲所須要的但卻又沒有被烘焙到主菜單關卡中的包。這包括相似於DefaultMaterial的物體。任何在啓動包中的物體將老是被加載。
Texture streaming packages (貼圖動態載入包) 包含了真正高級別(大的)mip數據,以便它不會在DVD上被複制太屢次,並使得它能夠在運行時很容易地進行動態載入。
Standalone seekfree packages(獨立的seekfree包) 它不是地圖或腳本包,可是它把到它們的全部引用抽取出來放到一個單獨的包中。在 Unreal Tournament(虛幻競技場) 中,這用於組成自定義人物的網格塊的包。當經過不少個網格塊構建出一我的物時,咱們經過加載獨立的seekfree包(異步地)快速加載網格物體和它們所依賴的貼圖。由於在遊戲機平臺上不支持DynamicLoadObject,咱們經過徹底地加載包來加載物體。當烘焙獨立的免搜索包時會有兩個輸出包 – 一個具備_SF擴展名。而另外一個沒有。帶有 _SF的文件是真正的包含全部物體和它們依賴的免搜索包,而沒有帶_SF的文件包含了動態加載的貼圖(因爲壓縮差別,引擎不能從免搜索文件中自動地載入包)。
texture file cache(貼圖文件緩存) 是一個獨立的文件,它把不少值得動態載入的貼圖組合到一個文件中。這個文件能夠用於下降磁盤上文件的總數量以及一次同時打開文件的總數量(當平臺有任何限制時)。
Audio streaming packages 沒有建立Audio streaming packages(音頻動態載入包) ,可是您能夠動態載入包含音頻的包。這種方法是比實現對任意音頻的動態載入支持上更有利的,由於咱們想把更多的帶寬儘量地留給貼圖動態載入;並且,對於像虛幻競技場和戰爭機器這樣的如此快動做的遊戲來講,發生延遲也是不能接受的,並且在這時同步FaceFX動畫也成爲了一個額外的麻煩事。做爲替換,戰爭機器建立了一個專用的對話框系統。
PC和烘焙
PC能夠運行烘焙或未烘焙數據。要想運行具備烘焙數據的遊戲,請使用-seekfreeloading命令行選項(或者在Unreal Frontend中的Run with Cooked Data[運行具備烘焙數據的遊戲])。要使用編輯器運行未烘焙的數據,請使用-cookededitor命令行選項。
爲PC和遊戲機平臺進行烘焙的不一樣:
• PC包保持它們的擴展名,遊戲機平臺的包的擴展名改成.xxx。
• PC的 非-seekfree 包中保留了全部的物體,而不是像遊戲機平臺那樣僅保存貼圖。
• 遊戲機平臺烘焙支持TextureFileCache包。
• 遊戲機平臺烘焙時刪除的「源數據」比PC烘焙時刪除的更多,由於PC編輯器能夠加載使用烘焙的包(參照UT3)來提供mod支持等。
UT3的PC版本發行了烘焙數據,而且容許mods。咱們把它做爲"Publishing(發佈)"版本呈現給用戶的,它和烘焙相似,可是它僅烘焙在它們mod中的包。它基本上是在"-usermode"中來爲PC烘焙的(也就是,沒有烘焙咱們的native 腳本包)。
烘焙的包
--------------------------------------------------------------------------------
類型
有4種類型的烘焙的包。如下是它們的描述以及它們是如何加載的介紹。
Native 腳本包
描述: 描述:這些包中是native腳本代碼。它們將通過烘焙而且使它們成爲「seekfree」包(儘管對於相似於Core和Engine的腳本包來講,因爲它們在對象之間的相互依賴致使它們不可能真正地100%的seekfree,但bPreloadPackagesFromMemory選項能夠讀取搜索不是很重要的地方的內存)。經過烘焙,全部直接引用的內容(貼圖、網格物體等) 都會被放到這個包中。
加載 : 它們將會始終並永久地被100%地加載:) 它們是啓動時要加載的第一個東西(也就是Core、Engine、GameFramework、UTGame等)。
啓動包
描述: 這些包是最初啓動遊戲時所須要的額外的包,它們的內容不會被烘焙到其它包中。它們被列在 [Engine.StartupPackages]部分。通常,咱們須要啓動包的緣由是在這些包中的物體沒有被腳本或地圖直接地引用,因此須要對它們進行手動地烘焙和加載。
加載 : 在這些包中的全部物體都將會在啓動時加載,而且將永遠不會對其進行垃圾回收。這意味着您應該從這些包中刪除沒必要要的物體,從而能夠節約運行時內存。
地圖包
描述: 地圖和那個地圖引用的全部資源(除了在native腳本包中的類)。和native腳本包同樣,它們也是免搜索的。多個烘焙的地圖能夠包含相同的物體(即若是兩個使用了同一個貼圖,那麼將會把那個貼圖分別烘焙到兩個包中)。這增長了DVD/BD的使用量,可是不會增長運行時內存,由於若是物體已經經過使用它的地圖加載到內存中,那麼當再次加載使用這些物體的地圖時(當您須要在動態載入關卡時加載多個關卡的狀況),這些物體將會被跳過。
加載 : 當遊戲或玩家切換地圖時加載。它將會被徹底地加載(對動態載入來講一般是異步的),而且在關卡經過調用LoadMap卸載或動態載出以前它將一直存在。
貼圖包
描述: 這個包含有用於貼圖動態載入的高級別的mip數據。在烘焙期間,除了高級mips之外的全部東西都會從包中刪除。
加載 : 這些包將永遠不會做爲包加載,它們僅用於動態載入貼圖(它的低級別mips在烘焙包中)。
應用
根據資源的應用來烘焙資源的方法:
直接引用的資源: 若是有一個物體被其餘物體直接地引用,那麼須要該物體的免搜索包(native腳本、地圖)將會把它抽取到烘焙的免搜索包中,除非它具備動態載入貼圖而且您如今沒有使用貼圖文件緩存,不然在Cooked(烘焙)目錄中將不存在資源包。
解決方案: 不須要作任何事。這正是咱們所但願的。
Loaded dynamically from any level(從任何關卡進行動態加載): 若是沒有免搜索包(native腳本、地圖)引用那個物體,而且在運行時加載了那個物體,那麼咱們指望加載物體的方法是 LoadPackage ,由於若是物體沒有經過 LoadPackage 進行加載,那麼 DynamicLoadObject 將會在遊戲機平臺上返回 NULL 。
解決方案: 在您遊戲的DefaultEngine.ini中的 [Engine.PackagesToAlwaysCook] 部分,把它標記爲獨立的免搜索包:
[Engine.PackagesToAlwaysCook]
+SeekFreePackage=MyGamePackage
這將會建立 MyGamePackage_SF.xxx(若是有貼圖而且您沒有使用TextureFileCache,那麼MyGamePackage.xxx能夠用於任何動態載入貼圖)。這個包在進行遊戲機平臺加載時將會使用更加適合的格式,而不是像以前那樣對外部引用和動態載入貼圖不能進行正確地展示。
Loaded dynamically from one level(從一個關卡中動態地加載): 若是僅一個或兩個關卡(也就是,菜單關卡)動態地加載那個物體,您能夠把那個包強制地加入到地圖文件中,那麼之後當加載那個地圖時,那個包也將老是會被加載。
解決方案: 在您遊戲的DefaultEngine.ini的 [Engine.PackagesToForceCookPerMap] 部分,設置要強制加入到地圖中的包:
[Engine.PackagesToForceCookPerMap]
.Map=MyFrontend
.Package=MyGamePackage
如今,不管什麼時候,當加載MyFrontend時,在MyGamePackage中的全部物體都將會被加載,而且能夠使用 DynamicLoadObject=/=FindObject 去獲取物體。
Used in EVERY level(在每一個關卡中使用): 若是一個物體在任什麼時候候均可以使用,您應該把它放到Startup 包中,以便它將只加載一次,但之後將老是在內存中。
解決方案: 在您的遊戲的DefaultEngine.ini的 [Engine.StartupPackages] 部分添加您的包:
[Engine.StartupPackages]
+Package=MyGamePackage
配置
-------------------------------------------------------------------------------
配置文件
當設置您的遊戲進行烘焙時,您須要修改一些.ini設置。由於遊戲機平臺的Engine.ini文件是從主要的Engine.ini文件來生成的,因此您應該在您遊戲的DefaultEngine.ini文件中指定這些設置。然而,烘焙器將會在生成的目標平臺的Engine.ini文件中查找那些設置,因此若是須要,您能夠在您的遊戲中的針對特定平臺的的Engine.ini指定那些設置。
[Engine.PackagesToAlwaysCook]
描述: 這個部分是用於放入您確認全部用戶已經烘焙的地圖以及獨立的免搜索包。自從12月份的版本後,全部的 非- 免搜索包都將會被烘焙,因此沒必要再指定您想烘焙的隨機包了。
這個部分在之後或許會進行重命名或者被分割爲兩個部分,由於隨着時間的推移它的應用已經發生了改變。同時,獨立的免搜索包也不會每次都進行從新烘焙,除非您在命令行中進行了覆蓋。
何時使用: 您須要把那些你必須使用的包放在那裏,好比主菜單關卡。同時,當您須要一個獨立的seekfree包時(請參照上面的 「Operation」部分)。使用"Package="來確保它們已經被烘焙,而且使用 "SeekFreePackage=" 來指定seekfree包。
格式:
[Engine.PackagesToAlwaysCook]
+Package=entry
+Package=UTFrontend
+SeekFreePackage=CH_IronGuard_Male
[Engine.StartupPackages]
描述: 這裏列出的包將會基於每種語言(Startup_int.xxx, Startup_kor.xxx, 等)被組合到一塊兒來合成一個免搜索的啓動包。在這些包中的物體(以及它們的依賴)是您在您最初啓動遊戲時所須要的,而且它們將老是在內存中 。一般在這些包中的物體將不會被烘焙到其它包中。
何時使用: 當您在最初啓動過程當中須要的物體或者須要物體老是在內存中時使用。在如下的實例中,正確的字體文件將會在UI_Fonts處進行應用。因此,若是有一個UI_Fonts_KOR.upk包,當針對韓語烘焙時,它將會把UI_Fonts_KOR放到Startup_KOR.xxx中。
格式:
[Engine.StartupPackages]
+Package=FX_HitEffects
+Package=UI_Fonts
+Package=UI_Scenes_HUD
+Package=UI_Skins
+Package=UI_Skin_Derived
+Package=SpeechRecognition
bSerializeStartupPackagesFromMemory(是否從內存中序列化啓動包)
描述: 以在最初啓動期間大量的臨時內存爲代價來啓用較快的啓動速度。在啓動時所作的事情是開始讀取啓動包中的列表到內存中,這個過程在幕後是異步的。因此,當正在從DVD(相對較慢)中讀取一些包時,它能夠處理其它包。默認狀況下,引擎將會預先加載native腳本包、啓動包和Startup_*.xxx。
它的工做原理是這樣的:
• 開始把Core.u從DVD讀入到一個已分配的內存塊。
• 等待它完成。
• 開始讀取Engine.u。
• 從內存塊中把Core.u序列化到引擎中。
• 當從序列化已讀取包的過程當中,繼續讀取包。
何時使用: 當您有足夠的內存來分配這些額外的大的內存塊而且您想加速啓動遊戲的引導速度時使用它。
格式: [Engine.StartupPackages] bSerializeStartupPackagesFromMemory=True
bFullyCompressStartupPackages(是否徹底壓縮啓動包)
描述: 描述:啓用對啓動包的全部包進行壓縮。這些能夠在加載過程當中經過一個單一的操做來進行異步壓縮。
何時使用: 當和bSerializeStartupPackagesFromMemory 結合使用時,這將可能有利於得到更快的啓動包加載速度。當引擎準備好處理已經加載的包時,它就已經解壓縮。
格式: [Engine.StartupPackages] bFullyCompressStartupPackages=True
[Engine.PackagesToForceCookPerMap]
描述: 這個部分將會強制把某些包徹底地烘焙到一個地圖包中。
何時使用: 當您想使用DynamicLoadObject (DLO)來經過字符串名稱而不是對象引用來加載物體時使用它。烘焙器將會僅遵循對象引用而不是字符串引用,因此它們不會使物體被烘焙到地圖中。好比,UI系統使用DLO來打開UIScenes(UI頁面)和貼圖。因此,在虛幻競技場中,咱們輕質把包含頁面和貼圖的包烘焙到主菜單中。這樣即可以達到預約目標,以便頁面和貼圖能夠經過加載UTFrontEnd地圖來進行簡單地加載。只要加載了關卡,物體就不會被垃圾回收。
格式:
格式是 Map=後跟隨着任何數量多的Package=,從而列出要烘焙到那個地圖中的包。
[Engine.PackagesToForceCookPerMap]
.Map=UTFrontEnd
.Package=UI_Scenes_Mutators
.Package=UI_FrontEnd_Art
.Package=UI_Portrait
.Package=UI_Scenes_ChrisBLayout
.Package=UI_Scenes_FrontEnd
.Package=UI_Scenes_Common
.Package=UI_Skin_Derived
.Package=UI_Skins
.Package=UI_Scenes_Campaign
.Package=UI_Weapons
.Map=UTM-MissionSelection
.Package=UI_Scenes_Campaign
.Package=UI_Skin_Derived
.Package=UI_Skins
[Core.System] SeekFreePCPaths
描述: 這部分將會保留CookedPC目錄內部的擴展名和相關目錄結構(使用 -cookededitor 標誌得到編輯器功能)。
何時使用: 針對PC烘焙的版本。
格式:
[Core.System]
SeekFreePCPaths=<PATH> windows
控制檯命令概述
--------------------------------------------------------------------------------
控制檯命令是您能夠在遊戲中或在編輯器中運行的基於字符串的命令。它們也被稱做 可執行命令 。
要想使用控制檯命令,經過按下Tab或者Tilde(~)鍵彈出控制檯,在它們內輸入命令,而後按下Enter(回車)鍵即可以執行。控制檯命令能夠從遊戲中和編輯器中執行,或者若是遊戲使用-server開關啓動,它也能夠從服務器的控制檯執行。它們能夠作從從新設置引擎到設置特定actor的變量等各類事情。
還能夠將命令的列表存儲在系統目錄的文本文件中,經過在控制檯鍵入 exec _文件名_ 執行。
命令列表
--------------------------------------------------------------------------------
如下是引擎支持的控制檯命令列表。
經常使用命令
• CANCEL (取消) -告訴引擎取消一個正在執行的鏈接嘗試。
• DISCONNECT(斷開鏈接) -將客戶端和當前的遊戲/服務器斷開。
• EXIT(退出) -告訴引擎關閉應用程序。
• MAP - = START= 的別名
• OPEN [url] -告訴引擎根據命令後面出現的字符串的名稱來打開地圖,包括任何額外的URL參數(經過 命令行參數指出);請使用TRAVEL_Partial。
• QUIT - 和EXIT同樣。
• RECONNECT(從新鏈接) -將客戶端和當前的遊戲/服務器 從新鏈接。
• SERVERTRAVEL -根據命令後面緊跟的字符串 名稱/地址 從客戶端穿行到服務器端。
• START [url] -和OPEN相似,不一樣之處是它不進行TRAVEL_Absolute而進行的是RAVEL_Partial。
• STREAMMAP [url] – 準備並提交URL中的地圖改變。
調試命令
• ANALYZEOCTREE [option] – 輸出關於八叉樹的信息。 ◦ VERBOSE – 輸出詳細信息
• CANCELMATINEE [param] – 跳過當前的matinee;參數指出了在命令生效以前播放器在matinee中所處的秒數。
• CLOSEEDITORVIEWPORT –關閉PIE視口。
• COLLAPSEOCTREE – 合併八叉樹中的子樹。
• CONFIGHASH - 顯示配置信息。
• CONFIGMEM – 顯示內存信息。
• COUNTDISBALEDPARTICLEITEMS – 輸出禁用的粒子系統、lod級別及模塊的數量。
• CUSTOMLODDATA [LOD=lod] – 設置爲靜態網格物體使用的自定義細節層次級別。
• DEBUG - 用於模仿各類錯誤,能夠使用如下參數來進行區分: ◦ ASSERT – 告訴引擎模擬觸發Assert錯誤的狀況。
◦ BUFFEROVERRUN – 告訴引擎執行棧溢出測試。
◦ CRASH - 告訴引擎模仿嚴重的崩潰。
◦ EATMEM - 告訴引擎模仿耗盡全部的可用系統內存。
◦ GPF - 告訴引擎模仿通常的保護錯誤。
◦ HITCH – 告訴引擎模擬遊戲中休眠1秒的故障停頓現象。
◦ LONGLOG – 輸出一個很長的日誌來測試日誌使用的調整緩衝大小的代碼。
◦ RECURSE - 告訴引擎模仿失去控制的遞歸或死循環。
◦ RENDERCRASH - 告訴引擎在渲染線程上模仿嚴重的崩潰。
◦ SLEEP - 睡眠幾秒鐘。
• DEBUGPREFAB [object] [command] – 輸出關於某個特定預製的信息。命令能夠是如下狀況之一: ◦ GRAPH – 顯示預製的子對象圖表。
◦ SHOWMAP - 顯示預製的原型映射。
• DIR - 顯示全部使用過的目錄和文件。
• DISABLEALLSCREENMESSAGES – 顯示全部的屏幕消息或通過。
• DISTFACTORSTATS – 輸出在遊戲運行過程當中渲染SkeletalMeshComponents 所使用的DistanceFactor(距離因數)的信息。
• DN [comment] – 在當前位置建立一個具備指定註釋的note actor。僅在PIE遊戲中使用。
• DUMPDYNAMICLIGHTSHADOWINTERACTONS – 將場景的動態光照和陰影交互輸出到日誌中;僅包括陰影投射交互。
• DUMPLINECHECKS – 若是定義了 LINE_CHECK_TRACING,則輸出自從上一次重置後線性檢測的結果。
• DUMPMATERIALSTATS [platform] – 輸出針對特定平臺的材質統計數據。
• DUMPNATIVES - 顯示全部native函數。
• DUMPSHADERSTATS [platform] – 輸出針對特定平臺的着色器統計數據。
• EDITACTOR [parameter] – 根據參數編輯找到的第一個actor的屬性。 ◦ CLASS= - 要查找的類。
◦ NAME= - 要查找的名稱。
◦ TRACE – 跟蹤玩家視角得到第一個碰到的actor。
• EDITDEFAULT [CLASS=class] – 打開針對特定類的默認屬性的屬性編輯器。僅在獨立平臺上使用。
• EDITOBJECT [parameter] – 編輯所找到的第一個屬於特定類或者具備指定名稱的對象的屬性。 ◦ CLASS= - 要查找的類。
◦ NAME= - 要查找的名稱。
• ENABLEALLSCREENMESSAGES – 啓用全部屏幕上顯示的消息或警告。
• EXEC [filename] – 執行指定文件的內容(其餘控制檯命令)。
• FORCESKELLOD [option] – 強制顯示骨架網格物體的特定細節層次。Option(選項)是: ◦ LOD= - 要強制使用的LOD。
• GAMEVER / GAMEVERSION – 輸出引擎版本和變動列表到日誌中。
• GETMAXTICKRATE – 輸出最大更新頻率到日誌中。
• FLUSH - 告訴引擎沖掉引擎的全部緩存。
• FLUSHLOG – 告訴引擎沖掉全部日誌。
• FLUSHPERSISTENTDEBUGLINES – 清除全部永久調試行調用。
• FRAMECOMPUPDATES – 輸出一幀中全部的組件更新的列表。
• HIDELOGDETAILEDTICKSTATS – 關閉詳細統計數據的輸出。
• KILLPARTICLES – 使粒子系統中止活動並銷燬全部粒子。
• KISMETLOG – 啓用Kismet日誌並強制全部序列輸出日誌。
• LISTAWAKEBODIES – 輸出當前激活的全部剛體的列表。
• LISTDYNAMICLEVELS – 輸出世界中全部動態載入關卡的列表。
• LISTLOADEDPACKAGES – 輸出已加載的包的列表。
• LISTPAWNCOMPONENTS – 輸出世界中全部Pawns的組件的列表。
• LISTPRECACHEMAPPACKAGES – 輸出位於預緩衝列表中可是尚未被「加載」出來的包的列表。
• LISTSKELMESHES – 輸出全部骨架網格物體的骨架網格物體到實例的映射列表。
• LISTSPAWNEDACTORS - -列出永久性關卡的全部動態actor及它的某些信息;同時隱含地被稱爲MEMLEAKCHECK 。
• LISTTHREADS - 給出關於哪一個線程正在哪一個核心上運行的大量信息。
• LOGACTORCOUNTS – 輸出全部actors、動態actors及更新的actors的數量。
• LOGOUTSTATLEVELS – 輸出關於動態載入關卡的信息。
• MERGEMESH [meshes] – 使用網格物體融合工具融合指定的骨架網格物體(用空格分隔列表)。
• MOVEACTORTIMES – 輸出一幀中全部actor的移動次數。
• NAMEHASH – 顯示關於名稱表格的信息。
• OBJ - 用於和如下參數結合使用: ◦ BULK -
◦ CLASSES - 顯示全部加載的類別的列表。
◦ COMPONENTS -
◦ DEPENDENCIES - 顯示依賴於字符串參數所傳入的特定包的對象的列表。 ■ PACKAGE= - 要檢查的包。
◦ DUMP - 轉存特定對象的全部變量值,支持指定類別來進行隱藏或顯示(hide(隱藏)=移動、碰撞)。 ■ [class] - 簡單名稱 或者是 CLASS= 或者NAME= 。
■ HIDE= - 要排除的類別的列表,中間以逗號分隔。
■ SHOW= - 要包含的類別的列表,中間以逗號分隔。
◦ FLAGS -
◦ GARBAGE - 強制進行垃圾回收清理。
◦ GC - 強制進行垃圾回收清理。
◦ HASH - 顯示具備hash(哈希表)的object的數量。
◦ INSTRINISICCLASSES -
◦ LINKERS - 迭代GObjLoaders並顯示關於它們的鏈接器的信息。
◦ LIST - 顯示包中的一個類別的全部物體的列表。 ■ CLASS= - 字符串的值是要查找的對象的類別。
■ INSIDE= - 字符串的值是要在其中查找對象的包的名稱。
■ PACKAGE= - 字符串的值是要列出對象的包的名稱,該包有一個外部容器。 ■ COUNT - 實例的數量。
■ NUMBYTES - 由序列化和類別大小決定的尺寸。
■ MAXBYTES - 和上面的同樣,可是也考慮了TArray閒置狀況。
■ RESBYTES - 資源的最大大小(貼圖、聲效、動畫等)。
◦ MARK - 告訴引擎迭代全部物體並設置它們的標記標誌。
◦ MARKCHECK - 顯示沒有標記的物體的列表。
◦ REFS - 能夠帶兩個參數,用於說明對象的類別和名稱,而後顯示引用它的全部對象(注意 : OBJ REFS 使用不少棧,因此若是在使用它時發生了奇怪的崩潰,請增長您的棧的大小 – 對於PC來講,這項在Visual Studio工程的 編譯器設置?的Linker->System部分)。 ■ CLASS= - 要檢查的類。
■ NAME= - 要檢查的對象的名稱。
• PARANOIDDEVICELOSTCHECKING – 切換是否在每一個描畫調用中檢測設備丟失。
• PARTICLETICKSTATS – 跟蹤粒子更新統計數據。 ◦ DUMP – 以CSV格式將粒子更新統計數據輸出到日誌文件中。
◦ RESET – 清空跟蹤的粒子更新統計數據。
◦ START – 開始跟蹤粒子更新統計數據。
◦ STOP – 結束跟蹤粒子更新統計數據。
• PHYSASSETBOUNDS – 更新一幀中全部物理資源邊界更新的列表。
• PUSHVIEW [command] – 用於控制從編輯器中繁衍對象的命令。 ◦ START – 開始繁衍。
◦ STOP – 中止繁衍。
◦ SYNC – 若是啓用了繁衍功能,同步玩家的位置和旋轉度。
◦ [X] [Y] [Z] [PITCH] [YAW] [ROLL] – 直接設置玩家的位置和旋轉度。
• REATTACHCOMPONENTS [CLASS=class] – 強制從新附加指定類別的全部組件。
• RELOADCFG [class/object] – 從新加載指定類或對象的配置。
• RELOADCONFIG [class/object] – 從新加載指定類或對象的配置。
• RELOADLOC [class/object] – 從新加載指定類或對象的本地化數據。
• RESETLINECHECKS – 若是定義了LINE_CHECK_TRACING則清除線性檢測結果。
• SAVESHADERS – 保存本地着色器緩衝。
• SHOWEXTENTLINECHECK – 描畫非零粗細碰撞檢測的調試線,並在檢測的結束處描畫調試框。
• SHOWFACEFXBONES – 確認FaceFX骨骼索引和骨架網格物體骨骼索引相匹配。
• SHOW FACEFXDEBUG – 跟蹤FaceFX骨骼列表來查看是否有多個網格物體正在引用或從新鏈接到主骨骼列表。
• SHOWISOVERLAPPING – 輸出一幀中全部IsOverlapping函數調用列表。
• SHOWLIGHTENVS – 輸出每幀中更新的全部光照環境的列表。
• SHOWLINECHECK – 描畫針對非零粗細檢測的調試線。
• SHOWLOG – 切換控制檯日誌窗口的顯示狀態。
• SHOWOCTREE – 切換八叉樹的顯示狀態。
• SHOWPOINTCHECK – 在點檢測的範圍上描畫方框。
• SHOWSKELCOMPLODS – 輸出一幀中全部的骨架組件LOD。
• SHOWSKELCOMPTICKTIME – 輸出一幀中更新的全部骨架網格物體組件的列表。
• SHOWSKELMESHLODS – 輸出一幀中的全部骨架網格物體LOD。
• SHRINKOCTREE – 刪除八叉樹中任何閒置。
• STRUCTPERFDATA – 啓用跟蹤序列化性能功能。須要定義 TRACK_SERIALIZATION_PERFORMANCE 或 LOOKING_FOR_PERF_ISSUES。 ◦ DUMP – 輸出序列化性能數據。
◦ RESET – 清除序列化性能數據。
• SUPPRESS [tag] - 禁止日誌信息。
• TICKFREQ – 若是須要能夠切換應用下降的更新頻率。
• TOGGLEALLSCREENMESSAGES – 切換全部屏幕上的消息或警告的顯示狀態。
• TOGGLECROWDS – 切換全部羣體的打開或關閉狀態。
• TOGGLEDEBUGGER – 切換腳本調試器的應用。
• TOGGLEDRAWEVENTS – 切換描畫事件的顯示。
• TOGGLEFLUIDS – 切換全部流體表面的打開或關閉狀態。
• TOGGLELINECHECKS – 切換線性檢測棧跟蹤的打開或關閉狀態。
• TOGGLELINECHECKSPIKES [value] – 設置當線性檢測的數量超過多少時轉存當前幀的線性檢測。
• TOGGLELOGDETAILEDACTORUPDATESTATS – 切換輸出詳細的actor更新統計數據的打開或關閉狀態。
• TOGGLELOGDETAILEDCOMPONENTSTATS – 切換輸出詳細組件統計數據的打開或關閉狀態。
• TOGGLELOGDETAILEDTICKSTATS – 切換輸出詳細的更新統計數據的打開或關閉狀態。
• TOGGLEMOBILEEMULATION – 切換PC上移動設備仿真的應用 (遊戲或編輯器)。
• TOGGLEONSCREENDEBUGMESSAGESYSTEM - 切換全部屏幕調試信息的顯示狀態。
• TOGGLEONSCREENDEBUGMESSAGEDISPLAY -切換屏幕上的調試信息。
• TOGGLERENDERINGTHREAD – 開始/中止 渲染線程。
• TOGGLESTREAMINGVOLUMES [ON/OFF] – 根據指定的參數打開或關閉動態載入體積。若是沒有指定參數,則執行切換。
• TRACEFACEFX – 跟蹤FaceFX骨骼列表來查看是否有多個網格物體正在引用或從新鏈接到主骨骼列表。
• UNSUPPRESS [tag] – 告訴引擎不要禁止日誌消息。
• USENEWMOUSEINPUT – 切換新的DirectInput鼠標輸入方法的應用。
• VIEWNAMES [Number] – 顯示添加到名稱表格中的上幾個名稱。
統計數據命令
STAT命令負責在遊戲運行時在屏幕上啓用顯示統計數據功能而且能夠控制顯示哪些數據和顯示方式。它能夠和如下參數結合使用來切換 打開/關閉 數據的特定組的統計數據的顯示(請參照 統計數據描述頁面得到更多信息。)
• ANIM – 切換動畫系通通計數據的顯示狀態。
• ASYNCIO – 切換異步加載統計數據的顯示狀態。
• AUDIO – 切換音頻系通通計數據的顯示狀態。
• CANVAS – 切換畫布描畫統計數據的顯示狀態。
• CHART [command] [parameters] – 用於控制統計數據表格的命令。命令和參數能夠是如下之一: ◦ Command(命令) ■ KEY – 切換表格按鍵的顯示狀態。
■ LOCKSCALE – 鎖定表格的縮放比例。
■ RESCALE – 從新縮放表格來適應全部數據。
■ RESET – 刪除全部表格線。
■ SHOW – 切換統計數據表格的渲染。
◦ Parameters(參數) ■ XRANGE= - 在X軸設置表格上的範圍。
■ XSIZE= - 在X軸上設置表格的尺寸。
■ YSIZE= - 在Y軸上設置表格的尺寸。
■ XPOS= - 在X軸上設置表格的原點。
■ YPOS= - 在Y軸上設置表格的原點。
■ ALPHA= - 設置表格的背景不透明度。
■ FILTER= - 設置表格的過濾器字符串。
• COLLISION – 切換碰撞統計數據的顯示狀態。
• CROWD – 切換羣體統計數據的顯示狀態。
• D3D10RHI – 切換DirectX 10統計數據的顯示狀態。
• D3D9RHI – 切換DirectX 9統計數據的顯示。
• DECALS – 切換decal(貼花)渲染統計數據的顯示。
• DLE – 切換動態光照環境渲染統計數據的顯示。
• ENGINE – 切換通常引擎統計數據的顯示。
• FACEFX – 切換FaceFX動畫統計數據的顯示。
• FLUIDS – 切換流體仿真統計數據的顯示 (也就是流體表面)。
• FPS – 切換幀頻率統計數據的顯示。
• FPSCHART – 切換幀頻率表格統計數據的顯示。
• GAME – 切換遊戲統計數據的顯示。(更新時間等)
• INSTANCING – 切換實例化統計數據的顯示。
• MEMORY – 切換通常內存統計數據的顯示。
• MEMORYCHURN – 切換處理內存分配的統計數據的顯示。
• NAVMESH – 切換導航網格物體統計數據的顯示。
• NET - 切換網絡統計數據顯示的 打開/關閉 狀態。
• NONE - 關閉全部統計數據的顯示。
• OCTREE – 切換八叉樹相關統計數據的顯示。
• PARTICLES – 切換通常粒子統計數據的顯示。 ◦ BEAMPARTICLES – 切換關於光束髮射器的統計數據的顯示狀態。
◦ MESHPARTICLES – 切換關於網格物體發射器的統計數據的顯示狀態。
◦ TRAILPARTICLES – 切換關於尾部發射器的統計數據的顯示狀態。
• PATHFINDING – 切換通常尋路統計數據的顯示。
• PHYSICS – 切換通常物理統計數據的顯示。 ◦ PHYSICSCLOTH – 切換關於布料仿真統計數據的顯示。
◦ PHYSICSFIELDS – 切換關於物理域的統計數據的顯示狀態。
◦ PHYSICSFLUIDS – 切換關於PhysX流體仿真統計數據的顯示。
• SCENRENDERING – 切換場景渲染統計數據的顯示。
• SCENEUPDATE – 切換通常場景更新統計數據的顯示。
• SCRIPT – 沒有和這個命令相關的統計數據。
• SHADERCOMPILING – 切換着色器編譯統計數據的顯示。
• SHADERCOMPRESSION – 切換着色器壓縮統計數據的顯示。
• STREAMING – 切換動態載入關卡統計數據的顯示。
• THREADING – 切換引擎中運行的中線程的統計數據的顯示。
• UI – 切換UIScene統計數據的顯示。
STAT也能夠和如下參數結合使用來修改關於顯示什麼數據和數據顯示方式的設置:
• COLOR – 未實現。
• COUNTERS – 切換計數器和累加器的渲染。
• CYCLES - 切換循環計數器的渲染。
• EXCLUSIVE – 切換全部獨佔數據的顯示。
• FONTSCALE [scale] - 能夠縮放描畫這個統計數據的字體大小。
• GROUPED – 設置統計數據渲染模式爲分組渲染。
• HIER / HIERARCHY – 設置渲染模式爲層次結構化渲染。
• INCLUSIVE – 切換全部包含數據的顯示。
• LIST – 根據如下信息在控制檯上顯示統計數據組的名稱。 ◦ GROUPS – 顯示全部可用組的名稱。
◦ SETS – 顯示.ini文件的CustomStats部分中所保存的任何設置的名稱。
◦ Group [name] – 顯示指定組中包含的統計數據。
• NAME [name] – 根據指定的名稱啓用或禁用統計數據。
• NAV [index] – 當以層次結構方式渲染時,導航統計數據樹結構。這個索引是要導航到的統計數據的編號。
• NONE – 切換當前可見的全部統計數據的顯示。
• SAVE [name] – 使用指定的名稱做爲組名稱將全部當前可見的統計數據輸出到*Engine.ini文件的CustomStats 部分。
• SLOW [threshold] [duration] – 設置渲染模式僅顯示慢循環統計數據。Threshold默認爲0.01f,duration默認爲10.0f。
• STARTFILE – 開始捕獲統計數據文件以便和StatsViewer結合使用。
• STOPFILE – 完成捕獲統計數據文件。
內存和性能命令
• BEGINTRACKINGTHREAD – 開始跟蹤當前線程。
• DEFERRED_STOPMEMTRACKING_AND_DUMP - 以延遲的方式執行 SNAPSHOTMEMORY、STOPTRACKING和DUMPALLOCSTOFILE命令。
• DUMPFPSCHART – 輸出FPS表格信息。
• DUMPMEMCHART – 輸出內存表格信息。
• DUMPPARTICLECOUNTS – 輸出關於粒子數量的信息。
• DUMPSLACKTRACES – 輸出數組閒置跟蹤的蹤影;僅當啓用TRACK_ARRAY_SLACK時有效。
• ENDTRACKINGTHREAD – 中止跟蹤當前線程。
• MEM - 顯示所分配的內存信息。
• MEMFRAGCHECK – 執行內存碎片檢測。直到下一個垃圾回收後延遲真正的執行,已得到精確的讀取。
• MEMLEAKCHECK – 執行內存泄漏檢測。直到下一個垃圾回收後延遲真正的執行,已得到精確的讀取。
• MEMORYSPLIT – 輸出關於內存在各類資源之間如何分割的信息。
• MEMREPORT [option] – 執行一組命令來輸出各類信息和內存信息。惟一的選項是: ◦ FRAG – 使得同時執行MEMFRAGCHECK(內存碎片檢測)。
• MEMTAG_UPDATE – 強制更新MemTagging系統。
• MESHESWITHCOLLISION – 輸出全部已加載靜態網格物體列表及他們是否具備碰撞網格物體的相關信息。
• PARTICLEMEMORY – 輸出粒子所佔用的內存狀況的信息。
• PARTICLEMESHUSAGE – 輸出和粒子系統結合使用的靜態網格物體的數量的信息。
• PROFILESCRIPT / SCRIPTPROFILER - 用於分析腳本執行; ◦ * START* - 開始腳本分析。 ■ TIME= - 捕獲特定時間段(以秒爲單位)內的數據。
◦ STOP - 結束腳本分析。
◦ RESET – 重置腳本分析。
• QUERYPERFDB – 輸出這臺機器上任務的累積時間;按任務分組,按時間間隔排序。
• RENDERTARGET_MEM_USAGE – 輸出將渲染目標到日誌中所佔用的內存。
• RESETFPSCHART – 重置FPS表格信息。
• RESTEMEMCHART – 重置內存表格信息。
• RESETSLACKTRACKING – 重置數組閒置跟蹤;僅當啓用TRACK_ARRAY_SLACK時有效。
• SNAPSHOTMEMORY -
• TOGGLESLACKTRACKING – 打開或關閉數組閒置跟蹤;僅當定義了 TRACK_ARRAY_SLACK時有效。
• TRIMMEMORY – 嘗試將未使用的片斷的內存返回給系統。
顯示命令
• GAMMA [value] – 修改顯示gamma級別。
• SETRES [height]x[width][w|f] -改變分辨率(w = 窗口; f = 全屏),好比 800x600f
渲染命令
• AVAILABLETEXMEM – 輸出可用的貼圖內存的量。
• CAPTUREMODE - 切換全部屏幕上消息或警告的顯示。
• COLORGRADING – 切換顏色分級的應用。
• DUMPAVAILABLERESOLUTIONS – 輸出全部可用顯示分辨率。
• FREEZEALL – 凍結渲染和動態載入。
• FREEZERENDERING – 強制凍結渲染或繼續渲染。容許渲染出輸入命令的那個時刻所在的場景。
• FREEZESTREAMING – 強制凍結或繼續動態載入。
• FULLMOTIONBLUR [value] – 若是value的值爲-1則爲FullMotionBlur使用默認的引擎設置。若是value的值爲0則強制關閉 Full MotionBlur(徹底運動模糊)。若是value的值爲1則打開FullmotionBlur(徹底運動模糊)。
• LIGHTMAPSTREAMINGFACTOR [value] – 設置光照貼圖動態載入的強度。較小的值(默認0.03f)意味着動態載出時速度更強烈。
• LISTMISSINGPHYSICALMATRIALS – 輸出一系列沒有物理材質關聯的全部材質實例。
• LISTTEXTURES – 輸出一個貼圖列表。 ◦ ALPHASORT – 強制列表按照字母排序而不是按照大小排序。
◦ NONSTREAMING – 列出非動態載入貼圖。
◦ STREAMING – 列出動態載入貼圖。
• LOWRESTRANSLUCENCY – 切換向下采樣半透明緩衝的應用。
• MOVIE [command] – 控制全部的視頻。命令能夠是如下之一: ◦ PAUSE – 中止全部視頻。
◦ PLAY – 開始播放全部視頻。
◦ STOP – 中止播放全部視頻。
• MOVIEHIDE – 設置隱藏當前視頻。
• MOVIESHOW – 設置當前視頻可見。
• MOVIETEST [movie] – 處於測試目的播放指定視頻,等待播放完成後,中止視頻。
• NEXTVIEWMODE – 切換到下一個視圖模式。
• NUMSTREAMEDMIPS [lodgroup] [mips] – 設置指定貼圖組所使用的mips的數量。
• PREVVIEWMODE – 切換到前一個視圖模式。
• RECOMPILESHADERS – 強制根據如下命令之一從新編譯着色器: ◦ ALL – 從新編譯全部着色器。
◦ BPCF – 僅從新編譯SRG_GLOBAL_BPCF_SHADOW_LOW着色器。
◦ CHANGED – 僅從新編譯改變的着色器。
◦ GLOBAL – 從新編譯全局着色器。
◦ GLOBALMISC – 僅從新編譯SRG_GLOBAL_MISC着色器。
◦ MATERIAL [name] – 從新編譯指定材質。
◦ MATERIALSHADERTYPE [type] – 從新編譯指定着色器類型的材質。
◦ SHADOW – 僅從新編譯SRG_GLOBAL_MISC_SHADOW着色器。
◦ VF [name] - 從新編譯指定的頂點工廠。
• RECOMPILEGLOBALSHADERS – 從新編譯全局着色器。和RECOMPILESHADERS GLOBAL同樣。
• SETMAXMIPLEVEL [max] – 設置光照貼圖所使用的最大mip級別。
• SHADERCOMPLEXITY [max] – 設置和SHADERCOMPLEXITY視圖模式結合使用的最大複雜度值。
• SHADOWMAPSTREAMINGFACTOR – 設置動態載出貼圖的強度。較小的值(默認0.09f)意味着動態載出時速度更強烈。
• SHOW - 切換各類項目的顯示(僅用於客戶端)。 ◦ BOUNDS – 切換actor邊界的顯示。
◦ BSP – 切換BSP幾何體的顯示。
◦ BSPSPLIT – 切換BSP分割的顯示。基於模型組件關聯性控制BSP。
◦ CAMFRUSTUMS – 切換相機平頭截體的顯示。
◦ COLLISION – 切換碰撞統計數據的顯示狀態。
◦ CONSTRAINTS – 切換物理約束的顯示。
◦ COVER – 切換掩體位置的顯示。
◦ DECALINFO – 切換decals(貼花)的調試開發信息的顯示(平頭截體、切線軸等)。
◦ DECAL – 切換decal actors的顯示。
◦ DYNAMICSHADOWS – 切換動態陰影的顯示。
◦ FOG – 切換霧actors的顯示。
◦ FOLIAGE – 切換植被的顯示。
◦ HITPROXIES – 切換點擊代理的顯示。使用不一樣的顏色描畫每一個點擊代理。
◦ INSTANCEDSTATICMESHES – 切換實例化靜態網格物體的顯示。
◦ LENSFLARES – 切換鏡頭眩光的顯示。
◦ LEVELCOLORATION – 切換是否使用同一顏色渲染同一場景中的全部對象。
◦ MESHEDGES – 切換是否已填充視圖模式顯示網格物體邊緣。
◦ MISSINGCOLLISION – 切換高亮顯示啓用了碰撞可是沒有碰撞網格物體的靜態網格物體。
◦ NAVNODES – 切換和尋路相關的actors的顯示。
◦ NONZEROEXTENT
◦ PARTICLES – 切換通常粒子幾何體的顯示。
◦ PATHS – 切換路徑或導航網格物體的顯示。
◦ POSTPROCESS – 切換後期處理特效的顯示。
◦ RIGIDBODY
◦ SCENCAPTURE – 切換場景捕獲探測器的更新。
◦ SHADOWFRUSTUMS – 切換未被遮擋的陰影平頭截體的顯示狀態。
◦ SKELETALMESHES - 切換骨架網格物體幾何體的顯示。
◦ SKELMESHES – 切換骨架網格物體幾何體的顯示。
◦ SPEEDTREES – 切換speedtree幾何體的顯示。
◦ SPLINES – 切換樣條曲線的顯示。
◦ SPRITES – 切換平面粒子組件的顯示。
◦ STATICMESHES – 切換靜態網格物體幾何體的顯示。
◦ TERRAIN – 切換地形幾何體的顯示。
◦ TERRAINPATCHES – 切換地形塊的顯示。在每一個塊的周圍描畫一個輪廓。
◦ TRANSLUCENCYDOF – 切換半透明模糊因數的顯示。
◦ UNLITTRANSLUCENCY – 切換不帶光照半透明物體的顯示。
◦ VOLUMES – 切換體積的顯示。
◦ ZEROEXTENT
• SHOWMATERIALDRAWEVENTS – 切換描畫事件產生的顯示。
• SHOWMIPLEVELS – 切換使用固體顏色而不是使用光照貼圖來可視化mip級別的應用。
• TEXTUREDEFRAG – 整理貼圖池碎片。
• TEXTUREDENSITY [min] [ideal] [max] – 設置最小、理想和最大貼圖密度值,以便和TEXTUREDNEISTY視圖模式結合使用。
• SHOWSELECTEDLIGHTMAP – 切換是否可視化調試相機顯示的光照貼圖。
• TOGGLEAO – 切換環境遮擋後期處理。
• TOGGLECOLLISIONOVERLAY – 切換地形碰撞網格物體覆蓋物的渲染。
• TOGGLEMINDISTORTION – 切換是將扭曲應用到最小屏幕空間範圍仍是整個屏幕。
• TOGGLEMINTRNSLUCENCY – 切換半透明是否應用於原是格式。
• TOGGLEOCCLUSION – 切換遮擋的應用。
• TOGGLESCENE – 切換場景顏色後期處理。
• TOGGLEUI – 切換UI的更新和顯示。
• TRACKTEXTURE [name] – 將貼圖名稱添加到動態載入系統中來跟蹤包含那個名稱的全部貼圖。
• UNTRACKTEXTURE [name] – 從貼圖跟蹤中刪除貼圖名稱。
• VIEWMODE [value] - 設置渲染模式。 ◦ BRUSHWIREFRAME – 以線框視圖渲染場景,顯示畫刷邊緣。
◦ LIGHTCOMPLEXITY – 使用特殊着色器渲染場景,該着色器能夠使用特定的顏色顯示每一個表面上的光照複雜度(影響表面的動態光源的數量)來展現光源的數量。
◦ LIGHTINGONLY – 僅使用幾何體上的光照信息來渲染場景。
◦ DETAILLIGHTING - 使用受到法線貼圖的光照影響的中性色彩材質渲染場景。
◦ LIGHTMAPDENSITY – 經過使用用於顯示每一個表面上光照貼圖密度的專用着色器渲染場景。
◦ LITLIGHTMAPDENSITY - 經過使用用於顯示每一個表面上光照貼圖像素密度的專用着色器渲染徹底帶光照的場景。這從本質上講是 LIGHTMAPDENSITY和LIGHTINGONLY視圖模式的結合。
◦ SHADERCOMPLEXITY – 經過使用用於顯示每一個表面上所應用的材質的複雜度的專用着色器渲染場景,使用不一樣的顏色表明着色器指令的多少。
◦ TEXTUREDENSITY – 使用用於顯示每一個表面上漫反射通道上的貼圖像素密度的專用着色器渲染場景,使用特定的顏色來表明密度。
◦ UNLIT – 使用平坦的着色渲染場景,也就是沒有光照。
◦ WIREFRAME – 以線框視圖渲染場景。
貼圖mip-map衰減命令
• TOGGLEMIPFADE -卻換 打開/關閉 全部的貼圖衰減。
• PAUSERENDERCLOCK - 暫停/繼續 貼圖衰減所使用的渲染線程時鐘。暫停它將會凍結衰減。而後任何新的動態載入的地圖都將是低分辨率(不會淡入)。而後您能夠切換mip衰減 和繼續時鐘來查看先後的不一樣(並測量性能)。
物理命令
• DUMPAWAKE – 輸出全部激活的物理剛體的列表。
• MESHSCALES – 將全部靜態網格物體的縮放比例值輸出到日誌文件中。
• NXDUMP – 輸出全部物理信息到XML文件中。
• NXDUMPMEM – 輸出全部PhysX內存分配到日誌中。
• NXSTATS – 啓用輸出全部物理統計數據。
• NXVIS – 啓用物理仿真的可視化。 ◦ PHYSX_CLEAR_ALL – 清除當前啓用的全部可視化標誌。
◦ ACTOR_AXES – 切換actor座標軸的可見性。
◦ BODYAXES – 切換剛體的座標軸的可見性。
◦ BODY_ANGULAR_VELOCITY – 切換物理剛體角速度的可見性。
◦ BODY_JOINT_GROUPS – 切換關節組的可見性。
◦ BODY_LINEAR_VELOCITY – 切換物理剛體線速度的可見性。
◦ CCD – 切換CCD骨架的可見性。
◦ CCDTESTS – 切換CCD測試的可見性。
◦ CLOTH_ATTACHMENT –切換布料附加物的可見性。
◦ CLOTH_COLLISIONS – 切換布料碰撞的可見性。
◦ CLOTH_MESH – 切換網格物體線框的可見性。
◦ CLOTH_SELFCOLLISIONS – 切換布料自身碰撞的可見性。
◦ CLOTH_SLEEP – 切換總體布料休眠的可見性。
◦ CLOTH_SLEEPVERTEX – 切換頂點休眠的可見性。
◦ CLOTH_TEARABLE_VERTICES – 切換可撕裂頂點的可見性。
◦ CLOTH_TEARING – 切換布料撕裂的可見性。
◦ CLOTH_VALIDBOUNDS – 切換布料的有效邊界的可見性。
◦ CLOTH_WORKPACKETS – 切換PPU仿真羣集的可見性。
◦ COLLISION – 切換物理簡化碰撞幾何體的可見性。
◦ COLLISION_AABBS – 切換世界空間中沿着座標軸對齊的邊界的可見性。
◦ COLLISION_AXES – 切換碰撞幾何體座標軸的可見性。
◦ COLLISION_COMPOUNDS – 切換組合邊界的可見性。
◦ COLLISION_DYNAMIC – 切換動態剪除結構的可見性。
◦ COLLISION_EDGES – 切花碰撞網格物體激活的邊緣的可見性。
◦ COLLISION_FNORMALS – 切換碰撞網格物體和表面法線的可見性。
◦ COLLISION_FREE – 切換「自由」剪除結構的可見性。
◦ COLLISION_SPHERES – 切換邊界球體的可見性。
◦ COLLISION_STATIC – 切換靜態剪除結構的可見性。
◦ COLLISON_VNORMALS – 切換碰撞網格物體和頂點法線的可見性。
◦ CONTACTERROR – 切換接觸錯誤的可見性。
◦ CONTACTFORCE – 切換接觸力的可見性。
◦ CONTACTPOINT – 切換接觸點的可見性。
◦ CONTACTS – 切換接觸法線的可見性。
◦ FLUID_BOUNDS – 切換流體發射器AABB邊界的可見性。
◦ FLUID_DRAINS – 切換流體發射器排水通道形狀的可見性。
◦ FLUID_DYN_COLLISION – 切換流體發射器動態碰撞的可見性。
◦ FLUID_EMITTERS – 切換流體發射器的可見性。
◦ FLUID_KERNEL_RADIUS – 切換流體發射器內核半徑的可見性。
◦ FLUID_MESH_PACKETS – 切換具備流體發射器的網格物體包的可見性。
◦ FLUID_MOTION_LIMIT – 切換流體發射器運動限制的可見性。
◦ FLUID_PACKET_DATA – 切換流體發射器包數據的可見性。
◦ FLUID_PACKETS – 切換流體發射器包的可見性。
◦ FLUID_POSITION - - 切換流體發射器粒子位置的可見性。
◦ FLUID_STC_COLLISION – 切換流體發射器靜態碰撞的可見性。
◦ FLUID_VELOCITY – 切換流體發射器粒子速度的可見性。
◦ FORCEFIELDS – 切換力域的可見性
◦ JOINTLIMITS – 切換關節限制的可見性。
◦ JOINTLOCALAXES – 切換關節局部座標軸的可見性。
◦ JOINTWORLDAXES – 切換關節世界座標軸的可見性。
◦ MASSAXES – 切換剛體的質量座標軸的可見性。將休眠的剛體描畫爲黑色,激活的剛體描畫爲白色,同時輸入某個休眠組中的休眠剛體描畫爲紅色。
◦ SOFTBODY_ATTACHMENTS – 切換軟體附加物的可見性。
◦ SOFTBODY_COLLISIONS – 切換軟體剛體碰撞的可見性。
◦ SOFTBODY_MESH – 切換軟體網格物體的可見性。
◦ SOFTBODY_SLEEP – 切換徹底休眠的軟體的可見性。
◦ SOFTBODY_SLEEP_VERTEX – 切換每一個頂點都處於休眠狀態的軟體的可見性。
◦ SOFTBODY_TEARABLE_VERTICES – 切換軟體可撕裂頂點的可見性。
◦ SOFTBODY_TEARING – 切換軟體撕裂的可見性。
◦ SOFTBODY_VALIDBOUNDS – 切換軟體有效邊界的可見性。
◦ SOFTBODY_WORKPACKETS – 切換PPU仿真軟體羣集的可見性。
◦ WORLDAXES – 切換世界座標軸的可見性。
• NXVRD – 使用遠程調試器。 ◦ CONNECT [ip] – 若是沒有提供ip地址或主機,則使用指定的ip地址或主機鏈接到遠程調試器。
◦ DISCONNECT – 從遠程調試器斷開。
音頻命令
• AUDIO FLUSH TRUE - 沖掉全部音頻緩衝。
• DISABLELPF – 禁用全部源上的低通濾波來進行測試。
• ISOLATEDRYAUDIO – 刪除混響來隔離幹聲。
• ISOLATEREVERB – 刪除幹聲來隔離混響。
• LISTAUDIOCOMPONENTS – 輸出全部的音頻組件列表。
• LISTSOUNDCLASSES – 按類輸出已加載的音頻列表。
• LISTSOUNDCLASSVOLUMES – 輸出每一個聲音類的全部音量和音調的列表。
• LISTSOUNDDURATIONS – 輸出全部聲音波形和他們的持續時間。
• LISTSOUNDMODES – 輸出全部音效模式的列表。
• LISTSOUNDS – 輸出全部已記載音頻及它們的內存佔用量的列表。
• LISTWAVES – 輸出波形實例及它們是否具備源的列表。
• MODIFYSOUNDCLASS [soundclass] [VOL=volume] – 使用給定音量修改指定的聲效類別。
• PLAYSOUNDCUE – 播聽任意一個sound cue。
• PLAYSOUNDWAVE – 播聽任意一個聲音波形。
• RESETSOUNDSTATE – 將全部音量重置爲它們的默認值,並刪除全部測試過濾器。
• SETSOUNDMODE [mode] – 將聲效模式設置爲指定模式。
• SOUNDTEMPLATEINFO – 輸出關於每一個惟一聲效的信息。
• TESTFEBLEED – 在全部音頻源上設置低頻率音效滲入到最大值以進行測試。
• TESTLPF – 在全部音頻源上設置低經過濾器爲最大值以進行測試。
• TESTSTEREOBLEED – 在全部音頻上設置立體聲滲入到最大值以進行測試。
網絡命令
• CRACKURL - 分解傳入到引擎中的URL和參數?,以便 地圖/遊戲 顯示全部參數。
• PACKAGEMAP – 將全部打開的網絡鏈接的包地圖輸出到日誌文件中。
• SOCKETS – 將全部打開的網絡鏈接的列表輸出到日誌文件中。
靜態圖片捕獲和演示錄製命令
關於這個的更多信息,能夠是在[[DemoRecording] [演示錄製]]頁面找到。
• BUGSCREENSHOT – 得到bug的屏幕截圖。
• DEMOPLAY - 播放先前錄製的演示視頻。
• DEMOREC - 準對下一個播放錄製演示。
• DEMOSTOP - 中止演示 播放\錄製。
• SHOT / SCREENSHOT – 以當前的屏幕分辨率截取屏幕截圖。
• TILEDSHOT [factor] – 以當前分辨率乘以指定因數爲分辨率來獲取屏幕截圖。
視頻捕獲
關於這個的更多信息,能夠是在視頻捕獲]頁面找到。
• STARTMOVIECAPTURE – 啓動遊戲中的視頻捕獲。
• STOPMOVIECAPTURE - 中止遊戲中的視頻捕獲。
遊戲性命令
• SAVEGAME - 告訴引擎保存當前的遊戲狀態。 請參照 保存和加載遊戲?頁面得到更多信息。
• SAY -僅用於GUI服務器。
導航和尋路指令
• ADDLONGREACHSPECS [option] – 添加較長到達範圍的規格說明。Option(選項)是: ◦ NUMPATHS= - 要添加的路徑的數量。
• BUILDCOVER [option] – 添加完到達範圍規格說明後生成激活連接和專用移動標誌。Option(選項)是: ◦ FROMDEFINEPATHS= - 是否使用已定義的路徑。
• BUILDNETWORKIDS – 構建導航節點的網絡IDs。
• DEFINEPATHS [options] – 清除全部路徑而後從新構建它們。Options(選項)是: ◦ REVIEWPATHS= - 若是建立了任何路徑將會檢查這些路徑。
◦ SHOWMAPCHECK= - 在構建完路徑後出現地圖檢測對話框。
◦ UNDEFINEPATHS= - 在構建路徑以前不會定義路徑。
• FINISHPATHBUILD – 對路徑構建過程執行結束和清除處理。
• GENERATENAVMESH – 從新構建導航網格物體。
• NAVOCTREE [options] – 能夠使用如下選項: ◦ STATS – 輸出關於導航八叉樹的統計數據。
◦ FIND – 找到八叉樹中的指定節點。 ■ NAME= - 要查好的節點的名稱。
• POSTDEFINEPATHS – 在全部Kismet序列對象上調用PostPathBuild。
• PREDEFINEPATHS – 在全部Kismet序列對象上調用PrePathbuild。
• SETPATHCOLLISION [option] – 啓用或禁用路徑碰撞。Option(選項)是: ◦ ENABLED= -是啓用路徑碰撞仍是禁用路徑碰撞。
用戶界面命令
• DEBUGUIPREFAB [object] – 輸出關於某個特定UI預製對象的信息。
• SHOWINPUTHANDLERS – 輸出指定UIScene中的特定按鍵的輸入手柄。 ◦ SCENE= - 指定要在其中進行搜索的UIScene 。
◦ KEY= - 指定要查找的按鍵以便進行訂閱。
• SHOWUNRESOLVEDPOSITIONS – 輸出指定UIScene中位置過時的任何對象。 ◦ SCENE= - 指定要在其中進行搜索的UIScene 。
• TOGGLEDEBUGINPUT [true/false] - 顯示調試信息(CTRL-ALT-D來切換顯示信息;CTRL-F切換顯示聚焦控件)。
其餘命令
• GET [class] [property] - 返回類別屬性的默認值。
• GETALL [class] [property]-返回全部實例化類別的值屬性。
• DISPLAYALL / DISPLAYALLSTATE - 和"getall"同樣, 可是會在屏幕上實時地顯示輸出,和統計數據相似。
• DISPLAY [object] [property] - 僅顯示指定單獨對象的指定屬性。僅當要求了足夠的外部鏈時才能是對象惟一可識別。
• DISPLAYCLEAR - 清除全部display* 輸出。
• DLE – 輸出全部禁用的動態光照環境列表。
• VERIFYCOMPONENTS – 迭代全部組件以驗證完整性。
• LISTANIMSETS – 輸出動畫集列表。 ◦ ALPHASORT – 按字母順序排序列表。
• ANIMSEQSTATS – 輸出動畫序列統計數據。
• LISTANIMSETS – 輸出一個動畫集列表。 ◦ ALPHASORT – 按字母順序排序列表。
• LISTANIMTREES – 輸出動畫樹列表。 ◦ ALPHASORT – 按字母順序排序列表。
• LISTMATINEEANIMSETS – 輸出當前關卡中Matinee所使用的動畫集的列表。 ◦ ALPHASORT – 按字母順序排序列表。
• SET - 這個是全部這些命令中最強大的一個。它的第一個參數字符串是一個類別的名稱,第二個字符串是變量的名稱,第三個字符串是一個數值。 給定類(包括子類)的全部對象將會把給定的變量設置爲給定的值。 好比,"set Pawn CollisionRadius 200"將會使全部的pawns的碰撞半徑爲200(請參照Pawn技巧與幫助?得到更多信息)。在版本V3323中,當在網絡上使用時, set 命令有一些限制,這個限制是爲了防止網絡欺騙而設置的。
• SETNOPEC – 和SET命令同樣,可是不能激活 Pre/Post Edit Change(提早/滯後 編輯改變)通知。
• SHOWHOTKISMET – 輸出前10個最經常使用的Kismet序列選項。
系統設置命令
系統設置命令容許您修改系統設置文檔中描述的設置,這些設置通常經過 應用程序兼容性系統設置。
• SCALE [scale command] - 這裏[scale command] 是如下之一: ◦ ADJUST - 啓用/禁用 使用Xbox的「shoulder」按鈕綁定到SCALE DECR和SCALE INCR。
◦ DECR - 減小ScreenPercentage設置。
◦ DUMP - 轉存當前系統設置到日誌中。
◦ DUMPINI - 轉存INI系統設置到日誌中。
◦ INCR - 增長ScreenPercentage設置。
◦ LEVEL [0-5] - 設置其中一個應用程序兼容性級別,範圍從0到5。
◦ LOWEND - 採起個很是低端的設置列表
◦ HIGHEND - 採起一個很是高端的設置列表。
◦ RESET - 從新從INI文件中加載系統設置。
◦ SET [setting] [value] - 將特定設置項(系統設置文檔中列出的項) 設置爲某個值。
◦ TOGGLE [setting] - 切換一個布爾設置。
移動設備命令
這些命令只適用於移動設備平臺(專門針對 iOS)
• CALIBRATETILT - 根據設備的當前方位再校準設備的傾斜狀況。
• MOBILE/IPHONE [command] - 這裏 command 是如下之一: ◦ DISABLEROTATION - 在用戶旋轉視圖的時候禁用視圖自動旋轉。
◦ ENABLEROTATION - 在用戶旋轉視圖的時候啓用視圖自動旋轉。
◦ DISABLESLEEP - 會阻止設備的屏幕進入睡眠狀態。
◦ ENABLESLEEP - 會讓設備的屏幕進入睡眠狀態。
◦ ABOUT [url] - 在平臺的網頁瀏覽器中加載網頁。使用 MobileEngine.ini 中的 AboutURL 配置設置,按後使用在這個命令中指定的 url 替換 `~ 。
◦ SAVESETTING [key] [value] - 將一個鍵/值字符串對保存到用戶的設置中。
◦ LOADSETTING [key] - 從用戶設置中爲指定 key 加載值。
◦ PLAYSONG [song] - 播放在硬盤中給定的 mp3 song (文件名稱不含路徑或擴展名)。
◦ STOPSONG - 中止當前在硬盤中播放的 mp3 歌曲。
◦ APPEXIT - 在設備上退出這個應用程序。
針對編輯器的命令
請參照編輯器控制檯命令頁面得到關於僅在編輯器中使用的更多命令。 數組
可執行函數概述
--------------------------------------------------------------------------------
可執行函數是使用虛幻腳本在類內部定義的特殊函數類型。這些函數能夠由處於運行時的用戶執行,經過在引擎運行過程當中調出遊戲內置控制檯(一般是經過按下 ~ 按鍵)並在該函數可能須要的任何參數後面輸入函數的名稱。這些函數相似於控制檯命令,能夠在控制檯中執行,可是仍是有所不一樣,由於它們是在腳本中進行定義的,並且能夠很容易地添加、修改或刪除。
爲可執行函數掃描的類(包括全部子類):
• Input(輸入)
• Controller(控制器)
• Pawn
• InventoryManager(武器庫管理器)
• Weapon(武器)
• HUD
• GameInfo
• CheatManager(祕籍管理器)
• GameViewportClient
• Interaction - 將會執行放置到PlayerController的交易中交易,可是不會在控制檯命令中所有顯示出來
建立新的可執行函數
--------------------------------------------------------------------------------
要添加新的可執行函數,這樣就能夠將它映射到一個按鍵上,它與在函數前面添加「可執行函數」同樣簡單。
下面的示例會顯示圖和添加一個參數化的可執行函數。
ExamplePawn.uc
exec function MyExecFunction(int ParameterA)
{
`Log("The user executed my custom function with "$ParameterA);
}
更改 *Input.ini
--------------------------------------------------------------------------------
將一個新的可執行函數添加到您本身的類中將會容許控制檯執行這些函數,可是一般您須要將它們直接綁定到一個按鍵上。進行這項操做的方法是將這個按鍵綁定添加到您的 *Input.ini。這個 * 是前綴,它能夠是Default(若是您但願添加一個默認按鍵綁定)或者UDK(若是您但願添加一個非默認按鍵綁定,而是UDK指定按鍵綁定)。這些配置文件一般放置在%UDK_ROOT%\UDKGame\Config\(其中UDKGame將是您的遊戲項目文件夾)中。
要添加一個新的按鍵綁定,請確保將其插入到[Engine.PlayerInput]配置組下面。下面的示例會顯示如何將一個按鍵綁定到 H 上,經過在上面的示例中定義的參數運行這個自定義可執行函數。
.Bindings=(Name="H",Command="MyExecFunction 99")
現有引擎可執行函數
--------------------------------------------------------------------------------
下面列出的可執行函數均可以在基礎引擎類中找到。
遊戲管理
這些函數可讓您管理當前遊戲。大多數這些函數要求您以管理員身份登陸到服務器,而有些函數只要求您具備某些特定特權便可。
• Admin [command] –這會在您以管理員身份登陸的服務器上執行一個管理員命令。
• Kick [command] [users] – 從遊戲中刪除一個用戶。用戶能夠使他們的 ID(如踢除列表命令所示)或一個名稱(*能夠用做一個通配符)。該命令可選,也能夠是如下其中一個命令: ◦ List – 顯示全部玩家及其 ID
◦ Ban – 不容許玩家返回
◦ Session – 禁止用戶(僅限該遊戲)
• KickBan [users] – 刪除遊戲中的一個用戶並不容許他們返回。用戶能夠使他們的 ID(如踢除列表命令所示)或一個名稱(*能夠用做一個通配符)。
• KillBots – 刪除遊戲中的全部機器人。
• PlayerList – 顯示全部玩家名稱以及他們的 ping 時間。
• RestartMap – 重啓當前地圖。
• Switch [map] – 根據地圖的值通知服務器更改關卡。將地圖解析爲地圖 URL(請參閱 CommandLineArguments(命令行參數)瞭解更多有關地圖 URL 的詳細信息)。
祕籍
這些函數在大多數遊戲中被看作是祕籍,可是一般都是在開發過程當中使用。
• AffectedByHitEffects – 使玩家不受全部撞擊效果影響(例如,衝力、撞擊效果等等)。
• AllAmmo – 將彈藥數目設置爲全部武器的最大值
• AllWeapons – 爲玩家提供遊戲中全部可用的武器。
• Amphibious - 使玩家能夠實際不限定地呆在水下(設置 Paw.UnderwaterTime = 999999.0)。
• EnableCheats - 在遊戲中啓用祕籍
• Fly - 使玩家能夠用飛代替走。
• FreezeFrame [delay] - 因爲特定延遲時間,強制遊戲暫停。