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 ...
随机推荐
- jprofiler_监控远程linux服务器的JVM进程(实践)
几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- [分类算法] :朴素贝叶斯 NaiveBayes
1. 原理和理论基础(参考) 2. Spark代码实例: 1)windows 单机 import org.apache.spark.mllib.classification.NaiveBayes im ...
- [Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类
目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式 ...
- java String 中用"+"拼接字符串的原理
之前看<thinkinjava>时记得书上分析国这个问题,然后面试的时候问道了,结果面试官说时的很含糊说是new了一个对象,我说底层用的Stringbuild.他还是说我说错了.谨以此文的 ...
- js 时间戳转换成几分钟前,几小时前,几天前
formatMsgTime (timespan) { var dateTime = new Date(timespan); var year = dateTime.getFullYear(); var ...
- 《CSS权威指南》基础复习+查漏补缺
前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...
- 这些年MAC下我常用的那些快捷键
Command + H:隐藏窗口 Command + M:最小化窗口 Command + N:新建 Command + O:打开 Command + S:保存 Command + shift+S:另存 ...
- Linux 内核数据结构:双向链表
Linux 内核提供一套双向链表的实现,你可以在 include/linux/list.h 中找到.我们以双向链表着手开始介绍 Linux 内核中的数据结构 ,因为这个是在 Linux 内核中使用最为 ...
- 3 HTML&JS等前端知识系列之javascript的基础
preface 作为一名运维开发,必须懂得前端知识,比如javascript,dom等等,下面就聊聊javascript. include 数据格式 条件判断,循环流程等. 函数 面向对象 what ...