CN115170708A - 3d图像实现方法及系统 - Google Patents

3d图像实现方法及系统 Download PDF

Info

Publication number
CN115170708A
CN115170708A CN202210814010.3A CN202210814010A CN115170708A CN 115170708 A CN115170708 A CN 115170708A CN 202210814010 A CN202210814010 A CN 202210814010A CN 115170708 A CN115170708 A CN 115170708A
Authority
CN
China
Prior art keywords
attribute
defining
extension field
target format
format file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210814010.3A
Other languages
English (en)
Other versions
CN115170708B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202210814010.3A priority Critical patent/CN115170708B/zh
Priority to PCT/CN2022/116577 priority patent/WO2024011733A1/zh
Priority to EP22871072.9A priority patent/EP4328863A4/en
Publication of CN115170708A publication Critical patent/CN115170708A/zh
Priority to US18/131,674 priority patent/US20240009560A1/en
Application granted granted Critical
Publication of CN115170708B publication Critical patent/CN115170708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请公开了一种3D图像实现方法,所述方法包括:在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;根据所述目标格式文件生成3D图像;及根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。本申请提供的技术方案,继承了GLTF格式良好的跨平台性和生态支持,由属性扩展字段提供新增属性,可以满足各类场景的应用。

Description

3D图像实现方法及系统
技术领域
本申请涉及计算机领域,尤其涉及一种3D图像实现方法、系统、计算机设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,三维画面越来越受到广大的用户的青睐。因此,三维模型格式被提出,并广泛应用于直播、游戏等各场景中,实现各种三维可视化设计。然而,现有的三维模型格式跨平台能力不能够满足各类场景的应用。
发明内容
本申请实施例的目的是提供一种3D图像实现方法、系统、计算机设备及计算机可读存储介质,用于解决上述问题。
本申请实施例的一个方面提供了一种3D图像实现方法,所述方法包括:
在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;
根据所述目标格式文件生成3D图像;及
根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
可选的,所述新增属性包括:
定义在所述扩展字段中并用于被节点指向的属性;
定义在所述扩展字段中并无节点指向的属性;和/或
定义在节点中的属性。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义音频文件属性,所述音频文件属性用于被节点指向;
其中,所述音频文件属性用于提供音频片段的文件信息,用于所述音频片段的还原。
可选的,所述音频文件属性包括:
统一资源标识符,用于指示所述音频文件的索引位置;
媒体资源类型,用于指示支持的音频格式;
缓存视图,用于指示所述音频片段的索引位置;
其中,若所述目标格式文件导出为.GLTF文件时,由所述统一资源标识符提供索引位置;若所述目标格式文件导出为.glb文件时,由所述缓存视图提供索引位置。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,还包括:
在所述属性扩展字段中定义音频行为属性;
其中,所述音频行为属性包括一个或多个播放参数,用于控制所述音频片段的播放。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义表情变换属性,所述表情变换属性用于被节点指向;
其中,所述表情变换属性包括材质信息以及用于设置网格混合形状的标表情文件信息。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义碰撞体属性,所述碰撞体属性用于被节点指向;
其中,所述碰撞体属性包括针对碰撞体的一个或多个参数,用于支持碰撞交互。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述节点的属性扩展字段中定义人形骨骼属性,所述人形骨骼属性用于被节点指向;
其中,所述人形骨骼属性包括多个人形骨骼的参数及人形骨骼之间的关系与动作约束。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述节点的属性扩展字段中定义换装属性,所述换装属性用于被节点指向;
其中,所述换装属性包括不同换装方案的列表以及各换装方案的材质参数列表。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义光照贴图属性;
其中,所述光照贴图属性用于指示引擎预先计算场景中的表面亮度的变化。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义元数据属性;
其中,所述元数据属性包括资源描述信息、资源管理信息、法律信息和/或内容参考信息。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义骨骼动力学属性,所述骨骼动力学属性用于被节点指向;
其中,所述骨骼动力学属性用于支持模拟绑定骨骼的物体的动态运动。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义后期处理属性;
其中,所述后期处理属性包括体积组件的属性和支持的后期处理效果的属性。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义动态脚本属性;
其中,所述动态脚本属性包括供引擎执行的字符串,以支持解释运行外部脚本。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义场景渲染属性;
其中,所述场景渲染属性包括用于影响所述场景的一个或多个渲染效果参数。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:在所述属性扩展字段中定义天空盒属性;
其中,所述天空盒属性用于指示引擎创建背景,以对指向的材质进行着色。
可选的,还包括:
在属性扩展字段中定义立方体贴图属性,所述立方体贴图属性在材质里作为贴图类型指向使用;
其中,所述立方体贴图属性包括立方体贴图的布局、纹理映射、各个面的纹理。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义剧情时间轴属性,所述剧情时间轴属性用于被节点指向;
其中,所述剧情时间轴属性用于排列对象的轨道以及创建过场动画和游戏序列。
可选的,所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义精灵属性,所述精灵属性用于被节点指向;
其中,所述精灵属性包括布局、纹理引用、纹理位置、边框、物理形状和/或空间位置。
可选的,所述目标格式文件包括节点;
所述方法还包括:
在所述节点中定义流媒体属性;
其中,所述流媒体属性包括流媒体的URL名称、URL地址以及流媒体格式。
可选的,所述目标格式文件包括节点;
所述方法还包括:
在所述节点中定义资源变量属性;
其中,所述资源变体属性包括变量类型和指向引用字段索引的集合,以支持资源的使用。
可选的,还包括:
定义导入导出方式;
其中,所述导出方式用于定义提供材质参数的导出和/或提供组件参数的导出。
可选的,还包括:
在属性附加字段中定义部分非通用参数,所述属性附件字段挂载在节点或对象下
本申请实施例的一个方面又提供了一种3D图像实现系统,所述系统包括
定义模块,用于在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;
生成模块,用于根据所述目标格式文件生成3D图像;及
实现模块,用于根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上述3D图像实现方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述3D图像实现方法的步骤。
本申请实施例提供的3D图像实现方法、系统、设备及计算机可读存储介质,包括如下优点:
(1)目标格式基于GLTF格式之上开发,继承了GLTF格式良好的跨平台性和生态支持。即在增强GLTF格式能力上,控制其扩展性,创造一种新格式以满足业务和需求。
(2)由属性扩展字段提供新增属性,基于新增属性可以满足各类场景的应用。
附图说明
图1示意性示出了根据本申请实施例的3D图像实现方法的应用环境图;
图2示意性示出了根据本申请实施例一的3D图像实现方法的流程图;
图3-14分别为图2中步骤S200的子步骤流程图;
图15-16示意性示出了根据本申请实施例一的3D图像实现方法的新增步骤流程图;
图17-20分别为图2中步骤S200的子步骤流程图;
图21示意性示出了根据本申请实施例一的3D图像实现方法的新增步骤流程图;
图22示意性示出了根据本申请实施例二的3D图像实现系统的框图;
图23示意性示出了根据本申请实施例三的适于实现3D图像实现方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
为了方便本领域技术人员理解本申请实施例提供的技术方案,下面对相关技术进行说明:
当前了解到的几种3D文件格式有:FBX、DAZ、USD、AssetBundle、Pak、MMD、VRM等。
FBX、DAZ、USD等格式:不能运行时加载,使用它们需要预先在游戏引擎生成中间数据用于运行时渲染,无法直接作为传播载体给到用户端,更适合作为生产工具而不是消费载体仅限于专业领域用专业工具作为生产力的媒介,不适合作为消费载体。
AssetBundle、Pak等格式:与引擎版本强绑定,升级引擎版本会导致所有资源需要重新打包,无法适用于以玩家创作为创意主题的产品。与操作系统强相关,不同平台的资源包不通用,需分别生成。无法作为独立资源进行传播、交易,无法被赋予虚拟资产的价值。无法运行时导出,无法进行再创作修改等,资源不能复用。
MMD(MikuMikuDance)格式:用于3D动画电影场景,仅支持在独家提供的工具中作为工程导出视频,有商用许可限制,无生态链支持其在游戏或vTuber(Virtual YouTuber,虚拟UP主)中的应用。
VRM格式:用于虚拟直播和社交类VR游戏中,但仅包含角色部分数据,无法扩展更大的使用场景,渲染效果差,有区域性限制,如口型适配只有日文,Shader(着色器)仅支持MToon(具有全局照明的卡通着色器)、Unlit(不受光材质的着色器)和PBR(Physicallly-Based Rendering,物理渲染),扩展灵活度差,如不支持动画、不支持场景加载、第三方也无法功能扩展,从而阻碍了vTuber发展。
如上所述,上述几种3D文件格式均具有某些局限性。为了支持玩家创作高自由度的3D场景,并进行分享交易,且使用不受操作系统、工具类型、工具版本等技术因素的影响,本申请提供了一种新文件格式。该格式不受操作系统、工具类型和版本影响,易于使用和创建修改等,方便在运行时进行加载和导出。
本申请提供的技术方案是基于GLTF格式预留的Extensions和Extras字段来开发功能,兼容已有的GLTF文件,确保不破坏标准GLTF的Json Scheme,确保能被其他工具打开并修改;保留常规GLTF工具对该文件的预览性,使得非专用工具也能在一定程度上保留预览和编辑的能力,并且保证文件最小的数据结构,支持字段使用缺省数据;不需要大量复用的数据在Extra字段中保存,具备很强通用性且有很强复用性的保存在Extension。
以下为本申请的术语解释:
3D(ThreeDimensional,三维)图像,是图像文件的其中一种,用于存储关于三维模型的信息。3D图像包括三维模型、3D动画、3D项目文件。3D图像可以包括三维软件所解释的三维空间中的多边形和顶点组成的模型信息,其中,可能还包含颜色、纹理、几何形状、光源以及阴影等信息。3D图像文件格式可以用于VR、3D打印、游戏、电影特效、建筑、医药以及其它相关场景中。
GLTF(Graphics Language Transmission Format,图形语言交换格式):三维计算机图形格式和标准,其支持储存三维模型、外观、场景及动画,是用于3D资产(Asset)的简化的、可互操作的格式,最大限度地减少应用程序的文件大小和处理难度。GLTF资产是JSON文件加上支持的外部数据。具体来说,GLTF资产包含完整场景描述的JSON格式文件(.GLTF):节点层次结构、材质、相机以及网格、动画和其他构造的描述符信息;包含几何和动画数据以及其他基于缓冲区的数据的二进制文件(.bin);和纹理(.jpg、.png)。场景中3D对象是使用连接到节点的meshes(网格)定义的。材质则用于定义对象的外观。Animations(动画)描述3D对象如何随着时间的推移转换3D对象。Skins(蒙皮)定义了对物体的几何形状的方式基于骨架姿势变形。Cameras(相机)描述了渲染器的视图配置。
资源:可以包括图片、Shader(着色代码)、材质、模型、动画等。
材质(Material),为表现物体对光的交互,供渲染器读取的数据集,包括贴图、光照算法等。
纹理(Texture),为一段有规律、可重复的位图,是基本的数据输入单位。
贴图(Map),包括纹理以及其他很多信息,如纹理坐标集、贴图输入输出控制等。贴图包括多种形式,如光照贴图、环境贴图、反射贴图等。其中,光照贴图用于模拟物体表面的光照效果。环境贴图包括六个纹理,以及对应的纹理坐标集。
纹理贴图(Texture mapping),通过坐标集(如UV坐标)将纹理映射到三维物体的表面。
AssetBundle:Unity支持的一种文件储存格式,也是Unity官方推荐的资源存储与更新方式,它可以对资源(Asset)进行压缩,分组打包,动态加载,以及实现热更新。
FBX:是FilmBoX软件所使用的格式,后改称Motionbuilder。FBX可以用在诸如Max、Maya、Softimage等软件间进行模型、材质、动作和摄影机信息的互导。
DAZ:是由建模程序DAZ Studio创建的3D场景的文件格式。
USD(Universal Scene Description,通用场景描述),是Pixar提供的基于动画制作电影全流程的文件格式。
Pak:是GOM引擎自定义图片资源格式。
VRM(Virtual Reality Modeling,虚拟现实建模):为一种虚拟3D人形的模型格式。
Avatar:为人形态的3D角色模型。
Metaverse:元宇宙,或称为后设宇宙、形上宇宙、超感空间、虚空间,是聚焦于社交链接的3D虚拟世界之网络。元宇宙可以涉及持久化和去中心化的在线三维虚拟环境。
游戏引擎:指一些已编写好的可编辑电脑游戏系统或交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、MacOS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和3D图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
下面通过示例性的应用环境说明本申请各个实施例提供的技术方案。
请参考图1,其示出了根据本申请实施例的3D图像实现方法的应用环境图。计算机设备2可以被配置为运行和处理3D文件。计算机设备2可以包括可以任何类型的计算设备,如:智能手机、平板设备、膝上型计算机、虚拟机等。
计算机设备2可以运行Windows系统、安卓(AndroidTM)系统或iOS系统等操作系统。另外,用户还可以根据需要安装各种应用程序,例如安装用于制作3D游戏、3D动画、3D视频等的SDK(Software Development Kit,软件开发工具包)。
下文,本申请将提供一种3D图像实现方法、系统、计算机设备和计算机可读存储介质。
实施例一
图2示意性示出了根据本申请实施例一的3D图像实现方法的流程图。
如图2所示,该3D图像实现方法可以包括步骤S200~S204,其中:
步骤S200,在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到。
步骤S202,根据所述目标格式文件生成3D图像。
步骤S204,根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
GLTF格式中,定义有构成3D图像的多种元素,如:场景(Scene)、节点(Node)、网格(Mesh)、相机(Camera)、材质(Material)、纹理(Texture)、蒙皮(Skin)。
场景,为场景结构描述条目,通过引用一个或多个节点定义场景图。
节点,挂载在场景下。节点可以引用子节点、网格、相机,以及描述网格变换的蒙皮等。
网格,用于描述场景中出现的3D对象的网格数据,
相机,为用于渲染场景的视锥体配置。
上述这些元素均有一个或多个属性。属性用于定义相应元素的性质、特征、特性、描述等。
以节点为例,其属性表可以包括:相机、子节点、蒙皮、矩阵、网格、四元数旋转、缩放比、位置信息、网格的权重数组、名称、属性扩展字段、属性附加字段。
在本申请实施例中,在所述GLTF格式的基础之上,提供一个新的3D文件格式(目标格式)。
在该目标格式中,继承了GLTF格式支持的全部功能及效果,并在不破坏GLTF格式结构的前提下,利用属性扩展字段和属性附加字段定义所述目标格式的新增属性。
在示例性应用中,所述新增属性包括:定义在所述扩展字段中并用于被节点指向的属性;定义在所述扩展字段中并无节点指向的属性;和/或定义在节点中的属性。
在示例性应用中,所述新增属性可以包括音频文件属性、音频行为属性、表情变换属性、碰撞体属性、人形骨骼属性、换装属性、光照贴图属性、元数据属性、骨骼动力学属性、后期处理属性、动态脚本属性、场景渲染属性、天空盒属性、立方体贴图属性、剧情时间轴属性、精灵属性、流媒体属性、资源变量属性、导出属性等。当然,还可以包括引擎或web支持的其他属性,支持更多效果和功能。
提供基于目标格式(新的3D文件格式)的目标格式文件具有以下优势:
(1)目标格式基于GLTF格式之上开发,继承了GLTF格式良好的跨平台性和生态支持。即在增强GLTF格式能力上,控制其扩展性,创造一种新格式以满足业务和需求。
保留了常规GLTF工具对该目标格式文件的预览性,降低对该新的3D文件格式对专用工具的依赖,即使不用特定的SDK,也能在一定程度上保留预览和编辑的能力,并且保证目标格式文件最小的数据结构,支持字段使用缺省数据。不受操作系统、工具类型和版本影响,易于使用和创建修改等,方便在运行时加载和导出。
(2)由属性扩展字段提供新增属性,不破坏GLTF格式的Json Scheme,兼容GLTF格式文件。
(3)由属性扩展字段提供新增属性,基于新增属性可以满足各类场景的应用。
需要说明是,为了优化目标格式文件的加载速度和降低对内存的占用,提供了两套不同的加载机制,用于适配不同的使用场景,即:不需要大量复用的属性信息在属性附加字段中保存,具备通用性和很强复用性的保存在属性扩展字段中。
以下通过多个可选实施例,介绍所述目标格式文件中的新增属性。
作为可选的实施例,所述目标格式文件可以支持音频功能。
如图3所示,所述步骤S200可以包括:步骤S300,在所述属性扩展字段中定义音频文件属性;
其中,所述音频文件属性用于提供音频片段的文件信息,用于所述音频片段的还原。
所述音频文件属性可以被节点指向,从而被节点所使用。
其中,所述音频文件属性可以包括:
统一资源标识符(uri),用于指示所述音频文件的索引位置;
媒体资源类型(mimeType),用于指示支持的音频格式;
缓存视图(bufferView),用于指示所述音频片段的索引位置;
其中,若所述目标格式文件导出为.gltf文件时,由所述统一资源标识符提供索引位置;若所述目标格式文件导出为.glb文件时,由所述缓存视图提供索引位置。
如表1所示,定义在属性扩展字段中的音频文件属性包括如下信息:
Figure BDA0003740362650000071
Figure BDA0003740362650000081
表1
目标格式文件的导出格式有两种后缀格式可供选择:.gltf和.glb。在导出单独的.gltf文件时,uri被使用到;在导出为.glb文件,则将通过bufferView字段存储信息。需要说明的是,后续可以针对不同的导出类型定义更多的后缀,如根据纯人物模型或者场景,去给文件定义不同的后缀,以此作为功能性的区分。
mimeType指定音频格式,如支持的WAV、OGG。
基于该新增的音频文件属性,可以以WAV或OGG的形式在Unity中导出音频片段。默认情况下,短音频剪辑可以导出为WAV,长音频剪辑可以压缩并导出为OGG。
作为可选的实施例,所述目标格式文件可以支持音频控制功能。
如图4所示,所述步骤S200可以包括:步骤S400,在所述属性扩展字段中定义音频行为属性;
其中,所述音频行为属性包括一个或多个播放参数,用于控制所述音频片段的播放。
节点在引用所述音频文件属性的基础之上,还可以进一步引用所述音频行为属性。
如表2所示,定义在属性扩展字段中的音频行为属性包括如下信息:
Figure BDA0003740362650000082
Figure BDA0003740362650000091
表2
作为可选的实施例,所述目标格式文件可以支持表情变换功能。
如图5所示,所述步骤S200可以包括:步骤S500,在所述属性扩展字段中定义表情变换属性;
其中,所述表情变换属性包括材质信息以及用于设置网格混合形状的标表情文件信息。
所述表情变换属性可以被节点指向,从而被节点所使用。
如表3所示,定义在属性扩展字段中的表情变换属性包括如下信息:
Figure BDA0003740362650000092
Figure BDA0003740362650000101
表3
其中,blendShapeValues定义一映射表,记录有多个网格变换对表情变换的权重。materialVector4Values定义一个列表,记录有四个分量矢量(如,网格切线、着色器)的多组材质参数。materialColorValues定义另一列表,记录有表示颜色的多组材质参数。materialFloatValues定义另一列表,其包括float类型的多组材质参数。
当导出表情变换组件时,必要的信息将作为扩展导出,然后在节点下引用这些信息。
作为可选的实施例,所述目标格式文件可以支持碰撞效果。
如图6所示,所述步骤S200可以包括:步骤S600,在所述属性扩展字段中定义碰撞体属性;
其中,所述碰撞体属性包括针对碰撞体的一个或多个参数,用于支持碰撞交互。
所述碰撞体属性可以被节点指向,从而被节点所使用。
如表4所示,定义在属性扩展字段中的碰撞体属性包括如下信息:
Figure BDA0003740362650000102
Figure BDA0003740362650000111
表4
作为可选的实施例,所述目标格式文件可以支持人形骨骼效果。
如图7所示,所述步骤S200可以包括:步骤S700,在所述属性扩展字段中定义人形骨骼属性;
其中,所述人形骨骼属性包括多个人形骨骼的参数及人形骨骼之间的关系与动作约束。
所述人形骨骼属性可以被节点指向,从而被节点所使用,该节点对应实际的人形骨骼点。
该人形骨骼属性定义了Humanoid(人形)模型使用的Avatar(虚拟人物)。
任何作为Humanoid动画类型导入的模型都可以生成Avatar资源,其中存储驱动Animator的信息。
Avatar系统用于告诉游戏引擎如何识别特定的动画模型在布局上是人形,以及模型的哪些部分对应于腿、手臂、头部和身体,在这一步之后,动画数据可以被“重用”。需要说明的是,由于不同人形角色之间骨骼结构的相似性,可以将动画从一个人形角色映射到另一个人形角色,从而实现重定位和反向运动学。
如表5所示,定义在属性扩展字段中的人形骨骼属性包括如下信息:
Figure BDA0003740362650000112
Figure BDA0003740362650000121
表5
其中,humanBones记录多个关节,以及各个关节(如颈、头)之间连接和空间变换关系。
节点在引用所述人形骨骼属性的基础之上,还可以进一步引用所述骨骼变化属性。
所述骨骼变化属性还包括如表6所示内容。
Figure BDA0003740362650000122
Figure BDA0003740362650000131
表6
作为可选的实施例,所述目标格式文件可以支持换装功能。
如图8所示,所述步骤S200可以包括:步骤S800,在所述属性扩展字段中定义换装属性;
其中,所述换装属性包括不同换装方案的列表以及各换装方案的材质参数列表。
所述换装属性可以被节点指向,从而被节点所使用。
在有Avatar的前提下,节点可以引用/指向所述换装属性,从而支持人物的换装。
换装系统是通过更改网格可见性或网格上的材质来实现的。
如表7-9所示,定义在属性扩展字段中的换装属性包括如下信息:
类型 描述 是否必需
dressUpConfigs GLTFDress 换装方案集合
表7
Figure BDA0003740362650000132
表8
Figure BDA0003740362650000133
Figure BDA0003740362650000141
表9
其中,表7为换装方案集合,表8为每个换装方案的信息,表9为单个换装包含的改动。
作为可选的实施例,所述目标格式文件可以支持光照贴图效果。
如图9所示,所述步骤S200可以包括:步骤S900,在所述属性扩展字段中定义光照贴图属性;
其中,所述光照贴图属性用于指示引擎预先计算场景中的表面亮度的变化。所述光照贴图属性在所述属性扩展字段中定义,不需要在其他对象中指向。
如表10所示,定义在属性扩展字段中的光照贴图属性包括如下信息:
Figure BDA0003740362650000142
表10
其中,每个贴图存储有用户场景照明的不同信息。
如,LightmapTextureInfo[]包括:入射光颜色(必需)、入射光主要方向(必需)、每个灯的遮挡遮罩(非必需)等。
作为可选的实施例,所述目标格式文件可以支持管理,以扩展支持基于元素的管理等。
如图10所示,所述步骤S200可以包括:步骤S1000,在所述属性扩展字段中定义元数据属性;
其中,所述元数据属性包括资源描述信息、资源管理信息、法律信息和/或内容参考信息。所述元数据属性在所述属性扩展字段中定义,不需要在其他对象中指向。
资源描述信息:用于发现和识别,可以包括标题、摘要、作者和关键字等元素。按顺序排列以形成章节。它描述了数字资料的类型、版本、关系和其他特征。
资源管理信息:用于管理资源的信息,如资源类型、权限。
法律信息:提供有关创建者、版权所有者和公共许可的信息。
内容参考信息:关于内容的信息。
如表11所示,定义在属性扩展字段中的元数据属性包括如下信息:
Figure BDA0003740362650000151
表11
作为可选的实施例,所述目标格式文件可以支持基于骨骼动力学的动画。
如图11所示,所述步骤S200可以包括:步骤S1100,在所述属性扩展字段中定义骨骼动力学属性;
其中,所述骨骼动力学属性用于支持模拟绑定骨骼的物体的动态运动。
所述骨骼动力学属性用于被节点指向,从而被节点所使用。
在示例性应用中,可以模拟裙子、头发、挂坠等跟随骨骼、身体的运动而运动。
作为可选的实施例,所述目标格式文件可以支持后期处理,以扩展支持后期处理功能等。
如图12所示,所述步骤S200可以包括:步骤S1200,在所述属性扩展字段中定义后期处理属性;
其中,所述后期处理属性包括体积组件的属性和支持的后期处理效果的属性。
所述后期处理属性可以被节点指向,从而被节点所使用。
体积组件包括控制它们如何影响相机以及如何与其他体积交互的属性。它是一种作用于全屏的效果,用于3D渲染,可以改善渲染效果,并且只需很少的时间设置。
以下描述了一个体积组件的属性:
如表12所示,一个体积组件的属性包括如下信息:
Figure BDA0003740362650000161
表12
通过配置文件ID,可以指定用哪个效果。
无论全局生成还是局部生效,均需要被节点指向,以服务于指定该后期处理属性的节点。
其中,支持的后期处理效果可以包括:环境光遮蔽、绽放、混音器、色差、颜色调整、颜色曲线、景深、胶片颗粒、镜头失真、提升、伽玛和增益、运动模糊、帕尼尼(Panini)投影、阴影中间调亮点、分割色调、色调映射、渐晕、白平衡。
各个后期处理效果可以在属性扩展字段定义相应的属性。
以渐晕为例,渐晕是指与中心相比,图像边缘变暗和/或去饱和。渐晕包括表13中的属性。
Figure BDA0003740362650000162
Figure BDA0003740362650000171
表13
作为可选的实施例,所述目标格式文件可以执行动态脚本,如热更新。
如图13所示,所述步骤S200可以包括:步骤S1300,在所述属性扩展字段中定义动态脚本属性;
其中,所述动态脚本属性包括供引擎执行的字符串,以支持解释运行外部脚本。所述动态脚本属性在所述属性扩展字段中定义,不需要在其他对象中指向。
在示例性应用中,上述字符串可以指向外部脚本,如Puerts、Lua脚本等。
接收渲染事件和来自输入设备的事件,脚本引擎在接收到相应的事件后执行脚本。
所述事件可以包括:物体渲染第一帧、物体组件开启、物体组件关闭、销毁、每一帧更新、所有物体更新之后、按照时间定期调用。
再者,所述事件还可以包括手动触发的事件,例如由以下设备触发的事件:键盘、鼠标、操纵杆、控制器、触摸屏、运动感应功能(如加速度计或陀螺仪)、VR(VirtualReality,虚拟现实)和AR(Augmented Reality,增强现实)控制器等。
作为可选的实施例,所述目标格式文件可以支持场景渲染。
如图14所示,所述步骤S200可以包括:步骤S1400,在所述属性扩展字段中定义场景渲染属性;其中,所述场景渲染属性包括用于影响所述场景的一个或多个渲染效果参数。所述场景渲染属性在所述属性扩展字段中定义,不需要在其他对象中指向。
如表14所示,定义在属性扩展字段中的场景渲染属性包括如下信息:
Figure BDA0003740362650000172
Figure BDA0003740362650000181
表14
作为可选的实施例,所述目标格式文件可以支持天空盒效果。
如图15所示,所述步骤S200可以包括:步骤S1500,在所述属性扩展字段中定义天空盒属性;其中,所述天空盒属性用于指示引擎创建无边际的背景显示,以对指向的材质进行着色。所述天空盒属性在所述属性扩展字段中定义,不需要在其他对象中指向。如表15所示,定义在属性扩展字段中的天空盒属性包括如下信息:
类型 描述 是否必需
material id 使用天空盒着色器的材质
表15
以视频游戏关卡为例,当使用天空盒时,关卡被封闭在一个长方体中。天空、远处的山脉、远处的建筑物和其他无法到达的物体被投影到立方体的表面上,创造出远处3D环境的错觉。天穹等同理,使用球体或半球体而不是立方体。
作为可选的实施例,所述目标格式文件可以支持立方体贴图效果。
如图16所示,所述方法还可以包括:步骤S1600,在属性扩展字段中定义立方体贴图属性;
其中,所述立方体贴图属性包括立方体贴图的布局、纹理映射、各个面的纹理。
所述立方体贴图属性不是被节点所指向,而是在材质里作为一种特殊贴图类型指向使用。
如表16所示,立方体贴图属性可以包括如下信息:
Figure BDA0003740362650000191
表16
立方体贴图是六个方形纹理的集合,代表环境中的反射。六个正方形组成了一个围绕一个物体的假想立方体的面;每个面代表沿世界轴方向(上、下、左、右、前、后)的视图。图像类型(imageType)包括:一行或一列中的6个正方形拼接而成纹理(宽高比6:1或1:6)、全景图像(宽高比2:1)3种。
作为可选的实施例,所述目标格式文件可以实现基于剧情时间轴的操作。
所述目标格式文件包括节点,将剧情时间轴属性挂载在节点下,以扩展剪辑功能等。
如图17所示,所述步骤S200可以包括:步骤S1700,在所述属性扩展字段中定义剧情时间轴属性;
其中,所述剧情时间轴属性用于排列对象的轨道以及创建过场动画和游戏序列。
所述剧情时间轴属性可以被节点指向,从而被节点所使用。
所述剧情时间轴属性可以包括如下信息:
轨道资源的名称;
动画轨道组,描述动画轨道;
音频轨道组,描述音频轨道;
表情变换的轨道组(通常用于面捕表情的动画),描述表情变换;
材质参数曲线轨道组,曲线会随着时间进行输出值的变化(float浮点数类型的参数),描述材质变化;
材质参数曲线轨道组,曲线会随着时间进行输出值的变化(Color颜色类型的参数),描述颜色变化;
材质参数轨道组(int整数类型的参数),描述材质;
材质参数轨道组(Color类型的参数),描述颜色;
材质参数轨道组(Vector4类型的参数),描述Vector4;
材质参数轨道组(Texture2D贴图类型的参数),描述Texture2D(纹理);
物体是否激活,bool类型,描述物体是否激活;
组件是否激活,bool类型,描述组件是否激活;
整个轨道的长度,浮点类型,描述轨道长度。
其中,所有的轨道都包括以下几个参数:资源名称、开始时间、结束时间、资源ID。其中,资源ID用于指定数据源的下标位置,可能是动画,贴图,音频等数据。
其中,轨道参数可以包括:轨道名称(string类型,非必需)、开始时间(浮点类型、必需)、结束时间(浮点类型、必需)。
其中,可以通过一个泛型类型表示每一个类别的轨道组里包含的子轨道数据,如描述一个类别下的所有子轨道集合。
继承指定泛型的类型后即可得到不同类型的轨道数据类,如表示动画和音频的两个轨道组。
对于材质Curve曲线参数类,可以均继承自泛型类型,例如:指定了使用渲染器上多个材质的其中一个材质、是否在执行结束后再反向执行一遍、曲线数据。
表情变换的曲线,用于平滑的进行人物面捕表情转换。
材质的浮点参数曲线,可以基于时间不停更新材质的浮点类型参数,包括:要设置的材质参数名。
材质的颜色参数曲线,基于时间不停更新材质的颜色类型参数,继承自上述类,如可以包括:开始和结束时的颜色值。基于时间进行插值运算,持续更新进行每一帧颜色。
获取到指定节点上的动画组件,只有节点ID会被导出,其余变量在加载时创建。
在节点使用所述剧情时间轴属性中的参数时,可以指定该述剧情时间轴的播放行为,其中,控制播放行为的播放参数可以包括:ID(描述轨道名称、必需)、是否加载后即自动进行播放(bool类型,非必需)、是否循环播放(bool类型,非必需)。
作为可选的实施例,所述目标格式文件可以实现精灵的操作,以扩展纹理管理和组合等。
如图18所示,所述步骤S200可以包括:步骤S1800,在所述属性扩展字段中定义精灵属性;
其中,所述精灵属性包括布局、纹理引用、纹理位置、边框、物理形状和/或空间位置。
所述精灵属性可以被节点指向,从而被节点所使用。
如表17所示,定义在属性扩展字段中的精灵属性可以包括如下信息:
Figure BDA0003740362650000201
Figure BDA0003740362650000211
表17
精灵(Sprite)是二维图形对象。在三维场景下,精灵一般为标准纹理。通过上述精灵属性可以组合和管理纹理,以便在开发过程中提高效率和便利性。
作为可选的实施例,所述目标格式文件可以实现流媒体的播放与控制,以扩展剪辑功能等。
如图19所示,所述步骤S200可以包括:步骤S1900,在节点中定义流媒体属性;
其中,所述流媒体属性包括流媒体的URL(uniform resource locator,统一资源定位符)名称、URL地址以及流媒体格式。
如表18所示,定义在属性扩展字段中的流媒体属性可以包括如下信息:
Figure BDA0003740362650000212
Figure BDA0003740362650000221
表18
作为可选的实施例,所述目标格式文件可以支持其他文件的使用。
所述目标格式文件包括节点,将资源变量属性挂载在节点下,以扩展其他使用其他文件。
如图20所示,所述步骤S200可以包括:步骤S2000,在节点中定义资源变量属性;
其中,所述资源变量属性包括变量类型和指向引用字段索引的集合,以支持资源的使用。
如表19所示,定义在属性扩展字段中的资源变量属性可以包括如下信息:
类型 描述 是否必需
type enum 变量类型
collections List<id> 指向引用字段索引的集合
表19
资源变量属性,用于支持将一些当前不使用,但将来可能会使用到的资源。示例性的,这些资源可以是纹理、立方体贴图、材质、音频片段、动画片段、光照贴图。
作为可选的实施例,所述方法还包括:
在属性附加字段中定义部分非通用参数,所述属性附件字段挂载在节点或对象下。
所述非通用参数是相对于通用参数,是指诸如不具有全局性、更新迭代频繁的参数。
在本实施例的目标格式中,除常规字段之外,包括属性扩展字段(Extensions)和属性附加字段(Extras)。所述目标格式中的常规字段与GLTF格式的字段相同,确保所述目标格式对GLTF格式的兼容。属性附加字段用于添加非通用化的一些信息。属性扩展字段为通用标准话内容的信息承载,属性附加字段则用于非标准,不具有通用性的信息补充。属性附件字段通常挂载在某个节点或对象下面,提供特定的功能性补充。如以下这些属性信息可以记录到Extras中,如少数引擎支持的组件的属性,或经常更新的组件的属性(部分组件更新后,其属性命名更改或添加新字段)。并提供代码生成器用以生成序列化和反序列化代码,方便了使用该SDK(软件开发工具包)的用户定制非通用的的功能性补充。所述属性扩展字段,则用于记录强通用性的信息。即,所述属性扩展字段中记录的属性比所述属性附加字段中记录的属性更通用,复用性更强。
举例而言,以下这些属性信息可以记录到Extras中:
(1)人形骨骼的属性(名称)。
(2)相机的其余的必要信息,以便更好的支持实际场景的还原。
(3)自定义材质的信息,以保证能被其他工具使用。
(4)UI信息。
目前受支持的信息有动画,声音,相机,灯光,材质,物理,渲染等类型的组件均有信息导出,自定义的脚本公开访问的变量也支持使用代码生成工具导出。
作为可选的实施例,所述目标格式文件可以实现自定义的导入导出,以扩展导出功能等。
如图21所示,所述方法可以包括:步骤S2100,定义导入导出方式;
其中,所述导出方式用于定义提供材质参数的导出和/或提供组件参数的导出。
例如:指定类型(如,着色器类型),以及定义导出的各项材质参数信息。
再如:在节点下导出为附加字段信息,如:指定组件类型(如,动画),以及导出的各项公共参数信息。
根据上文内容可知,相对于GLTF格式,本实施例提供的目标格式定义大量新增属性,以支持大量功能或效果的实现,如下:
(1)兼容标准GLTF格式,即支持Scene,Node,Mesh,Material,Texture等信息记录。
(2)支持标准GLTF格式的扩展,如KHR_lights_punctualExtension,KHR_materials_unlit,KHR_materials_clearcoat等官方材质扩展,且描述更加细化。
(3)支持标准GLTF格式的灯光导入导出等官方功能扩展,且描述更加细化。
(4)相机导入导出添加额外的渲染所需特定数据,但仍保留标准GLTF格式中相机的支持,以便被标准的GLTF工具所使用。
(5)支持碰撞体,如:球形、方形、圆柱形、胶囊形等碰撞。
(6)支持自定义材质类型的导入导出扩展。
(7)支持骨骼蒙皮数据导出。
(8)支持表情变换的网格形变,可用于Avatar面部表情捕捉的变换。
(9)支持动画,包含物体的空间位置(位置,旋转,大小)和表情变换的变换。
(10)支持记录人体骨架数据,用于通用的人形动画和动作捕捉。
(11)支持换装。
(12)支持音频。
(13)添加URL数据导出。
(14)支持流媒体视频播放,URL引用各种外部资源(包括网络文件,流媒体,本地文件)。
(15)支持元数据管理等,用于决定可以在哪些用途下使用该模型,比如是否允许使用在轻微色情或暴力活动上。
(16)支持表情混合输出。
(17)支持剧情时间轴,可以基于时间轴实现各种动画的混合,包括动画、声音、表情控制,物体的可见性,材质参数等。
(18)支持天空盒。
(19)支持后期处理。
(20)支持骨骼动力学(头发和衣服物理系统)。
(21)支持制作喷漆、贴花。
(22)支持基于网格的文字显示
(23)支持Draco,Draco是一个开源网格压缩标准。
(24)支持立方体贴图。
(25)支持精灵,用于2D渲染或者UI。
(26)支持光照贴图。
(27)支持事件系统。
为了使得本申请的优势更加清晰明白,以下提供VRM格式和目标格式的对照。
VRM(virtual reality modeling,虚拟现实模型),也是基于GLTF发展而来的一种3D文件格式。VRM文件允许所有支持的应用程序运行相同的虚拟化身数据(3D模型)。
作为均是基于GLTF格式发展而来的新格式,目标格式相对于VRM格式有如下优势:
兼容GLTF格式,可以在各个游戏引擎,WebGL上使用,可被专业设计软件打开编辑(如Maya、Blender、C4D等)。
支持场景导出,动画,多媒体,天空盒,网格压缩,自定义材质参数和脚本参数等均支持,功能性可以不断扩展。
跨系统,工具,版本兼容支持,一个文件兼容所有的设备,只需拥有Runtime,不受引擎版本,目标运行设备影响,非常适合作为交换介质在商店上架,打造生态。
材质可以自行选择,确立属于自己的标准规范,且包含了代码生成工具,可以应对快速的变换需求。
可针对业务灵活定制组件或用户端自定义逻辑,这些数据也可以导出到文件,例如可以将一个VR女友的应用放到文件里被程序框架加载,而非独立生成应用,便于长远的业务发展和生态建设。
详细如下表20。
Figure BDA0003740362650000241
Figure BDA0003740362650000251
Figure BDA0003740362650000261
表20
实施例二
图22示意性示出了根据本申请实施例二的3D图像实现系统的框图。该3D图像实现系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图22所示,该3D图像实现系统2200可以包括定义模块2210、生成模块2220和实现模块2230,其中:
定义模块2210,用于在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;
生成模块2220,用于根据所述目标格式文件生成3D图像;及
实现模块2230,用于根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
在可选的实施例中,所述新增属性包括:
定义在所述扩展字段中并用于被节点指向的属性;
定义在所述扩展字段中并无节点指向的属性;和/或
定义在节点中的属性。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义音频文件属性,所述音频文件属性用于被节点指向;
其中,所述音频文件属性用于提供音频片段的文件信息,用于所述音频片段的还原。
在可选的实施例中,所述音频文件属性包括:
统一资源标识符,用于指示所述音频文件的索引位置;
媒体资源类型,用于指示支持的音频格式;
缓存视图,用于指示所述音频片段的索引位置;
其中,若所述目标格式文件导出为.GLTF文件时,由所述统一资源标识符提供索引位置;若所述目标格式文件导出为.glb文件时,由所述缓存视图提供索引位置。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义音频行为属性;
其中,所述音频行为属性包括一个或多个播放参数,用于控制所述音频片段的播放。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义表情变换属性,所述表情变换属性用于被节点指向;
其中,所述表情变换属性包括材质信息以及用于设置网格混合形状的标表情文件信息。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义碰撞体属性,所述碰撞体属性用于被节点指向;
其中,所述碰撞体属性包括针对碰撞体的一个或多个参数,用于支持碰撞交互。
在可选的实施例中,所述定义模块2210,还用于:
在所述节点的属性扩展字段中定义人形骨骼属性,所述人形骨骼属性用于被节点指向;
其中,所述人形骨骼属性包括多个人形骨骼的参数及人形骨骼之间的关系与动作约束。
在可选的实施例中,所述定义模块2210,还用于:
在所述节点的属性扩展字段中定义换装属性,所述换装属性用于被节点指向;
其中,所述换装属性包括不同换装方案的列表以及各换装方案的材质参数列表。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义光照贴图属性;
其中,所述光照贴图属性用于指示引擎预先计算场景中的表面亮度的变化。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义元数据属性;
其中,所述元数据属性包括资源描述信息、资源管理信息、法律信息和/或内容参考信息。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义骨骼动力学属性,所述骨骼动力学属性用于被节点指向;
其中,所述骨骼动力学属性用于支持模拟绑定骨骼的物体的动态运动。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义后期处理属性;
其中,所述后期处理属性包括体积组件的属性和支持的后期处理效果的属性。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义动态脚本属性;
其中,所述动态脚本属性包括供引擎执行的字符串,以支持解释运行外部脚本。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义场景渲染属性;
其中,所述场景渲染属性包括用于影响所述场景的一个或多个渲染效果参数。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义天空盒属性;
其中,所述天空盒属性用于指示引擎创建背景,以对指向的材质进行着色。
在可选的实施例中,所述定义模块2210,还用于:
在属性扩展字段中定义立方体贴图属性,所述立方体贴图属性在材质里作为贴图类型指向使用;
其中,所述立方体贴图属性包括立方体贴图的布局、纹理映射、各个面的纹理。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义剧情时间轴属性,所述剧情时间轴属性用于被节点指向;
其中,所述剧情时间轴属性用于排列对象的轨道以及创建过场动画和游戏序列。
在可选的实施例中,所述定义模块2210,还用于:
在所述属性扩展字段中定义精灵属性,所述精灵属性用于被节点指向;
其中,所述精灵属性包括布局、纹理引用、纹理位置、边框、物理形状和/或空间位置。
在可选的实施例中,所述目标格式文件包括节点;
所述定义模块2210,还用于:
在所述节点中定义流媒体属性;
其中,所述流媒体属性包括流媒体的URL名称、URL地址以及流媒体格式。
在可选的实施例中,所述目标格式文件包括节点;
所述定义模块2210,还用于:
在所述节点中定义资源变量属性;
其中,所述资源变体属性包括变量类型和指向引用字段索引的集合,以支持资源的使用。
在可选的实施例中,所述定义模块2210,还用于:
定义导入导出方式;
其中,所述导出方式用于定义提供材质参数的导出和/或提供组件参数的导出。
在可选的实施例中,所述定义模块2210,还用于:
在属性附加字段中定义部分非通用参数,所述属性附件字段挂载在节点或对象下。
实施例三
图23示意性示出了根据本申请实施例三的适于实现3D图像实现方法的计算机设备2的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板设备、膝上型计算机、虚拟机等。如图23所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(FlashCard)等。当然,存储器10010还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如3D图像实现方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图23仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的3D图像实现方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例四
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的3D图像实现方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中3D图像实现方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (26)

