新mugen吧 关注:1,029贴子:17,869
  • 12回复贴,共1

<教程>MUGEN光效特殊效果制作方法

只看楼主收藏回复

随着MUGEN的不断发展 单一的素材已经不能够满足各种特殊的效果了
看到最近很多人开始研究怎么完成一些使素材出现不同的效果的方法
今天就腾出点时间写一篇关于用代码控制素材 透明 大小 旋转 残影 等等特殊效果的教程


IP属地:北京1楼2009-04-07 23:34回复
    ****Angle系列代码简易教程(旋转效果 调整大小)****
    [State 0, AngleDraw]
    type = AngleDraw 
    trigger1 =
    value = 
    scale = 
    AngleDraw是为一个状态实现旋转 或者 改变大小的关键
    如果想让一个状态一直在旋转 或者 变大变小的状态中 那这个angledraw的触发器一定要写成1 
    如果这个控制器不被触发 那一切angle系列代码都将失效 就是说处于0角度 而且恢复到正常大小的状态
    接下来说下value这个参数 这个参数就是旋转的角度 可以写单一的整数 也可以写一些变量 比如time
    举个例子,如果想要让某个helper做的光效每一ticks都旋转10度那可以写成
    value = 10 * time 
    time实在不断增加的 只要增加 那旋转的角度就会慢慢变大 从而达到不断旋转的效果
    再有就是scale 这个比较容易理解 调整大小 这个光效如果太大 需要缩小一些就可以用这个参数调整 
    举例缩小一倍
    scale = .5,.5
    这个写的话 该光效的显示就会是原大小的一半 一个参数如果是浮点小数 
    而且整数位是0 那这个0就可以省略 直接写.5就可以了
    [State 0, AngleAdd]
    type = AngleAdd
    trigger1 =
    value = 1
    AngleAdd 就是角度改变控制器,这个控制器的用法和AngleDraw的用法是一样的
    不一样的是可以更方便的在不同时间 不同条件下 控制需要增加或者减少的角度
    [State 0, AngleSet]
    type = AngleSet
    trigger1 =
    value = 1
    AngleSet 角度设定控制器,用法同AngleDraw 原理同Angleadd 都是随意改变角度的控制器 
    只不过 angleadd是增加 或者减少角度 Angleset则是直接改变成Value所设定的角度
     
    [State 0, AngleMul]
    type = AngleMul
    trigger1 =
    value = 1
    Anglemul就不多介绍了 和angleadd一样 都是增加减少 区别在于 anglemul是乘value Angleadd是加上value 
    总之Angle系列代码还是挺微妙的 可以轻松的将一张不会动的图片素材 是他旋转 变大 变小 达到极致的效果
    Angle系列代码研究会的话 将会给你带来意想不到的收获,从此你的人物将不会仅限于单一素材的局限状态


    IP属地:北京2楼2009-04-07 23:34
    回复
      ****Trans控制器教程(透明效果)****
      [State 0, Trans]
      type = Trans 
      trigger1 =
      trans = 
      alpha =
      Trans是控制让图片透明的控制器 其在Anim中也可以直接实现 但是某些由于不同时间不同条件下产生渐变效果 
      那光用ANIM中的透明参数就很难实现了
      首先说下 透明的几种常见形式 写在trans后面
      ADD是最常见的一种 就是将图片中黑色部分消失 使图片呈现一种最明亮状态的透明感
      ADD1和ADD差不多 只不过透明的程度要比ADD差 感觉米有ADD那么舒服 但有些素材用ADD1的效果要比ADD好
      SUB颜色叠减 透明 ADD是让黑色部分消失 SUB则相反 可以让黑色部分呈现出来 而且整张图片都会因为颜色叠减而变暗
      除上述的几种可以光靠写Trans就能完成的透明方法之外 还有一种需要自行加入参数的透明方法addalpha
      Addalpha需要用到alpha这个参数 这个参数需要你自己填数字
      alpha参数需要两个数据 格式为 alpha = xxx,yyy
      两个值大小都是在0~255之间 
      x值是调试图片的明暗 越高图片越清楚 如果是0将什么都看不到了
      y值是调试图片的透明程度 如果x和y值都是255的话 那就等同于用ADD方法做出的透明效果
      以上为透明效果的做法 具体效果还是需要你自己亲自试验下 这样才会更深一步的理解


      IP属地:北京3楼2009-04-07 23:35
      回复
        ****Afterimage控制器教程(残影效果)****
        [State 0, AfterImage]
        type = AfterImage 
        trigger1 =
        time = 1 
        length = 20 
        palcolor = 256 
        palinvertall = 0 
        palbright = 30,30,30 
        palcontrast = 120,120,220 
        palpostbright = 0,0,0 
        paladd = 10,10,25 
        palmul = .65,.65,.75 
        timegap = 1 
        framegap = 4 
        trans = add
        Afterimage的参数及其用法非常微妙 应该说各种颜色相关的控制器的参数用法都很微妙 
        在这里我只介绍下Afterimage的用法
        time这个参数就不多介绍了 意思就是在触发残影后 维持的时间 60ticks=1s
        length参数 是MUGEN保存这个残影的最大数量 制作一般光效的残影只要8~10张就足以了
        palinvertall的效果就是类似于照片底片似的样子,一般很少用到这个效果 需要的话就写1 不需要不用写 默认为0
        接下来就是微妙的地方了 palbright palcontrast palpostbright paladd palmul 这5个参数有着微妙的关系
        5个参数的数值互相关联 想学加残影的同学请认真看这里 这里是重点 关系到残影的颜色变化的效果
        首先我把5个参数关联的公式写出来
        图片本身的RGB颜色 + Palbright * Palcontrast / 256 + palpostbright 到此为止每张残影只在第1ticks时运行
        之后存在的每1ticks 都只运行paladd和palmul 
        从第2ticks开始 只运行paladd和palmul的参数 公式的最后结果 + paladd * palmul
        第3ticks则直接用第2ticks的结果 再次 + paladd * palmul 以此类推 直至这张残影到达最多保存数量而消失
        timegap和framegap是决定一个anim哪些时间作为出现残影的标本参数
        timegap是决定在AIR中每timegap张图片作为需要做残影的图片
        framegap是在timegap算过需要做残影的图片中每fremegap-ticks出现残影
        后面的trans我就不多介绍了 用法同Trans控制器 不过这个是控制残影透明的参数


        IP属地:北京4楼2009-04-07 23:35
        回复
          到此为止基本上所有控制素材达到不同效果的方法教程就写完了
          还希望想学习这方面只是的同学多加实践 知识是在不断的实践中理解深入的 教程只是辅助工具
          祝你早日打造出拥有自己风格的MUGEN格斗游戏
          冲杯咖啡看动画去了。。。。。


          IP属地:北京5楼2009-04-07 23:35
          回复
            多谢Alma的教程- -!!又有的学了。


            6楼2009-04-07 23:42
            回复
              还是A老师厉害!!


              IP属地:四川7楼2009-04-08 12:58
              回复
                教程不明白,想看教程视频的给说一下哈!
                *_* 给老师抢生意哈哈哈!


                IP属地:四川8楼2009-04-08 13:04
                回复
                  • 222.86.233.*
                  CS你还是做个视频吧老A的教程看都看不懂


                  9楼2009-04-08 19:20
                  回复
                    这个好象文字好理解一点


                    IP属地:广东10楼2009-04-08 21:24
                    回复
                      临兵斗者皆阵列在前


                      11楼2009-07-29 08:44
                      回复
                        ls,双截龙么?


                        12楼2009-09-29 11:57
                        回复
                          我传送门近来的...
                          还真不知道老A居然有这篇好帖


                          IP属地:江西13楼2009-10-19 13:09
                          回复