ech渣剪组吧 关注:110贴子:1,848
  • 15回复贴,共1

【P粒子系列教程2】关于螺旋式上升/下降的P粒子的简单探讨

只看楼主收藏回复

本教程致力于解决螺旋式上升或者螺旋式下降的P粒子运动状态,同时,用表达式的办法可以解决绝大多数任何物体的螺旋式运动,这种螺旋式运动可以是半径不变的,也可以是半径变大/缩小的,总之,就如同下图所示


技术拙略,还请谅解,如果有其他方法,希望大家提出,共同探讨


IP属地:安徽1楼2013-08-20 13:21回复
    步骤一:半径不变的螺旋式轨迹
    在这一点上,就要说到一个AE的不算小技巧的小技巧,就是空物体的运用
    很多新接触AE的人往往会忽视空物体这个强大的东西,但其实这个东西十分的有用
    当年我做圆盘旋转时还在傻傻的移动图层定位点(Y键→这是个强大的东西,具体应用以后有时间讲讲吧)但是当物体很多的时候,这种方法不但不准确,而且很费力,直到我看到夜大的BB工程里面的空物体父级,顿时恍然大悟,总的来说,这个手段可以有效解决AE的伪3D组合物体的移动,旋转等问题。
    好像只用说的不是很明白,上个图你就懂了

    例如这样的一个物体,它是由12个小立方体构成的,那如果我需要这12个立方体绕着中心旋转,该怎么做呢?开始时我的方法是把12个立方体的定位点全部移到中间去,但是因为往往手动估计不准,导致这个圆盘转起来十分不均匀,但是如果我放一个3D的空物体到中心位置,然后把12个立方体合成连接作这个空物体的子级(用12个立方体合成的猪尾巴连接到3D的空物体上),那么问题不就解决了么,现在想起来一目了然,当时却是楞没想到,惭愧,惭愧。
    那么,举一反三,这对于解决螺旋式上升轨道提供了一个简便的解决思路,那就是将需要螺旋移动的物体绑在一个作为螺旋运动的环的中心的空物体上作子级,通过空物体的旋转造成螺旋效果,通过空物体的移动造成运动效果,简单的说来就是如下图示

    我将一个灯光绑在它右侧的空物体上作子级,那么,当我的空物体绕Y轴旋转时,我的灯光就可以以空物体为圆心,以灯光和空物体之间的距离作为半径作圆周运动了,如果同时,我的空物体沿Y轴向上运动,那么不就成功的让灯光做了一个沿Y轴向上的螺旋运动么?
    而螺旋式上升/下降或者简单一点,圆周运动的运动轨迹的制作方法,大体就是这样


    IP属地:安徽2楼2013-08-20 13:42
    回复
      方法二,表达式达成的螺旋轨道
      恩,在不知道上述方法之前,我一直在用这种手段
      缺点:一个字:麻烦!
      优点:可以用在包括P粒子的所有的螺旋运动轨迹上面,因为你不用担心随着空物体的比率变化而导致的运动物体的比率变化
      表达式如下:
      vel1=20; //旋转速度
      vel2=40; //向外速度
      vel3=50; //y方向速度
      radius=30; //定义初始的半径值
      radtemp=radius+vel2*time; //定义任意时刻半径的算法
      angertemp=vel1*time; //定义任意是刻角度的算法
      a= -Math.cos(vel1*time)* radtemp; //定义物体x坐标的算法
      b= -vel3*time; //定义物体y坐标的算法
      c=Math.sin(vel1*time)* radtemp; //定义物体的z坐标的算法
      [a,b,c] //最终输出物体坐标
      这个表达式不是我写的,我自己写的比这个乱多了,自己想了半天写完,才发现网上就有,囧
      用这个表达式,想做什么样的螺旋都行,哪怕你想要个锥形的螺旋运动轨迹,也没问题(当然,上面那个空物体也行),同时不用担心你的运动物体的比率变化了,可喜可贺可喜可贺

      这个就是当时的产物,群里的第一次MEP,悲剧的是,我的这一段MEP完全被无视了,所以到现在也没什么人看过233
      这次教程就到这里,相信大家也应该没啥看不懂的了,欢迎踊跃讨论,共同探讨新方法


      IP属地:安徽4楼2013-08-20 14:10
      回复


        IP属地:日本5楼2013-08-20 14:50
        收起回复



          6楼2013-08-20 15:11
          回复
            如果说让物体半径改变的旋转的话,能不能先做位移动画后预合成然后再绑定空物体


            IP属地:日本7楼2013-08-20 15:23
            收起回复
              好评如潮,这个帖子终于发挥了它真正的作用,逝梦妹子提出了一个很好的不用表达式解决任何物体螺旋旋转的方法
              简单的来说,方法如下:
              首先给你的物体做水平方向平移,比如你想让螺旋半径越来越大,可以向外,如果想半径越来越小可以向内

              然后给空白对象作旋转关键帧的K帧,这样就可以做出螺旋半径变化又不影响物体大小的效果啦,同时也不需要用到表达式,好评如潮



              IP属地:安徽8楼2013-08-20 15:51
              收起回复
                父子级水平旋转,粒子加重力


                IP属地:山东来自Android客户端9楼2013-08-21 21:38
                收起回复