简介
把场景从一套软件转换到另外一套软件算图是件不容易的事。FBX让您可以输出几何体、基本灯光、照相机和动画等,但FBX不支持某些特定功能,例如V-Ray灯和材质。使用V-Ray场景文件可以解决这个问题。V-Ray场景文件可以转换更多信息。
什么是V-Ray场景档?
V-Ray拥有自己专有的文件格式。其中最流行的格式是用于代理对象的V-Ray mesh 文件(.vrmesh)。V-Ray mesh格式对于缓解很重的数据量,然后根据要求进行渲染。这个功能对于很重的几何体,实例物体甚至是完整的环境都是非常棒的。很好用,但只能转换几何体。材质的部份必须要额外附带。
V-Ray场景文件(.vrscene)并不像V-Ray 格那样广为人知,但最近这个功能有了重大更新。V-Ray场景文件解决了V-Ray 格所欠缺的功能。最初开发是为了让V-Ray独立版能进行渲染,V-Ray场景文件包括渲染所需的一切。这表示你也可以用命令行进行渲染,无需在3D应用程序中打开该场景文件。
在另一个应用程序中打开V-Ray场景文件
在V-Ray 3.5中,V-Ray场景文件现在可以从一个应用程序导出,然后导入并在另一个应用程序中渲染。V-Ray场景文件包含一个完整的,可渲染的资产。
输出哪些资产?
§ 带UV的几何体
§ 材质
§ 毛发*
§ 毛发
§ 烘焙的动画
*并非所有应用程序都能导入灯光。 Maya可以,3ds Max不可以。
哪些无法输出?
由于V-Ray场景文件都是以单一个对象的方式导入3ds Max中,或是单一个节点在Maya中,所有内容都以一个对象。因此,在3D应用程序中本身无法选择某些对象,例如:
§ 个别的材质
§ 个别的灯光
§ 摄影机
§ 需要其他插件的几何体或材质可能无法顺利输出。一般来说,如果能用V-Ray独立版来渲染,那么数据应该是可以导入。
注意:您可以选取或是改变V-Ray场景的某些部分。我们稍后再说。
有没有实际使用范例?
以下是几个实际应用V-Ray场景文件范例.
在VFX工作室之间分享资产
想象一下,有两家VFX工作室在一起制作同一部电影。其中一个工作室使用V-Ray Maya创建场景,另一个工作室希望在相同的场景渲染他们的3ds Max动态角色。 第一个工作室分享他们V-Ray环境场景文件,另一个工作室要在3ds Max中加载之。所有他们想要渲染的数据都能交换。在这种状况下,他们甚至可以修改灯光。
以V-Ray for Maya完成的渲染
使用导入的V-Ray场景文件、修改灯光,然后以V-Ray for 3ds Max完成渲染。
导入在 络买来的3D模型
假设您在在线购买了高质量的家具模型,但这个模型是3ds Max格式文件。有了V-Ray场景,您可以将这个模型导入Maya并保持原始材质。您甚至可以复制这个模型,没有问题。
跟合成共享灯光
假设您以V-Ray for May的场景设定灯光,而您的合成师想要渲染相同的场景,并在V-Ray for NUKE中添加一个Houdini VDB。您只需要将灯光设置输出并分享为V-Ray场景文件。然后,合成师的NUKE渲染就能与您的Maya渲染相匹配。
如何从3ds Max 转到Maya
打开场景后,右键单击任意视口并选择.vrscene export。这里您可以决定所需的选项,包括导出动画。要了解有关每个选项的更多信息,请访问我们的帮助文档。
一旦进入Maya,您将使用Scene Manager导入V-Ray场景。这将创建一个节点,你要放在任何地方都可以。如果你想要跟原本的位置吻合,那就把它放在0,0,0。
记住,3ds Max中的场景通常是Z轴向上,Maya是Y轴向上。当您导入时,场景应该会自动翻转到Y轴向上,但是您可以选择翻转或不翻转。
如何自Maya转换到3ds Max
从Maya输出V-Ray场景文件至3ds Max流程略有不同。 首先,打开渲染对话框。 然后,在common中,您会看到Translator,让你可以导出.vrscene文件。在这里,如果您只想导出文件的话,您也可以告诉您的场景不要渲染。如果您偏好使用MEL脚本,您也可以使用vrend命令导出资料。
现在,在3ds Max中,您可以创建一个VRayScene对象用来导入您的文件。由于您从Y轴向上的应用程序转换成到Z轴向上的应用程序,您可以让软件自动帮你翻转或是手动维持轴向。此外,如果您希望它在原始位置,请确保对象放置于0,0,0的位置。
使用覆盖功能改变V-Ray场景
您可以使用简单的代码来覆盖V-Ray场景中的某些参数。例如,利用以下代码添加到Override Snippet中,您可以为场景中的所有对象设定成粘土材质。
// Create new clay material. BRDFDiffuse clayBrdf { color=Color(0.35,0.35,0.35);}
MtlSingleBRDF clayMtl { brdf=clayBrdf;}
// Override material on all Node plugins.
Node <*> {material=clayMtl; }
从Maya输出的V-Ray场景文件然后在3ds Max中渲染并修改为粘土材质
以下是其他的的覆盖范例:
// MATERIAL OVERRIDE EXAMPLES
// Create new shadeless material.
BRDFLight shadelessBrdf {color=Color(0.15,0.35,0.35);affect_gi=false; }
MtlSingleBRDF shadelessMtl {brdf=shadelessBrdf;}
MtlWrapper shadelessMtlAlpha {base_material=shadelessMtl;alpha_contribution=-1; }
// Create new clay material. BRDFDiffuse clayBrdf {color=Color(0.35,0.35,0.35); }
MtlSingleBRDF clayMtl {brdf=clayBrdf;}
// Override material on all Node plugins.
Node <*> {material=clayMtl; }
// PATTERN MATCHING EXAMPLES
//Node <*SphereShape[1-2]*> { material=shadelessMtlAlpha;}
Node <*SphereShape5*> { material=shadelessMtlAlpha;}
GeomStaticSmoothedMesh <*> { edge_length=8; }
GeomDisplacedMesh <*> { edge_length=8;}
// EXACT NAME MATCHING
// Override transform of the “pSphereShape1@node” object.
Node pSphereShape1@node {transform=Transform(Matrix(Vector(0.5, 0.0, 0.0),
Vector(0.0, 0.5, 0.0),
Vector(0.0, 0.0, 0.5)),
Vector(0.0, 0.0, 0.0)); }
// OVERRIDE WITH NEW IMAGE FILE TEXTURE
// BitmapBuffer MyBitmap { color_space=2; file=”/Users/bdancer/scenes/vrayscene/car_scene/car_interior/Textures/carbon01_3.jpg”;
gamma=1; }
UVWGenMayaPlace2dTexture MyMapping { repeat_u=5; repeat_v=5;
uvw_channel=0; }
TexBitmap MyBitmapTexture { bitmap=MyBitmap; uvwgen=MyMapping;}
// Override “color_tex” parameter of the “VRayMtl1@diffuse” plugin with
// the “MyBitmapTexture” texture.BRDFDiffuse VRayMtl1@diffuse { color_tex=MyBitmapTexture;}
// MATERIAL OVERRIDE IN 3DS MAX
// Create some material, for instance, with name “test_override” in 3dsmax and
// apply it to the VRayScene object.
// Override all Node plugins with 3ds max native material. Node <*> { material=test_override;}
结论
当您想要将整个可渲染的场景(包括所有几何体、材质和灯光)从一个3D应用程序移动到另一个3D应用程序时,V-Ray场景文件将非常有用。由于V-Ray场景是计算机软件可解析的,因此可以覆盖某些效果,例如材质。希望这篇文章对你制作上有帮助。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!