-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UE DataTable枚举类型 #31
Comments
没看懂问题呢?enum定义在一个proto还是多个proto里是无所谓的。 |
发现枚举最终都是产生unit32,我实际用到枚举值可能就十几个,用uint8就可以覆盖了,可以支持proto配置生成 uint8么? |
目前不支持,其实应该产生int32的,我后面加个选项可以指定某些enum生成的base类型吧。 |
做RPG游戏时,Datable里面经常会用到UE里面的FGameplayTag作为type类型,而不是简单的枚举变量。这个能否支持? |
可以,我记一下后续有空的时候写支持吧。 |
这样能够用上FGameplayTag,但是他会构成指针,由于指针,生成的datatable没发正常识别成gametag。 |
这是指向类型的,不是设置最底层的类型。这个功能需要改代码的,现在不支持。 |
好的
了解了,谢谢。 |
了解了。 |
能否支持Enum不替换为int32,同时.h文件生成我们在proto中定义 enum定义。替换为int是为了能够在蓝图中处理吗? |
https://www.youtube.com/watch?v=1CE6JIkMgXc&t=53s |
OK,后面也加选项可以自定义设置这类StaticMesh的修饰吧。然后特殊处理一下 TagName输出成JSON的形式,感觉就可以了? |
嗯,这样子可以更加全面的支持UE常见的表格相关资产,而不仅仅是DataTable。 |
另外现在通过设置 |
嗯,我目前是使用导出cpp,.h编译后,使用UE的DataTable import命令将json导出,没详细测试如果数据是不符合改列所定义的类型的各种情况。但是会报错,如果你当前列指定了StaticMesh,但你实际填的路径不是一个Static Mesh,会显示资源找不到,你可以测试下。 |
像StringTable似乎只能通过csv导入,而不是json,StringTable不需要定义RowBase,也不用cpp代码,你可以给xresloader增加导出csv功能,这块用python也很容易实现。所以我是把excel的xlsx转换为csv后通过代码导入的。像Enumeration表,我没详细研究他导入所需要的数据格式。 |
本来就支持CSV格式输出的。 我加了 |
可以的,如果想csv支持StringTable导入可能得Name去除,或者不在第一,第二列,因为StringTable前两列是固定使用Key和SourceString。其他数据列会当作MetaData处理。否则不能正常导入。StringTable只要前csv两列的名字满足要求,同时key值唯一就可以了。 |
作者你好,目前新版本支持指定enum为C++代码定义的枚举类吗,而不是默认uint32 |
我们现在逐渐迁移成使用 https://github.com/owent/xres-code-generator 接入UE支持了。这个工具支持直接输出枚举类型,且enum最大值小于256的时候的输出的类型支持蓝图。 老的代码输出应该是可以通过 |
我看example里面都是将Enumeration单独定义在一个 proto内,随后其他proto编译时 -I引入使用。看起来似乎不支持定义在一个proto内同时导出在一个UE .h文件内。
我使用自带的java编译命令,使用一个proto同时定义了枚举和message,使用-t 导出UE的json,使用 -f -m导出相应的cpp,.h但是其中的头文件没有成功包含枚举类型信息,如果使用了-c参数导出的cpp和.h名字和 -m内指定的信息冲突,同时导出的内容将枚举信息识别成一个message。
The text was updated successfully, but these errors were encountered: