收藏 分享(赏)

RealFlow 翻译教程12——Map贴图和Magnitude通道.doc

上传人:fmgc7290 文档编号:4426309 上传时间:2018-12-28 格式:DOC 页数:16 大小:1.51MB
下载 相关 举报
RealFlow 翻译教程12——Map贴图和Magnitude通道.doc_第1页
第1页 / 共16页
RealFlow 翻译教程12——Map贴图和Magnitude通道.doc_第2页
第2页 / 共16页
RealFlow 翻译教程12——Map贴图和Magnitude通道.doc_第3页
第3页 / 共16页
RealFlow 翻译教程12——Map贴图和Magnitude通道.doc_第4页
第4页 / 共16页
RealFlow 翻译教程12——Map贴图和Magnitude通道.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、前言:千呼万唤出来的教程啊!我是全球第四个下载者啊!很快翻译完啊!不是马虎了啊!而是本人因为之前那么多的训练,效率变高了啊!但期望越大,失望越大。除了讲解了我已经在预览时研究好的 Gizmo 外,别的主要是针对C4D 用户了。Gizmo 与 UVW 更多信息请点击:流体渲染通道预览本文价值在于,对 RF,Vertex map 有了一个深度探讨,还有,看原作者如何一步步发现问题,测试问题解决问题的。就单单说渲染 mesh 通道来说,本文实际价值没有那么大。但我不会就这样结束的。本文只是渲染 Particle/Mesh 通道系列文章的第一篇。后面还会有第二篇,第三篇,尽请期待.透露一下(第二篇主要

2、是 PRT,Frost 与 KK 的使用。第三篇主要是 RFRK 的 for MR 的的使用。)如果你更好的关于渲染流体各种通道的建议,请发送邮件告诉我一起交流:一、Texture 和 Magnitudes RealFlow 最重要的一个功能就是能输出所有可用参数像 velocity(速度),pressure(压力),neighbours(相邻粒子数) ,age(年龄)等等。这些信息可以一起使用 Mesh 序列导出,再导入3D 软件用来上材质渲染。怎样显示应用 RealFlow 这些属性方法看博客 “属性贴图 “贴图。http:/ 上面标准技术讨论问题是这些贴图有时会包含错误,黑面(black

3、 polygons,或叫错误面)不能输出任何可用信息。使用 RealFlow 的 RendKit Mesh 一点也不能转换速度值到属性贴图,因为这,“Speed info“设置缺失。在本课,我们将基于 RenderKit mesh 引擎处理更多过程中方法,RealFlow 的桥梁通到 Cinema 4D.开始之前,谈一谈 RenderKit mesh 引擎是很重要的。1.1 RenderKit Mesh RealFlow 5和更高版本提供三种做 mesh 方法:Standard(ST),Grid 和 RenderKit(RK).最后一个引擎已经有了对应的设置工具RealFlow RenderK

4、it(RealFlowRK).这个软件可以看作是连接 RealFlow 和渲染引擎的桥梁。它包含的插件渲染粒子(Particles) ,体积数据(Volumetric data)和置换贴图(displacement maps)。它的目的是为了载入粒子和 Mesh的 BIN 格式文件直接渲染,不需要把数据存储到硬盘上。RK 的最大优势是它能使用多核(多个 CPU),因此速度比 Standard 方式要快不少。这是为什么要把 RK 引擎做一个RealFlow 支持软件(指的是 RealFlowRK)的一个主要原因。这个 RK 引擎是很容易调节,但完全支持 ST 方式所有功能,例如 Filters

5、和 Clipping.图1.可以用 RealFlow 做 mesh 引擎RK 引擎能手动调用 Magnitudes.使用 Magnitudes 它能转换粒子的参数到 Vertex maps(点贴图)。要理解这个过程,我们找出属性怎样在 RealFlow 内部存储的。每个粒子携带众多属性,例如 Velocity,Pressure,Vorticity,Temperature 或 Age.另一个粒子参数是 UVW 坐标。RealFlow 是使用粒子 ID 设置这些属性到粒子上的。这个方法能标记每个粒子在三维空间中的坐标位置。这结果是粒子云使用不同的颜色代表不当前激活的参数或 Magnitude单个值

