System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于Unity3d的后期效果编辑与表现方法及其系统技术方案_技高网

基于Unity3d的后期效果编辑与表现方法及其系统技术方案

技术编号:41183889 阅读:3 留言:0更新日期:2024-05-07 22:17
本发明专利技术提供了一种基于Unity3d的后期效果编辑与表现方法及其系统,使用Unity3d引擎自带的PostprocessVolume组件,使用时间线编辑器,在时间线里面播放单元利用并嵌套后期效果本身自带的编辑器,生成时间线的编辑器,提高编辑模块开发效率;把编辑好的后期效果数据用json格式做存储并在需要使用时转成后期效果数据,在数据序列化和反序列化方面应用Unity3d引擎自带的方式,实现数据存储的简化;在运行编辑好的后期效果时使用两个PostprocessVolume组件实例,交叉步形式跑完编辑好一条编辑线的后期效果,节省性能的同时简化了结构。

【技术实现步骤摘要】

本专利技术涉及游戏或者软件需要使用后期效果增强表现的,特别是基于unity3d的后期效果编辑与表现方法及其系统。


技术介绍

1、当前对游戏的品质要求越来越高,市面上的游戏很多开始使用后期效果增强游戏或者的软件的表现力,比如unity3d引擎自带postprocessvolume后期效果就可以表现丰富的后期效果内容,但是后期效果如何让美术人员编辑,以及如何存储读取数据,最终如何把编辑好的后期效果运行在游戏或者软件里面是一个需要系统思考的问题;目前也有一些第三方插件(比如feel插件)支持后期效果编辑和存储运行,但是这类插件也存在编辑的项数很少、扩展麻烦、运行耦合度高等问题。本专利技术基于以上问题提出一种基于时间线(比如unity3d引擎的timeline)、使用嵌套方式扩展后期效果编辑器、后期效果按权重占比过渡、数据交叉替换的形式来编辑和使用后期效果。


技术实现思路

1、为克服上述问题,本专利技术的目的是提供一种基于unity3d的后期效果编辑与表现方法,在项目效果展现中显著提升了编辑和运行效率。

2、本专利技术采用以下方案实现:一种基于unity3d的后期效果编辑与表现方法,所述方法包括如下步骤:步骤s1、使用unity3d引擎自带的时间线编辑器来编辑游戏的后期效果;

3、步骤s2、创建一个postprocessvolume组件作为预制体,在场景运行的时候加载该postprocessvolume组件,做为实现场景的后期效果;

4、步骤s3、创建时间线编辑器的播放单元;

5、步骤s4、实现后期效果播放单元的编辑方式,即使用播放单元生成效果编辑器,该效果编辑器嵌套unity3d引擎自带的postprocessvolume组件进行编辑;

6、步骤s5、对后期效果的编辑数据进行存储与读取操作;

7、步骤s6、创建后期效果运行控制器,用于播放编辑好的后期效果;

8、步骤s7、编辑好的后期效果数据最终存在工程里,当需要播放编辑好的后期效果时,加载对应的后期效果数据,放在后期效果运行控制器的时间线进行播放和表现。

9、进一步的,所述播放单元有后期效果的编辑后的单元效果以及后期效果变化动画曲线,在时间线编辑器的编辑线中不同时间点能创建不同的播放单元,后期效果的编辑线中能显示有多个编辑好的播放单元。

10、进一步的,所述步骤s5中对后期效果的编辑好的数据转成json格式的数据进行存储,需要读取的时候再把存储的json数据转成unity3d引擎自带的后期效果使用的scriptableobject数据后进行读取。

11、进一步的,所述步骤s6中播放编辑好的后期效果,该后期效果是通过场景当前的第一postprocessvolume组件实例和在播放编辑好的后期效果时实例出来的第二postprocessvolume组件实例完成,把要播放的后期效果单元数据设置到实例出来的第二postprocessvolume组件实例,控制第一postprocessvolume组件实例和第二postprocessvolume组件实例的效果占比来实现后期效果的切换,等当前播放单元后期效果切换完成就把当前播放单元的数据设置到场景的第一postprocessvolume组件实例,然后把下一个播放单元的数据设置到实例出来的第二postprocessvolume组件实例,以此类推,播放完所有后期效果的编辑好的播放单元,然后删除实例出来的第一postprocessvolume组件实例和第二postprocessvolume组件实例。

12、进一步的,第一postprocessvolume组件实例是场景的原有的后期效果,是始终存在场景中的;需要播放编辑好后期效果时,再实例第二postprocessvolume组件实例在场景中,时间线编辑器的时间线跑到某一个播放单元时,把该播放单元的数据传入第二postprocessvolume组件实例,然后把第一postprocessvolume组件实例的权重按时间线跑动减小,第二postprocessvolume组件实例的权重增大,从而实现场景中后期效果逐渐过渡到第二postprocessvolume组件实例的效果;当完全过渡到第二postprocessvolume组件实例的效果时,即第一postprocessvolume组件实例权重变为0,第二postprocessvolume组件实例权重变为1,这时如果时间线跑到下一个播放单元时,把下一个播放单元的数据传入第一postprocessvolume组件实例中,现在第一postprocessvolume组件实例和第二postprocessvolume组件实例相当于角色互换,现在随时间线调大第一postprocessvolume组件实例的权重,调小第二postprocessvolume组件实例的权重,从而实现场景中的后期效果变化到第二播放单元的数据;以此类推播放完所有播放单元的数据,这时能删除第二postprocessvolume组件实例,实现播放编辑好的后期效果。

