Renderman24 for Blender - Shading

参考资料 Renderman 24 For Blender Doc 着色 RenderMan for Blender中的材质和着色网络的建立方式与Blender的内置渲染器基本相同,都是使用Shader Editor。但是,有一些快捷方式和用户界面部件是不同的。 添加材质 你可以使用 “对象上下文菜单 “中的快捷键将材质(bxdf)附加到选定的对象上。 这将把选定的材质附加到大纲目录中的选定对象上。 你也可以在 “材质属性 “选项卡中,以通常的方式将材质附加到一个物体上。 点击新建。 然后点击添加RenderMan节点树 并选择你想使用的RenderMan材质。 RenderMan着色网络总是以RenderMan材质输出节点为终点。 下面是一个着色网络的例子。 样式/模式Patterns 样式节点可以用Shader Editor的常规方式连接到材质或其他样式上,或者直接在Material properties Tab中连接。 对于可以接受样式连接的参数,在参数值旁边会显示一个。这就是我们的连接小部件。 点击这个小部件将显示我们的连接菜单。这里有一个例子。 模式将被分成几类,以便于浏览。__EXISTING__部分将显示着色器图中现有的节点,你可以连接到这些节点。如果参数已经被连接了,会出现一些更多的选项。 最上面一行将显示当前连接到这个参数的节点。断开项目将断开该参数与传入节点的连接。移除项目将断开并从图中移除传入的节点。Solo Input Node(单独输入节点)允许你单独传入的节点。如果你想集中精力调整这个节点,这是很有用的,与整个材质无关。 Blender置换 要在RenderMan for Blender中渲染几何体的位移,请使用PxrDisplace 节点。 添加PxrDisplace 要添加PxrDisplace,确保你已经为你的几何体添加了一个RenderMan材质。在材质属性中,在位移Displacement面板下,从 “位移Displacement “旁边的下拉列表中选择PxrDisplace。 你可能要处理的主要参数是。 Gain: 位移的增益,如果它是零,就没有位移。 Scalar Displacement: 标量位移的输入。这是一个浮动的位移。 Vector Displacement: 矢量位移输入。矢量位移数据是一个三通道数据文件,XYZ。 还有一些关于Displacement的实用模式。 对于变换相关的功能,使用PxrDispTransform模式。 对于位移Displacement分层,使用PxrDispScalarLayer和PxrDispVectorLayer 模式。 避免多边形网格出现裂缝 当用硬法线置换网格时,面会分离并产生裂缝。置换会沿法线方向移动顶点,但硬边不同一侧的相邻顶点具有不同的法线,会向不同的方向移动,从而产生缝隙或裂缝。 RenderMan有一个"polygon:smoothdisplacement"属性,它将创建一个完全平滑的法线副本,并使用它代替原始法线。 在RenderMan for Blender中,这个属性是由网格上的对象数据属性中的 “Prevent polygon cracking"复选框启用的。 ...

January 21, 2022

Renderman24 for Blender - Geometry

参考资料 Renderman 24 For Blender Doc Renderman 20 Doc 几何体 Blender归档 导出到RIB归档 要将一个几何体或一组几何体导出到RIB存档,选择对象,进入对象属性,在RenderMan几何体面板下,选择导出,然后将对象导出为存档。 你还可以选择是否要导出分配给几何体的材质,以及是否要将所有的帧存档。 如果你预计需要覆盖存档对象上的材料,请取消选择导出材料。 导入RIB档案 你可以从添加菜单中导入RIB档案。 覆盖材料 如果你想给RIB档案附加一个材料,你可以使用对象属性中的材料覆盖面板来实现。注意:如果存档中的对象本身已经有一个材料,那么它将被优先考虑。 Blender中的OpenVDB体块 要添加一个OpenVDB体积几何,请使用添加菜单中的导入OpenVDB。 这将添加一个Blender OpenVDB节点,以及附加一个PxrVolume着色器。下面是一个使用OpenVDB网站上的bunny_cloud.vdb例子的渲染。 OpenVDB的属性Attributes Filter Width: 如果设置为0,则禁用mipmapping。如果大于0,小于1的值偏向于更精细的mipmap级别,大于1的值偏向于更粗糙的级别。 Density Multiplier(密度乘数): 对体积的密度网格中的数值进行缩放。这应该比缩放着色器中的密度更有效。 Density Rolloff: 大于0的值在密度值中产生一个对数的衰减。较小的滚降值产生较大的衰减。 DSO Min/Max: 目前只用于aggregate volumes,并且只用于使用ImplicitField DSO Volumes(如OpenVDB)。如果设置为1,DSO可以直接使用文件中存储的信息来计算卷内的最小和最大值。这可以让渲染器避免在前面对体积进行着色,从而大大减少到达第一个像素的时间。只有在直接使用体积中的密度信号,或者密度信号仅由DSO本身调制的情况下,才能启用这个功能。任何对密度信号的着色修改都需要将这个参数设置为关闭。 Blender中的程序性基本元素 对于程序性基本元素,RenderMan for Blender同时支持程序性基元DSO(dynamic shared objects)和RunProgram。关于如何编写/编译这些类型的程序性基元的更多信息,请参见《开发者指南》中的这一部分。 添加 您可以从添加菜单中添加任一类型的程序性基元。 DSO 要向你的 RunProgram 传递参数,请在 RenderMan Geometry 面板下的对象属性中查看;应该有一个 Dynamic Load DSO 子面板。 Blender中的四边形基本结构 添加菜单中的这个菜单可以创建RenderMan四边形基元。 这里是所有可用的四维基元的渲染。从左到右。 球体、圆柱体、圆锥体、圆盘、环形体 ...

