编译

增量重新编译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. jprofiler_监控远程linux服务器的JVM进程(实践)

    几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...

  2. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  3. [分类算法] :朴素贝叶斯 NaiveBayes

    1. 原理和理论基础(参考) 2. Spark代码实例: 1)windows 单机 import org.apache.spark.mllib.classification.NaiveBayes im ...

  4. [Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类

    目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式 ...

  5. java String 中用"+"拼接字符串的原理

    之前看<thinkinjava>时记得书上分析国这个问题,然后面试的时候问道了,结果面试官说时的很含糊说是new了一个对象,我说底层用的Stringbuild.他还是说我说错了.谨以此文的 ...

  6. js 时间戳转换成几分钟前,几小时前,几天前

    formatMsgTime (timespan) { var dateTime = new Date(timespan); var year = dateTime.getFullYear(); var ...

  7. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  8. 这些年MAC下我常用的那些快捷键

    Command + H:隐藏窗口 Command + M:最小化窗口 Command + N:新建 Command + O:打开 Command + S:保存 Command + shift+S:另存 ...

  9. Linux 内核数据结构:双向链表

    Linux 内核提供一套双向链表的实现,你可以在 include/linux/list.h 中找到.我们以双向链表着手开始介绍 Linux 内核中的数据结构 ,因为这个是在 Linux 内核中使用最为 ...

  10. 3 HTML&JS等前端知识系列之javascript的基础

    preface 作为一名运维开发,必须懂得前端知识,比如javascript,dom等等,下面就聊聊javascript. include 数据格式 条件判断,循环流程等. 函数 面向对象 what ...