13、进一步的,把编辑好的后期效果数据用json格式做存储并在需要使用时转成后期效果数据,在数据序列化和反序列化方面应用unity3d引擎自带的方式,实现数据存储的简化,所述数据序列化是把unity3d引擎自带的postprocessvolume组件的数据转为stirng[]字符串数组,即在时间线编辑好该播放单元的后期效果数据时,要把该播放单元的postprocessvolume组件的数据转为stirng[]存入该播放单元;反序列化是指播放编辑好的后期效果时间线跑到某一个播放单元时要把该播放单元的stirng[]数据转回为postprocessvolume组件使用的postprocessprofile这个类所需要的scriptableobject格式数据。

14、本专利技术还提供了一种基于unity3d的后期效果编辑与表现系统,所述系统包括编辑模块、创建postprocessvolume组件模块、创建播放模块、播放编辑模块、编辑数据处理模块、运行控制器创建模块、以及播放表现模块;

15、所述编辑模块,使用unity3d引擎自带的时间线编辑器来编辑游戏的后期效果;

16、所述创建postprocessvolume组件模块,创建一个postprocessvolume组件作为预制体,在场景运行的时候加载该postprocessvolume组件,做为实现场景的后期效果;

17、所述创建播放模块,创建时间线编辑器的播放单元;

18、所述播放编辑模块,实现后期效果播放单元的编辑方式,即使用播放单元生成效果编辑器,该效果编辑器嵌套unity3d引擎自带的postprocessvolume组件进行编辑;

19、所述编辑数据处理模块,对后期效果的编辑数据进行存储与读取操作;

20、所述运行控制器创建模块,创建后期效果运行控制器,用于播放编辑本文档来自技高网...

【技术保护点】

1.一种基于Unity3d的后期效果编辑与表现方法,其特征在于:所述方法包括如下步骤:步骤S1、使用Unity3d引擎自带的时间线编辑器来编辑游戏的后期效果;

2.根据权利要求1所述的一种基于Unity3d的后期效果编辑与表现方法,其特征在于:所述播放单元有后期效果的编辑后的单元效果以及后期效果变化动画曲线,在时间线编辑器的编辑线中不同时间点能创建不同的播放单元,后期效果的编辑线中能显示有多个编辑好的播放单元。

3.根据权利要求1所述的一种基于Unity3d的后期效果编辑与表现方法,其特征在于:所述步骤S5中对后期效果的编辑好的数据转成Json格式的数据进行存储,需要读取的时候再把存储的Json数据转成Unity3d引擎自带的后期效果使用的ScriptableObject数据后进行读取。

4.根据权利要求1所述的一种基于Unity3d的后期效果编辑与表现方法,其特征在于:所述步骤S6中播放编辑好的后期效果,该后期效果是通过场景当前的第一PostprocessVolume组件实例和在播放编辑好的后期效果时实例出来的第二PostprocessVolume组件实例完成,把要播放的后期效果单元数据设置到实例出来的第二PostprocessVolume组件实例,控制第一PostprocessVolume组件实例和第二PostprocessVolume组件实例的效果占比来实现后期效果的切换,等当前播放单元后期效果切换完成就把当前播放单元的数据设置到场景的第一PostprocessVolume组件实例,然后把下一个播放单元的数据设置到实例出来的第二PostprocessVolume组件实例,以此类推,播放完所有后期效果的编辑好的播放单元,然后删除实例出来的第一PostprocessVolume组件实例和第二PostprocessVolume组件实例。

5.根据权利要求4所述的一种基于Unity3d的后期效果编辑与表现方法,其特征在于:第一PostprocessVolume组件实例是场景的原有的后期效果,是始终存在场景中的;需要播放编辑好后期效果时,再实例第二PostprocessVolume组件实例在场景中,时间线编辑器的时间线跑到某一个播放单元时,把该播放单元的数据传入第二PostprocessVolume组件实例,然后把第一PostprocessVolume组件实例的权重按时间线跑动减小,第二PostprocessVolume组件实例的权重增大,从而实现场景中后期效果逐渐过渡到第二PostprocessVolume组件实例的效果;当完全过渡到第二PostprocessVolume组件实例的效果时,即第一PostprocessVolume组件实例权重变为0,第二PostprocessVolume组件实例权重变为1,这时如果时间线跑到下一个播放单元时,把下一个播放单元的数据传入第一PostprocessVolume组件实例中,现在第一PostprocessVolume组件实例和第二PostprocessVolume组件实例相当于角色互换,现在随时间线调大第一PostprocessVolume组件实例的权重,调小第二PostprocessVolume组件实例的权重,从而实现场景中的后期效果变化到第二播放单元的数据;以此类推播放完所有播放单元的数据,这时能删除第二PostprocessVolume组件实例,实现播放编辑好的后期效果。