January 18, 2022

Renderman24 for Blender - USER INTERFACE

参考资料 Renderman 24 For Blender Doc 用户界面 Blender中的预设浏览器 Blender中的预设浏览器允许你保存和重新使用资产,如材料、灯光装置和环境贴图(HDR图像)。RenderMan已经配备了一个预制资产库。更多的资产也可以从RenderMan网站的 “资源 “栏目中下载。 启动预设浏览器 要调出预设浏览器,在视口中按’n’键调出侧面面板,点击Renderman标签,你应该看到一个RenderMan预设面板。点击 “预设浏览器 “按钮,就会弹出用户界面。 你也可以从视口的右键菜单中调出预设浏览器。 界面 默认情况下,预设浏览器将使用RenderMan自带的工厂库。在窗口的顶部,你会看到库的名称,以及磁盘上库的完整路径。 锁定的图标表示这个库是只读的。资产可以被导入到场景中,但资产不能被写入库中。 预览图显示了当前选定的预置的预览,在右边,是当前选定的预设的元信息。 在预览图的下面是一些按钮,允许你从当前选定的灯光中保存灯光设置,从当前选定的物体中保存材质,或者保存环境贴图。 对于最上面的一行。 Add Library - 这个按钮将允许你添加一个新的库到预设浏览器中。如果选择了一个空的文件夹,或者在选定的文件夹中找不到现有的库,那么工厂库将被复制到该文件夹中。 Select Library - 这个按钮允许你从被添加到预设浏览器的现有库中选择。 Forget Library - 这个按钮将告诉预设浏览器从保存的库列表中忘记/删除当前库。 Edit Library Info - 这个按钮将让你编辑当前库的元信息,包括名称和版本。 左边显示的是资产的类别。你可以使用+和-按钮添加或删除类别。注意,顶层的类别(EnvironmentMaps, LightRigs, Materials)不能被删除。 右边是当前所选类别的可用资产,下面是操作菜单。 Import and Assign to selected: 导入当前资产并将其分配给当前选定的对象。这只适用于材料。 Import:这只是将当前资产导入到场景中。 移动到类别:这允许你将当前资产移动到另一个类别。 Inspect json file:这允许你查看当前资产的磁盘上的.json文件。 Delete:删除当前资产。 快捷操作 预设浏览器的部分内容也可以从视口的右键、对象上下文菜单中获得。 这里,当前选择的类别的资产是可用的。在这种情况下,如果一个对象被选中并选择了银色油漆,银色油漆的资产将被导入并分配给该对象。你也可以通过使用选择类别菜单来改变类别。 光线连接编辑器 Light Linking Editor 灯光链接编辑器允许你控制场景中哪些物体被特定的灯光照亮或不被照亮。 ...

January 18, 2022

Renderman24发布并在Blender中使用

Renderman 24 发布新功能 Render Engine XPU 技术发布,同时使用CPU和GPU渲染图像。 使用XPU进行视效阶段的开发,加快创作速度。 Modular Materials 先进的分层材质开发。 先进的毛发材质开发。 风格化的视觉效果。 采用精准的ACES色彩管理系统。 支持Blender。 OpenSUSE install Renderman 24 NCR 在OpenSUSE上安装NCR(Non-Commercial)版本的Renderman,需要在Renderman Store上通过邮箱注册,由于Linux系统间的差异,需要注意以下几点: zypper install libopenssl1_0_0; ln -sv /usr/lib64/libssl.so.1.0.0 /opt/pixar/RenderMan-Installer-ncr-24.3/lib/3rdparty/Qt-5.12.6/lib/libssl.so libssl 需要使用1.0.0的版本,opensuse原生使用的是libssl.so.1.1,openssl版本不兼容,安装程序会出现Failed to query serial number: an unknown network-related error was detected 下载icu-release-50-2.zip,编译并安装。 RenderMan-Installer-ncr-24.3 需要用到该依赖。 zypper install libncurses5 RenderManProServer需要用到libtinfo.so.5依赖库。 Blender Renderman 插件 目前测试的blender版本为blender-2.93.7,插件下载地址RenderManForBlender,插件的兼容版本为: RenderMan 24.3 (2208291)

