在隐龙传:影踪中的钩爪玩法中,绳索是使用UE4中的Cable Component构建的。在当初还看了一下这方面的源代码和文档,可以在Unreal Engine 4的博客专栏搜到对应信息:传送门。
UE4的这个Cable Component是与世界场景没有交互的,因此这篇博客将讲解如何基于该Cable Component来实现绳索与世界的交互。
Verlet Integration
在查看UCableComponent
的源代码时,看到在Tick函数中有这么一段代码:
// Perform simulation substeps
TimeRemainder += DeltaTime;
while(TimeRemainder > UseSubstep)
{
PerformSubstep(UseSubstep, Gravity);
TimeRemainder -= UseSubstep;
}
而PerformSubstep
函数的实现如下:
void UCableComponent::PerformSubstep(