创建模拟图形时,必须使用“缓存”类别中的节点缓存所需的值。
最基本的缓存形式包括 CreateCache 节点(用于创建保留这些值的缓存)、CachedValue 节点(用于返回这些值)和整数常量(用于控制深度值)。
CreateCache 节点的 initFunc 是一个用于设置缓存初始状态的函数。例如,对于变形修改器,这通常就是网格的顶点位置(来自 MeshVertices 节点)。
updateFunc 是一个要迭代应用每个帧以更新值的函数。
缓存的总深度应该至少为 2,以便为先前的值(级别 = 1)和当前值(级别 = 0)留出空间。总深度为 1 时意味着缓存初始化,而不是在每次计算时更新。可以根据需要(例如:实现位置轨迹和其他效果)使用更大的深度。
在某些情况下,也可能需要缓存计算时间以防止在播放期间出现问题。例如,您可以使用时间隐式参数,将其与缓存值比较,并使用结果来控制模拟如何更新。以下示例显示了一个简单的情况:仅在当前时间不同于缓存时间时,才更新模拟和时间缓存。