6、。1.2 UVW 坐标 如下面提到的,每个流体粒子有它自己的 UVW 坐标,这些信息用来创建 mesh 的 UV 网格。在另一方面,也可以使用 UVW 坐标来创建贴图和应用属性到粒子位置。属性是颜色编码(colour-coded)混合到一起,获得平滑贴图代表分布的值覆盖到整个流体表面。要使用粒子的 UVW 功能,要使用 RK mesh,它必须要激活。尽管这已经是默认设置了,但每次操作前检查一下看关闭没关闭是一个好习惯:Mesh node Node Params Texture UVW Mapping UV particle要知道 RealFlow 实际怎样旋转贴图到 mesh 我们需要做一个很

7、不寻常的测试。在第一个场景,我们只需要一个 Square emitter(方形发射器) ,不需要任何辅助器(Daemons)或边界框,因为我们试着创建一个长条形流体,这样就可以直接看到贴图的映射类型和变形扭曲。为此,发射器需要旋转90度,在水平轴方向排列。然后,“Int Pressure/Ext Pressure“都要设置成0.0.这是为了我们能消除所有粒子之间的力,发射出一个“矩形“。发射器其余参数保持不变。75或100帧足够用来模拟了,模拟完成后添加一个“Particle Mesh(RenderKit)“节点。最主要的设置是:Mesh Polygon size 0.05Field Radi

8、us 0.05现在我们载入经典的 UV 贴图到“Load texture“下。如果贴图没有显示,请激活“Smooth Shaded“模式。 (按下0键,或按 D 键切换。 )最终我们可以创建 mesh 了,一会过后我们就会得到如图结果:这贴图是映射到 mesh 直径区域,边缘只是简单的拉伸。增加长度,贴图拉伸就更利害。当我们现在切换当前视图到 mesh 的“Velocity“ Magnitude 我们可以看到完全不同的(后面有相关图片) 。Mesh node Display Particle magnitude Velocity如果贴图没有显示,请改变渲染模式为“Smooth shading“

9、使用0键。实际上它完全均匀的着色,因为粒子的速度完全是一样的-这值在发射器的“Speed“参数调节。在这个例子中值是2.如果你想强度呈渐变状,只要粒子速度随着时间改变就可以,大部分可能忘记,我们没有使用任何力的辅助器。在这个案例中,粒子只是简单继承最初发射出来的,是完全一样的速度。大部分例子中我们可以观察到是完全混乱的分布,但不幸的是,这仅仅是显示问题实际上 Magnitude/Vertex map 计算是正确的:另一个 bug 是发生在 magnitude 的 OpenGL 视图,它的信息不能显示,当场景重新载入或再次打开时。然后,mesh 会显示成明亮的绿色缺失所有材质。二、“Textur

10、e Gizmo“辅助器 UVW 坐标从粒子正确传递,但我们实际没有改变内部的映射方法至少使用 mesh 节点自身参数和设置。要解决这个问题,RealFlow 提供了“Texture Gizmo“辅助器,这个辅助器没有属性可以影响到模拟,增加力或删除粒子。只可以看作是一个转移 UV 数据到 mesh 上的工具。在这个过程中,辅助器不关注 UV 网格是否 realxed(放松),覆盖或完全混乱,它完全取决于你来创建一个“整齐“的网格。2.1 基本操作模式 主要的一个问题当然是,怎样使用“Texture Gizmo“辅助器?最好的方法是观察它怎样工作是使用一个很简单的场景。我们可以复制之前的案例,使

11、用 RealFlow 打开。现在模拟长度设置成25帧,大概得到一个2 x 2 x 2的立方体。当然“Texture Gizmo“辅助器是需要添加的。辅助器由一个虚线框和一个图标构成。图2:“Texture Gizmo“辅助器在透视图中图标虚线框表示辅助器当前大小和位置,这两个参数都可以使用移动,缩放和旋转手柄调节,或是使用“Node param“面板调节。当使用辅助器应用贴图时,虚线框表示 U 和 V 坐标的平面映射的区域。W(=高度)值,仅添加在与贴图平面垂直的方向。这听起来很复杂?这下面有一张说明说,会使你清楚一些:W 坐标(垂直于 UV 平面)U 坐标(平面)V 坐标(平面)对于应用辅助

