3dmax中制作时使用 骨骼工具->镜像 功能,生成了一批镜像骨骼。节点名称默认命名为 bonexxx(mirrored)。导入引擎后,带有(mirrored)命名的骨骼节点没有动画,其他部位正常
重新修改名称。重命名把(mirrored)去掉再导入就正常了。
debug过,动画资产骨骼信息都是能匹配上的。请问这块是有什么限制?同样的文件导入其他引擎(比如unity)是正常的。
[Image Removed]
3dmax中制作时使用 骨骼工具->镜像 功能,生成了一批镜像骨骼。节点名称默认命名为 bonexxx(mirrored)。导入引擎后,带有(mirrored)命名的骨骼节点没有动画,其他部位正常
重新修改名称。重命名把(mirrored)去掉再导入就正常了。
debug过,动画资产骨骼信息都是能匹配上的。请问这块是有什么限制?同样的文件导入其他引擎(比如unity)是正常的。
[Image Removed]
试了下可以重现;但这个应该是和括号有关,因为去掉就好了。UE里资产不允许有括号,还有一些其他的标点符号,一般使用_(下划线)来替代
资产命名是不允许括号,输入会有提示。但是资产内部(如蓝图)的组件、节点等使用括号命名的话没有提示,允许且能正常连线工作😂
骨骼内部节点按理应该也要能?
能问下骨骼带括号不工作这一块相关代码在哪里,我看看能否修改下
我不了解代码在哪里,你如果需要我转给程序同学看下,但个人不建议改代码,要确保安全没有别的冲突。写个Max的script导出前批量改名字更加安全也方便。资产内部比如你提到的蓝图等最好也避免使用括号等特殊符号,以免今后可能产生不必要的麻烦(之前有中文导致的问题,虽然也没说中文不能用)
好的,目前我们也是做了工具批量命名😂 。只是考虑美术中台还会制作其他引擎的资产,规范无法通用所以才想考虑引擎兼容,可能也涉及美术对当前批量资产及线上项目做规范处理的成本。
那麻烦转给相应程序同学看下指导下代码,我们也不一定改,但也想了解一下
Hi,
5.5和5.6的引擎会自动把无效的字符转成_,可以看一下UE.Interchange.SanitizeName 函数,5.4应该用的是FSkeletalMeshImportData::FixupBoneName,这个函数没有处理那些无效的字符。