标签: 动画

  • 3dsmax动画原子运动

    3dsmax动画原子运动


    本实例是做原子运动穿越薄片的效果。制作的原理和上次类似。

    这次被穿越的方块不做高低变化,而是体积“坍缩”为零,当原子穿越之后方块体积又恢复到原始状态。这样的变化同样是通过距离来判定的。

    select $box*

    for t=0 to 100 do

    animate on

    at time t

    for a in selection do

    (

    x=distance $sphere01 a

    if x < 300 then

    (

    a.width=0

    a.length=0

    a.height=0

    )

    else

    (

    a.width=100

    a.length=100

    a.height=100

    )

    )

    3dsmax 动画基础,3dsmax脚本动画制作教程

  • 3dsmax动画基础教程_土拨鼠钻泥土小动画

    3dsmax动画基础教程_土拨鼠钻泥土小动画

    本实例中有点土拨鼠在地底钻洞时地面泥土隆起的效果。

    也是使用脚本的逐帧动画,脚本原理跟上一次的那篇文章差不多,大家可以这里《随小球运动而塌陷的方块地面动画-maxscript》查看原理。

    其中distance控制方块和球体之间的距离,if判断语句控制球体和方块的位置关系,当两者距离小于某设定值时,高度做相应变化,否则做另一种变化。

    for t=0 to 100 by 2 do

    animate on

    at time t

    (

    for a in selection do

    (

    d=(distance $sphere01 a)

    h=a.height

    if d<100 then

    (a.height=200

    a.wirecolor=white)

    else

    (a.height=h

    )

    )

    )

     

  • 随小球运动而塌陷的方块地面动画-maxscript

    随小球运动而塌陷的方块地面动画-maxscript

    为做出上图的效果,花了点时间想了个算法,相比之前的几个实例算法稍微深了个层次。

    算法描述:

    n=#() –新建空数组

    u=1 –定义变量起始量为1

    for t=0 to 100 do –for循环语句,这里是指在0到100帧做循环计算

    (

    animate on–开启动画关键帧

    at time t–在第t帧时做什么

    (

    for a in selection do –在第t帧时执行for循环语句,这里指的是所有被选择的物体做循环计算

    (

    x=distance $sphere01 a–定义x变量,变量赋值为球体01和方块的距离,distance是计算距离的变量

    y=200–定义y变量,这个变量做下面的比较运算

    if x>y then –if条件表达式,表示如果…那么…否则,当x>y是,执行then后面的语句,否则执行else后面的语句

    (n[u]=y)     ​    ​–给n数组赋予y的值

    else n[u]=x–给n数组赋予x的值

    a.height=n[u]–给a(指方块)的高度赋予n数组的当前值(x)

    u+=1–递增表达式

    )

    )

    )

     

  • maxscript 关键帧动画实例–正弦函数曲线生成动画

    maxscript 关键帧动画实例–正弦函数曲线生成动画

    [intense_image imageurl=”http://pic-7niu.3dscg.com/sin_curve.gif” /]

    喷射出正弦函数曲线的粒子曲线算法

    算法解释:animate on 开启关键帧开关,定义一个时间函数t ,时间函数t在0到100帧递增,递增等差为2,在递增的关键帧中“do”一件事情:at time t中复制$(指的是选择的方块),复制后的位置为[5*u , 500*(sin u) ,0],其中u的增量是45,增量的写法是u+=45或者u=u+45这两者都行。

    代码

    u=0

    animate on

    for t=0 to 100 by 2 do

    (

    at time t

    copy $ pos:[5*u , 500*(sin u) ,0]

    u+=45

    )

    关键字:maxscript,3dsmax 动画脚本

  • 3dsmax脚本动画-放置的图画

    3dsmax脚本动画-放置的图画

    还是移动帧动画,先看效果

    模型建模:制作两层50*50*10的方块,上层贴一张贴图,下层贴另一张贴图,并都赋予UVW贴图坐标,注意下层的效果更上一层有所不同。由于每个方块都要经过10帧动画就要做y轴翻转180°的角度,因此每个方块在翻转前要做自身X轴的“镜像”处理。处理效果如下图

    从这个图片看出,方块之间拼接不能构成完整的图形,但是做y轴方向翻转180°之后就刚好还原图形了。

    模型完成后,上层方块和下层方块分别执行下面的maxscript脚本,完成动画操作

    u=0

    for a in selection do

    (

    movekeys a u

    u=u+2

    )

    本文完

    代码备份:之前原以为要把上层下层抽取个一个分别组块,后来发现不用组块也能执行上面的movekeys的命令,那下面这段代码就可以不用了。但写好的代码还是留下备份了。

    n=$ as array         –定义一个n的数组变量

    m=n.count            –计算出n数组的数量

    b=m/2

    for a=1 to m/2 do     ​    –​for循环

    (

    y=#(n[a],n[a+b]) –选择集数组

    group y     ​–群组命令

    )

     

  • 3dsmax流星动画

    3dsmax流星动画

    一个类似流星的小动画,同昨天做的计时器动画原理一样。效果如下

    模型建立略过

    代码

    for a in selection do

    (

    movekeys a (random 0 100)

    )

    random 是随机参数,后面带0到100标示输出的随机值是0到100的整数值。

    movekeys表示选择的物体移动关键帧,移动的帧数为random的随机值

    上次的链接《3dsmax计时器动画小教程​》

  • 3dsmax计时器动画小教程

    3dsmax计时器动画小教程

    一个很简单3d动画,在配合3dsmax的脚本语言,就算是初学者也能学会的。

    先看效果

    [intense_image imageurl=”http://image16-c.poco.cn/mypoco/myphoto/20140923/15/5616http://image16-c.poco.cn/mypoco/myphoto/20140923/15/5616515920140923153451025.gif515920140923153451025.gif?523x473_110″ /]

    方法

    创建盒子,开启“aotu key”(自动关键帧)

    在第0帧,盒子参数1080 90 100(也可以任意,按自己喜好)

    在第10帧,盒子参数0 0 0(盒子消失)

    在第20帧,盒子参数1080 90 100(盒子又变回原来大小)

    以上的步骤,一个盒子的动画就制作完成。

    选择盒子,使用shift+i间隔工具,在一个圆圈(之前就要创建好,大小自定)上排列盒子,数量60左右。

    排列后看看到一圈的盒子,删除原来的单个盒子,选择排列的一整圈的盒子。

    在maxscript中新建maxscript,复制下面的Max脚本,按键盘Ctrl+E运行脚本,动画便制作完成了。

    u=0
    for a in selection do
    (
    movekeys a (u+=3)
    )

    如果动画播放不完整,在帧播放按钮上点击右键,请设定下图这个参数