UE5.6中无法导入单独Groom GuideCache以及使用GuideCache驱动毛发 发梢产生奇怪弯折

压缩包中三个文件,1.包含全量毛发缓存和导线缓存,可直接导入UE5.6,导线驱动毛发发梢会弯折 2.Asset为静态资产,使用Guide_Cache的导线缓存来驱动,UE5.5、UE5.4中可导入,UE5.6中导入失败​

[Image Removed]

重现步骤

  1. UE5.6中导入单独Groom GuideCache失败
    1. 先将静态资产 ​UDN_Guide_Asset.abc 导入,然后导入 UDN_Guide_Cache.abc 并在Groom资产中指认 UDN_Guide_Asset
    2. [Image Removed]
    3. 会提示未能导入​[Image Removed]
    4. 报错信息:[Image Removed]
  2. ​使用GuideCache驱动毛发 发梢产生奇怪弯折
    1. 导入毛发资产 UDN_Groom_Cache.abc 选择全部,导入毛发缓存及导线缓存,新建定序器,将毛发资产放入并复制一份,分别指认​guides_cache和strands_cache
    2. 50、140帧发梢较为明显[Image Removed]
  3. UE5.5、UE5.4中可以导入单独Groom GuideCache,但仍然会发生发梢弯折的情况
    1. UE5.5导入 GuideCache[Image Removed]
    2. UE5.4导入 GuideCache[Image Removed]
    3. 使用GuideCache驱动毛发 发梢产生弯折[Image Removed]

第一个问题大概率和资产本身有关,就像报错说的,静态毛发资产中的guide的顶点和动画cache中是不一致的。我把静态毛发导入5.5看到的是1127个点,但5.6里是1104个点。

5.5​

[Image Removed]5.6

[Image Removed]我也尝试了把UDN_Groom_Cache.abc这个文件分别导入5.5和5.6,两者的guide点数是一致的。因此大概率是资产本身或DCC导出的时候出现了什么问题。要不你再检查一下。只能说5.6对此的宽容度更加严格不允许导入不一样拓扑的guides了

第二或三的问题是guides和strands的interpolation,或理解成蒙皮的关系导致的。guides会使用引擎的interpolation方式驱动strands。我看了下你提到有问题的几帧,guides长度和有问题的strands的末梢长度相差较大可能是引起问题原因之一。通过调整interpolation的方式有所变化可尝试下。但我个人认为这不一定能适用所有情况。如下图比较

​[Image Removed]Guides驱动strands的关系也可以通过在DCC里指定,而非让引擎自动去计算。但这套流程之前和相关同事询问效果时得到了并非非常可靠,也有一些问题。至于引擎生成的interpolation效果我认为一个取决于guides的数量,越多越精确;二是guides影响到一簇毛发的长短变化大小,比如strands的长短有比较大的变化可能就需要分开group ID来优化interpolation的效果。目前最简单直接的方式就是增加guides数量,直到没有明显问题为止

感谢您详细的解答