6.根据权利要求1所述的一种基于Unity3d的后期效果编辑与表现方法,其特征在于:把编辑好的后期效果数据用json格式做存储并在需要使用时转成后期效果数据,在数据序列化和反序列化方面应用Unity3d引擎自带的方式,实现数据存储的简化,所述数据序列化是把Unity3d引擎自带的PostprocessVolume组件的数据转为stirng[]字符串数组,即在时间线编辑好该播放单元的后期效果数据时,要把该播放单元的PostprocessVolume组件的数据转为stirng[]存入该播放单元;反序列化是指播放编辑好的后期效果时间线跑到某一个播放单元时要把该播放单元的stirng[]数据转回为PostprocessVolume组件使用的PostProcessProfile这个类所需要的ScriptableObject格式数据。

7.一种基于Unity3d的后期效果编辑与表现系统,其特征在于:所述系统包括编辑模块、创建PostprocessVolume组件模块、创建播放模块、播放编辑模块、编辑数据处理模块、运行控制器创建模块、以及播放表现模块;

8.根据权利要求7所述的一种基于Unity3d的后期效果编辑与表现系统,其特征在于:所述...

【技术特征摘要】

1.一种基于unity3d的后期效果编辑与表现方法,其特征在于:所述方法包括如下步骤:步骤s1、使用unity3d引擎自带的时间线编辑器来编辑游戏的后期效果;

2.根据权利要求1所述的一种基于unity3d的后期效果编辑与表现方法,其特征在于:所述播放单元有后期效果的编辑后的单元效果以及后期效果变化动画曲线,在时间线编辑器的编辑线中不同时间点能创建不同的播放单元,后期效果的编辑线中能显示有多个编辑好的播放单元。

3.根据权利要求1所述的一种基于unity3d的后期效果编辑与表现方法,其特征在于:所述步骤s5中对后期效果的编辑好的数据转成json格式的数据进行存储,需要读取的时候再把存储的json数据转成unity3d引擎自带的后期效果使用的scriptableobject数据后进行读取。

4.根据权利要求1所述的一种基于unity3d的后期效果编辑与表现方法,其特征在于:所述步骤s6中播放编辑好的后期效果,该后期效果是通过场景当前的第一postprocessvolume组件实例和在播放编辑好的后期效果时实例出来的第二postprocessvolume组件实例完成,把要播放的后期效果单元数据设置到实例出来的第二postprocessvolume组件实例,控制第一postprocessvolume组件实例和第二postprocessvolume组件实例的效果占比来实现后期效果的切换,等当前播放单元后期效果切换完成就把当前播放单元的数据设置到场景的第一postprocessvolume组件实例,然后把下一个播放单元的数据设置到实例出来的第二postprocessvolume组件实例,以此类推,播放完所有后期效果的编辑好的播放单元,然后删除实例出来的第一postprocessvolume组件实例和第二postprocessvolume组件实例。

5.根据权利要求4所述的一种基于unity3d的后期效果编辑与表现方法,其特征在于:第一postprocessvolume组件实例是场景的原有的后期效果,是始终存在场景中的;需要播放编辑好后期效果时,再实例第二postprocessvolume组件实例在场景中,时间线编辑器的时间线跑到某一个播放单元时,把该播放单元的数据传入第二postprocessvolume组件实例,然后把第一postprocessvolume组件实例的权重按时间线跑动减小,第二postprocessvolume组件实例的权重增大,从而实现场景中后期效果逐渐过渡到第二postprocessvolume组件实例的效果;当完全过渡到第二postprocessvolume组件实例的效果时,即第一postprocessvolume组件实例权重变为0,第二postprocessvolume组件实例权重变为1,这时如果时间线跑到下一个播放单元时,把下一个播放单元的数据传入第一postprocessvolume组件实例中,现在第一postprocessvolume组件实例和第二postprocessvolume组件实例相当于角色互换,现在随时间线调大第一postprocessvolume组件实例的权重,调小第二postprocessvolume组件实例的权重,从而实现场景中的后期效果变化到第二播放单元的数据;以此类推播放完所有播放单元的数据,这时能删除第二postprocessvolume组件实例,实现播放编辑好的后期效果。

6.根据权利要求1所述的一种基于unity3d的后期效果编辑与表现方法,其特征在于:把编辑好的后期效果数据用json格式做存储并在需要使用时转成后期效果数据,在数据序列化和反序列化方面应用unity3d引擎自带的方式,实现数据存储的简化,所述数据序列化是把unity3d引擎自带的postprocessvolume组件的数据转为stirng[]字符串数组,即在时间线编辑好该播放单元的后期效果数据时,要把该播放单元的postprocessvolume组件的数据转为stirng[]存入该播放单元;反序列化是指播放编辑好的后期效果时间线跑到某一个播放单元时要把该播放单元的stirng[]数据转回为postprocessvolume组件使用的postprocessprofile这个类所需要的scriptableobject格式数据。

7.一种基于unity3d的后期效果...

【专利技术属性】
技术研发人员:刘德建郑福淦李佳
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1