1.一种3D图像实现方法,其特征在于,包括:
在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;
根据所述目标格式文件生成3D图像;及
根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
2.根据权利要求1所述的3D图像实现方法,其特征在于,所述新增属性包括:
定义在所述扩展字段中并用于被节点指向的属性;
定义在所述扩展字段中并无节点指向的属性;和/或
定义在节点中的属性。
3.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义音频文件属性,所述音频文件属性用于被节点指向;
其中,所述音频文件属性用于提供音频片段的文件信息,用于所述音频片段的还原。
4.根据权利要求3所述的3D图像实现方法,其特征在于,所述音频文件属性包括:
统一资源标识符,用于指示所述音频文件的索引位置;
媒体资源类型,用于指示支持的音频格式;
缓存视图,用于指示所述音频片段的索引位置;
其中,若所述目标格式文件导出为.GLTF文件时,由所述统一资源标识符提供索引位置;若所述目标格式文件导出为.glb文件时,由所述缓存视图提供索引位置。
5.根据权利要求3或4所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,还包括:
在所述属性扩展字段中定义音频行为属性;
其中,所述音频行为属性包括一个或多个播放参数,用于控制所述音频片段的播放。
6.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义表情变换属性,所述表情变换属性用于被节点指向;
其中,所述表情变换属性包括材质信息以及用于设置网格混合形状的标表情文件信息。
7.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义碰撞体属性,所述碰撞体属性用于被节点指向;
其中,所述碰撞体属性包括针对碰撞体的一个或多个参数,用于支持碰撞交互。
8.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述节点的属性扩展字段中定义人形骨骼属性,所述人形骨骼属性用于被节点指向;
其中,所述人形骨骼属性包括多个人形骨骼的参数及人形骨骼之间的关系与动作约束。
9.根据权利要求7所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述节点的属性扩展字段中定义换装属性,所述换装属性用于被节点指向;
其中,所述换装属性包括不同换装方案的列表以及各换装方案的材质参数列表。
10.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义光照贴图属性;
其中,所述光照贴图属性用于指示引擎预先计算场景中的表面亮度的变化。
11.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义元数据属性;
其中,所述元数据属性包括资源描述信息、资源管理信息、法律信息和/或内容参考信息。
12.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义骨骼动力学属性,所述骨骼动力学属性用于被节点指向;
其中,所述骨骼动力学属性用于支持模拟绑定骨骼的物体的动态运动。
13.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义后期处理属性;
其中,所述后期处理属性包括体积组件的属性和支持的后期处理效果的属性。
14.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义动态脚本属性;
其中,所述动态脚本属性包括供引擎执行的字符串,以支持解释运行外部脚本。
15.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义场景渲染属性;
其中,所述场景渲染属性包括用于影响所述场景的一个或多个渲染效果参数。
16.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:在所述属性扩展字段中定义天空盒属性;
其中,所述天空盒属性用于指示引擎创建背景,以对指向的材质进行着色。
17.根据权利要求1所述的3D图像实现方法,其特征在于,还包括:
在属性扩展字段中定义立方体贴图属性,所述立方体贴图属性在材质里作为贴图类型指向使用;
其中,所述立方体贴图属性包括立方体贴图的布局、纹理映射、各个面的纹理。
18.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义剧情时间轴属性,所述剧情时间轴属性用于被节点指向;
其中,所述剧情时间轴属性用于排列对象的轨道以及创建过场动画和游戏序列。
19.根据权利要求1所述的3D图像实现方法,其特征在于,
所述在目标格式文件的属性扩展字段中定义新增属性,包括:
在所述属性扩展字段中定义精灵属性,所述精灵属性用于被节点指向;
其中,所述精灵属性包括布局、纹理引用、纹理位置、边框、物理形状和/或空间位置。
20.根据权利要求1所述的3D图像实现方法,其特征在于,所述目标格式文件包括节点;
所述方法还包括:
在所述节点中定义流媒体属性;
其中,所述流媒体属性包括流媒体的URL名称、URL地址以及流媒体格式。
21.根据权利要求1所述的3D图像实现方法,其特征在于,所述目标格式文件包括节点;
所述方法还包括::
在所述节点中定义资源变量属性;
其中,所述资源变体属性包括变量类型和指向引用字段索引的集合,以支持资源的使用。
22.根据权利要求1所述的3D图像实现方法,其特征在于,还包括:
定义导入导出方式;
其中,所述导出方式用于定义提供材质参数的导出和/或提供组件参数的导出。
23.根据权利要求1所述的3D图像实现方法,其特征在于,还包括:
在属性附加字段中定义部分非通用参数,所述属性附件字段挂载在节点或对象下。
24.一种3D图像实现系统,其特征在于,所述系统包括
定义模块,用于在目标格式文件的属性扩展字段中定义新增属性,所述目标格式文件关联兼容GLTF格式的目标格式,所述目标格式通过定义GLTF格式的扩展字段信息得到;
生成模块,用于根据所述目标格式文件生成3D图像;及
实现模块,用于根据所述目标格式文件中的新增属性,实现所述3D图像支持的新增效果/功能。
25.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至23中任意一项所述的3D图像实现方法的步骤。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至23中任意一项所述的3D图像实现方法的步骤。
CN202210814010.3A 2022-07-11 2022-07-11 3d图像实现方法及系统 Active CN115170708B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202210814010.3A CN115170708B (zh) 2022-07-11 2022-07-11 3d图像实现方法及系统
PCT/CN2022/116577 WO2024011733A1 (zh) 2022-07-11 2022-09-01 3d图像实现方法及系统
EP22871072.9A EP4328863A4 (en) 2022-07-11 2022-09-01 METHOD AND SYSTEM FOR IMPLEMENTING 3D IMAGES
US18/131,674 US20240009560A1 (en) 2022-07-11 2023-04-06 3D Image Implementation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210814010.3A CN115170708B (zh) 2022-07-11 2022-07-11 3d图像实现方法及系统