12、器贴图来说辅助器的旋转和位置在三维空间有很重要的作用。这个平面可以使用“Node“面板下的参数进行缩放移动和旋转。“Texture Gizmo“是非常有趣和直接的,但它有一个非常严重的 bug:UVW 坐标仅能在第一帧使用。在正确后,RealFlow 会再次使用标准的贴图映射方式就像辅助器没起作用一样。在图片序列,你可以看到贴图的在第一帧定位是正确的,但然后它就开始顺时针旋转直到再次使用默认的映射:2.2 基于“物体“的操作模式 辅助器第二个模式比第一个模式要要好用多了,使用 UV 数据根据参考的物体模型。这些数据可以输出转换到 mesh 上。使用正确的未覆盖 UV 网格,可能使用任何形状到

13、mesh 的贴图。一个主要不同是辅助器大小和旋转已经不重要了,因为所有这些参数都是根据你现在引用的物体来的。与标准工作流程对照,我们现在有一个正确的三维 UVW 网格,我们可以使用Cubic(立方体形),Spherical(球形),Cylindrical(圆柱形)或其它任何映射方式。这个功能给了我们一个可能用来重要创建2.5D 标准标准模式操作方式:一个简单的RealFlow 内部自带的平面(plane) ,因为这些节点已经带有 UV 坐标。平面的大小和旋转代表了辅助器映射的虚线框,但这次是正确的。这意味着,它也能达到平铺效果,当参考模型放大或缩小。我们甚至能创建相同的映射效果:我们只要简单旋

14、转平面90并,并调节它的大小到发射器区域:图3:灰色面模型是贴图使用的“参考物体“。模型的大小和旋转就是贴图映射使用的。“Texture from obj“是修正辅助器标准模式的好方法。使用 RealFlow “Cube“物体我们得要小心了,因为这个节点的 UV 网格没有展开,Cube 的UV 几何体六个面是重叠的。2.3 打乱流体(Turbulent Fluids) 当前我们没有任何不同,在粒子的速度,但这有一些可以轻易改变,例如使用“Gravity“辅助器。使用这个设置我们能看到贴图怎样映射到粒子因碰撞而扰乱的流体,改变方向并与他们相邻粒子混合。没有“Texture Daemon“我们能看

15、到默认的贴图和 W 坐标“遵循“粒子流分布在整个区域。下一个测试是再一次使用“Texture Gizmo“辅助器,使用 RealFlow Cube 使用参考物体。盒子调节成把流体完全框住。当我们比较一下之前模拟结果,我们能看到这些不同:在顶视图,大部分贴图显示,但在透视图(Perspective)能清晰的看到接缝。我们可以试这个贴图方式与一些其它物体,看一下辅助器应用到 mesh 上。要检票 UV 是否正确输出,我们要用 RealFlow 接口导入到3D 软件中。下面的图片是在 RealFlow 中与导入 Cinema 4D 后的对比图,观察一下 UV 是翻转的。使用 BodyPaint 3D

16、 这样软件手动进行处理。图4:表现了 Cinema 4D 中的 bug,因为 UV 呈镜像三、 UV 贴图和 Magnitudes 我们现在有一个工具来让 mesh 贴图正确了,我们可以引用不同的“参考模型“生成具有不同的 UV 的 mesh,还找到一种来代替辅助器标准工作模式的操作方法。但,主要问题仍然是UV Manipulation 怎样影响 mesh?这可以很容易检查 RealFlow 内部我们得要激活Magnitude:引用的参考物体贴图没问题,结果一直是相同正确的。这意味着计算点贴图是完全依附于其它“外部“贴图方法,严格遵循 RealFlow 的默认映射类型。当我们应用不同贴图方式在

17、三维软件中,它只是影响纹理和没有 Vertex maps 的贴图。Magnitude 自身得要在做 mesh 前就得计算。13个通道列表在下面:Mesh node Particle magnitudes如果你想导出 Vorticity Magnitude 你得小心了,因为默认标准的 SPH 粒子模拟时是不计算 Vorticity,这个参数要你在模拟之前手动激活:Emitter node Node Params Particle Compute Vorticity YesRealFlow 提供了“Compute Vorticity“脚本,可以在模拟后再计算 Vorticity 通道,但粒子数量很

18、多时,计算会非常慢。另外,脚本退出时有语法错误在第0帧时。脚本正确的版本在本教程后面有。要覆盖它,请替代掉 RealFlow 安装目录下的(重启 RealFlow 后就能安装了):RealFlow 2012 scripts fluid3.1 Magnitudes 在 Cinema 4D 第一步肯定是导入 mesh 序列。默认的,RealFlow 输出插件完全支持的 BIN 格式文件。我们打开 BIN 文件序列使用“RealFlow Mesh Importer“.如果 mesh 容器结点没法有显示三个点贴图标签,推动时间线与 UV 标记相对应,仔细看一下 mesh 容器,显示的只是三个Veloc

