皮克斯的USD是啥?优势在哪里?

507 阅读10分钟
原文链接: mp.weixin.qq.com

点击上方蓝字CG世界 关注我们

“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”

中国极具影响力CG领域自媒体 回顾本周内容,概念图、干货、热点什么的都给大家分享过了,收获满满,你们觉得没啥用也无所谓,反正我不要你觉得,我要我觉得。今儿计划着再来说说皮克斯USD流程的事 (啥?还有美元流程?)桥豆麻袋…CG世界并没有改版财经频道的计划。   大家应该都听说过皮克斯的开源通用场景描述 (Universal Scene Description,简称USD)吧,不仅他们工作流程的核心,还为其他VFX和动画工作室的流程提供了一种允许3D数据在不同数字内容创建应用之间互换通用的方式。 皮克斯迄今为止最为复杂的动画电影《玩具总动员4》构建了一个拥有超过1万亿个多边形的世界,它的成功得益于不断进步的渲染创新和数据管理,特别是USD,将皮克斯具有悠久历史的跨部门协作标准流程,演变成了符合当代制作要求的新型资产流程工具。 前两天刚刚发布的RenderMan23.0版本实现了对USD的高度支持,Houdini18的Solaris工具集将USD作为其可支持的基础数据,Maya和Katana等其他我们经常使用的工具也都表现出了对USD的包容。

USD是如何产生的?

在制作CG电影/游戏的流程中通常会生成、存储和传输大量3D数据,我们管这些数据叫“场景描述”。流程中的协作应用 (例如建模、着色、动画、灯光、特效和渲染)都有专属的场景描述,分别适用于特定的需求和工作流程,其他应用不可读也不可编辑,想想都觉得很麻烦。

▲皮克斯的标准流程   So,USD就是在这种麻烦状况下应运而生的第一个开源软件。简单来说,它是一款强大而又简洁的交换格式,能够对各部门工作做出描述,又不会影响工作,涉及模型、动画、材质、灯光、相机以及制作环境中其他必备环节。USD增强了了多部门协作过程中的可预测性,艺术家可以把更多的精力专注于内容创作,不必再费心考虑数据管理的问题。   下面咱们来了解一下USD流程到底是怎样的。

Staging & Layout

对于皮克斯来说,USD流程正在改变着他们创建全新世界的方式。凭借这种高效的通用描述格式,艺术家们可以创建并实现更为复杂的制作效果,要是利用原始技术来完成的话,可能需要花费很长的时间。

▲早期外观开发有助于获得较好的最终效果

  艺术家通过USD流程中后端与前端的成像框架“Hydra”可以快速地预览到自己的作品,同时添加纹理、材质和灯光的OpenGL近似值。这样可以使艺术家们在制作初期就能感受到影片的美感,简化制作后期传统意义上的审批流程,对多部门协作产生积极影响。

▲USD Layers

  USD的分层系统在处理数据时和Photoshop非常类似,有一系列可以单独折叠的操作,无论打开或是关闭都不会影响到其他数据,艺术家如果想在创建场景Layout时查看主灯光效果,只需要打开图层就可以了。

Assets & Shading

在《玩具总动员4》中,皮克斯为每种资产创建了多个变体,正是因为USD中的“Variant”系统,RenderMan才能够顺利调用特定资产那些形状、着色和纹理都各有差异的不同版本。

▲USD Variant

也就是说,在这套“Variant”系统中,对资产的阴影和纹理做出任何细微改变,都不会影响到已经加载完毕的几何图形。资源管理更有效,而且利用少量的物体能创建出更丰富的资产。   比如艺术家此时正在制作某个镜头,艺术指导要更改画面的主要颜色,该怎么处理呢?只需浏览特定资产的可用变体,选择不同颜色的资产来匹配镜头氛围就可以了,完全不用修改整个序列,也不会对其他艺术家的工作产生任何影响。   USD包含材质定义功能,艺术家可以将皮克斯专有的着色工具和Mari等常用的纹理软件结合到一起使用。 目前皮克斯内部使用的着色系统和市面上使用的工具略有不同,于是RenderMan先行一步发布了适用于Pixar Surface Material的Mari近似工具,为艺术家的纹理工作提供了更高质量的着色效果。 ▲Renderm发布了适用于Mari的Pixar Surface近似工具   为了让艺术家轻松地管理资产,皮克斯还开发了内部工具来处理USD和其他方式的转换及跟踪流程,并依靠独立且具有一致性的USD API和Scenegrah创建了可预测和访问外部流程的工具以及读取、写入、编辑场景数据的工具集。

Animation

