签到

07月11日
尚未签到

共有回帖数 0

    刘云

    等级:
    • 荣誉:
    所用场景和上一节相同,请用场景原来的的设置,如果你没有场景,单击这里下载。
    在前面的教程中,你可以缓存粒子以减少计算时间。现在我们更进一步,让你可以保存整个动画序列到硬盘。一旦把粒子保存到硬盘,你可以关掉或者删除粒子系统从硬盘加载只需要几秒钟时间,因为krakatoa为每一帧保存相应文件如何保存粒子到硬盘:右键RENDER FRAME选择action segment[0-100]Nth:1,(在渲染设置面板,你也应该设置相应的帧范围)在粒子渲染节点下拉列表中选择save particle to file sequence

    RENDER按钮会变成SAVE PARTICLE,此时save particle卷展栏也会自动出现。注意此时Iterative[Full]已经变成灰色

    通常,你都要选择一个保存路径 选择渲染通道:n krakatoa已经默认设置一些常用通道保存到文件n 你也可以根据需要添加和删除一些通道(废话好多)n 例如:      在所有粒子都是单一的绿色时,保存每粒子颜色是没有什么意义的。这只会增加文件大小,(因为)你已经知道了粒子颜色可以在渲染时重写,但也可以在PRT Loader object或通道修改器或材质指定时设置物体颜色。      保存法线也是没有什么意义的,除非你要把粒子对应到模型上      IDs在将来我们要把粒子导回particle flow时要用,但是现在是没用的      所有粒子密度默认为1.0,在这里这个通道是多余的,即使你不保存density,将来导入粒子时krakatoa没有读取到density,也会将其默认设置为1.0,反正都是1.0,又何必浪费硬盘空间来保存这个1.0呢      所以,选中以上说的四个通道,移除

    保存粒子:单击SAVE PARTICLES按钮开始处理粒子等待。。。。。所有的粒子都缓存到硬盘文件。在这个例子中,包含1000000个粒子和100帧,花费1.6Gb的存储空间和5分钟的时间(此数根据电脑配置和通道数目而不同,我的电脑好像没到3分钟,嘿嘿) 读取粒子:选择现在场景中的粒子流,并将其关掉(取消勾选“粒子发射”)


    在max主菜单栏上,打开krakatoa菜单,按住shift同时选择“crate a PRT Loader - Hold SHIFT to create at world origin”(将粒子导入并放置在世界坐标原点)

    找到之前保存粒子的路径,选择其中一个文件,单击“打开”。如果序列中没有存储颜色通道,krakatoa将随机指定一个颜色给粒子你可以在对象颜色面板中,把粒子颜色设置为浅绿色

    屌丝翻译注:如果颜色没有改变,滑动一下时间滑块,就刷新过来了

    这是在70帧时,默认导入1%粒子,所以粒子看起来很少,但是渲染时用的是100%的粒子PRTLoader可以导入单帧,范围帧,还是很好用的,此处你自己仔细研究一下:

    渲染PRTLoader:把粒子渲染 模式改回到render scene particles


    渲染第50帧

    渲染速度是很快的,无论你要渲染哪一帧,速度都差不多,不用等待粒子升级。 观察粒子速度:之前我们把粒子的位置和速度信息保存到文件在场景中选中PRTLoader,在右边的修改面板,下拉选中display velocities,如图所示(如果图示不清楚请直接问我):

    现在你可以观察到速度了:

    粒子变成了线条,每个线条的长度表示两帧之间,粒子的位移变化。在0帧,你什么都看不见,因为粒子还没有发生位移,位移是0,线条长度是0;简单的说,是粒子速度是0所以神马都没有 给粒子动画重置时间(也叫子弹时间,可以做慢镜头或快进效果)到目前为止,PRT Loader存储着粒子的位置和速度信息。而PRT Loader的另一项强大功能是重置动画时间(根据位置和速度通道)请把之前显示速度(display velocities)的下拉列表中选回display as large dots勾选Graph[a]

    你会发现所有粒子都回到了0帧时的状态,这是因为我们没有给Graph[a]设置动画,单击向右的两个小三角

    选中create LINEARplayback keys。你会发现好像,动画又回到原样子。其实不一样,你看看时间滑块,在时间滑块的开始和结束位置(本场景是第0帧和第100帧)分别创建了关键帧。这个关键帧是干什么用的呢?你把第100帧处的关键帧移到50帧处,播放动画你会发现,仅用50帧的时间就把整个粒子序列给播放完了,速度快了一倍,是不是相当于加速了?不过这种加速时线性的,因为我们刚才点击向右双三角时选的是create LINEARplayback keys(线性模式)。你还可以试试下面几个选项,分别是加速模式,减速模式,乒乓模式。下面三个,都不难理解,分别是范围外方式,反转动画,删除关键帧范围外方式的“范围”指的是两个关键帧之间的范围。一般来说粒子序列都只会在“范围”播放,除非你进行了帧偏移。把时间范围做如下更改:

    两关键帧还是在第0帧和第100帧(现在的“范围”是0到100帧)

    拖动时间滑块,你会发现“范围”之外没有粒子序列播放进行帧偏移(20帧):

    拖动时间滑块观察,你会发现在-20到0帧有粒子序列播放,就是说“范围之外”有了动画。这个动画应该以什么方式(type)进行?你可以在out-of-range types中选择了…… 在时间配置把帧范围改回0到一百。帧偏移改回0,单击向右双箭头把graph[a]的模式改为乒乓模式,时间滑块滑到32帧处。我们接着往下看。 在渲染中使用速度信息:存储在文件序列的速度信息不仅可以用来重置时间,还可以在渲染时做运动模糊krakatoa提供内置的运动模糊节点,并且(在每一帧)只会对照明计算一次,然后把多个通道合成都一张图像

    点击渲染你会发现进行了4次渲染(particle segments为4),并且把渲染的4个运动模糊合成到了一张图像,这种图像中包含了4000000个粒子(4*1000000)(渲染了4次嘛)

    现在把快门调到360,右键向右双箭头在下拉列表中选择

    渲染你会发现运动模糊加强了(屌丝翻译只用过傻瓜相机,不知道快门的具体意思)

    边缘有很明显的条带(数一数,好像是4条哦)为什么是4呢?屌丝翻译又要啰嗦一下了:particle segment为4(segment“分割,分段”的意思),上面提到了用线段显示速度,这里就是把线段4等分,分别放上4个粒子(所以最终图像中粒子总数为4*1000000),于是四张图像合并的效果就是这样子了。你可以把particle segment分别设为1,2,3,4,分别渲染一下,就应该明白了要消除这些条带同时不增加渲染时间,你可以打开“抖动运动模糊”

    (懒虫翻译嫌打英文麻烦,直接上图)粒子会在速度方向上做随机抖动,产生一些噪乱,减少统一性

    边缘是不是好多了呢你还可以再加一些分段(particle segment设为8),渲染时间会增加一倍哦

    效果似乎更加细腻些了(屌丝翻译注:在我们做一些光束效果的时候,可以提高模糊的分段值,这样光束效果会更强烈) 渲染序列图像:取消选择Iterative[full]右键RENDER勾选“active segment[0-100]Nth:1”右键RENDER单击“set render output filename”设置输出路径和格式单击RENDER开始渲染图像

    谢谢你耐心看到这里……我也只是菜鸟,做的不好还请见谅

    楼主 2016-01-04 15:15 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知