Home

UE插件的本地化

在写插件的时候,有时候也会用到LOCTEXT或者NSLOCTEXT,那么在插件中怎么使用本地化的功能呢? 创建插件和再插件中使用LOCTEXT或者NSLOCTEXT,这个就不说了。 添加一个专门给插件使用的Targer,这里的名称可以和插件名称不一样!这里我们使用MyEditor_Local。 加载时机有很多,自己按需取,我这里是只考虑editor的,所以直接取了Editor。 这里我只考虑代码的,所以目录上我只选择了editor的代码 添加需要的语言,后续的Gather Text等就不说了; 完成了这些本地化后,我们在项目工程的Content中有Localization 将MyEditor_Local move 到 Plugins/{你的插件名称}/C...

Read more

半透明物体的描边和投影

正在学习unreal的材质,有些不一定到位 前提知识交代 SceneDepth CustomDepth PixelDepth 这几个概念是这个文章里比较重点的,至于stencil的话,以后再说吧! 直接进入正题吧! 项目前提 创建一个空的场景 将SM_MatPreviewMesh_01和TextRenderActor删除! 创建一个Actor(Name=”TestActor”) 添加两个StaticMesh,一个改名为Outline,一个为Mesh 为这两个StaticMesh添加同一个mesh(如果对ue比较熟悉的可以不样!) 将Mesh的设置改成下图 将Outline的设置改成下图 SceneDepth 为了方便展示S...

Read more

UE的资源操作监听和修改

资源注册表 先说明一下,很多知识都可以在上面的link里学习到的! 背景交代 项目的资源我们是希望有一套规范的!比如: 资源在导入的时候检查纹理的大小是否在规范的范围内 fbx导入的时候自动设置部分属性和检查骨骼数量 资源名称是否符合标准 资源的路径是否正确 …… 因为很多都是有规范的,所以我们需要有一些自动的工具去处理! 方案列举 目前大致想了一下,基本有一下几个方案: 工程内(本地或者分布) 每次打开项目都检查所有的资源 使用plugin加载的时候放置资源监听 只有项目工程打开后,有变动才检查变动的资源 ...

Read more

Lua的编译和反编译

背景 无论是unity项目还是unreal的项目,我都使用了lua!!既然用了lua那么打包的时候肯定是离不开Lua的编译和反编译了! Lua的编译 Luac Luajit 以上两种应该是比较常用的了,当然,你可以自定义加密和解密的算法! Luac lua的安装在这里就不累述了! 测试使用的lua文件 TestLua.lua local AAClass = {} function AAClass:TestFunction(value1) print(value1) end function AAClass:TestAdd(a, b) return a+b end local str = "Test!!!" local obj = AAClass obj...

Read more

c++对象内存布局

直接开始吧。主要是各种dump比较多,内容没多少的! #include <iostream> using namespace std; class TestClass { public: TestClass() :Field1(10), Field2(20){} void Print() { cout << "TestClass::Print()" << endl; } private: int Field1; int Field2; }; 通过dump,我们能得到以下的资讯! 已启动生成… 1>------ 已启动生成: 项目: cppRTTI, 配置: Debug Win32 ------ 1>Main.cpp...

Read more

FoxMail缓存路径修改

本人在公司的电脑中,因为c盘的空间太小了,很多东西已经从c盘挪出去了,但还是不足,所以我需要把其他内容能挪就挪! 然后发现Foxmail居然快2G了,惊呆了老铁! 网爆了一下Foxmail后,找到一下两种方法! 重新安装FoxMail 在Foxmail的安装目录下,邮件默认的存放路径就是{Foxmail的安装路径}\Storage,在这个目录下是按邮箱地址命名的目录,目录里存放了该邮箱的所有信息。 如果想将邮件存放在其他盘,需要下面几步: 将{Foxmail的安装路径}\Storage下的内容移动到其他地方备份;eg:d:\Storage\ 卸载Foxmail并重新安装,安装路径指定到其他地方 将d:\Storag...

Read more

UE打包环境配置

背景 项目使用的自动化打包环境! 依赖的内容 gitlab ci android studio openjdk unreal引擎源码的【不知道是不是一定要,反正我用的就是源码的】 这里就是Android为例! 步骤 既然是Android平台的话,那么就一定少不了sdk了! Android SDK和NDK的环境 我使用的是unreal 4.27.2的版本,所以我就直接按照官方的文档直接下载了对应的SDK和NDK; Android SDK Android NDK 21b openjdk 在之后搞开发的都懂了,就是各种环境变量 ANDROID_SDK_HOME ANDROID_NDK_HOME JAVA_HOME...

Read more

Hierarchy调整次序

由于某些原因,我需要替换Hierarchy下某个GameObject,如果是直接DestroyImmediate后再Instantiate的话,新创建的GameObject是直接放置在最后的(同一个父节点的情况下) Unity提供了GetSiblingIndex函数获取位置 var index = transform.GetSiblingIndex(); 如果需要替换原来的位置 newObj.transform.SetSiblingIndex(index); Index就是位置的index, eg: // 置顶 newObj.transform.SetSiblingIndex(0);

Read more