T∕CSMPTE OpenUSD 数据标准媒体应用指南(2024年)_第1页
T∕CSMPTE OpenUSD 数据标准媒体应用指南(2024年)_第2页
T∕CSMPTE OpenUSD 数据标准媒体应用指南(2024年)_第3页
T∕CSMPTE OpenUSD 数据标准媒体应用指南(2024年)_第4页
T∕CSMPTE OpenUSD 数据标准媒体应用指南(2024年)_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

OpenUSD数据标准媒体应用指南 2.1行业现状及面临的挑战 22.1.1视频制作流程中创建3D数字资产的难点 22.1.2在网络环境中应用3D数字资产的瓶颈 32.1.3在开发3D实时互动类型的项目中遇到的问题 32.2OpenUSD数据标准概述 42.2.1OpenUSD发展史 42.2.2OpenUSD优势 42.2.3OpenUSD与其他3D数据标准的异同 53OpenUSD标准技术框架 3.1OpenUSD的定义 53.2OpenUSD的基本组成 53.2.1Stage(场景图) 63.2.2Prim(基本单元) 73.2.3Layer(层) 83.3OpenUSD的操作机制 83.3.1Composition(合成) 83.3.2CompositionArcs(合成弧) 93.3.3VariantSet(变体集) 93.4OpenUSD的属性 3.4.1Opinions(prim的属性及数值) 3.4.2Proxy(代理) 3.4.3Proxy与VariantSet的比较 4利用OpenUSD提高制作效率和质量 4.1利用OpenUSD封装3D数字资产 4.1.1资产封装方式 4.1.2OpenUSD资产封装在模型资产库的应用 4.1.3OpenUSD资产封装在实时引擎流程中的应用 4.2利用OpenUSD应对大数据量的3D场景 4.2.1利用Reference引用机制 4.2.2利用OpenUSD轻量化数据交互 4.2.3利用OpenUSD存储解算特效数据 4.2.4利用OpenUSD进行实时物理模拟 4.3利用OpenUSD提高动画迭代效率 4.4实时渲染OpenUSD场景 4.5利用OpenUSD轻便化程序建模 4.6利用OpenUSD的扩展功能实现自定义管理 5利用OpenUSD提高协同能力 5.1OpenUSD在团队协同工作中的应用 5.1.1OpenUSD非破坏性工作流 5.1.2利用OpenUSD的Layer层机制 305.1.3实现OpenUSD场景的异地实时交互 335.2OpenUSD在云服务中的应用 345.3利用OpenUSD加强数据安全 355.4OpenUSD在不同软件间的协同应用 365.4.1虚幻引擎与DCC软件之间的协同 365.4.2Omniverse与其他设计软件的协同 376OpenUSD与AI人工智能应用 6.1利用AI能力自动生成OpenUSD资产 386.1.1生成式AI 386.1.2集成大语言模型的LLM工作流 386.2OpenUSD在AI领域的应用展望 396.2.1在数据处理方面 396.2.2在模型训练方面 40参考文献 1目前,3D是影视媒体等行业领域的主要视觉呈现形式,比如3D动画、3D特效等。3D视觉内容是基于计算机技术产生的三维数据,包括但不限于3D模型、纹理、动画、灯光、摄像机等类型,它们通常被统称为3D数字资产,比如数字人角色就是一个3D数字资产,包括了数字人的模型结构、皮肤、服饰等外观质感和纹理、毛发样式、表情动画、肢体动作动画等数据信息;动画场景中的一棵树也是一个3D数字资产,同样包括了树的模型结构、树叶树干的外观质感和纹理,还可以包括树叶随风摇摆的动画,甚至开花生长的动画数据。随着行业对3D数字资产的需求不断增长,3D数字资产的数据量正在变得越来越庞大、复杂度也越来越高。但是在创建和应用3D数字资产时,由于行业中的3D应用软件多种多样,因而产生了多种数据格式和标准,它们之间存在兼容性问题、相互协作问题、对大数据量的承载问题和生产效率问题等,急需得到解决,因此采用先进的通用3D数据标准成为行业发展的必要。在这个大背景下,OpenUSD数据标准应运而生,并得到行业的广泛认可。OpenUSD最早由皮克斯动画工作室(PixarAnimationStudios)开发,是一种开源的高性能3D场景描述技术,可在工具、数据和工作流程之间提供强大的互操作性。OpenUSD以其协同捕捉艺术表现力和简化影视内容制作的能力而著称,其强大的功能和灵活性使其成为满足新行业和新应用需求的理想内容平台。2023年8月1日,Pixar、Adobe、Apple、Autodesk(欧特克)和NVIDIA(英伟达)与Linux基金会下属的联合开发基金会(JDF)共同宣布成立OpenUSD联盟(AOUSD以促进皮克斯通用场景描述技术的标准化、开发、演进和发展,推动视觉特效、动画等领域的三维互操作性。目前OpenUSD已经在国内外影视、动漫、游戏制作中得到了广泛应用。为推动国内3D创意技术在影视媒体等领域的发展,帮助创作团队解决项目中的大量3D数据承载问题、制作流程中3D软件平台之间的数据协作问题,以及艺术家和团队之间的合作协同问题,在中国电影电视技术学会领导、国家广播电视总局广播电视规划院组织下,由来自行业内的技术专家共同组成项目小组,围绕OpenUSD通用开源数据标准,制定本应用指南,旨在面向国内行业介绍创建和应用3D数字资产的先进解决方案,有助于提高影视媒体行业3D内容的创作效率和作品质量,从而提高整个行业的科技水平。指导单位:中国电影电视技术学会。起草单位:中国电影电视技术学会、国家广播电视总局广播电视规划院、欧特克软件(中国)有限公司、中央广播电视总台、腾讯科技(深圳)有限公司光子工作室群、杭州玄机科技股份有限公司、NVIDIA技术服务(北京)有限公司、北京抖音信息服务有限公司。起草人:韩强、宁金辉、孙琳、谢婧、郑恒利、于明、孙志伟、肖胜凯、罗海涛、刘靖、姚飞骏、沈映、陈锦、高祎临、江涛、王子建、吴宝、于京平、顾其瑞、李墨若迷、曹继炜、何展、宋毅明、徐国梁。2OpenUSD数据标准应用指南本应用指南适用于在影视媒体等领域,利用OpenUSD数据标准,更加高效、高质量的创建和应用3D数字资产。3D数字资产包括3D模型、贴图、材质、动画等数据,其中3D模型和贴图的精细度将直接影响视觉质量,特别是在超高清项目中,需要提升模型和贴图的高精度才能呈现高质量的画面效果。2概述2.1行业现状及面临的挑战2.1.1视频制作流程中创建3D数字资产的难点生产过程数字内容流转主流数字内容创作软件(Digitalcontentcreation,DCC)各自具有不同的资产存储机制,例如模型、动画、灯光、材质、特效和渲染参数等信息数据。由于不同DCC软件基于自身功能特点采用不同的实现方式和工作流程来管理这些资产数据,导致在生产过程中上下游任务进行数字内容流转时处理过程繁杂且不易于管理。数字内容兼容性视效生产过程中会针对不同的视觉呈现内容来选择具有技术优势的DCC软件进行制作。对于呈现内容复杂的场景,往往需要多种DCC软件协同制作。因此在对这些DCC软件生产的内容进行整合时经常会出现不兼容的情况。为达到兼容要求,通常需要对部分资产进行破坏性的调整以满足兼容性。这会导致同一数字资产在不同的整合过程中会进行不同的调整。团队生产过程协作对于要求较高、体量较大的视效项目,通常会有多个团队参与,每个团队针对自身特点所采用的制作方式和方法各有不同,难以统一。在整合多个团队生产的数字内容时需要更高的沟通成本和管理成本。超大型场景加载性能涉及超大型复杂场景的制作时,由于场景包含大量复杂资产,导致修改单一资产成本较高,加载时间过长或无法加载,严重影响生产效率。数字内容扩展性视效技术发展较快,新技术不断涌现,为了支持一些价值较高的新兴技术,通常需要对资产文件的数据格式与内容进行扩展,并配合DCC软件插件,以达到支持更多格式、降低管理成本的目的。目前主流资产格式扩展性普遍较差,导致新技术融入比较困难。32.1.2在网络环境中应用3D数字资产的瓶颈在智能手机、VR/AR设备和新型智能终端等互联网使用场景下,基于网络数据的实时图形引擎在处理3D图形数据方面面临诸多挑战,主要包括以下几个方面。(1)数据存储大数据量:3D图形数据通常非常庞大,尤其是在处理高精度的场景和复杂模型时,对存储空间需求高。格式兼容性:不同设备可能支持不同的文件格式和存储规范,这对一致性存储提出了很高的要求。(2)数据传输网络带宽限制:移动网络或宽带有限的环境中,传输大量3D数据可能造成延迟或加载时间过长。传输稳定性:网络连接的不稳定性可能导致数据传输中断或延迟,影响用户体验的连续(3)实时显示计算资源限制:许多终端设备计算资源有限,尤其是移动设备,处理和渲染复杂的3D图形任务时可能性能不足。渲染性能:实时渲染要求高性能的图形处理能力,保持高帧率和流畅的用户体验是一个大挑战。交互响应性:3D图形的实时交互需要系统能够快速响应用户的输入操作,低延迟是关键。(4)兼容性和可扩展性多设备支持:不同设备的硬件能力和软件环境各不相同,一致的呈现效果和体验是一个多平台兼容:Web、移动App、VR/AR等平台有不同的技术栈和API,确保多平台兼容性是一大难题。(5)用户交互复杂交互设计:3D交互界面通常比2D界面复杂,需要设计直观且易用的用户界面。设备多样性:不同设备的输入方式(如触摸屏、手柄、手势等)不同,设计统一且便捷的交互方式具有挑战。2.1.3在开发3D实时互动类型的项目中遇到的问题如图2-1所示,在实时互动类型的项目中,3D数字资产的研发会涉及诸多不同的技术领域与制作软件,目前行业内没有一个统一且通用的标准。3D数字资产在不同的软件与实时引擎中的非一致性会导致制作成本的增加,制作人员不得不耗费大量的精力进行资产的转制工作。而且随着行业的发展,越来越多不同的3D数字资产格式被引入到了生产中,这使得项目的制作流程越来越难以被扩展,严重阻碍了项目制作的工业化进程。4图2-1实时互动项目制作流程示例2.2OpenUSD数据标准概述2.2.1OpenUSD发展史为解决上述问题,皮克斯动画工作室(PixarAnimationStudios)在2010年《勇敢传说》制作期间开始开发USD框架,之后,该工作室继续在制作中使用和改进USD,2016年将USD转换为开源项目,推动在工作室内部和外部合作团队之间无缝共享数据。USD最早采用者之一是AnimalLogic,这家工作室也发布了开源插件,充分利用了Maya中USD的强大功能。之后,USD解决方案逐渐得到行业的认可,各个软硬件厂商开始纷纷加入USD的应用开发。Autodesk参与Maya相关的USD开源开发工作后,在上述两家插件的基础上,发布了Maya的USD插件,正式将USD解决方案引入Maya。NVIDIA推出以USD为数据基础的Omniverse开发平台。Adobe公司著名的纹理绘制软件Substance3DPainter支持USD工作流,在导出纹理和材质数据时可以运用USD格式。Apple在其产品中支持预览USD格式的3D模型。2023年,USD研发的主要参与者Pixar、Adobe、Apple、Autodesk(欧特克)和NVIDIA(英伟达与Linux基金会下属的联合开发基金会(JDF)联手创建了联盟----AOUSD,正式将这一3D数据标准命名为OpenUSD。2.2.2OpenUSD优势优势一,快速加载和回放大型数据集。OpenUSD提供了轻量化组装场景的技术,大大降低了高精度复杂3D场景的数据量,可以实现大型复杂3D场景的快速加载,有利于实现动画的快速回放,这就意味着艺术家可以有更多的时间实现迭代,从而达到更加完美的艺术效果,因此OpenUSD可以大大提高艺术家的创作质量和效率。优势二,非破坏性工作流程有利于团队协同。OpenUSD高效的内部机制可以让不同的艺术家(比如:建模师、纹理艺术家、视觉特效师等)同时在同一个资产或者场景中并行工作,并且能够管理和控制数字资产的更新和版本迭代,这对于以往的线形工作流来说,可以大大提升复杂项目的制作效率,提高团队的协同能力。5优势三,通用标准有利于简化流程。OpenUSD正在被行业中越来越多的软、硬件采纳和支持,艺术家可以选择最擅长的软件工具,创作出通用的3D数字资产,不必担心创作成果无法应用到流程中的其他环节,或者其他软件应用平台。这将会减少创作过程中数字资产格式的转换次数,可以大大简化工作流程,降低出错和丢失信息的可能性,提高创作质量。同时提高了3D数字资产的复用率,以前需要为同一个3D模型创建不同的版本,以应对不同的应用场景和软件平台,而OpenUSD数据标准的3D模型资产将会被越来越多的软、硬件平台支持,真正实现3D数字资产的通用性,进一步提高行业的生产效率。2.2.3OpenUSD与其他3D数据标准的异同FBX、OBJ、Alembic等传统格式都只是专注于某个或某几个技术领域,例如FBX主要致力于模型、材质和动画等相关的领域,而在群集、体素与高度图等方面则差强人意。当某一种3D数据标准不能够涵盖所有需求时,就一定会导致其他3D数据标准的引入,继而引发3D数据标准之间的冲突。与其他传统格式相比,OpenUSD的主要特点在于它总是致力于序列化3D数字场景中的所有内容。用户可以在不同的软件、不同的技术领域中使用OpenUSD,无需担忧数据的缺损。而这也正是本指南介绍OpenUSD作为3D数字资产解决方案的原因之一。除此之外,OpenUSD还具有开源、开发接口丰富、可扩展性强等优点。这意味着即使是在保密的、私有化的,或其他特殊类型的使用场景中,OpenUSD也可以通过扩展的方式满足项目的定制化需求。3OpenUSD标准技术框架3.1OpenUSD的定义3D制作流水线中通常会生成、存储和传输大量3D数据,它们是不同的流程节点(建模、着色、动画、照明、特效、渲染等)产生的。因为它们分别来自于特定的、不同的应用程序,因此其他应用程序都无法读取或编辑。针对上述问题,通用场景描述(OpenUSD)是首个开源解决方案,可满足稳健地、可扩展地描述、交换和增强任意3D场景数据的需求,这些3D数据可能由许多元素资产组成。OpenUSD可被视为一种通用的资产交换格式,就像数据类型和软件工具之间的通用语言。OpenUSD本质上是一种可扩展的场景描述和文件格式,是一个广泛的框架,其中包括独特的概念和术语。OpenUSD的完整技术文档参见参考文献,本应用指南介绍其中常用的基本组成、操作机制和属性。3.2OpenUSD的基本组成OpenUSD的基本组成示例见图3-1。6图3-1OpenUSD的基本组成示例3.2.1Stage(场景图)Stage描述了一个OpenUSD场景图,以列表的方式排列出场景中所有的元素,该Stage由一个根OpenUSD文件和所有引用/分层文件组成。UsdStage类展现一个Stage时,同时在内存中缓存了有关组合的命名空间和支持文件的足够信息,以便快速遍历Stage并执行高效的数据查询,并允许针对组成Stage的任何层进行基本单元、属性和元数据编辑。在打开的3D场景中,Stage是已加载的场景图,如图3-1中,整个场景就是一个加载好的stage。73.2.2Prim(基本单元)Prim是OpenUSD的基本单元,Prim里还可以包含(和排列)其他Prim,比如图3-1中的每一幢建筑都是一个Prim,足球场也是一个Prim,它由草地、球门等Prim组成,它们共同组成了Stage。Prim有多种类型,例如几何体、灯光、相机、着色器、XForm、Scope。其中,XForm可包含空间变换数据,可用于平移、旋转和缩放其他Prim,而Scope则不包含变换数据,可应用于任何不需要变换的Prim。图3-2中足球场的各个模型被组合在XForm类型的Prim里,可以进行位移、旋转等空间变换。而相关的材质则被打捆成组放在Scope类型的Prim里,是不可以进行位移、旋转等空间变换的。83.2.3Layer(层)Layer包含零个或多个Prim,在文件存储中,每个Layer通常都是磁盘上的一个单独的Usd/Usda/Usdc文件,Layer组合在一起以表示一个完整的Stage。Layer在流程中的作用是:一个Stage场景是由许多的Prim组成的,这些Prim分别属于不同的Layer,通过不同的Layer来管理场景中的Prim以及Prim之间的关系,每个Layer都会产生一个对应的OpenUSD文件,并存储在磁盘系统中,这个OpenUSD文件记录了Layer中的Prim来源信息,以及对Prim的编辑操作信息。比如在图3-1中,每个单独的建筑Prim都来自于一个单独的OpenUSD资产文件,它们被引用加载进场景中,摆放在不同的空间位置上,这些建筑Prims被同一个Layer来管理,这个层也随之产生一个独立的OpenUSD文件,里面只记录了所有这些建筑Prim的来源、在场景中的位置等相关编辑信息。之后在一个空的Stage中直接引用加载Layer对应的OpenUSD文件,则这些建筑Prim就会一起加载进来,并处于相应的位置上。可以把Layer理解为当前场景的制作流程管理工具,图3-3中Maya的OpenUSDLayer管理器,可以利用锁定Layer工具来管理数据的编辑权限,利用Layer的堆栈架构来管理OpenUSD数据的覆盖强度排序,利用Mute静音Layer工具来随时方便地卸载和加载OpenUSD数据等等。图3-3MayaOpenUSDLayer管理器3.3OpenUSD的操作机制3.3.1Composition(合成)Composition是将多个Layer组装在一起最终形成一个Stage的过程。比如打开一个9Stage,就是在执行一个Composition过程,包括如何组装这个Stage,以及场景中各个Layer之间的关系。还比如当加载一个OpenUSD模型进入场景,也是在执行一个Composition过程,包括如何加载这个模型,以及它和场景中的其他模型数据之间的关系。3.3.2CompositionArcs(合成弧)CompositionArcs可以理解为Composition过程中的具体规则方法,也就是用什么方法加载和组成Stage。CompositionArcs一共有6种规则:subLayers(子图层)、inherits(特殊化)。比如subLayers,是指用父子关系规则来新建Layer的操作方法。其他CompositionArcs的应用,后续有详细介绍。3.3.3VariantSet(变体集)VariantSet是一种CompositionArcs,它允许内容创建者打包一组不同的替代方案,下游使用者可以在这些替代方案之间进行非破坏性切换或扩充。比如图3-4中的建筑F是一个VariantSet,包含了两个variant:Building_F_variant_1和Building_F_variant_2,也就是两个不同样式的建筑。在下游的流程中,使用者可以根据需要在这两个建筑样式中任意切换。图3-4VariantSet3.4OpenUSD的属性3.4.1Opinions(prim的属性及数值)Opinions可以理解为prim的属性和数值。3.4.2Proxy(代理)在3D制作流程中,通常需要为高精度复杂场景创建一套低精度模型作为代理替身,被称之为Proxy模型,在执行某些任务时,可以用轻量化的Proxy模型来代替原高精度模型,以达到更快的操作响应速度,提升制作效率。在OpenUSD中,stage和prim的用途属性中都有Proxy选项,意思是用于显示轻量化的代理模型,而非高精度的渲染模型。3.4.3Proxy与VariantSet的比较在3D制作流程中有这样一个需求:在软件的操作视口中只显示低精度的模型,用于进行快速地检查和编辑操作,同时在渲染窗口中显示高精度模型,用于审看最终视觉效果。VariantSet是无法满足这种需求的,如果把低精度和高精度模型设置为VariantSet的两个variant,由于任何时候VariantSet只能呈现一个variant,无法实现既要低精度又要高精度模型的应用,此时就需要利用OpenUSD资产的Proxy属性值来应对这个需求。操作方法是,把StageDisplay的Purpose用途属性设置为Proxy,把Proxy模型的Purpose用途属性设置为Proxy,把高精度原模型的Purpose用途属性设置为Render,此时视口中只显示Proxy低模,而同时渲染场景时,只渲染出高精度模型。4利用OpenUSD提高制作效率和质量4.1利用OpenUSD封装3D数字资产资产复用与资产交易是数字资产的核心价值,资产复用的高可用与资产交易的低成本是数字资产价值的重要体现。对于资产复用,需要考虑精准定位与资产附加值;对于资产交易,需要考虑资产安全以及资产交易后产生的沟通成本。为了解决上述问题,需要创建一种基于OpenUSD的数字资产封装方式,来满足上述要求。OpenUSD对解决资产复用和资产交易有着天然的优势。首先基于OpenUSD提供众多功能强大的API,可以对数字资产进行扩展。其次通过OpenUSD提供的组件,可以使资产自动的创造附加值。例如可以使用OpenUSD的Hydra渲染框架,自动生成基于当前内容的AI训练数据集。4.1.1资产封装方式封装过程数字资产封装的内容除了包含OpenUSD文件外,还需要包含资产的描述信息,为了方便的描述资产,需要一个用于编辑数字资产描述信息数字资产编辑器,在编辑好描述信息后,需要编辑器生成一种可以详细描述资产信息的文件作为载体。为了方便统一管理,需要使用规范化的数字资产定义语言作为文件的内容;生成数字资产描述文件后,需要根据数字资产定义语言描述的内容,通过数字资产编译器来根据描述内容,将一切相关资源进行资产打包,生成规范化的数字资产包,也可以将数字资产包进行解包,封装过程见图4-1。图4-1封装过程数字资产编辑器通常为桌面程序或Web程序,需要根据数字资产定义语言的规范来实现,并且通过OpenUsd提供的Hydra渲染,完成缩略图、预览视频、AI训练数据等附加内容的自动生成工作。同时也可以借助OpenCV、ConfyUI自动生成数字资产定义语言需要数字资产编译器支持,包含但不限于以下内容(带*表示必需包(1)资产编号(*需要创建一个表示资产的唯一编号,UUID表示;(2)OpenUSD资产文件(*数字资产内容,使用usdz格式;(3)工程文件:创建数字资产的工程文件,zip格式;(4)缩略图(*数字资产的预览图,包含资产索引信息,jpg格式,可以通过OpenUSDHydra渲染器自动生成;(5)预览视频:数字资产环绕低码视频,用于了解资产全貌,MP4格式,可以通过OpenUSD(6)资产类目(*表示资产分类,根据具体需求而定;(7)资产描述(*表示对资产的描述;(8)DCC信息(*表示工程文件使用的DCC软件及版本;(9)渲染器(*表示资产支持的渲染器及其版本;(10)色调(*表示该资产的主要色调,保存为多组HLS值,便于通过Hue来检索资产的色调,可由OpenCV等工具生成;(11)AI数据:由数字资产衍生的AI训练数据,可以通过OpenUSDHydra自动生成语义分割图像。数字资产编辑器通常为一个可执行程序,需要根据数字资产描述文件与数字资产包的规范来实现,通过使用数字资产编译器,可以将相同的数字资产描述文件编译为规范不同的数字资产包。也可以将不同的数字资产描述文件编译为规范相同的数字资产包。数字资产包作为数字资产最终的封装产物,该文件是二进制文件,所有描述内容的存储以length+conent方式存储,格式见图4-2。图4-2数字资产包格式规范版本:规范的描述信息,用于在解包时判断是否满足要求。资产编号:表示该数字资产的唯一编号,用于管理。加密方式:为了保证数字资产包内容的安全,因此需要对头文件进行非对称加密,该字段表示使用了哪种算法进行了加密。通常公钥以公开的形式进行发布,版权方可以保留私钥进行控制管理。头文件:描述信息部分包含了所有存在的资产描述信息,文件索引部分包含了该资产包所有相关文件在包中的文件位置以及大小信息。资产在编译时,将所有文件先进行编号处理,后存入头文件的文件索引部分。解包时,通过文件编号查找文件索引中文件的位置及大小,提取文件。文件组:所有资产相关文件首尾衔接在一起组成的部分,只有通过头文件查询文件索引后,才可以知道文件具体内容。二进制为流式存储,因此约定的数据类型见表4-1~表4-7:表4-1基本数据类型表4-2变长数据类型表4-3FileIndexInfo类型(描述数字资产包中的文件索引相关信息)***表4-4FileInfo类型(描述数字资产包中的文件相关信息)**表4-5AIData(表示可用于AI训练的数据)***表4-6UsdInfo类型(描述OpenUsd资产信息)**0123—*********一一一表4-7封装格式表**********包含多个数字资产项目,详见UsdInfo结构*资产入库/检索数字资产包采用统一的规范,可以通过统一的方式将资产保存到媒资类系统中。具体步骤见图4-3。图4-3资产入库步骤对于检索资产,可以通过资产信息进行全文检索。由于缩略图的头文件中包含了资产的相关信息,因此也可以通过缩略图对资产进行检索。资产存储优化除了传统的存储方案,对于数字资产的封装特性,可以有针对性地进行优化。(1)采用NVMe存储:由于数字资产通常体积较大,因此如果资产有进线(即与生产系统相关)要求,建议使用NVMe存储以提升存取速度。(2)DCC存储优化:通常情况下,数字资产包无法支持直接裸包导入DCC软件中使用,即在不解包的情况下直接使用。如果需要裸包直接进入DCC使用,有两种方式:一是通过开发DCC插件的方式,通过编程方式提取资产文件导入DCC;二是通过如SDPK等存储技术,开发针对数字资产包的文件操作系统,通过POSIX直接提供给DCC使用。数字资产封装的作用通过对OpenUSD的封装,可以扩展OpenUSD作为资产属性的同时,又保障了资产复用与资产交易。针对资产复用方面,通过全文检索以及缩略图检索的方式,在实现了资产解锁的同时也实现了高效的收藏(缩略图体积较小且直观,可直接定位资产位置,不需要把体积巨大的资产文件保存到本地实现了资产复用所需的精准定位。通过利用OpenUSD的Hydra渲染等功能,可以在封装的同时自动生成缩略图、预览视频以及AI数据等高附加值内容,丰富了数字资产的内容。针对资产交易方面,通过对数字资产的加密,充分保证了数字资产本身的安全性;由于数字资产包规范的存在,数字资产可以在不同的异构系统以相同的方式进行入库打包,即只要满足数字资产包规范的相关系统,不需要额外开发,直接可以入库,在促进了数字资产流通的同时又减少沟通成本。4.1.2OpenUSD资产封装在模型资产库的应用对于海量的场景、道具,可使用OpenUSD格式构建资产库,资产库具备广泛的通用性,资产不再局限于某一软件的专属格式,几乎全流程软件支持。通过构建高效的存储框架,OpenUSD可以实现中心化集中存储,最大化发挥资产的高流通性,既快速浏览、快速组合、快速应用。传统的CG资产存储,一般存储DCC源文件加FBX。DCC源文件属于专属格式,无法通过其他手段快速预览,Fbx在转储过程中会丢弃不相关的信息,也就无法做到精准预览。借助OpenUSD的开放性,可以很方便地开发出预览工具,并且由于OpenUSD对资产的数据进行了全部存储,对于OpenUSD无法理解的数据也存储进Metadata,以保证资产数据的完整性。图4-4OpenUSD模型资产库4.1.3OpenUSD资产封装在实时引擎流程中的应用OpenUSD的独特性之一是,它可以描述3D数字场景中的所有数据类型,因此,它可以用来描述实时引擎领域特有的一些资产类型,如植被、地表和贴花等。目前,OpenUSD委员会尚未对实时引擎特有的数据类型制定出统一的3D数据标准。但虚幻等引擎开发厂商,与游戏开发厂商均已在其内部流程中,为OpenUSD扩展出了适用于实时引擎领域的资产描述方式,如图4-5所示。通常来说,实时引擎内特有的数据类型仅在该引擎内部生效,即使将其转换为通用的3D数据标准,其他领域的软件也很难完整解析这部分数据。即便如此,3D数据标准的建立依然有其流程上的必要性。例如当用户从实时引擎中导出植被数据到Maya等软件中时,虽然Maya不能理解“植被”本身,也无法正确解析其中笔刷与剔除等内容,但依然可以编辑其中包含的植被模型与材质等内容。在OpenUSD的标准下,一切当前软件所不能解析的内容都将以“元数据”的形式保存在资产内。而这些“元数据”会随着资产本身原封不动的在各个软件之间流转,直到一个可以正确解析它的环节为止。因此,3D数字资产才得以在整个流程中保持完整,而无需切分成多种不同的数据类型,这也为实时引擎制作流程的工业化打下了基础。图4-5实时引擎流程中的OpenUSD资产封装4.2利用OpenUSD应对大数据量的3D场景4.2.1利用Reference引用机制Reference引用是一个CompositionArcs,是一种可用于创建OpenUSD集的机制,OpenUSD集是由各个OpenUSD资源编译而成的单一复杂资源。通过Reference,可以将同一个图层文件多次加载到单个场景的不同位置,并重复使用场景描述。这样您就可以从外部位置加载场景描述(即模型、资源而无需将其复制到引用层的内容中。比如在图4-6中,右边是一个书模型的OpenUSD资产数据结构,左边是一个场景图的数据结构,可以看到左边的场景Reference引用了三次右边的这同一本书模型,分别放在场景中的不同位置上,而不是像以往那样导入书模型,然后在场景中复制。根据PIXAR关于OpenUSDReference的说明,当打开场景文件时,原书的OpenUSD文件只打开了一次,并由三个Reference书模型共享,这体现了OpenUSD的轻量化功能,当场景具有大数据量的模型时,无疑会提升加载速度。图4-6Reference引用在应用Reference当中,还有一个重要的功能是Payload有效载荷。有效载荷是一个CompositionArcs,也是一种引用。通过Payload加载的数据被记录,但不会在场景层次结构中遍历。如果目标是手动构建一个“工作集”,即整个场景的子集,其中只需要加载场景的一部分,那么在引用时请选择Payload。Payload可以理解为,它为Reference提供了另一种模式:即引用OpenUSD资产后可以先暂时不加载进场景,等到需要用到时再加载。这个模式特别适合处理超大型场景,因为有时某些重要的管道任务可以在不了解或不处理场景中许多或所有资产的所有几何图形和着色的情况下完成。此时如果能在空载的情况下打开场景,就可以避免长时间等待不必要的加载过程,就可以实现快速打开场景执行某些特定任务。在Maya中,可以通过Outliner大纲来执行Reference操作,见图4-7和图4-8。图4-7Maya中的Reference操作1图4-8Maya中的Reference操作24.2.2利用OpenUSD轻量化数据交互图4-9是一个超大面积的复杂场景示例,采用OpenUSD流程后,可缩小大约75%的资源占用,降低文件出错率。图4-9超大面积的复杂场景示例效果预览见图4-10。4.2.3利用OpenUSD存储解算特效数据对于复杂解算的特效效果,在工作流程中利用OpenUSD进行文件交接、流转,可缩短导出时间并压缩导出文件的大小,有利于存储与传输。相比目前传统的数据格式,在通用性和数据大小和时间上有较大的优势。以图4-11为例,在普通镜头帧数范围内(特殊超长镜头情况各异相对于DCC源文件交接或Abc文件交接,使用OpenUSD进行文件导出,可以缩小大约60%的导出大小,提升约50%图4-11解算特效示例以图4-12为例的流体模拟,在普通镜头帧数范围内(特殊超长镜头情况各异)与Abc文件导出相比,导出OpenUSD提升了50%的时间,节约了约20%的空间。图4-12流体模拟示例4.2.4利用OpenUSD进行实时物理模拟上述特效的解算并不是实时进行的,这种方式常用于视频制作流程。但是在某些项目中,比如实时互动的项目,需要进行实时的模拟解算,此时就可以利用OpenUSD的优势,在NVIDIAOmniverse实时平台中实现,见图4-13和图4-14。图4-13利用Omniverse的NeuralVDB结合OpenUSD进行实时仿真图4-14利用Omniverse的Flow技术进行实时仿真4.3利用OpenUSD提高动画迭代效率在3.2.3和3.3.3中介绍了Layer层和VariantSet变体集的概念,下面以Maya为例介绍如何利用OpenUSD的这两个机制提高动画迭代效率。3D影视制作中的动画数据是最常见也是最重要的资产,它体现了创意的灵魂,几乎无处不在,同时它又是流程中最复杂、最庞大的数据集,因此也是制作过程中需要调整和修改最多的环节。这就要求动画工具不仅能够承载大体量数据,还要对动画师的编辑命令做出快速响应。为应对上述需求,行业中运用最多的方法是为原始动画数据做缓存和烘焙,生成轻量化版本的动画数据,用于回放审看,通常称之为Cache版本。Cache版本的数据是无法编辑和修改的,所以动画师的每次修改,都需要在原始动画和Cache版本之间来回切换,在需要大量迭代的动画工作流中,这种切换操作会很频繁,因此需要更加方便的解决方案。另外,当动画师制作完成后,最终的动画数据也需要用Cache版本来传输,传递给其他后续流程。总之,流程中会有两版动画数据,即原始动画数据和对应的Cache版动画数据。在MayaOpenUSD流程中,针对需要调整的3D动画资产,可以利用VariantSet来轻松管理不同版本的动画数据,因为VariantSet最擅长的就是在不同版本之间进行无损切换。MayaOpenUSD会在引用原始动画数据时,自动创建其VariantSet。这样,动画师只需利用右键,就可一键启动Cache,创建CacheOpenUSD变体,并同时自动切换成Cache版本进行回放。接下来在迭代期间,动画师只需右键一键切换回原始动画的引用数据,然后利用动画层来调整动画数据,调整的数据记录在当前的OpenUSD层当中,并不会损害原始动画数据。这也是OpenUSD非破坏性工作流的体现。修改完成后,动画师可以再次一键启动Cache,更新动画的CacheOpenUSD版本,用于回放和传输。整个动画迭代流程都变得简单、高效和方便。MayaOpenUSD引入原始动画数据的方法见图4-15和图4-16。图4-15MayaOpenUSD引入原始动画数据的方法图4-16MayaOpenUSD引入原始动画数据的方法MayaOpenUSD利用右键一键启动Cache,见图4-17。图4-17MayaOpenUSD利用右键一键启动CacheMayaOpenUSD右键一键切换动画数据版本的方法见图4-18。图4-18MayaOpenUSD右键一键切换动画数据版本的方法Layer层机制的另一个好处是,有效管理数据的迭代更新。比如在动画层中记录了当前场景中对原始动画数据的一些编辑调整,假如此时原始动画也需要重新修改,如果是以往的线性工作流,那么当前场景中对原始动画的一些编辑调整就等于白做了,需要等待新的动画数据导入进场景以后,再重新做一遍。但是在OpenUSD流程中就可以避免重做,因为当前场景的编辑数据是记录在独立的层中,是和原始动画数据分开的,因此不管原始动画数据如何更新,它都不受影响。这就是非破坏性工作流的优势,它为流程提供了并行工作的可能性,并有效管理数据的更新迭代,大大提高了效率。4.4实时渲染OpenUSD场景渲染是制作流程的最后成像环节,需要耗费大量的算力,OpenUSD的轻量化特性,可以减少3D场景的数据量,有效提高渲染速度。下面以NVIDIAOmniverse为例,介绍如何实时渲染OpenUSD场景。因为Omniverse采用实时光线追踪和路径追踪并且集成了工业渲染器Iray,结合MDL材质使可视化效果达到真假难辨的地步。并且基于NVIDIARTX渲染器支持多显卡加速,实现单个视口算力堆积,与OpenUSD场景结合体现了高保真的渲染效果。央视纪录片《你好!火星》中利用RTX渲染器进行实时光追渲染的效果见图4-19。图4-19RTX渲染器+OpenUSD场景4.5利用OpenUSD轻便化程序建模传统流程中进行程序化建模,首先在工具中导入大量的模型资产才能进行后续计算。基程序化预览。而OpenUSD的开放性,可以赋予OpenUSD资产更多的标签信息,方便程序化工具OpenUSD资产,以及清晰的标签,后期程序化工具才能更加的得心应手。原始流程见图4-20,在程序化生成场景过程中,无论场景当前是否需要,都需要全量加载所有资产,这就造成了空间浪费。图4-20原始流程OpenUSD流程逻辑见图4-21,仅需要在服务器中搜索OpenUSD索引文件,即可按需加载,节约存储空间。图4-21OpenUSD流程逻辑4.6利用OpenUSD的扩展功能实现自定义管理OpenUSD具有开放和可扩展的特点,为项目流程的自定义提供了方便。利用NVIDIAOmniverse的KIT工具包,使开发人员可以创建新的Omniverse应用程序和扩展,对OpenUSD场景进行自定义应用,见图4-22。例如通过OmniverseKit开发App用于绿幕虚拟拍摄,如图4-23和图4-24所示。图4-22通过OmniverseKit开发基于OpenUSD的应用图4-23通过OmniverseKit开发基于绿幕虚拟拍摄的App图4-24基于Omniverse应用开发打通绿幕虚拟拍摄的流程5利用OpenUSD提高协同能力5.1OpenUSD在团队协同工作中的应用5.1.1OpenUSD非破坏性工作流在图5-1中,右边的书模型被Reference引入场景,一共三次。之后,在场景中的书颜色做了调整,覆盖了原来的颜色,但是这个调整不会影响到书在原始文件中的颜色设置,其他场景对这本书的引用,依然显示原先的颜色设置。这就是非破坏性工作流的体现:下游的调整不会破坏上游的原始数据,为流程提供了灵活的制作手段。假如在这之后,需要调整书的造型,模型师可以只修改原书的OpenUSD文件,那么镜头动画师场景中所有三本书的造型就都自动更新了。这也是Reference与以往导入+复制操作的不同之处:下游的引用数据始终与上游的原始数据保持关联,因此Reference可以提升制作流程的效率,提高团队的协同能力。图5-1非破坏性工作流5.1.2利用OpenUSD的Layer层机制Layer层的概念定义在3.2.3中已经阐述,下面以MayaOpenUSD为例,介绍如何利用Layer层管理场景和流程,提高团队协同的水平。Layer层不仅可以是场景中模型的容器,也可以是流程中各个制作环节的数据的容器。在图3-3中,自下而上分别包括Layout布局层、动画层、vfx特效层、灯光层,这个顺序也代表了制作这个镜头的流程顺序,所有这些层共同组成了一个镜头所包含的完整的场景图。每个层都对应一个独立的OpenUSD文件,也对应了一位艺术家的创作工作。但是和以往不同的是,利用OpenUSD层架构,这些艺术家可以同时并行开展创作,不用等待上游艺术家完成创作。比如模型师还在精雕细刻造型的细节,灯光师就可以开始给场景初步打光,于此同时动画师和特效师也可以同时开展工作。他们的工作成果可以随时更新成相应的OpenUSD文件,基于场景图中的层架构,更新的OpenUSD数据会被自动分别引入进场景图中,不会彼此覆盖,但相互之间又能始终保持正确的逻辑关系。因此并行工作流可大大缩减制作周期。在图5-2的复杂场景中,如果按照传统流程,当一个资产、项目发生改动,即使是微小的改动,也必须将整个文件发送同步,这就造成了时间上的浪费。利用OpenUSD,可以将基础场用OpenUSD层来对场景进行分区编辑,每次仅需要同步修改层,节省了空间与时间。对于后期的二次修改,利用修改层,可以最大化地避免对原始场景的破坏,还能让场景拥有更多变体。图5-2场景汇总小组分区块制作示例见图5-3。图5-3小组分区块制作示例结构分层示例见图5-4。图5-4结构分层示例效果预览见图5-5。图5-5效果预览5.1.3实现OpenUSD场景的异地实时交互因项目需要,当制作团队分布在异地时,就需要结合OpenUSD与实时平台的技术,来解决实时的异地协作。下面以NVIDIAOmniverse为例,介绍异地实时交互的实现。NVIDIAOmniverse是一个完全基于OpenUSD基础架构开发的平台,通过OpenUSD与NVIDIAOmniverse的结合,团队可以实现实时协作。Omniverse平台允许不同地点的用户在同一场景中进行交互和修改,确保所有团队成员都能即时看到最新的更改。这种实时反馈机制对于快速迭代和决策至关重要。在央视纪录片《你好!火星》中,利用了虚幻引擎和Omniverse基于OpenUSD框架进行跨软件多人多软件协同,见图5-7。图5-7利用Omniverse+OpenUSD进行多人协同工作OpenUSD有数据协同、多人协作的特点,NVIDIAOmniverse基于OpenUSD的框架开发了Nucleus组件,Nucleus是NVIDIAOmniverse平台的核心组件,充当数据存储和协作服务的中心,可以实现多人协同快速存储访问OpenUSD数据。其主要功能包括:(1)用户权限管理:给与不同的技术人员不同访问权限;(2)实时协作:支持多用户同时在同一场景中工作,提供实时更新和反馈;(3)数据存储:集中管理所有3D资产和场景数据,简化文件管理。在动漫制作项目中,也可通过OmnvierseConnect实现OpenUSD异地快速同步。图5-8是异地实时交互流程图,图5-9是异地实时交互操作界面示例图。A地制作人员使用Maya修改场中的区块结构,到B地,B地制作人员收到同步提醒,点击同步即可立即在渲染引擎或者DCC软件中同步A地制作的修改结果。图5-8异地实时交互流程图5-9异地实时交互操作界面示例图5.2OpenUSD在云服务中的应用软件服务化(SoftwareasaService又称SaaS,是一个近年来开始兴起的软件应用模式。它是一种通过网络提供软件服务的模式。通过统一将应用软件部署在服务器上,用户根据自己的实际需求,在线按需选用一种或多种软件。在这种模式下,用户不再像传统的软件使用模式一样投入大量时间用于硬件和软件的部署于维护,而只需要访问指定的站点,就可以通过网络享受到软件所提供的服务。在软件服务化的实际落地应用过程中,开发人员所面临的除了软件上云以外,还有来自中央数据存储的挑战。当用户与软件分别存在于多个不同的机器时,云端需要一个中央化的数据库用于执行不同机器之间的3D数字资产版本的同步。而在版本同步的过程中,如果引入多种不同类型的3D数据标准,就会导致不同3D数据标准之间的版本难以得到统一。例如当模型更新了十个版本时,材质可能才刚刚更新到第五个版本。这将给制作人员带来额外的版本匹配的负担,也会给版本的回溯带来困难。OpenUSD全场景描述的特性恰好可以解决这个难题。通过使用统一的3D数据标准,保证中央数据存储中只存在统一的数据格式,就可以以更低的成本解决版本同步的难题,也降低了系统的使用和维护成本。与此同时,本应用指南中所提到的有关OpenUSD的Layer特性,也十分匹配软件服务化与中央数据存储的需求。当附属软件与用户同时编辑同一场景时,常常会出现彼此覆盖对方编辑结果的问题。通过将每个用户与软件的编辑结果存放在对应的Layer中,就可以在非破坏性的前提下,完成多人与多机的实时协作,而后只需要对Layer的优先级进行调整,就可以动态地得到最终的3D数字资产合成结果。图5-10软件化服务5.3利用OpenUSD加强数据安全基于OpenUSD的开放性,可以很好地对3D数字资产进行安全封装。如对最终的二进制封装文件,可以通过定义文件结构进行资产保护。封装流程见图5-11。图5-11封装流程数字资产包结构示例见图5-12。图5-12数字资产包结构示例如需要将一些数字资产与第三方共享时,仅希望在特定平台中使用,就可以使用加密(国密)的OpenUSD资产,搭配特定的导入程序即可做到资产专用,最大化地保证资产安全。5.4OpenUSD在不同软件间的协同应用Unity、Unreal、Blender等),使得不同工具之间的数据交换变得更加顺畅。这种兼容性对于构建复杂的模型场景至关重要,因为它允许团队人员在不同软件环境中自由组合。5.4.1虚幻引擎与DCC软件之间的协同在虚幻引擎的创作流程中,存在着大量仅在编辑器阶段生效的资产与数据类型。这些数据通常与用户界面和编辑模式相关,例如场景中的控制器、资产生成系统中的配置表等。在处理这些数据类型时,用户可以采用和处理运行时数据相似的解决方案。但编辑器数据往往自由度与定制程度都更高,不同的项目组之间所采用的3D数据标准常常大相径庭,这时就可以发挥出OpenUSD可扩展性强的特点,通过对OpenUSD进行适量的改

温馨提示

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

评论

0/150

提交评论