Publications (2)

Publication Number Publication Date
CN115170708A true CN115170708A (zh) 2022-10-11
CN115170708B CN115170708B (zh) 2023-05-05

Family

ID=83492340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210814010.3A Active CN115170708B (zh) 2022-07-11 2022-07-11 3d图像实现方法及系统

Country Status (2)

Country Link
CN (1) CN115170708B (zh)
WO (1) WO2024011733A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024149120A1 (zh) * 2023-01-10 2024-07-18 海信视像科技股份有限公司 场景描述文件的生成方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302381A (zh) * 2018-08-21 2019-02-01 新华三大数据技术有限公司 Radius属性扩展方法、装置、电子设备和计算机可读介质
CN109978975A (zh) * 2019-03-12 2019-07-05 深圳市商汤科技有限公司 一种动作的迁移方法及装置、计算机设备
US20200066022A1 (en) * 2018-08-27 2020-02-27 Microsoft Technology Licensing, Llc Playback for embedded and preset 3d animations
US20200226811A1 (en) * 2019-01-14 2020-07-16 Samsung Electronics Co., Ltd. Electronic device for generating avatar and method thereof
US20210099773A1 (en) * 2019-10-01 2021-04-01 Qualcomm Incorporated Using gltf2 extensions to support video and audio data
CN112636992A (zh) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 一种动态路由方法、装置、设备及存储介质
CN113473159A (zh) * 2020-03-11 2021-10-01 广州虎牙科技有限公司 数字人直播方法、装置、直播管理设备及可读存储介质
WO2021251185A1 (ja) * 2020-06-11 2021-12-16 ソニーグループ株式会社 情報処理装置および方法
US20210409818A1 (en) * 2020-06-24 2021-12-30 Qualcomm Incorporated Media access function for scene descriptions
CN114092675A (zh) * 2021-11-22 2022-02-25 北京百度网讯科技有限公司 图像显示方法、图像显示装置、电子设备及存储介质
CN114092611A (zh) * 2021-11-09 2022-02-25 网易(杭州)网络有限公司 虚拟表情驱动方法及装置、电子设备、存储介质
US20220094941A1 (en) * 2020-09-23 2022-03-24 Nokia Technologies Oy Temporal Alignment of MPEG and GLTF Media

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8212806B2 (en) * 2008-04-08 2012-07-03 Autodesk, Inc. File format extensibility for universal rendering framework
CN110021070B (zh) * 2018-01-10 2023-03-31 阿里巴巴集团控股有限公司 FBX三维模型转换为glTF三维模型的方法、设备以及系统
CN110751696B (zh) * 2019-12-25 2020-08-07 广联达科技股份有限公司 将BIM模型数据转化为glTF数据的方法、装置、设备及介质
CN113032590B (zh) * 2021-03-29 2024-05-03 广州繁星互娱信息科技有限公司 特效展示方法、装置、计算机设备及计算机可读存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302381A (zh) * 2018-08-21 2019-02-01 新华三大数据技术有限公司 Radius属性扩展方法、装置、电子设备和计算机可读介质
US20200066022A1 (en) * 2018-08-27 2020-02-27 Microsoft Technology Licensing, Llc Playback for embedded and preset 3d animations
US20200226811A1 (en) * 2019-01-14 2020-07-16 Samsung Electronics Co., Ltd. Electronic device for generating avatar and method thereof
CN109978975A (zh) * 2019-03-12 2019-07-05 深圳市商汤科技有限公司 一种动作的迁移方法及装置、计算机设备
US20210099773A1 (en) * 2019-10-01 2021-04-01 Qualcomm Incorporated Using gltf2 extensions to support video and audio data
CN114503599A (zh) * 2019-10-01 2022-05-13 高通股份有限公司 使用gltf2场景描述中的扩展来支持视频和音频数据
CN113473159A (zh) * 2020-03-11 2021-10-01 广州虎牙科技有限公司 数字人直播方法、装置、直播管理设备及可读存储介质
WO2021251185A1 (ja) * 2020-06-11 2021-12-16 ソニーグループ株式会社 情報処理装置および方法
US20210409818A1 (en) * 2020-06-24 2021-12-30 Qualcomm Incorporated Media access function for scene descriptions
US20220094941A1 (en) * 2020-09-23 2022-03-24 Nokia Technologies Oy Temporal Alignment of MPEG and GLTF Media
CN112636992A (zh) * 2021-03-10 2021-04-09 腾讯科技(深圳)有限公司 一种动态路由方法、装置、设备及存储介质
CN114092611A (zh) * 2021-11-09 2022-02-25 网易(杭州)网络有限公司 虚拟表情驱动方法及装置、电子设备、存储介质
CN114092675A (zh) * 2021-11-22 2022-02-25 北京百度网讯科技有限公司 图像显示方法、图像显示装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张建中: "基于Web3D技术的煤矿BIM模型集成及可视化研究", 《煤炭工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024149120A1 (zh) * 2023-01-10 2024-07-18 海信视像科技股份有限公司 场景描述文件的生成方法及装置

