UDK游戏开发基础命令
编译
增量重新编译Debug版本UnrealScript脚本 UDK.exe make -debug
增量重新编译Release版本UnrealScript脚本 UDK.exe make -release
全量重新编译Debug版本UnrealScript脚本 UDK.exe make -debug -full
全量重新编译Release版本UnrealScript脚本 UDK.exe make -release -full
增量重新编译Debug版本UnrealScript脚本(在.u文件中移除掉源代码信息) UDK.exe make -debug -stripsource
增量重新编译Debug版本UnrealScript脚本,native脚本需更新c++头文件时,不弹框确认,直接生成 UDK.exe make -debug -auto
Error, Unable to create object of type 'ClassXXX': native class layout differs from script layout. Please build C++ before continuing to avoid data corruption.
后台(不显示窗口)增量重新编译Debug版本UnrealScript脚本(不显示窗口),native脚本需更新c++头文件时,不弹框确认,直接生成 UDK.exe make -debug -silent -auto
注1:编译完成后,可通过Ctrl+C关闭编译窗口
注2:如果新建一个名为MyGame的包(类型:生成文件项目 这种项目的c++代码需要专门的工具进行编译,如:UnrealBuildTool.exe),
另外,为了UDK能编译该包的uc代码,需要在DefaultEngine.ini中进行配置
[UnrealEd.EditorEngine]
+EditPackages=UTGame
+EditPackages=UTGameContent
+EditPackages=MyGame
MyGame工程目录下,需要新建3个目录Classes、Inc、Src,分别用来放置uc脚本、.h头文件、cpp文件。
注:uc脚本放在Classes目录中就会被编译,添加到工程中只是方便在vs中编辑和查找代码内容
运行
启动编辑器 UDK.exe editor
TGameRelease.exe editor -MinStartup -NoLoadStartupPackages -NoGADWarning // 自定义的非全量加载方式
Clinet启动一张地图 UDK.exe VCTF-Sandstorm.udk 或 UDK.exe VCTF-Sandstorm
Server启动一张地图 UDK.exe server VCTF-Sandstorm.udk 或 UDK.exe server VCTF-Sandstorm
调试 (vs要安装nFringe调试插件,nFringe需为正式版本或Trial版本)
注1:C++与uc脚本的调试是互斥的;调试C++时就不能调试uc,调试uc时就不能调试C++;无论是调试C++还是uc脚本,都需要先编译成Debug版本
仅仅拥有UDK是无法写C++的Native代码的(原因是:UDK中没有提供C++相关的.h和库文件)
注2:如果Trial版本的nFringe到期了,可以删除Microsoft_Corporation中所有东西,然后重新安装nFringe的Trial版本
注3:在{}及变量定义所在行打断点是不会被命中的
注4:在某些初始化期间的脚本函数(如:InitGame、PreBeginPlay、PostBeginPlay、Login等)无法触发断点,可通过restartlevel命令来重启关卡来触发
1.1.34.193之后版本的nFringe + 2010-10及之后版本的UDK解决了该问题
注5:最新版本的nFringe支持调试时悬浮查看变量数值
注6:引擎通过UDebugger* GDebugger(定义在Core.cpp中)与vs的nFringe插件进行通讯来调试uc代码,UDebugger相关逻辑在Development\Src\Engine\Debugger目录中
注7:项目在使用nFringe调试之前,nFringe会将自己安装目录下的UcDebuggerPipes.dll拷贝到项目工程的Binaries\Win32目录中
将UcDebuggerInterface.dll拷贝到Binaries\Win32\WTDebugger目录中并重命名为UCDebuggerSocket.dll
win7:C:\Users\【用户名】\AppData\Local\Microsoft_Corporation目录,删除里面所有东西
例:C:\Users\Administrator\AppData\Local\Microsoft_Corporation
xp:C:\Documents and Settings\【用户名】\Local Settings\Application Data\Microsoft_Corporation目录,删除里面所有东西
例:C:\Documents and Settings\Administrator\Local Settings\Application Data\Microsoft_Corporation
调试器启动一张地图 vs中填入命令参数:VCTF-Sandstorm.udk 或 VCTF-Sandstorm
然后执行 “调试” -- “Start UnrealScript Debugging ”
Attach调试一张地图 运行UDK.exe VCTF-Sandstorm.udk -vadebug 或 UDK.exe VCTF-Sandstorm -vadebug
然后用vs2008 Attach上进程进行调试
改善C++调试:在vs进行C++调试时更好地查看Unreal自定义类型变量(如:FName,FString,TArray等)
(1) vs2008安装目录下找到autoexp.dat文件(Microsoft Visual Studio 9.0\Common7\Packages\Debugger\autoexp.dat)
将AUTOEXP.DAT_addons.zip(Development\External\Visual Studio Debugging)中所有内容追加到autoexp.dat的末尾,并重启vs2008
(2) 在vs2008:Tools - Options - Debugging - 取消勾选“Show raw structure of objects in variables windows”
uc调试:
(1) 当将Halt on accessed 'none'设置为True:调试uc脚本时,当空对象访问成员函数或成员变量时,调试器暂停挂起
其他调试工具
1. 使用UDebugger.exe(UE3以前版本使用)调试uc脚本
https://wiki.beyondunreal.com/Legacy:UDebugger
https://api.unrealengine.com/udk/Two/UnrealScriptDebugger.html
2. 使用UDE(UnrealScript Development Environment,UE3使用)调试uc脚本 -- 工具在Development\Tools\UDE目录中
https://api.unrealengine.com/udk/Three/DebuggerInterfaceCH.html
https://api.unrealengine.com/udk/Three/DebuggerInterface.html
3. 使用Unreal Script IDE(试用了一下,速度非常慢)调试uc脚本
https://github.com/Zinggi/UnrealScriptIDE/
注1:使用UDebugger.exe、UDE.exe和Unreal Script IDE调试器时,可使用udk.exe -autodebug启动游戏并自动与其建立调试会话并中断到调试器
注2:进入游戏后执行ToggleDebugger控制台命令来建立调试会话并中断到调试器
4. unreal-debugger调试基础库(UDebugger.exe、UDE.exe和Unreal Script IDE依赖该库,关系图如下:)
https://code.google.com/archive/p/unreal-debugger/
4. 使用Real Script IDE调试uc脚本(未使用过)
https://archive.codeplex.com/?p=uside#
查看脚本文件工具
UnCodeX:方便地浏览UnrealScript各个类之间的层次关系
https://api.unrealengine.com/udk/Three/UnCodeX.html
https://api.unrealengine.com/udk/Three/UnCodeXCH.html
https://wiki.beyondunreal.com/Legacy:UnCodeX
https://sourceforge.net/projects/uncodex/
https://github.com/elmuerte/uncodex
编译配置宏
1. C++
(1)Debug配置
#define _DEBUG 1
(2)Release配置
#define NDEBUG 1
(3)Shipping配置
#define NDEBUG 1
#define SHIPPING_PC_GAME 1
2. 脚本
(1)Debug配置 // 会自动定义bebug宏
`if(`isdefined(debug)) `endif
(2)Release配置
`if(`notdefined(debug)) `endif
开发环境
1. IDE: vs2008 + SP1 + VS90SP1-KB957912-x86 + VS90SP1-KB976656-x86
2. 安装了nFringe插件后,可以开启uc,uci文件的行号显示
2. Visual Assist X(需1862版本及以上) udn中文 udn英文
(a) 让uc脚本Find Symbols(查找符号)、Find References(查找引用)、highlight(高亮)、IntelliSense(智能感知) -- 需执行以下命令来手动开启
reg add "HKCU\Software\Whole Tomato\Visual Assist X\VANet9" /v EnableUC /t REG_BINARY /d 01 /f
(b) 自定义uc脚本的Snippets(自动完成)
① 进入C:\Users\<xxx>\AppData\Roaming\VisualAssist\Autotext目录,拷贝一份cpp.tpl并重命名为uc.tpl
② vs2008中"VAssistX" -- "Tools" -- "Edit VA Snippets...",然后将下面c++的自动完成按照uc语法编辑保存
3. DXSDK: DXSDK_Jun10 DirectX End-User Runtimes (June 2010)
若DX安装失败,请查看C:\Windows\Logs目录下的DXError.log和DirectX.log以确定问题
常见错误:S1023 -- 先卸载以下2个软件,再重新安装
Microsoft Visual C++ 2010 x86 Redistributable
Microsoft Visual C++ 2010 x64 Redistributable
如果启动UDK,还有DX相关的错误,可以使用DirectX Repaire进行修复。
4. UDK: 2010-08-BETA
5. 其他版本的UDK
http://download.udk.com/UDKInstall-2009-11-BETA.exe 版本5860 更改列表309428
http://download.udk.com/UDKInstall-2009-11-BETA-2.exe 版本5860 更改列表309428
http://download.udk.com/UDKInstall-2009-12-BETA.exe 版本6094 更改列表422614
http://download.udk.com/UDKInstall-2010-01-BETA.exe 版本6165 更改列表436666
http://download.udk.com/UDKInstall-2010-02-BETA.exe 版本6262 更改列表450718
http://download.udk.com/UDKInstall-2010-03-BETA.exe 版本6383 更改列表474472
http://download.udk.com/UDKInstall-2010-04-BETA.exe 版本6522更改列表503622
http://download.udk.com/UDKInstall-2010-05-BETA.exe 版本6699更改列表536634
http://download.udk.com/UDKInstall-2010-06-BETA.exe 版本6829更改列表558646
http://download.udk.com/UDKInstall-2010-07-BETA.exe 版本6890更改列表571338
http://download.udk.com/UDKInstall-2010-08-BETA.exe 版本7026更改列表597149
http://download.udk.com/UDKInstall-2010-09-BETA.exe 版本7258更改列表641002
http://download.udk.com/UDKInstall-2010-10-BETA.exe 版本7422更改列表674807
http://download.udk.com/UDKInstall-2010-11-BETA.exe 版本7546更改列表703463
http://download.udk.com/UDKInstall-2010-12-BETA.exe 版本7637更改列表720882
http://download.udk.com/UDKInstall-2011-01-BETA.exe 版本7748更改列表742347
http://download.udk.com/UDKInstall-2011-02-BETA.exe 版本7876更改列表776445
http://download.udk.com/UDKInstall-2011-03-BETA.exe 版本7977更改列表798121
http://download.udk.com/UDKInstall-2011-03-BETA2.exe 版本7977更改列表798121
http://download.udk.com/UDKInstall-2011-04-BETA.exe 版本8171更改列表833356
http://download.udk.com/UDKInstall-2011-05-BETA.exe 版本8364更改列表871961
http://download.udk.com/UDKInstall-2011-06-BETA.exe 版本8623更改列表935754
http://download.udk.com/UDKInstall-2011-07-BETA.exe 版本8710更改列表955963
http://download.udk.com/UDKInstall-2011-08-BETA.exe 版本8788更改列表976115
http://download.udk.com/UDKInstall-2011-09-BETA.exe 版本8916更改列表1009027
http://download.udk.com/UDKInstall-2011-10-BETA.exe 版本9029更改列表1047102
http://download.udk.com/UDKInstall-2011-11-BETA.exe 版本9140更改列表1081640
http://download.udk.com/UDKInstall-2011-12-BETA.exe 版本9249更改列表1109819
http://download.udk.com/UDKInstall-2012-01-BETA.exe 版本9375更改列表1140738
http://download.udk.com/UDKInstall-2012-02-BETA.exe 版本9505更改列表1174198
http://download.udk.com/UDKInstall-2012-03-BETA.exe 版本9656更改列表1202061
http://download.udk.com/UDKInstall-2012-05-BETA.exe 版本9953更改列表1260027
http://download.udk.com/UDKInstall-2012-07-BETA2.exe 版本10246更改列表1340247
http://download.udk.com/UDKInstall-2012-11-BETA.exe 版本10499更改列表1426632
http://download.udk.com/UDKInstall-2012-11-BETA2.exe 版本10499更改列表1426632
http://download.udk.com/UDKInstall-2013-02-BETA.exe 版本10897更改列表1532151
http://download.udk.com/UDKInstall-2013-02-BETA2.exe 版本10900更改列表1537896
http://download.udk.com/UDKInstall-2013-05.exe 版本10905更改列表1667866
http://download.udk.com/UDKInstall-2013-07.exe 版本10907 changeList 1715227
http://download.udk.com/UDKInstall-2014-02.exe 版本12097更改列表1999891
http://download.udk.com/UDKInstall-2014-05.exe 版本12264更改列表2062495
http://download.udk.com/UDKInstall-2014-08.exe 版本12466更改列表2243543
http://download.udk.com/UDKInstall-2015-02.exe 版本12791 changeList 2424394
其他
https://api.unrealengine.com/udk/Three/DevelopmentKitFirstScriptProject.html
https://api.unrealengine.com/udk/Three/DevelopmentKitFirstScriptProjectCH.html
UDK游戏开发基础命令的更多相关文章
- UE4游戏开发基础命令
在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了. git clone -b release https://github.com/EpicGam ...
- 【读书笔记《Android游戏编程之从零开始》】18.游戏开发基础(碰撞检测)
1.矩形碰撞 所谓矩形碰撞,就是利用两个矩形之间的位置关系来进行判断,如果矩形的像素在另外一个矩形之中,或者之上都可以认为这两个矩形发生了碰撞. 如果单纯的去考虑哪些情况会判定两个矩形发生碰撞,倒不如 ...
- 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)
1. Animation动画 在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimati ...
- 【读书笔记《Android游戏编程之从零开始》】15.游戏开发基础(剪切区域)
剪切区域也称为可视区域,是由画布进行设置的:它指的是在画布上设置一块区域,当画布一旦设置了可视区域,那么除此区域外,绘制的任何内容都将看不到:可视区域可以是圆形.矩形等等. 画布提供了三种设置可视区域 ...
- 【读书笔记《Android游戏编程之从零开始》】14.游戏开发基础(Bitmap 位图的渲染与操作)
Bitmap 是图形类,Android 系统支持的图片格式有 png.jpg.bmp 等. 对位图操作在游戏中是很重要的知识点,比如游戏中需要两张除了大小之外其他完全相同的图,那么如果会对位图进行缩放 ...
- 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)
1.Paint画笔 Panit(画笔)是绘图额辅助类,其类中包含文字和位图额样式.颜色等属性信息.Paint 的常用方法如下: setAntiAlias(boolean aa) 作用:设置画笔是否无锯 ...
- 【读书笔记《Android游戏编程之从零开始》】12.游戏开发基础(Canvas 画布)
1.Canvas 画布 画布类 Canvas 封装了图形和图片绘制等内容,此类常用的函数说明如下: drawColor(int color) 作用:绘制颜色覆盖画布,常用于刷屏 参数:颜色值,也可用十 ...
- RPG游戏开发基础教程
RPG游戏开发基础教程 第一步 下载RPG Maker 开发工具包 1.RPG Maker 是什么? RPG Maker 是由Enterbrain公司推出的RPG制作工具. 中文译名为RPG制作大师. ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
随机推荐
- asp.net mvc4使用NPOI 数据处理之快速导出Excel文档
一.背景 在之前做的小项目里有一需求是:要求将一活动录入的数据进行统计,并以excel表格形式导出来,并且对表格格式要求并不高. 二.问题分析 鉴于用户只要求最终将数据库中的数据导出excel,对于格 ...
- 为开发者准备的 Android 函数库(2016 年版)
转载:http://www.androidchina.net/5922.html第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人 ...
- zookeeper系列之通信模型(转)
本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型. Zookeeper的通信架构 在Zookeeper整个系统中,有3中角色的服务,client.F ...
- loadrunner关联取参--响应值unicode编码处理过
背景:做电商提交订单,需要获取订单号,然后进行支付.状态变更等操作 submitOrder() { lr_think_time(); /* 提交订单 */ /* specsId:规格ID,hyh_go ...
- <<< html图片背景平铺
CSS背景图片平铺技巧 使用CSS来设置背景图片同传统的做法一样简单,但相对于传统控制方式,CSS提供了更多的可控选项,我们先来看看最基本的设置图片的方法.html代码: 代码如下: <divi ...
- List集合的迭代器方法
1.后台JAVA代码的实现 //获取所有的支付方式的迭代器 // 获取支付方式 @RequestMapping(value = "get/payed/type", method = ...
- 分析DH加密算法,一种适基于密钥一致协议的加密算法。
DH Diffie-Hellman算法(D-H算法),密钥一致协议.是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想.简单的说就是允许两名用户在公开媒体上交换信息以生成&quo ...
- 借One-Class-SVM回顾SMO在SVM中的数学推导--记录毕业论文5
上篇记录了一些决策树算法,这篇是借OC-SVM填回SMO在SVM中的数学推导这个坑. 参考文献: http://research.microsoft.com/pubs/69644/tr-98-14.p ...
- 主流ORM对比分析,莫人云亦云
目前主流的ORM框架有Entity Framework,Dapper,NHibernate,NBear,Castle ActiveRecord,BATIS.NET六种,都是免费开源的.下边从官方支持性 ...
- jaxb
一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实 ...