endink / Mediapipe4u-plugin

379 stars 52 forks source link

更新脚掌贴地功能后,出现异常[Bug]: #36

Closed JKJ526523 closed 1 year ago

JKJ526523 commented 1 year ago

MediaPipe4U 版本

20230316

UnrealEngine 版本

5.0.x

UnrealEngine 类型

Launcher

问题类型

运行错误

错误详细描述

设置如下: image image 效果如下(出现高亮部分并且离地更远): image

endink commented 1 year ago
  1. 如果高亮指的是脚部的线框,这是 DebugDraw,你可以通过 AnimaInstance(动画蓝图) 上的属性 DebugDraw 开启或关闭,它主要用于调试。线框种的黄点代表射线碰撞点。
  2. 脚没有贴地是射线碰撞点不对,从图中我猜测这是因为你的角色胶囊体和射线发生了碰撞,射线碰撞通道必须忽略所有的的碰撞体,除了地面(Demo 工程地面为 Panel),需要非常熟悉物理碰撞相关知识,你才明白我在说什么
endink commented 1 year ago

或者是因为你的地板也没有发生碰撞,确保地板的射线通道是 block, 你没有贴出你的节点属性中的碰撞通道设置,我只能猜测问题

JKJ526523 commented 1 year ago

image GroundIK这个碰撞通道默认是忽略,只单独设置了地板的射线通道为block。 image

endink commented 1 year ago

image GroundIK这个碰撞通道默认是忽略,只单独设置了地板的射线通道为block。 image

你需要检查动画蓝图中的Location solver节点细节面板中的碰撞通道属性是否使用了这个通道

JKJ526523 commented 1 year ago

image 碰撞通道属性使用了GroundIK这个通道

endink commented 1 year ago

检查 Animation Instance 上的 Solve Location 属性是否被勾选,必须开启位移算解才会进行 Ground IK 计算

JKJ526523 commented 1 year ago

image Solve Location 属性也已经勾选。 Location solver节点细节面板中的碰撞通道属性启用了GroundIK;GroundIK碰撞通道默认是忽略,只单独设置地板的射线通道为block;并且Solve Location 属性也已经勾选。比较疑惑问题是出在哪里了。

endink commented 1 year ago

从你的调试视图看到的是射线没有和地面发生碰撞,检查地面的碰撞体

endink commented 1 year ago

红色是射线击穿了,没有和地板碰撞,补了文档,清楚了的写了怎么看调试线条,需要你自己找到为什么会击穿