技术领域
[0001] 本发明涉及文稿实现方法,更具体地说是指一种3D演示文稿的实现方法及3D演示文稿。
相关背景技术
[0002] 演示文稿指的是把静态文件制作成动态文件浏览,把复杂的问题变的通俗易懂,使之更会生动,给人留下更为深刻印象的幻灯片。一套完整的演示文稿文件一般包含:片头动画、PPT封面、前言、目录、过渡页、图表页、图片页、文字页、封底、片尾动画等。
[0003] “微软powerpoint演示文稿”、”wps演示文稿”是常用的演示文稿软件,其编辑生成的文档叫演示文稿,每一页叫幻灯片。基本的原理都是在每一页的多个窗口中添加需要的文字、图片、图像等元素,辅以简单的动画来完成文稿演示。它们是目前使用较广的文档演示软件,但通常只支持2D图形图像元素及2D动画。“微软powerpoint演示文稿”、“wps演示”多用于会议演示、产品演示等,但通常只支持2D图形图像元素和2D动画或简单的三维模型三维动画,其内部的数据只能实时编辑,无法实现无编程外部数据的实时接入及社交媒体信息实时融合,更加无法实现无编程虚拟仿真;可视化的效果不佳,且若需要实现虚拟仿真及数据可视化则需要进行编程,技术门槛较高,制作效率低;内容属性无法实现自定义及任意关联,内容属性也无法按设置的数学函数调整;播控方式单一。
[0004] 因此,有必要设计一种新的方法,以解决上述的问题。
具体实施方式
[0035] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0037] 还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0038] 还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0039] 请参阅图1,图1为本发明实施例提供的3D演示文稿的实现方法的示意性流程图。该3D演示文稿的实现方法可以运用在服务器内,根据用户的需求调取模板,进行3D演示文稿的制作,并在用户终端上仿真。
[0040] 如图1所示,该方法包括以下步骤S110至S150。
[0041] S110、获取3D模板。
[0042] 在本实施例中,3D模板是用于展示针对研究对象属性和/或状态值变化过程;该研究对象包括但不局限于3D模型。
[0043] 3D演示文稿所做出的文件包括若干个页面,页面包括若干个窗口,窗口内设有若干个针对研究对象属性和/或状态值变化过程的内容展示的3D模板。每个3D模板可独立运行,任意3D模板之间基于输入、输出做任意的属性连接、属性仿真,3D模板还可基于输入、输出连接任意的外部数据,实现与外部程序、外部数据的连接。
[0044] 一个3D模板可以在其它3D模板内使用,一个3D模板可以在其它任意窗口中一处或多处使用。使用方式为导入直接使用或导入修改使用,包含但不限于以下方式:可通过输入设定为任意对象;可采用不同的逻辑关系触发;可更改机理模型,该机理模型包含但不限于物理公式、数学函数等;也可更改属性连接,属性连接可包含属性内部连接和属性外部连接,从而实现数据源的修改,不限于内部属性连接、任意数据结构例如股票、气象数据、传感器数据等,融媒体接入例如微博、微信,短信、自媒体、网站等,任意外部程序等。
[0045] 具体地,3D模板的获取方式包括但不局限于基于动画设计器、VR编辑器、图文包装系统的编辑实现、以及基于虚幻4引擎、Unity、程序语言的编程实现。
[0046] 在制作3D模板时,需要对很多属性参数进行实时调整修改。实时调整的方式可以是以下两种:
[0047] 属性内部关联,既可直接输入属性和/或状态值;也可通过函数计算赋值;
[0048] 属性外部关联获取实时更新;
[0049] 第一种属性内部关联直接输入数值的方法,通过直接输入数值调整;第二种属性内部关联通过函数计算赋值来调整,通过给属性添加自定义的脚本函数包含但不限于y1=sinx,y2=2x2等,经过函数计算比如,当x=1时,y1=sin1,y2=2,再把计算结果赋值给属性参数,实现属性值的自定义调整;属性外部关联包含任意数据结构比如股票、气象数据、传感器数据等,融媒体接入比如微博、微信,短信、自媒体、网站等,任意仿真算法比如任意程序语言实现的各类程序均可读取、修改3D模板中的任意数据。属性外部关联通过外部数据实时更新来调整,通过预留好外部数据源接入的接口以及各类数据源的接入模块,实现用户无需编程便可将模型属性参数和外部的数据源如文本文件、excel文档、odbc数据、sql数据等实时关联,并可以实时更新到模板内容。例如:将气象数据连接到模型相关属性,完成天气情况的可视化显示,用于虚拟仿真;将融媒体信息如微博、微信、网站信息连接,完成对资讯系统的实时融合;将动作捕捉数据实时连接,用于支持骨骼动画编辑制作,用于实现生物类虚拟仿真。基于时轨+事件量触发方式:可以按时间轴有序触发例如:当动画A播放完毕后一秒钟后,触发模板组合动画B,也可由事件量触发来控制播出,事件量可以是任何逻辑元素的组合,包含外部触发控制。例如:当模型C的某个参数D达到某个值,触发属性仿真E;当模型F的一个参数G符合某条件+模型H的一个参数I符合某条件,触发模板组合动画J。可以接入任意交互方式例如:头盔手柄、平板控制、手势识别、键盘鼠标、AI语音控制、内部属性逻辑判断、外部数据接入控制,从而实现用户与VR内容的交互及真实情景的复杂仿真逻辑例如:电动机拆装、汽车模拟驾驶等演示。
[0050] 在一实施例中,请参阅图2,上述的步骤S110可包括步骤S111~S118。
[0051] S111、获取研究对象;
[0052] 在本实施例中,研究对象是指3D演示文稿所展示的对象,包括但不局限于3D模型,比如.obj/.fbx/.3ds/.ac/.stl/.wrl/.igs等常见格式的3D模型。
[0053] 具体地,可通过直接导入现有的研究对象或者重新制作新的研究对象,以实现研究对象的获取,在导入现有的研究对象过程中,可从外部建模软件中选取相关的对象导入,也可以直接在本服务器内现有的对象导入,对于重新做会做新的研究对象而言,可借助外部建模软件与本服务器的关联,从外部建模软件依据实际需求建立符合要求的研究对象并传输至本服务器进行获取。
[0054] 在本实施例中,用户在用户终端的显示界面上进行选择模板获取的方式,以得到模板。其可以是直接导入数据库内历史模板,也可以根据个人所需进行新建模板,针对一个研究对象或多个对象,采用任意方式进行3D建模,模板动画设计器读取所获得的3D模型,简单模型可由模板动画设计器直接创建。
[0055] S112、对所述研究对象的属性和/或状态值进行处理。
[0056] 针对单个研究对象/多个研究对象的属性/状态值的变化,设定对象的属性和/或状态值,属性可分公共属性和自定义属性,即可对模型设置任意需要的属性类型,包含但不限于:重量、速度、密度、压强、分子量、酸碱度、腐蚀性、照度、电阻、磁场强度、硬度等属性,举个例子,在进行新能源汽车电动机运行仿真,给电机绕组模型可定义电阻属性,当需要调整其电阻值时,便可通过预设的引出项修改电阻R=25Ω、30Ω、500Ω;
[0057] S113、获取3D演示文稿关于研究对象动态效果的需求。
[0058] 由于3D演示文稿针对研究对象动态效果的需求不同,3D模板会进行不同的处理,因此需要获取用户提出的3D演示文稿关于研究对象动态效果的需求。
[0059] S114、判断所述动态效果的需求是否满足机理模型的要求。
[0060] 在本实施例中,上述的机理模型是指包括但不局限于物理公式、数学函数的模型。
[0061] S115、若是,则利用属性仿真所述研究对象的属性的变化过程,以得到关于属性仿真的3D模板。
[0062] 针对“机理模型”(包含但不限于:物理公式、数学函数、生化特性等)明确的研究对象的属性通过将任意对应属性之间相互连接实现,即可实现属性仿真。
[0063] 在已有的3D模型基础上,对需要实现仿真的研究对象/多个研究对象的进行属性关联,实现对属性的实时调整修改,编辑完成交互触发方式便可得到一虚拟仿真模板。虚拟仿真基于三维模型和“机理模型”(包含但不限于:物理公式、数学函数、生化特性等)实现,每一个三维模型都具有数理学的含义,模型内置关联有“机理模型”(包含但不限于:物理公式、数学函数、生化特性等)等。在此基础上,需要对仿真对象之间的相关属性进行关联,模拟出真实情景下的复杂逻辑,实现严格仿真。仿真的对象可以是以下几类:包含但不限于某个模型例如航空发动机模型—CFM56-7B、某个情景例如舰载机J15在航母上滑行起飞过程、某个数据例如机场的实时风速、某个模型属性例如飞机的机翼长度等。
[0064] 研究对象的属性和/或状态值进行关联也具有多种形式,既可以是3D模板内部的不同属性之间的关联,例如:小车受到的推力F与小车的加速度a,a=F/m;也可以是3D模板之间的属性,例如:减速器的传动比与车轮转速;还可以是3D模板属性和/或状态值与外部数据、外部算法的关联,例如:3D数字地图的属性与国家地球系统地形图数据。实现模型内部及不同模型之间的任意属性值(包含但不限于:重量、速度、加速度、密度、压强、分子量、酸碱度、照度、磁场强度、电阻率、硬度等)基于“机理模型”(包含但不限于:物理公式、数学函数、生化特性等)进行关联,进而完成属性仿真。
[0065] S116、若否,判断所述动态效果的需求是否有定量关系。
[0066] 在本实施例中,定量关系是指研究对象的属性和/或状态值有明确的定量变化关系。
[0067] S117、若是,则利用属性连接基于逻辑关系以及状态变化需求进行相关属性和/或状态的连接,以得到关于属性连接的3D模板。
[0068] 在本实施例中,逻辑关系是指属性与属性或者属性与外部数据的关系。
[0069] 针对研究对象的属性和/或状态值之间没有严格“机理模型”但有明确定量关系的,所需要变化的属性基于逻辑关系以及状态变化需求进行相关属性和/或状态的连接,形成的是关于属性连接的3D模板。
[0070] S118、若否,则根据由动态效果的需求所确定与某事件量相关的值,使所述研究对象的属性和/或状态根据所述值进行变化,以得到关于属性动画的3D模板。
[0071] 在本实施例中,某事件量可以是指设定的时间、空间、其它属性值以及逻辑条件等。
[0072] 具体地,可利用快速动画编辑器,通过对动画的关键帧即每段动画的开始第一帧和结尾最后一帧,设定两个关键帧状态之间所有变化了的属性值包括但不限于:空间位置、外形尺寸、缩放比例、颜色、材质、纹理、贴图、旋转速度、透明度变化、遮罩、灯光、可见性、其它自定义属性等,即可自动快速生成这一段的关键帧动画。例如:需要对一个长方体木箱做一段在水平地面滑行的动画,就可通过设定开始时木箱的空间位置,标记为第一帧的空间位置属性值(x1,y1,z1),然后在时轨上设定动画时长(t),移到到动画结尾最后一帧,设定标记为此时空间位置属性值(x2,y2,z2),便自动生成了这一段木箱滑行的动画。例如:一个篮球渐渐出现并缓慢变大,就可通过设定开始时篮球的透明度为0、缩放比例为a1,透明度为0-1的一个值,0为透明不可见,1为完全可见,标记为第一帧属性,然后在时轨上设定动画时长(t),移到到动画结尾最后一帧,设定标记为此时篮球物体的透明度为1、缩放比例为a2,便自动生成了这一段篮球渐渐出现并伴随缩放的模板组合动画
[0073] 另一种是利用高级动画编辑器,编辑制作更细致的复杂动画包含但不限于:模型变速运动、样条曲线插值曲线控制、轨迹动画、循环动画等。例如:飞机飞行过程各个阶段的俯仰、偏航、滚转等运动实现更复杂的运动效果包含但不限于轨迹动画及往复动画,利用高级动画编辑功能,利用3D轨迹动画,实现任意3D模型物体的任意坐标参数、姿态参数、外观参数及属性动画,通过画好的轨迹路径运动,对轨迹上的点设置任意时间瞬间的运动状态包含但不限于:线速度、线加速度、转动角速度等。
[0074] 对于复杂的三维动画的编辑,可以进行自定义制定方式或者属性关联函数进行指定。其中,属性关联函数是将3D模型模板的位置属性关联到一个函数,这个函数是时间和属性值的关联函数,利用该属性关联函数便可实现3D模型模板按函数输出的轨迹进行运动。为了给用户在编辑时提供更大的自由度,还可以采用自定义制定3D轨迹,使得3D模型模板沿自定义轨迹运动,具体地,在用户终端的界面上提供一条可视化曲线,用户可通过对界面操作,以拖拽的方式编辑3D轨迹曲线,由于曲线在计算机图形学中可以解释为多个点的连结,服务器会记录这些点的位置并按时间进行插值运算,即可实现物体沿自定义轨迹运动,从而使得3D模型按照该轨迹运动以形成三维动画。
[0075] S120、根据所述3D模板进行播放顺序的确定;
[0076] 在本实施例中,根据形成的3D模板进行播放顺序的调整或者设定,当然也可以采用默认的顺序进行播放。
[0077] S130、对确定播放顺序的3D模板进行调整,以得到演示文稿的页面;
[0078] 在本实施例中,演示文稿的页面指的是由若干个带有3D模板的窗口组成的文件。
[0079] 对所述研究对象的属性和/或状态值通过内部设定的关系进行调整,以实时更新所述研究对象的属性和/或状态值;和/或,通过3D模板之间的连接关系进行调整,以实时更新所述研究对象的属性和/或状态值;和/或,基于所述研究对象的属性和/或状态值与外部数据和/或外部算法的连接关系进行调整,以实时更新所述研究对象的属性值和/或状态值。
[0080] 演示文稿按页面编辑与演示,这要求渲染引擎的场景架构支持分页的逻辑。为了实现3D演示文稿的分页显示,需设计一个专用结构用于代表页面,每个页面可包含多个模板的引用;为了支持按任意顺序播放3D模板,3D模板在页面内按唯一代号——“实例引用”这种一一对应的方式进行管理,一个代号对应唯一确定的一个3D模板,用户播放指定3D模板时即可按指定的唯一代号进行播放;3D模板在添加到页面时,页面负责对3D模板参数包括三维空间位置、旋转、缩放、物体材质、光照方向与强度等进行修改并保存。
[0081] S140、整合所述演示文稿的页面,以得到3D演示文稿。
[0082] 将上述的页面整合在一起即可形成3D演示文稿。
[0083] S150、展示所述3D演示文稿。
[0084] 演示模式下,对编辑制作好的3D演示文稿的文件,可以有两种展示方式,第一种为3D页基于屏幕空间内的演示,比如基于播放3D演示文稿的载体的空间称为屏幕空间;第二种为基于真实3D空间的展示,例如让三维模型飞到人前,进行互动;
[0085] 3D演示软件除了兼容现有的演示文档内容,基于模板化内容,还可演示丰富的3D模型和3D动画,从材质、实时灯光、阴影倒影、纹理等诸多方面提升演示效果,还可完成对模板任意属性的自定义,并可与外部数据源实时关联、与社交媒体信息实时融合,实现模板内及模板之间任意属性的关联,从而实现用户无需编程便可完成复杂逻辑的动态虚拟仿真和数据可视显示。因此,3D演示文稿提升了的演示效果,比如3D元素、材质、实时灯光、阴影倒影、纹理、动态仿真等),同时降低了使用门槛,用户无需编程、基于模板库调用等,提高了制作效率,用户无需编程、基于模板库调用、模块化制作等,同时还扩大了3D演示文稿的应用范围例如:机械类的结构拆装实训、力学类的模拟动态仿真、抽象数据的可视化显示等。
[0086] 在一实施例中,上述的3D模板包括但不局限于三维模型、三维动画、特效、融媒体接入、算法、数据库、数据接入、文字、图片、图形以及视频。
[0087] 3D模板是用于仿真所述研究对象的属性和/或状态的变化过程,以实现对3D模型的仿真。
[0088] 3D模板是用于针对所述研究对象的属性和/或状态,基于逻辑关系以及状态变化需求进行相关属性和/或状态的连接,以实现对3D模型基于关联的属性或者外部数据实时更新以形成动态展示。
[0089] 3D模板是用于根据由动态效果的需求所确定的与某事件量相关的值,以使所述研究对象的属性和/或状态值根据所述值进行变化,以实现复杂动画的展示。
[0090] 3D模板用于对外部数据和/或外部算法进行控制。
[0091] 本方法支持3D模型渲染及3D动画演示,3D元素表现力更强;支持外部数据实时融合;演示文稿内容支持模板化设计;支持模块化制作;支持用户无需编程完成复杂虚拟仿真;支持数据可视化显示;在材质、实时灯光、阴影倒影、纹理等方面提升演示内容效果;降低了用户实现虚拟仿真及数据可视化的使用门槛,提升了制作效率。
[0092] 上述的3D演示文稿的实现方法,通过获取研究对象,对研究对象进行属性的设定和/或调整,并根据演示文稿对研究对象所生成的动态效果的需求进行属性仿真和/或属性连接和/或属性动画处理,形成3D模板,对3D模板进行播放顺序处理后,整合形成3D演示文稿,并采用所需的方式展示,实现支持3D模型渲染及3D动画演示,支持外部数据实时融合;用户无需编程完成复杂虚拟仿真,且可进行数据可视化显示;降低了用户实现虚拟仿真及数据可视化的使用门槛,提升了制作效率。
[0093] 对应于以上3D演示文稿的实现方法,本发明还提供一种3D演示文稿。当执行所述计算机程序时实现上述的方法,该3D演示文稿可应用于服务器中。
[0094] 具体地,当执行所述计算机程序时实现如下步骤:
[0095] 获取3D模板;
[0096] 根据所述3D模板进行播放顺序的确定;
[0097] 对确定播放顺序的3D模板进行调整,以得到演示文稿的页面;
[0098] 整合所述演示文稿的页面,以得到3D演示文稿;
[0099] 展示所述3D演示文稿。
[0100] 其中,所述3D模板的获取方式包括基于动画设计器、VR编辑器、图文包装系统的编辑实现、以及基于虚幻4引擎、Unity、程序语言的编程实现。
[0101] 在一实施例中,当执行所述计算机程序时实现所述获取3D模板步骤时,具体实现如下步骤:
[0102] 获取研究对象;
[0103] 对所述研究对象的属性和/或状态值进行处理;
[0104] 获取3D演示文稿关于研究对象动态效果的需求;
[0105] 判断所述动态效果的需求是否满足“机理模型”的要求;
[0106] 若是,则利用属性仿真所述研究对象的属性和/或状态值的变化过程,以得到关于属性仿真的3D模板;
[0107] 若否,判断所述动态效果的需求是否有定量关系;
[0108] 若是,则利用属性连接基于逻辑关系以及状态变化需求进行相关属性和/或状态的连接,以得到关于属性仿真的3D模板;
[0109] 若否,则根据由动态效果的需求所确定与某事件量相关的值,使所述研究对象的属性和/或状态根据所述值进行变化,以得到关于属性动画的3D模板。
[0110] 在一实施例中,当执行所述计算机程序时实现所述对确定播放顺序的3D模板进行调整,以得到演示文稿的页面时,具体实现如下步骤:
[0111] 对所述研究对象的属性和/或状态值通过内部设定的关系进行调整,以实时更新所述研究对象的属性和/或状态值;和/或,通过3D模板之间的连接关系进行调整,以实时更新所述研究对象的属性和/或状态值;和/或,基于所述研究对象的属性和/或状态值与外部数据和/或外部算法的连接关系进行调整,以实时更新所述研究对象的属性值和/或状态值。
[0112] 其中,所述3D模板包括三维模型、三维动画、特效、融媒体接入、算法、数据库、数据接入、文字、图片、图形以及视频。
[0113] 其中,所述3D模板是用于仿真所述研究对象的属性和/或状态值的变化过程。
[0114] 其中,所述3D模板是用于针对所述研究对象的属性和/或状态值,基于逻辑关系以及状态变化需求进行相关属性和/或状态值的连接。
[0115] 其中,所述3D模板是用于根据由动态效果的需求所确定的与某事件量相关的值,以使所述研究对象的属性和/或状态值根据所述值进行变化。
[0116] 其中,所述3D模板用于对外部数据和/或外部算法进行控制。
[0117] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0118] 在本发明所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0119] 本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0120] 基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0121] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。