sgcheng456 发表于 2017-12-26 14:34:49

Fusion 表达式实现数值曲线变化

本人Fusion半瓶水,表达式更是只有一丢丢水,今天有幸得到站长指点,特发此贴。Fusion的基本表达式还是很简单的,比如加减乘除 + - * /
想让一个数值随着播放来增加也很简单 打个等号=,输入time 就可以了

如果觉得快可以改为time*0.1,这样就减少为十分之一。例子有很多time*-0.1或time*0.1-125其实就是简单的加减乘除。
那么用time来做动画,数值是匀速变化的,如何实现曲线变化呢?
站长给了一招 1/10*time^2 翻译一下就是十分之一乘以time的二次方
^的意思就是乘方。(融汇贯通一下1/10*time^2和0.1*time^2 的效果是一样的 )
最后的效果是什么样呢?

旋转越来越快。
后来自己尝试了一下,发现C语言的函数也可以用
比如 sqrt(x) 就是对数值x开平方 又比如 pow(x,1/y) 就是对数值x开y次方……等等等等
最后还是希望站长出一套通俗易懂的表达式教程 我买……

wisheswell 发表于 2017-12-28 09:02:01

厉害

squallzhang 发表于 2018-6-26 16:54:01

1,算术函数
      a;“abs( )”(绝对值函数)
      例如;abs(5)   5
            abs(-5.5)5.5
            abs(0)   0
      b;“ceil( )” (返回比括号中数大的最小整数)
      例如;ceil(4.3)   5
            ceil(-2.3) -2
      c;“floor( )”(返回比括号中数小的最大整数)
      例如;floor(4.3)   4
            floor(-5.6) -6
      d;“trunc( )”(取得括号中数的整数位)
      例如;trunc(10.39)10
            trunc(-3.14) -3
      e;“min(x,y)”(取得括号中两数比较后较小的数)
      例如;float $a = 6.3;
            float $b = 5.6;
            float $c = 4.3;
            float $min = min($a,$b);
            float $min = min($min,$c);
      f;“max(x,y)”(取得括号中两数比较后较大的数)
      例如;max(2.1,3.5) 3.5
      g;“sign( )”(返回括号中的符号,正数返“1”,负数返“-1          ”,零则返回“0”)
      例如;sign(5)   1
            sign(-5) -1
            sign(0)   0
      h;“clamp(min,max,parameter)”(求范围,当parameter小于min时则返回min,当大于max时                   则返回max,在min和max之间时则反回其自身)
      例如;clamp(0,1,time);(只取time“0-1”的部分)
2,指数函数
       a;“exp( )”(求衰减系数“e”的多少次方)(e = 2.718);
         例如;exp(time);(基于时间递增)
       b;“pow(x,y)”(求x的y次方)
         例如;pow(2,3)   8
               pow(8,1.0/3) 2
       c;“sqrt( )”(专用开平方)
         例如;sqrt(4) 2
       d;“log(x)”(求x是e的多少次幂)
         例如;log(1)      0
               log(2.718)1
       e;“log10(x)”(求x是10的多少次幂)
         例如;log(100)    2
               log(1)      0
               log(1000)   3
       f;“hypot(x,y) (勾股定理)
         例如;hypot(3,4)   5
3,随机函数
      a;”noise( )”(噪音)
          例如;noise(time)
                noise(frame)
      b;“dnoise( ) ”(噪音,对矢量进行操作)
          例如;dnoise(<<2,3,4>>)
      c;“rand( )”(随机函数的一种,针对浮点类型)
          例如;rand(5)   在0到5之间随机
                rand(2,4) 在2到4之间随机
      d;“seed ( )”(固定随机函数)
          例如;seed(1) 1
      e;“sphrand ( )”(针对矢量的球型随机)
          例如;sphrand(5)
                sphrand(<<5,1,5>>)
4,三角函数
      a;“sin ( )”(正弦函数)
          例如;sin(1) (表示1弧度的正弦值)1弧度=180/3.14度
      b;“cos ( )”(余弦函数)
          例如;cos(1) (表示1弧度的余弦值)
5,转换函数
      a;“deg_to_rad”(将角度转为弧度)
          例如;deg_to_rad(180) 3.14
      b;“ hsv_to_rgb”(颜色转换模式)
          例如;hsv_to_rgb(<<360,1,1>>) <<1,0,0>>
6,曲线函数
      a ;“linstep(min,max,parameter)”(线性递增函数,返回值永远是从0到1)
         例如;linstep(3,6,time)
      b;“hermite( )”(自定义曲线函数,且返回结果也为矢量,用法较为复杂)
7,矢量函数
         a;“mag ( )”(求矢量大小,求得的结果是一个浮点数)
          例如; mag(<<3,4,5>> - <<1,2,3>>)   3.464102
         b;"angle ()" (求得两矢量之间的加角,单位永远是弧度,永远取小的角度,永远取正数)
页: [1]
查看完整版本: Fusion 表达式实现数值曲线变化