January 17, 2022

Renderman24 Will Support Blender

Renderman for Blender Livestorm Pixar Renderman官方将在2021-Q1发布Renderman 24,该版本将完全支持Blender 2.83+。 Renderman是一款工业级别的数字电影制作渲染引擎,大部分的皮克斯动画电影都是用Renderman进行照片级渲染制作而成。 支持功能中,我比较看重对Render to Viewport,Grease Pencil的支持,在之后自己的图像分析项目中,我们会大量使用Blender 2.8~2.9去渲染真实级别的图像,为模型提供数据,以及RM自身的XPU渲染技术,能够同时在CPU和GPU上混合渲染图像。 其中的光照支持以下几种。 关于Grease Pencil的功能,它可以在3D世界中创建2D动画,这大大扩展了Blender 3D 创作的功能,基本上是和2D动画创作市场抢生意了,我们可以使用Grease Pencil制作2D素描,2D + 3D动画故事板。 之前的Renderman for blender 功能支持有限,采用的第三方开发的Renderman Plugin,只支持Renderman 21,blender 2.79,而RM 24 for blender,我们可以用到Renderman中最新的渲染技术。 不管怎么说,当Renderman24出来之后,我会省下一笔钱购买Renderman商业版授权,用在图像领域的创作和分析等商业领域。Renderman本身也提供非商业版本支持,功能和商业版本完全一致。

September 4, 2020

Blender创建蛋白质三维结构艺术1

Blender 是什么 Blender 是一套开源的三维建模程序,因为之前为了在创作短片时使用数字绘景MattePainting技术,比如场景扩宽中的资产创建和2.5D合成,所以一直在学习这款程式,与之对应的商业建模程式有Maya,3DCoat,3dsMax,SideFx Houdini。比起商业的建模程式,Blender的优势是,第一,它是开源程式,第二,整套建模系统有自成体系的工作流,从建模,贴图,骨骼绑定,动画,合成,渲染输出,都可以在Blendr里面完成。学习的难度系数略高于Maya。目前Blender的版本一直在持续迭代中,整套系统开始使用越来越先进的技术,比如使用了EEVEE实时渲染引擎,在制作和渲染动画时,降低了制作成本。 在这篇文章中,我将介绍如何使用Blender 2.8 和 PyMol 制作蛋白质的三维结构图像艺术,上图为自己创作DNA螺旋三维结构的Blender截图。 创作过程解析 因为SARS-COV-2全球大流行,所以之前有一段时间研究过蛋白质的三维结构折叠。今天就拿SARS-COV-2的刺突蛋白(Spike Protein)来进行创作,其中的蛋白质编号为6M0J Crystal structure of SARS-CoV-2 spike receptor-binding domain bound with ACE2,与人类ACE2受体结合的的蛋白质。病毒是直接通过与ACE2结合这把钥匙,进入到人类细胞中,然后释放RNA从而合成和制造病毒自身的蛋白质。 首先我们下载蛋白质三维结构PDB文件,6M0J PDB,然后导入到PyMol分子三维结构预览程式中,如下图所示: 图中分别展示了6M0J蛋白质的卡通结构和表面结构。该蛋白质由两条肽链组成。 然后我们在Pymol中导出VRML2文件图像,路径为File->Export Image As->VRML 2。 接下来我们把VRML2依次导入到Blender程式中,导入完成之后,我们就可以对模型进行修饰,添加材质,打灯光,最后渲染输出。(注意需要对导入的模型执行一次 Mesh->Merge By Distance 将重复的顶点去掉,然后执行Mesh->Shade Smooth 使得模型表面被光滑处理) 下图是最终修饰处理完之后的截图,右下窗口就是导入的蛋白质三维结构模型。 关于Blender的材质构建,我后面会写一篇文章,详细介绍Blender的材质系统。 最后渲染输出的结构图如下: 原图🔗 原图🔗 原图🔗 原图🔗 表面+内部结构 总结 这是一次尝试在Blender结合Pymol来构建蛋白质三维结构图像艺术的尝试,蛋白质与我们人类息息相关,我们身体上的所有器官都是由蛋白质构成的,每当在科技杂志上看到精美的蛋白质三维结构图,都能让我们遐想在如此浩瀚的宇宙中,居然还有一个被巧妙设计好的微观世界在运行着,他的每一个零件运行都是那么的精准,如果稍有偏差,就会给生命体带来各种疾病。 目标 之前谈到过蛋白质的结构预测项目Rosetta@home,rosetta是一款开源程式,可以从头预测蛋白质的三维结构,接下来我就是学习rosetta的使用,自己已经在树莓派上编译了支持MPICH的Rosetta程式,然后我准备自己去设计蛋白质。用Rosetta来预测出给定蛋白质序列下的三维结构,最后在Blender中对该蛋白质进行修饰和图像合成,创作蛋白质的三维结构艺术。

June 21, 2020