Also Published As

Publication number Publication date
WO2024011733A1 (zh) 2024-01-18
CN115170708B (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
CA2795739C (en) File format for representing a scene
CN108959392B (zh) 在3d模型上展示富文本的方法、装置及设备
US7336280B2 (en) Coordinating animations and media in computer display output
US8566736B1 (en) Visualization of value resolution for multidimensional parameterized data
CN107393013A (zh) 虚拟漫游文件生成、显示方法、装置、介质、设备和系统
CN110675466A (zh) 渲染系统及渲染方法、装置、电子设备和存储介质
WO2022183519A1 (zh) 一种可实时交互的三维图形图像播放器
MXPA06012368A (es) Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional.
JPWO2003034345A1 (ja) Web3D画像表示システム
WO2008118065A1 (en) Graphics rendering system
US20050253849A1 (en) Custom spline interpolation
US20130127849A1 (en) Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content
CN111179391A (zh) 一种三维动画制作方法、系统及存储介质
CN115170708B (zh) 3d图像实现方法及系统
CN116958344A (zh) 虚拟形象的动画生成方法、装置、计算机设备及存储介质
CN113689534B (zh) 物理特效渲染方法、装置、计算机设备和存储介质
CN115167940A (zh) 3d文件加载方法及装置
US11625900B2 (en) Broker for instancing
CN115170707B (zh) 基于应用程序框架的3d图像实现系统及方法
US20240009560A1 (en) 3D Image Implementation
CN115205430A (zh) 针对3d文件的导入导出方法及装置
Rhalibi et al. Charisma: High-performance Web-based MPEG-compliant animation framework
Lazor et al. Automation of the Avatar Animation Process in FBX File Format.
US20240111496A1 (en) Method for running instance, computer device, and storage medium
Mendoza Guevarra et al. The Finale

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant