win10下长路径异常
一下是官方对于这个长路径异常的说明
https://docs.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
操作方式
使用Win+R打开注册表
regedit
在注册表中找到一下的路径,将这个值改为1即可
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled (Type: REG_DWORD)
unreal资源的元数据.
大纲
uasset的metadata是什么
uasset的metadata能做什么
使用蓝图增加metadata
使用python增加metadata
查看metadata
link
uasset的metadata是什么
metadata是在uasset导入后,在uasset上额外增加的自定的信息,该信息是key-value的结构,而且是只用在editor下,对正式发布的资源没有影响!
对于这类自定义增加的信息,可以有以下自定义的操作!
uasset的metadata能做什么
前文已经说了,自定义操作可以对应自定的一些行为!这里就简单说一下行为有哪些:
增加一些自定义资源过滤的条件
因为第一条的信息,可以在工具中对特有信息进行自定义处理...
unity脚本获取AlwayIncludedShaders
大纲
大致原理
具体
大致原理
AlwaysIncludedShaders在unity的Project Setting->Graphics中有展示。但是无论是去查看RenderSettings、GraphicsSettings、EditorGraphicsSettings下都没有这个的一个字段或者方法!
所以最终的解决就是使用放射的方式去访问!
具体
GraphicsSettings.GetGraphicsSettings()返回的是一个UnityEngine.Object的对象,但时这个对象里就有我们需要的AlwaysIncludedShaders
通过查看unity反射的代码,可以看到以下的内容:
var graphicsSettings ...
c++的class内存布局
大纲
vs中怎么查看c++ class的布局
额外的vs技巧
vs中怎么查看c++ class的布局
先搞个简单的代码例子:
#include <iostream>
class ClassA
{
public:
int a = 10;
};
int main()
{
auto cla = new ClassA();
delete cla;
system("pause");
return 0;
}
在vs中有这么一个参数/d1 reportSingleClassLayout,
reportSingleClassLayout后紧跟随的是需要dump的类名称!
然后执行工程编译,就能在编译输出平台看到以下信息了!
1>cl...
c++关键词的简单说明
大纲
alignas
alignof
asm
constexpr
const_cast
decltype
default
explicit
export
extern
mutable
noexcept
register
reinterpret
thread_local
throw
typeid
virtual
volatile
alignas
对齐
class alignas(long long) A
{
int a;
}
class A{
char[9] c;
alignas(16) int a;
}
alignof
int main()
{
std::c...
Lua内置类型的定向导出
大纲
CppBinding没有标志UFunction的导出
CppBinding的限制
CppBinding没有标志UFunction的导出
UObject的UFunction都会通过反射的方法自动导出给lua,但有的时候,某些UObject的方法并没有标记为UFunction,但是我们仍然希望导出给lua使用,例如:
UCLASS(Abstract, editinlinenew, BlueprintType, Blueprintable, meta=( DontUseGenericSpawnObject="True", DisableNativeTick) )
class UMG_API UUserWidget : public UWidget, public I...
Lua使用自定义c++类型
这一章节的内容就只有一个,那就是如何将自定义的类型注册到lua中使用!
大纲
书写自定义class
标注导出
注意事项
lua中使用
书写自定义class
创建一个lua使用的c++类
class CustomClass
{
LuaClassBody()
public:
virtual ~CustomClass();
void TestMethod();
};
LuaClassBody这个必须的,因为在后面写导出的时候必须依赖这个!
方法体的具体事项这里就不做说明!
标注导出
DefLuaClass(CustomClass)
DefLuaMethod(TestMethod,&CustomClass::TestMethod)
End...
Lua使用UE内置类型
大纲
cppbinding
调用
cppbinding
slua提供基于模板展开的lua接口绑定方法,我们称其为cppbingding,通过使用cppbinding,你可以在尽量不修改目标类文件(无侵入)的情况,将c++类和方法导出给lua使用。使用cppbinding方法导出的lua接口不使用反射机制,相当于你手写lua接口导出,所以在效率和速度上都是最优的,不用担心效率损失,因为你自己手写lua接口导出代码也不会再简洁了。
在slua的源码中,找到一下的代码:
通过上图,我们可以了解到,UClass、UScriptStruct和UEnum都是直接使用了unreal内置的反射去进行的!所以大部分unreal的内置类都不需要我们手动进行Regist到lua中才...
159 post articles, 20 pages.