realflow 翻译教程12——map贴图和magnitude通道_第1页
realflow 翻译教程12——map贴图和magnitude通道_第2页
realflow 翻译教程12——map贴图和magnitude通道_第3页
realflow 翻译教程12——map贴图和magnitude通道_第4页
realflow 翻译教程12——map贴图和magnitude通道_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前言: 千呼万唤出来的教程啊!我是全球第四个下载者啊!很快翻译完啊!不是马虎了啊!而 是本人因为之前那么多的训练,效率变高了啊! 但期望越大,失望越大。除了讲解了我已经在预览时研究好的 Gizmo 外,别的主要是针对 C4D 用户了。 Gizmo 与 UVW 更多信息请点击:流体渲染通道预览 本文价值在于,对 RF,Vertex map 有了一个深度探讨,还有,看原作者如何一步步发现问 题,测试问题解决问题的。 就单单说渲染 mesh 通道来说,本文实际价值没有那么大。但我不会就这样结束的。本文只 是渲染 Particle/Mesh 通道系列文章的第一篇。后面还会有第二篇,第三篇,尽请期待. . 透露一下(第二篇主要是 PRT,Frost 与 KK 的使用。第三篇主要是 RFRK 的 for MR 的的使用。 ) 如果你更好的关于渲染流体各种通道的建议,请发送邮件告诉我一起交流: 一、Texture 和 Magnitudes RealFlow 最重要的一个功能就是能输出所有可用参数像 velocity(速度),pressure(压 力),neighbours(相邻粒子数) ,age(年龄)等等。这些信息可以一起使用 Mesh 序列导 出,再导入3D 软件用来上材质渲染。 怎样显示应用 RealFlow 这些属性方法看博客 “属性贴图 “贴图。 /blog/static/1203658220111116171295/ 上面标准技术讨论问题是这些贴图有时会包含错误,黑面(black 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 RenderKit(RealFlowRK).这个软件可以看 作是连接 RealFlow 和渲染引擎的桥梁。它包含的插件渲染粒子(Particles) ,体积数据 (Volumetric data)和置换贴图(displacement maps)。它的目的是为了载入粒子和 Mesh 的 BIN 格式文件直接渲染,不需要把数据存储到硬盘上。RK 的最大优势是它能使用多核 (多个 CPU),因此速度比 Standard 方式要快不少。这是为什么要把 RK 引擎做一个 RealFlow 支持软件(指的是 RealFlowRK)的一个主要原因。这个 RK 引擎是很容易调节, 但完全支持 ST 方式所有功能,例如 Filters 和 Clipping. 图1.可以用 RealFlow 做 mesh 引擎 RK 引擎能手动调用 Magnitudes.使用 Magnitudes 它能转换粒子的参数到 Vertex maps(点 贴图)。要理解这个过程,我们找出属性怎样在 RealFlow 内部存储的。每个粒子携带众多 属性,例如 Velocity,Pressure,Vorticity,Temperature 或 Age.另一个粒子参数是 UVW 坐 标。RealFlow 是使用粒子 ID 设置这些属性到粒子上的。这个方法能标记每个粒子在三维 空间中的坐标位置。这结果是粒子云使用不同的颜色代表不当前激活的参数或 Magnitude 单个值。 1.2 UVW 坐标 如下面提到的,每个流体粒子有它自己的 UVW 坐标,这些信息用来创建 mesh 的 UV 网格。 在另一方面,也可以使用 UVW 坐标来创建贴图和应用属性到粒子位置。属性是颜色编码 (colour-coded)混合到一起,获得平滑贴图代表分布的值覆盖到整个流体表面。要使用 粒子的 UVW 功能,要使用 RK mesh,它必须要激活。尽管这已经是默认设置了,但每次操 作前检查一下看关闭没关闭是一个好习惯: Mesh node Node Params Texture UVW Mapping UV particle 要知道 RealFlow 实际怎样旋转贴图到 mesh 我们需要做一个很不寻常的测试。在第一个场 景,我们只需要一个 Square emitter(方形发射器) ,不需要任何辅助器(Daemons)或边 界框,因为我们试着创建一个长条形流体,这样就可以直接看到贴图的映射类型和变形扭 曲。为此,发射器需要旋转90度,在水平轴方向排列。然后,“Int Pressure/Ext Pressure“都要设置成0.0.这是为了我们能消除所有粒子之间的力,发射出一个“矩形“。发 射器其余参数保持不变。 75或100帧足够用来模拟了,模拟完成后添加一个“Particle Mesh(RenderKit)“节点。最主 要的设置是: Mesh Polygon size 0.05 Field Radius 0.05 现在我们载入经典的 UV 贴图到“Load texture“下。 如果贴图没有显示,请激活“Smooth Shaded“模式。 (按下0键,或按 D 键切换。 ) 最终我们可以创建 mesh 了,一会过后我们就会得到如图结果: 这贴图是映射到 mesh 直径区域,边缘只是简单的拉伸。增加长度,贴图拉伸就更利害。 当我们现在切换当前视图到 mesh 的“Velocity“ Magnitude 我们可以看到完全不同的(后 面有相关图片) 。 Mesh node Display Particle magnitude Velocity 如果贴图没有显示,请改变渲染模式为“Smooth shading“使用0键。实际上它完全均匀的着 色,因为粒子的速度完全是一样的-这值在发射器的“Speed“参数调节。在这个例子中值是2.如 果你想强度呈渐变状,只要粒子速度随着时间改变就可以,大部分可能忘记,我们没有使 用任何力的辅助器。在这个案例中,粒子只是简单继承最初发射出来的,是完全一样的速 度。大部分例子中我们可以观察到是完全混乱的分布,但不幸的是,这仅仅是显示问题实 际上 Magnitude/Vertex map 计算是正确的: 另一个 bug 是发生在 magnitude 的 OpenGL 视图,它的信息不能显示,当场景重新载入或再 次打开时。然后,mesh 会显示成明亮的绿色缺失所有材质。 二、“Texture Gizmo“辅助器 UVW 坐标从粒子正确传递,但我们实际没有改变内部的映射方法至少使用 mesh 节点自 身参数和设置。要解决这个问题,RealFlow 提供了“Texture Gizmo“辅助器,这个辅助器 没有属性可以影响到模拟,增加力或删除粒子。只可以看作是一个转移 UV 数据到 mesh 上 的工具。在这个过程中,辅助器不关注 UV 网格是否 realxed(放松),覆盖或完全混乱,它 完全取决于你来创建一个“整齐“的网格。 2.1 基本操作模式 主要的一个问题当然是,怎样使用“Texture Gizmo“辅助器?最好的方法是观察它怎样工作 是使用一个很简单的场景。我们可以复制之前的案例,使用 RealFlow 打开。现在模拟长 度设置成25帧,大概得到一个2 x 2 x 2的立方体。当然“Texture Gizmo“辅助器是需要添 加的。辅助器由一个虚线框和一个图标构成。 图2:“Texture Gizmo“辅助器在透视图中图标 虚线框表示辅助器当前大小和位置,这两个参数都可以使用移动,缩放和旋转手柄调节, 或是使用“Node param“面板调节。当使用辅助器应用贴图时,虚线框表示 U 和 V 坐标的平 面映射的区域。 W(=高度)值,仅添加在与贴图平面垂直的方向。这听起来很复杂?这下面有一张说明说, 会使你清楚一些: W 坐标(垂直于 UV 平面) U 坐标(平面) V 坐标(平面) 对于应用辅助器贴图来说辅助器的旋转和位置在三维空间有很重要的作用。这个平面可以 使用“Node“面板下的参数进行缩放移动和旋转。 “Texture Gizmo“是非常有趣和直接的,但它有一个非常严重的 bug:UVW 坐标仅能在第一帧 使用。在正确后,RealFlow 会再次使用标准的贴图映射方式就像辅助器没起作用一样。 在图片序列,你可以看到贴图的在第一帧定位是正确的,但然后它就开始顺时针旋转直到 再次使用默认的映射: 2.2 基于“物体“的操作模式 辅助器第二个模式比第一个模式要要好用多了,使用 UV 数据根据参考的物体模型。这些数 据可以输出转换到 mesh 上。使用正确的未覆盖 UV 网格,可能使用任何形状到 mesh 的贴图。 一个主要不同是辅助器大小和旋转已经不重要了,因为所有这些参数都是根据你现在引用 的物体来的。与标准工作流程对照,我们现在有一个正确的三维 UVW 网格,我们可以使用 Cubic(立方体形),Spherical(球形),Cylindrical(圆柱形)或其它任何映射方式。 这个功能给了我们一个可能用来重要创建2.5D 标准标准模式操作方式:一个简单的 RealFlow 内部自带的平面(plane) ,因为这些节点已经带有 UV 坐标。平面的大小和旋转 代表了辅助器映射的虚线框,但这次是正确的。 这意味着,它也能达到平铺效果,当参考模型放大或缩小。我们甚至能创建相同的映射效 果:我们只要简单旋转平面90并,并调节它的大小到发射器区域: 图3:灰色面模型是贴图使用的“参考物体“。模型的大小和旋转就是贴图映射使用的。 “Texture from obj“是修正辅助器标准模式的好方法。 使用 RealFlow “Cube“物体我们得要小心了,因为这个节点的 UV 网格没有展开,Cube 的 UV 几何体六个面是重叠的。 2.3 打乱流体(Turbulent Fluids) 当前我们没有任何不同,在粒子的速度,但这有一些可以轻易改变,例如使用“Gravity“辅 助器。使用这个设置我们能看到贴图怎样映射到粒子因碰撞而扰乱的流体,改变方向并与 他们相邻粒子混合。没有“Texture Daemon“我们能看到默认的贴图和 W 坐标“遵循“粒子流 分布在整个区域。 下一个测试是再一次使用“Texture Gizmo“辅助器,使用 RealFlow Cube 使用参考物体。盒 子调节成把流体完全框住。当我们比较一下之前模拟结果,我们能看到这些不同:在顶视 图,大部分贴图显示,但在透视图(Perspective)能清晰的看到接缝。我们可以试这个贴 图方式与一些其它物体,看一下辅助器应用到 mesh 上。要检票 UV 是否正确输出,我们要 用 RealFlow 接口导入到3D 软件中。下面的图片是在 RealFlow 中与导入 Cinema 4D 后的对 比图,观察一下 UV 是翻转的。使用 BodyPaint 3D 这样软件手动进行处理。 图4:表现了 Cinema 4D 中的 bug,因为 UV 呈镜像 三、 UV 贴图和 Magnitudes 我们现在有一个工具来让 mesh 贴图正确了,我们可以引用不同的“参考模型“生成具有不同 的 UV 的 mesh,还找到一种来代替辅助器标准工作模式的操作方法。但,主要问题仍然是 UV Manipulation 怎样影响 mesh?这可以很容易检查 RealFlow 内部我们得要激活 Magnitude:引用的参考物体贴图没问题,结果一直是相同正确的。这意味着计算点贴图是 完全依附于其它“外部“贴图方法,严格遵循 RealFlow 的默认映射类型。当我们应用不同贴 图方式在三维软件中,它只是影响纹理和没有 Vertex maps 的贴图。Magnitude 自身得要 在做 mesh 前就得计算。13个通道列表在下面: Mesh node Particle magnitudes 如果你想导出 Vorticity Magnitude 你得小心了,因为默认标准的 SPH 粒子模拟时是不计 算 Vorticity,这个参数要你在模拟之前手动激活: Emitter node Node Params Particle Compute Vorticity Yes RealFlow 提供了“Compute Vorticity“脚本,可以在模拟后再计算 Vorticity 通道,但粒 子数量很多时,计算会非常慢。另外,脚本退出时有语法错误在第0帧时。脚本正确的版本 在本教程后面有。要覆盖它,请替代掉 RealFlow 安装目录下的(重启 RealFlow 后就能安 装了): RealFlow 2012 scripts fluid 3.1 Magnitudes 在 Cinema 4D 第一步肯定是导入 mesh 序列。默认的,RealFlow 输出插件完全支持的 BIN 格式文件。我 们打开 BIN 文件序列使用“RealFlow Mesh Importer“.如果 mesh 容器结点没法有显示三个 点贴图标签,推动时间线与 UV 标记相对应,仔细看一下 mesh 容器,显示的只是三个 Velocity 贴图的单个分量,无论最终我们在 RealFlow 中激活导出哪个 Magnitude。另一个 问题是怎样激活所有这些贴图和使 Velocity 的分布显示出来?点击个别点贴图无助于甚至 渲染视图什么也没有显示在流体上。 要得到点贴图的预览,得要使 mesh 可编辑,点击每个标签看一下渐变。 图5:Cinema 4D 中流体速度分布在 Z 方向 不幸的是它不能合并所有三个 Vertex map 预览的效果。想要看到必须得渲染 mesh.最好使 用 Vertex map 数据,我们得利用材质球的“Alpha“通道: 创建一个新的材质球,并设置颜色 激活“Alpha“通道 Choose Texture Effects Vertex Maps. 点击白色贴图图标 拖动应用 Vertex map 标签到空的“Vertex Map“ 重复之前步骤,把其余两个标签显示出来。 最终,我们需要一个材质球(material)将提供基础颜色。现在材质球可以应用基础颜色, 必须在材质标签范围;另外三个材质不需要特别要求。如果你想创建确定的效果,Vertex map 标签可以应用到其它通道。 图6:渲染出流体 Velocity 通道 当我们比较 Cinema 4D 和 RealFlow 时,我们能看到两种实际上没有相同的地方。原因 是,我们只看到单独的 X,Y 和 Z 值,因为 Magnitude 中像 Velocity 是一个矢量,它 由三个分量组成: velocityVector = ( Velocity.X, Velocity.Y, Velocity.Z ) 值,我们通俗的称作“Velocity“,是合并了三个分量的结果。它使用了一个很简单的公式 计算,结果就被称作 Magnitude-现在你知道这些通道参数是怎么来的吧: velocityMagnitude = sqrt( Velocity.X2 + Velocity.Y2 + Velocity.Z2 ) 可以观察到,Magnitude 计算结果是完全不同于单个 Velocity 矢量,例如“Velocity.Z“. 这意味着渲染结果将不同于我们在 RealFlow 中看到的: 图7:使用导入器“Magnitude“设置,渲染图片只显示了剪切后的值效果 3.2 MD Mesh Sequences 另一件事是我们能看到 mesh 容器只携带有 Velocity 标志,不是我们从 RealFlow 导出 mesh 没有激活 Magnitude 的原因。这是“RealFlow Mesh Importer“的限制,因为它只能从 BIN 文件导入 Velocity 数据。如果我们想要其它的 Magnitude 可用,甚至合并这些通道, 我们得要用到 RealFlow 的 MD 文件格式。如果打开 RealFlow 的“Export Central“对话框 (F12键) ,我们可以看到 Magnitude 所有通道信息。最终输出数据到 Mesh,可以在同步到 Cinema 4D 中使用,这需要 Magnitude 列表勾选上上你所需要的通道: Mesh node Node Params Magnitudes 然后,“Export Central“对话框必须打开,我们要勾选“Mesh sequence(.md)“,然后取消/ 选择你需要的通道属性。请把“texture“选上,因为没有这个在 Cinema 4D“RealFlow Mesh Importer“就不能设置 UVW 数据到 mesh 上。我们也能可以同时输出 BIN 序列,但实际上它 不是必要的了。所以我们例子中使用“velocity“,“vorticity“和“Pressure“,输出三个通道 如下图所示: 在 mesh 创建后,我们切换回 Cinema 4D,创建一个新文件,添加“RealFlow Mesh Importer“和载入 MD 序列。要应用 Vertex map 到时间线(timeline indicator)得要移动 到别的帧。再一次我们有三个 vertex map 标志(是 Velocity,Vorticity 和 Pressure)和 UV 标签,但 Velocity 贴图没有分成三个单独的标签。如果你想使用矢量的三个分量,请 取消适应“Magnitude“复选框在插件的“MD“面板。“Vorticity“得要除外,因为它是一个矢 量。Pressure,在另一方面是一个 Float 数字,例如。2533.946443,因此它可能比 Vertex map 创建更多。 四、计算结果 工作流程是添加 Vertex 贴图到材质上,仍然是正确的,文章前面使用多个材质效果是一样 的。我们渲染测试一帧,尽量在最后一帧,但很失望。几乎看不到有显示的不同,只有几 个单独的点表示速度变化。另外,结果再一次更预览不一样,而是与 RealFlow 中 BIN 序列 分布是一样的。 主要问题是为什么我们只能看到几个颜色点呢?原因还不很清楚,但在 RealFlow 标准化 (Normalization,也叫归一化)后,我们也能看到相似的颜色分布。当标准化数据后, RealFlow 只能显示剪切后的值,与在 Cinema 4D 看到的一样。比较一下图7和图8,我们能 看到蓝色点是在正确的区域。 另一个问题我们能看到的是 Vertex maps 一直基于 RealFlow 内部贴图/映射方法,跟 我们引用的“参考物体“(Texture Gizmo 辅助器使用的 UV 模型)没关系。Texture Gizmo 效果完全没有考虑到。 图8.在标准化后,RealFlow 只显示了剪切后的速度值。未知原因,这实际是我们能在 Cinema 4D 看到,当我们使用插件的“Magnitude“设置和渲染 mesh。 4.1 改进 现在我们完全分析了“Texture Gizmo“的操作模式也可以通道 “RealFlow Mesh Importer“看 到正确的 Vertex maps.为此,再一次使用 MD 序列,因为它提供了很多参数。迄今为止, Vertex maps 实际上一点没用到。颜色差别是很难显示并有烦人的“闪烁“。幸运的是, mesh 插件“MD“标签下提供了一个方法来处理这个问题。这个方法的背景类似于 RealFlow 中发射器“Display“面板下的的“Automatic range“(自动设置范围)参数。当我们做模拟 时,使用很低的速度值,我们们简单的把“Automatic range“改为“No“,输入新的“Min range“和“Max range“值。如果我们想获得差别更大的显示效果,我只得要增加“Max range“参数。所以,让我们试试另一个渲染器: MD Velocity Scale 0.15 第一次,我们看到代表颜色分布和显示效果。当我们在 RealFlow 中看粒子模拟时,我们还 能看到一些闪烁,它没有完全消除,因为有时候它会突然改变。 图9:Magnitude 可以增强 MD 文件导入插件的“Scale“参数 使用 Pressure 贴图结果完全不同。因为 Pressure 不是一个由三个分量构成的矢量值 (vector),而是一个标量。 (scale)标量是一个单一值。在渲染 Pressure 贴图时,看起来 非常粗糙。原因是 Pressure 值,没范围太过大了,例如从-20,000到15,000.当这么大的 范围标准化后,所有值将会被“挤“在-11区间里,我们失去的精度。渲染引擎可以处理这 些值,但我们现在的显示器和8bit 色彩空间不能显示这些细微的差别。 五、版权注意事项 所有在这文章中图片,文字,和素材都属于 RF_toolfactory.你可以复制和分享这 PDF,但不允 许直接提供 PDF 下载。无论是在论坛,还是文件共享站,种子站或其它地方。但你可直接链接 “simple Vortex“,进行交流的目的,是可以的。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论