机械折叠
首先建立基础模型
父子集层级关系为 A—-B—-C
同时,立方体E是A(父)的子物体,立方体F是C(最末)的子物体

此步骤要注意中心点的位置,非常容易出错,整体中心点的位置应为圆柱体A的中心点,否则克隆出来那个步骤就全部错了。
做IK链接
选择父级(圆柱体A)添加IK标签,并将结束设为(圆柱体C),然后添加目标
克隆
新建一个空物体,将基础部件置于其中,然后给空物体添加克隆,并把克隆每步的位置(Y)设为模型展开的最大值,但是此时的克隆,在移动基础部件的目标时,都只会在基于基础目标上进行动画,克隆的部件彼此之间没有影响关系。所以这个值必须是一个动态的值。
新建一个空白对象,然后添加XPresso标签(编程标签),
然后给空白对象添加一条用户数据,命名为伸缩率,默认值可以设为100%,即伸缩最大值,
打开XPresso编辑器(双击标签),把空白对象和圆柱目标(圆柱体C.目标)拖进去。
因为目标是沿Y轴移动,所以将目标的Y轴(P.Y)拖进去
然后把伸缩率拖给空白对象
此时可以通过空白物体的伸缩率来控制目标的Y轴位置,但是还不能直接连接,因为伸缩率是百分比的值,而圆柱体目标的Y轴的值是一个标量,即实数的值,此时需要新建一个范围映射
此时范围映射的参数
输入下限 0
输入上限 1
输出下限 0
输出上限 (圆柱体C.目标Y轴的可用的最大值)当前为100
然后此时调整空白物体的伸缩率,就可以让基础物体伸缩(等于在Y轴上移动圆柱体目标)
接下来调整克隆,把克隆拖进XPresso编辑器,然后把克隆的对象里的Y轴位置坐标拖进克隆(左),然后把范围映射的输出连接上克隆,此时单边的就做好了。

可以用克隆或者实例做出另一边,此处使用了实例,把实例旋转180

此时可以调整伸缩率查看效果,到10%的时候是压缩的刚刚好,再小杆就会重叠拥挤在一起,因此要设置一个最小值,点击空白对象,选择“编辑用户数据”,然后点开“伸缩率”,把限制最小的最小值设为10%(收缩值刚刚好的那个值)
把用户界面从“浮点”改成“浮点滑块”
然后新建一个空白物体,把克隆和克隆实例拖入,然后对这个空白对象进行实例。
然后进行k帧,k帧结束后要给动画添加一点缓动,
门或者平面类的折叠

折叠门和普通门开门的区别,普通门开门步幅是一个线性的增长,折叠门开门的步幅是一个阶梯形的增长。
折叠门需要最前面一个门折叠了后面的门才会依次折叠,因此同步折叠同步伸展的折叠门是不符合现实的。
新建7个空白对象,并把这7个空白对象都设为球体,颜色改成绿色,方向改为Z,把第一个空白对象设为“空白.0”
然后新建一个空白对象添加XPresso标签(编程标签),然后在编辑新建一个链接列表
然后把0~6的空白对象放入节点属性的链接列表中,但是链接列表里的对象先后顺序也是会影响动画效果的,因此为了让顺序是正常的,点击拾取模式然后从空白.0点到6
拖入“累计折叠”的节点(一枝花)
然后新建一个“迭代”

迭代创建好后,因为“累计折叠”节点那边有“迭代/反复”和“迭代/数量”,所以把迭代节点的数量也打开(点击右边红色部分),然后因为空白是0~6,因此迭代起点为“0”,迭代终点为“6”,
连接节点
拖一个空白对象(空白.0)进编辑器,因为是要往前移,往前移的是沿Z轴移动,所以选中它的Z轴坐标拖入“空白.0”节点(左),然后给“空白.0”节点添加一个对象(点击左边蓝色部分),并把“对象”与“链接列表”的“链接”相连。
把“累计折叠”节点的“位置-标量”与“空白.0”节点的“位置.Z”相连,然后所有的空白对象就全部集中到一个点上,相当于是收起。
摊开,
每折步长
点击“累计折叠”节点,参数里有“每折步长”,调整参数就可以让每个空白对象等比摊开

每折步长的定义:红色画圈那一部分
将每折时长/帧设为30
然后就可以调整“时间帧/变量”的值就可以看见空白对象0沿z轴移动(并且收起)
或者把变量设置为时间,这样就变成自动的了。新建一个时间节点,然后给时间节点添加一个“帧”节点(右边红色),然后把时间节点的“帧”与累计折叠节点的“时间帧/变量”相连

这个时候按播放整个画面就动起来了,但是此时第一个点会和第二个点重合然后依次重合,这就需要调整参数中的“每折最小间隙”,因为门是不会和门重叠起来的,所以每折最小间隙不会是0,设为10以后,运动的时候不会重合。数值越大每折的距离越长

将空白对象删除,新建立方体并复制成7个,然后把立方体按照之前的步骤放入链接列表中,然后修改迭代终点为7,然后把对象替换成立方体(把立方体.0拖入对象节点),这个时候按播放效果就可以了,然后调整其他数值

折叠门IK绑定
通过节点改变模型的角度
新建空白对象,
如何新建某个常数的节点
右键——新建节点——-xpresso——常规—-常数
右键给该常数节点更名(每折步长),然后连到对应节点的对应参数(累计折叠的每折步长),此时节点属性中的数值就是该节点的数值(实数)
新建一个圆柱置于三角中,半径为5,再复制一个圆柱,距离是每折步长的一半(50),再复制一个圆柱于第二个三角中,与第一个圆的距离为每折步长(100),然后用立方体连接他们

然后设定父子集,添加IK链,创建目标,然后新建一个空白对象,把这些全部置入空白对象,克隆后c掉
如何修改c掉的圆柱体的大小,按
,双击圆柱体
然后把克隆的门板拖入一开始的空白对象中,注意顺序,

此时的效果只有推移没有折叠(像推移门)
点进空白.0,圆柱体上有个IK标签,目标是空白的,此时需要把目标放置于上一个空白对象,
即需要把空白对象“空白.1”置于“空白.0”的目标,

此时由于点的位置,框会旋转,所以目标错误,应该是子集(教程上是到空白1.1的集,但是实际要到圆柱体那个集才能让门不旋转),这个原因应该是和物体中心点有关,中心点一致才能不旋转,重回克隆步骤调整中心点位置就可以和教程一致了
然后到最后一格的时候新建一个目标(空白对象),或者直接复制空白对象5然后修改位置,然后作为空白5的目标