19、ity 贴图的单个分量,无论最终我们在 RealFlow 中激活导出哪个 Magnitude。另一个问题是怎样激活所有这些贴图和使 Velocity 的分布显示出来?点击个别点贴图无助于甚至渲染视图什么也没有显示在流体上。要得到点贴图的预览,得要使 mesh 可编辑,点击每个标签看一下渐变。图5:Cinema 4D 中流体速度分布在 Z 方向不幸的是它不能合并所有三个 Vertex map 预览的效果。想要看到必须得渲染 mesh.最好使用 Vertex map 数据,我们得利用材质球的“Alpha“通道:创建一个新的材质球,并设置颜色激活“Alpha“通道Choose Texture Eff

20、ects Vertex Maps.点击白色贴图图标拖动应用 Vertex map 标签到空的“Vertex Map“重复之前步骤,把其余两个标签显示出来。最终,我们需要一个材质球(material)将提供基础颜色。现在材质球可以应用基础颜色,必须在材质标签范围;另外三个材质不需要特别要求。如果你想创建确定的效果,Vertex map 标签可以应用到其它通道。图6:渲染出流体 Velocity 通道当我们比较 Cinema 4D 和 RealFlow 时,我们能看到两种实际上没有相同的地方。原因是,我们只看到单独的 X,Y 和 Z 值,因为 Magnitude 中像 Velocity 是一个矢量

21、,它由三个分量组成:velocityVector = ( Velocity.X, Velocity.Y, Velocity.Z )值,我们通俗的称作“Velocity“,是合并了三个分量的结果。它使用了一个很简单的公式计算,结果就被称作 Magnitude-现在你知道这些通道参数是怎么来的吧:velocityMagnitude = sqrt( Velocity.X2 + Velocity.Y2 + Velocity.Z2 )可以观察到,Magnitude 计算结果是完全不同于单个 Velocity 矢量,例如“Velocity.Z“.这意味着渲染结果将不同于我们在 RealFlow 中看到的:

22、图7:使用导入器“Magnitude“设置,渲染图片只显示了剪切后的值效果3.2 MD Mesh Sequences 另一件事是我们能看到 mesh 容器只携带有 Velocity 标志,不是我们从 RealFlow 导出mesh 没有激活 Magnitude 的原因。这是“RealFlow Mesh Importer“的限制,因为它只能从BIN 文件导入 Velocity 数据。如果我们想要其它的 Magnitude 可用,甚至合并这些通道,我们得要用到 RealFlow 的 MD 文件格式。如果打开 RealFlow 的“Export Central“对话框(F12键) ,我们可以看到 M

23、agnitude 所有通道信息。最终输出数据到 Mesh,可以在同步到Cinema 4D 中使用,这需要 Magnitude 列表勾选上上你所需要的通道:Mesh node Node Params Magnitudes然后,“Export Central“对话框必须打开,我们要勾选“Mesh sequence(.md)“,然后取消/选择你需要的通道属性。请把“texture“选上,因为没有这个在 Cinema 4D“RealFlow Mesh Importer“就不能设置 UVW 数据到 mesh 上。我们也能可以同时输出 BIN 序列,但实际上它不是必要的了。所以我们例子中使用“veloci

24、ty“,“vorticity“和“Pressure“,输出三个通道如下图所示:在 mesh 创建后,我们切换回 Cinema 4D,创建一个新文件,添加“RealFlow Mesh Importer“和载入 MD 序列。要应用 Vertex map 到时间线(timeline indicator)得要移动到别的帧。再一次我们有三个 vertex map 标志(是 Velocity,Vorticity 和 Pressure)和UV 标签,但 Velocity 贴图没有分成三个单独的标签。如果你想使用矢量的三个分量,请取消适应“Magnitude“复选框在插件的“MD“面板。“Vorticity“