大家应该有听过皮克斯内部的动画软件Presto吧,它的设计理念经过精炼和提取之后最终形成了USD。Presto参与制作的第一部长篇作品就是2012年的《勇敢传说》,其中涉及到了皮克斯开源计划的一部分,包括用于高性能细分表面评估的OpenSubdiv、用于编辑剪辑时间线信息的OpenTimelineIO、OpenUSD和其他可供公众使用的研究项目。

▲动画流程 USD最强大的功能之一就是能加载复杂的数据集,传输时占用的内存较小,这意味着动画师会得到更多控制权。举个栗子,角色艺术家可以实时处理并预览头发效果,使其以更精准的方式呈现角色表演,而且可以加速版本迭代的过程,制作更为精细的镜头和序列。 群集制作部门也可以在这套流程的帮助下,轻松实现庞大数据集的可视化并用简洁版本的文件进行制作,借助USD快速缓存系统的优势进行实时播放,然后再修改“Schemas” (schemas是USD快速改变场景的核心方法) 回到制作资产。

Lighting

  USD的一个非常关键部分是它能在视窗中的渲染代理之间进行动态切换 (比如在OpenGL和RenderMan之间切换) ,这意味着艺术家在早期制作阶段能接近最佳灯光效果,加上摄影师和导演更加准确的反馈,艺术家就能专心发挥创意,不必担心自己镜头的基本色彩与Layout部门提供的效果之间存在差异了。

Rendering

  在进行色彩&时间校正和剪辑之前,最终渲染往往意味着流程中的最后一步,凭借USD和Hydra的精巧性,RenderMan可以提前渲染像素,帮助各部门获取更好的视觉效果。那么有多少部门会与USD和RenderMan打交道呢?   如果能保证制作过程中的画面拥有较高保真度,艺术家就可以实时预览最终渲染的复杂效果 (例如景深、运动模糊和阴影等) 。皮克斯始终坚持像素尽可能完整,避免不必要的像素过滤以及后续图像质量下降的可能,因此近似渲染效果是非常基础的功能,对于立体部门来说尤其重要。 USD发行版中提供了USDView之类的工具,这个工具可以加载任何类型的USD文件, ascii (usda) 、binary (usd) , 或是archive (usdz) 都可以。艺术家可以将渲染代理切换到RenderMan,查看镜头或是资产的灯光效果。   所有这些协作式的工作流程都极大地提高了画面最终效果,为艺术家们提供了更好的创作环境,使反馈更加精准,更富有成效。

USD有不完善的地方吗?

 

说了半天USD的优势,那它目前还有不完善的地方吗?当然。   首先,USD没有GUIDS(全局唯一标识符)。USD使用的是文本&分层的命名空间来标识其数据,这就意味着它是“命名空间路径”,需要通过名称覆盖将其绑定到意义原语/属性上。 因此当引用资产的内部名称空间发生更改时,先前记录在引用资产中的更高级别的覆盖将消失,解决这个问题的一种方法是通过GUIDS来识别数据,然后将覆盖与作为定义原语的相同GUIDS相关联。在解决名称空间编辑的问题时,GUIDS会将其他问题引入到流程中,并有可能限制组合的灵活性。因此没有出现GUIDS。

其次,USD不是执行或操作系统。USD提供了一个轻量级且优化后的场景图,方便创建和高效地提取合成场景描述。场景图占用空间较低,适合名称空间层次结构和属性值解析、低延迟数据访问,而高性能执行引擎则需要高内存占用空间和低延迟数据访问。 小编自己都有些说懵了,小伙伴可以到下面的链接再详细了解一下。 https://graphics.pixar.com/usd/docs/index.html

各个软件对USD流程的兼容度如何?

 Houdini    为了兼容USD格式,RenderMan发布了适用于USD Hydra的图像处理插件hdPrman,同时支持Houdini18及其用于外观开发 (look-dev) 的Solaris工具集,该工具集是完全基于USD搭建的。    Maya    USD开源计划使得皮克斯技术多年以来一直影响着VFX和动画电影行业,例如LumaPictures和Animal Logic这两家工作室不仅接纳了USD,还提出了很多受益于用户的重要反馈和开发资源。Maya很快会推出这些插件资源,来进一步完善USD生态系统。   Katana    Foundry一直致力于支持和创建完善的工作流程,在即将推出的Katana新版本中,USD工具集的可扩展性会与其很好的匹配到一起。 如果小伙伴想了解更多关于USD的内容,可以复制下面的链接,USD预览文档拿走~ 关于USD我们先介绍到这里吧,散会! https://graphics.pixar.com/usd/overview.html -End-

🌞 热点回顾

《辣眼睛! 中美合拍《哪吒与变形金刚》预告》

《2019年大片概念图合集打包送!》

《没有标记,没有摄像头! 工业光魔又玩出技术新高度》


🔥广告时间