编译

增量重新编译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 + SP1VS90SP1-KB957912-x86VS90SP1-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

虚幻开发工具包发布版本的版本信息   udn中文   udn英文

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游戏开发基础命令的更多相关文章

  1. UE4游戏开发基础命令

    在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了. git clone -b release https://github.com/EpicGam ...

  2. 【读书笔记《Android游戏编程之从零开始》】18.游戏开发基础(碰撞检测)

    1.矩形碰撞 所谓矩形碰撞,就是利用两个矩形之间的位置关系来进行判断,如果矩形的像素在另外一个矩形之中,或者之上都可以认为这两个矩形发生了碰撞. 如果单纯的去考虑哪些情况会判定两个矩形发生碰撞,倒不如 ...

  3. 【读书笔记《Android游戏编程之从零开始》】16.游戏开发基础(动画)

    1. Animation动画   在Android 中,系统提供了动画类 Animation ,其中又分为四种动画效果: ● AlphaAnimation:透明度渐变动画 ● ScaleAnimati ...

  4. 【读书笔记《Android游戏编程之从零开始》】15.游戏开发基础(剪切区域)

    剪切区域也称为可视区域,是由画布进行设置的:它指的是在画布上设置一块区域,当画布一旦设置了可视区域,那么除此区域外,绘制的任何内容都将看不到:可视区域可以是圆形.矩形等等. 画布提供了三种设置可视区域 ...

  5. 【读书笔记《Android游戏编程之从零开始》】14.游戏开发基础(Bitmap 位图的渲染与操作)

    Bitmap 是图形类,Android 系统支持的图片格式有 png.jpg.bmp 等. 对位图操作在游戏中是很重要的知识点,比如游戏中需要两张除了大小之外其他完全相同的图,那么如果会对位图进行缩放 ...

  6. 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)

    1.Paint画笔 Panit(画笔)是绘图额辅助类,其类中包含文字和位图额样式.颜色等属性信息.Paint 的常用方法如下: setAntiAlias(boolean aa) 作用:设置画笔是否无锯 ...

  7. 【读书笔记《Android游戏编程之从零开始》】12.游戏开发基础(Canvas 画布)

    1.Canvas 画布 画布类 Canvas 封装了图形和图片绘制等内容,此类常用的函数说明如下: drawColor(int color) 作用:绘制颜色覆盖画布,常用于刷屏 参数:颜色值,也可用十 ...

  8. RPG游戏开发基础教程

    RPG游戏开发基础教程 第一步 下载RPG Maker 开发工具包 1.RPG Maker 是什么? RPG Maker 是由Enterbrain公司推出的RPG制作工具. 中文译名为RPG制作大师. ...

  9. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

随机推荐

  1. asp.net mvc4使用NPOI 数据处理之快速导出Excel文档

    一.背景 在之前做的小项目里有一需求是:要求将一活动录入的数据进行统计,并以excel表格形式导出来,并且对表格格式要求并不高. 二.问题分析 鉴于用户只要求最终将数据库中的数据导出excel,对于格 ...

  2. 为开发者准备的 Android 函数库(2016 年版)

    转载:http://www.androidchina.net/5922.html第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人 ...

  3. zookeeper系列之通信模型(转)

    本文的主题就是讲解Zookeeper通信模型,本节将通过一个概要图来说明Zookeeper的通信模型. Zookeeper的通信架构 在Zookeeper整个系统中,有3中角色的服务,client.F ...

  4. loadrunner关联取参--响应值unicode编码处理过

    背景:做电商提交订单,需要获取订单号,然后进行支付.状态变更等操作 submitOrder() { lr_think_time(); /* 提交订单 */ /* specsId:规格ID,hyh_go ...

  5. <<< html图片背景平铺

    CSS背景图片平铺技巧 使用CSS来设置背景图片同传统的做法一样简单,但相对于传统控制方式,CSS提供了更多的可控选项,我们先来看看最基本的设置图片的方法.html代码: 代码如下: <divi ...

  6. List集合的迭代器方法

    1.后台JAVA代码的实现 //获取所有的支付方式的迭代器 // 获取支付方式 @RequestMapping(value = "get/payed/type", method = ...

  7. 分析DH加密算法,一种适基于密钥一致协议的加密算法。

    DH Diffie-Hellman算法(D-H算法),密钥一致协议.是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想.简单的说就是允许两名用户在公开媒体上交换信息以生成&quo ...

  8. 借One-Class-SVM回顾SMO在SVM中的数学推导--记录毕业论文5

    上篇记录了一些决策树算法,这篇是借OC-SVM填回SMO在SVM中的数学推导这个坑. 参考文献: http://research.microsoft.com/pubs/69644/tr-98-14.p ...

  9. 主流ORM对比分析,莫人云亦云

    目前主流的ORM框架有Entity Framework,Dapper,NHibernate,NBear,Castle ActiveRecord,BATIS.NET六种,都是免费开源的.下边从官方支持性 ...

  10. jaxb

    一.简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术.该过程中,JAXB也提供了将XML实 ...