摘要:
只安装bash-completion,是没有git补全的,因为此时/usr/local/etc/bash-completion.d/下面没有git-XXX.sh 解决方法是brew install git,也就是安装brew版本的git,mac自带的那个不行。 阅读全文
摘要:
PublicDependencyModuleNames里加了Launch后,会导致链接UE4Editor.lib, 但这个文件在预编版的引擎里是没有的(奇怪的是自己编译引擎的话会有) 如果只是要头文件引用的话,可以改用PublicIncludePathModuleNames,它会设置搜索路径,但不会 阅读全文
摘要:
有时候换了机器,工程文件没了,通常是在编辑器里有个菜单项可以生成 但是有时编辑器自身都编不过,没法运行 这时需要调试代码,可以用命令行生成相应的工程文件: ../UnrealEngine/GenerateProjectFiles.sh -game -project "/Users/abc/git-r 阅读全文
摘要:
插件Plugin: 本来应该是指一种纯以接口与外界打交道的程序模块,在同一接口背后可以有多种实现,更换实现完全不影响客户端代码(不用重编)。 但是在ue4的世界里,插件似乎不是这个意思,仅仅是一种可以在构建时选择是否启用的模块,在客户端代码里充斥着对插件内部函数的调用 只不过这些调用一般要被封装在简 阅读全文
摘要:
网上搜的很多方法都不能用,比如:http://app.paraesthesia.com/CommandPromptHere/ 主要是都搞错了注册表路径,写成了: HKCR,Directory\Shell 而正确的应该是 HKCR,Directory\Background\Shell 多了一个Back 阅读全文
摘要:
GetWrappedLaunchDir() 启动时的工作目录,因为马上要把工作目录改为下面所说的exe所在目录,所以会先把当前的缓存起来 FPlatformProcess::BaseDir() 这个是最基本的,就是当前exe文件所在目录。 也是最早被计算的一个目录,因为是所有依赖项的根结点,凡是要把 阅读全文
摘要:
在ue4中看到这么一段代码,注释有点意思 不同cpp文件里的全局static变量初始化顺序是不可控的 FString显然会依赖很多内存分配、字符串处理相关的更基础功能 如果把它放在文件域里,初始化顺序有可能会在那些模块的static变量之前 因此把它改到函数内部,它会在函数第一次被调用时才初始化,避 阅读全文
摘要:
轮廓折叠,在看代码时非常有用的功能,可以暂时屏蔽大段不相关的if/else分支 记得以前老版vs里是自带这功能的,c++和c#都有 但不知为啥最新的2015里c#没有了,搜了下原来是要装插件: https://visualstudiogallery.msdn.microsoft.com/9390e0 阅读全文
摘要:
ue4的代码是模块的形式来组织 在源码层面,一个包含*.build.cs的目录就是一个模块 这个目录里的文件在编译后都会被链接在一起,比如一个静态库lib,或者一个动态库dll。 不管是哪种形式,都需要提供一个给外部操作的接口,也就是一个IModuleInterface指针。 *注意这里并不是说调用 阅读全文
摘要:
UObject是一套很复杂的体系,之前读ue3代码时曾分析过其类型系统实现,主要是与UClass间的关系 现在转到ue4,发现那一块其实差不多,于是再重点备忘一下UObject本身的创建和初始化过程 1、首先,用NewObject<>来创建一个新对象: 除了一些条件检测,直接调了以前老版的对应物St 阅读全文