25、得要除外,因为它是一个矢量。Pressure,在另一方面是一个 Float 数字,例如。2533.946443,因此它可能比Vertex map 创建更多。四、计算结果 工作流程是添加 Vertex 贴图到材质上,仍然是正确的,文章前面使用多个材质效果是一样的。我们渲染测试一帧,尽量在最后一帧,但很失望。几乎看不到有显示的不同,只有几个单独的点表示速度变化。另外,结果再一次更预览不一样,而是与 RealFlow 中 BIN 序列分布是一样的。主要问题是为什么我们只能看到几个颜色点呢?原因还不很清楚,但在 RealFlow 标准化(Normalization,也叫归一化)后,我们也能看到相似的颜

26、色分布。当标准化数据后,RealFlow 只能显示剪切后的值,与在 Cinema 4D 看到的一样。比较一下图7和图8,我们能看到蓝色点是在正确的区域。另一个问题我们能看到的是 Vertex maps 一直基于 RealFlow 内部贴图/映射方法,跟我们引用的“参考物体“(Texture Gizmo 辅助器使用的 UV 模型)没关系。Texture Gizmo效果完全没有考虑到。图8.在标准化后,RealFlow 只显示了剪切后的速度值。未知原因,这实际是我们能在Cinema 4D 看到,当我们使用插件的“Magnitude“设置和渲染 mesh。4.1 改进 现在我们完全分析了“Textu

27、re Gizmo“的操作模式也可以通道 “RealFlow Mesh Importer“看到正确的 Vertex maps.为此,再一次使用 MD 序列,因为它提供了很多参数。迄今为止,Vertex maps 实际上一点没用到。颜色差别是很难显示并有烦人的“闪烁“。幸运的是,mesh 插件“MD“标签下提供了一个方法来处理这个问题。这个方法的背景类似于 RealFlow中发射器“Display“面板下的的“Automatic range“(自动设置范围)参数。当我们做模拟时,使用很低的速度值,我们们简单的把“Automatic range“改为“No“,输入新的“Min range“和“Max

28、 range“值。如果我们想获得差别更大的显示效果,我只得要增加“Max range“参数。所以,让我们试试另一个渲染器:MD Velocity Scale 0.15第一次,我们看到代表颜色分布和显示效果。当我们在 RealFlow 中看粒子模拟时,我们还能看到一些闪烁,它没有完全消除,因为有时候它会突然改变。图9:Magnitude 可以增强 MD 文件导入插件的“Scale“参数使用 Pressure 贴图结果完全不同。因为 Pressure 不是一个由三个分量构成的矢量值(vector),而是一个标量。 (scale)标量是一个单一值。在渲染 Pressure 贴图时,看起来非常粗糙。原

29、因是 Pressure 值,没范围太过大了,例如从-20,000到15,000.当这么大的范围标准化后,所有值将会被“挤“在-11区间里,我们失去的精度。渲染引擎可以处理这些值,但我们现在的显示器和8bit 色彩空间不能显示这些细微的差别。五、版权注意事项 所有在这文章中图片,文字,和素材都属于 RF_toolfactory.你可以复制和分享这 PDF,但不允许直接提供 PDF 下载。无论是在论坛,还是文件共享站,种子站或其它地方。但你可直接链接“simple Vortex“,进行交流的目的,是可以的。所有已经给出的材料都做过最大的努力,但错误不能完全排除。RF_toolfactory 不为计

30、算机或软件崩溃和/或数据丢失负责。需要您自己承担使用本材料脚本,和文件在你硬盘上的风险。不允许转卖 PDF 和素材。不允许删除版权信息。如果你用这 PDF 图片或文字到有其它目的,要标明出处。“Textures and Magnitudes“ by RF_toolfactory (http:/www.rf-)谢谢! -Vorticiy 脚本- # Name : Compute Vorticiy# Icon : icon-compute-vorticity.png# Shortcut : Ctrl+Shift+V# Toolbar : Yes# Author : Angel Tena# Date

31、 : Tuesday, 18 October 2006# Version : 1.0#def main():# Get selection.selNodes = scene.getSelectedNodes()if ( len( selNodes ) = 0 ):# Return 1 if nothing to do.return( 1 )# Filter emitters.emitters = for node in selNodes:if ( node.getType() = TYPE_EMITTER ):emitters.append( node )if ( len( emitters ) = 0 ):# Return 1 if nothing to do.return( 1 )# Compute vorticity for selected emitters.for frame in range( 0, scene.maxFrames + 1 ):# Move the current frame.scene.setCurrentFrame( frame )# Compute vorticity.for emitter in emitters:puteVorticity()# Write out files.emitter.export()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报