一种三维粒子画面的调整方法和装置与流程

文档序号:18372864发布日期:2019-08-07 01:52阅读:141来源:国知局
一种三维粒子画面的调整方法和装置与流程

本发明涉及计算机图形学领域,特别是涉及一种三维粒子画面的调整方法,以及一种三维粒子画面的调整装置。



背景技术:

Reeves于1983年提出了粒子系统为模糊物体建模的方法,其基本思想是把模糊的物体看做众多粒子组成的粒子团,粒子可以看做简单的点。各粒子均具有自己的属性,如颜色、形状、大小、生存周期和速度等等,粒子的动力学性质决定了其在不同的时刻的状态,粒子随时间的推移而不断变化。

粒子由粒子系统发射,一个粒子系统是由一个粒子发射器、多个粒子影响器共同构成的,即粒子系统产生粒子效果。

粒子的发射是在空间中发射的,在空间三个维度的坐标分别为X、Y和Z,观察者从Z方向观看粒子效果,粒子相对于观察者的位置在前还是在后,与Z方向的坐标值相关,即Z方向呈现的是粒子发射的展示效果。

现有技术中,多是对二维空间的画面的调整,在二维空间的显示器中无法实现对三维画面的调整。



技术实现要素:

本发明提供了一种三维粒子画面的调整方法及装置,以解决背景技术中在二维空间的显示器中无法实现对三维画面的调整的问题。

本发明提供了一种三维粒子画面的调整方法,包括:

接收通过预置链接对三维粒子画面在视窗中横纵坐标轴方向的大小调整;

采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分;

按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值;

按照所述比例值修正所述三维粒子画面在立标方向上的大小。

优选地,所述预设前景挡板包括所述视窗的上方、下方、左方和右方的四块挡板。

优选地,所述按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值的步骤包括:

将所述三维粒子画面所在视窗的高,与所述三维粒子画面调整大小后的高相除,其比值为对所述三维粒子画面在立标方向的大小调整比例值。

优选地,所述按照所述比例值修正所述三维粒子画面在立标方向上的大小的步骤包括:

将所述比例值与所述三维例子画面在立标方向上的值相除,得到所述三维粒子画面在立标方向上的大小;

按照所述三维粒子画面在立标方向上的大小对所述粒子画面进行调整。

优选地,所述预设前景挡板的纹理为黑色,所述预设前景挡板在所述视窗中的渲染次序优先于所述视窗。

本发明还提供了一种三维粒子画面的调整装置,包括:

调整接收模块,用于接收通过预置链接对三维粒子画面在视窗中的横纵坐标轴方向的大小调整;

挡板覆盖模块,用于采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分;

比例值确定模块,用于按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值;

大小修正模块,用于按照所述比例值修正所述三维粒子画面在立标方向上的大小。

优选地,所述预设前景挡板包括所述视窗的上方、下方、左方和右方的四块挡板。

优选地,所述比例值确定模块包括:

计算子模块,用于将所述三维粒子画面所在视窗的高,与所述三维粒子画面调整大小后的高相除,其比值为对所述三维粒子画面在立标方向的大小调整比例值。

优选地,所述大小修正模块包括:

大小确定子模块,用于将所述比例值与所述三维例子画面在立标方向上的值相除,得到所述三维粒子画面在立标方向上的大小;

大小调整子模块,用于按照所述三维粒子画面在立标方向上的大小对所述粒子画面进行调整。

优选地,所述预设前景挡板的纹理为黑色,所述预设前景挡板在所述视窗中的渲染次序优先于所述视窗。

与现有技术相比,本发明包括以下优点:

依据本发明实施例,接收通过预置链接对三维粒子画面在视窗中的二维横纵坐标轴方向的大小调整,并采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分,然后按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值,并进一步按照所述比例值修正所述三维粒子画面在立标方向上的大小,从而实现了在二维空间的显示器中对三维画面的调整。

依据本发明实施例还可以在三维粒子画面未铺满所在视窗的部分采用预设前景挡板进行覆盖,从而可以使得粒子画面的显示更为清晰。

附图说明

图1是本发明实施例所述一种三维粒子画面的调整方法的流程图;

图2是本发明实施例所述一种三维粒子画面的调整装置的结构框图;

图3是本发明实施例中预置链接的示意图;

图4是本发明实施例中前景挡板的示意图;

图5a和5b是本发明实施例中不同的调整比例值下对粒子画面的调整效果示意图;

图6给出了对三维粒子画面进行平移的效果示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

下面通过实施例对本发明所述方法的实现流程进行详细说明。

参照图1,其示出了本发明实施例所述一种三维粒子画面的调整方法的流程图。

步骤101、接收通过预置链接对三维粒子画面在视窗中横纵坐标轴方向的大小调整。

本发明实施例的目的是要实现在二维的显示器中对三维的粒子画面进行调整,具体可以为对粒子画面的大小进行调整,也即是对粒子画面的平移缩放,由于粒子画面的中心可以视为三维空间中摄像机,因此,对粒子画面的平移也即是对粒子画面在横坐标X轴、纵坐标Y轴和立标Z轴进行一定比例的移动。在具体的实现中,摄像机默认位置可以为XYZ(0,0,100)。

用户可以在界面上通过预置的链接对横纵坐标轴方向进行大小调整,如图3所示,给出了预置链接的示意图。

具体可以通过选择预置链接中的“缩放”选项或使用快捷键Z,然后将鼠标左键按下,向左向右移动鼠标,可见看到画面进行了缩小和放大,左键抬起结束操作。在具体的实现中,在效果浏览窗口激活的情况下,可以通过鼠标滚动也实现缩放。选择链接中的选项“缩放到合适”或使用快捷键F,自动计算显示器屏幕的大小,在显示器屏幕能够全部显示出来整个视窗。或是选择链接中的选项“100%缩放”或使用快捷键1,将粒子画面按照原始大小进行显示。

步骤102、采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分。

视窗中,三维粒子画面之外的粒子是不显示的,需要在三维空间中加前景挡板,三维空间无限,但板是有边界的,本发明实施例中,采用预设前景挡板覆盖视窗中三维粒子画面未铺满的部分,所述预设前景挡板可以包括所述视窗的上方、下方、左方和右方的四块挡板(plane),如图4所示,给出了本发明实施例中前景挡板示意图,灰黑色部分为上方、下方、左方和右方四块挡板。

本发明实施例中,所述预设前景挡板的纹理为黑色,所述预设前景挡板在所述视窗中的渲染次序优先于所述三维粒子画面。

为了节省资源,仅创建在缩放为1%的情况下,可见的区域为板的边界。

步骤103、按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值。

依据对二维画面的调整可以进一步确定调整的比例值,以按照比例值实现三维方向上的调整,本发明实施例中,所述步骤103可以包括:

子步骤S11、将所述三维粒子画面所在视窗的高,与所述三维粒子画面调整大小后的高相除,其比值为对所述三维粒子画面在立标方向的大小调整比例值。

对三维粒子画面进行调整后,可以计算调整的比例值,具体可以为所述三维粒子画面所在视窗的高与三维粒子画面调整大小后的高的比值,也即为当前的缩放参数值。缩放参数值与三维画面的大小成反比,即看到的三维画面越大,缩放参数值越小,看到的三维画面越小,缩放参数值越大。

在具体的实现中,该比例值可以在对粒子画面进行调整时在界面上进行显示。

步骤104、按照所述比例值修正所述三维粒子画面在立标方向上的大小。

按照横纵坐标轴的调整比例值可以对粒子画面在立标(Z轴)方向上的大小进行调整,从而通过对二维显示器中粒子画面的调整,实现对三维画面的调整,本发明实施例中,所述步骤104可以包括:

子步骤S21、将所述比例值与所述三维例子画面在立标方向上的值相除,得到所述三维粒子画面在立标方向上的大小;

子步骤S22、按照所述三维粒子画面在立标方向上的大小对所述粒子画面进行调整。

通过步骤102得出了二维坐标轴的调整比例值,立标方向也按照该比例值进行相应的调整,首先,计算比例值与三维例子画面在立标方向上相除,得到三维粒子画面在立标方向上的大小,然后按照三维粒子画面在立标方向上的大小对粒子画面进行调整。

如图5a和5b给出了本发明实施例中不同的调整比例值下对粒子画面的调整效果示意图,其中,图5为工程分辨率1920*1080,缩放为41%的效果图,图6为工程分辨率1920*1080,缩放为18%的效果图。

具体的,可以按照如下方式对Z轴方向的大小进行调整:

Vector3vPos;

vPos=m_pCamera->getPosition();

vPos.z=m_vCameraPos.z/m_fRenderWindowScale;

m_pCamera->setPosition(vPos)

其中,m_pCamera为场景中的照相机,通过getPosition函数得到当前照相机的位置,m_fRenderWindowScale是缩放比例尺,比如缩放为41%时,值为0.41,m_vCameraPos为初始摄像机的位置,该位置时看到的画面其缩放比例尺为1,计算新缩放比例尺下的摄像机位置Z为:初始位置的Z值除以缩放比例尺,即位置Z值越大,看到的物体越小,位置Z值越小,看到的物体越大,两个数之间成反比。m_pCamera->setPosition(vPos)为用新的摄像机位置设置照相机。

在具体的实现中,还可以对粒子画面进行平移,可以通过预置链接中的“平移”鼠标左键按下,左右移动,修改平移参数,左键抬起操作结束,也可以通过调用快捷键S,操作时同时按住shift键,将平移的尺度是原尺度的5倍;也可以选择链接中的“平移到中心”,选择该菜单,直接设置参数;也可以选择链接中的“复位平移和缩放”,实现平移到中心,并缩放100%。如图6给出了对三维粒子画面进行平移的效果示意图,其中,工程分辨率1920*1080,缩放为41%,对三维粒子画面向右移动的效果图。

在选择预置链接中“平移”后,用户平移的参数in_sScroll,为要平移的二维坐标值,需要将其转换成三维的距离,对摄像机的坐标进行XY值的修改,可以按照如下方式对XY值进行调整:

SNs3Dimension sStart2D,sStart3D;

sStart2D.fX=0;

sStart2D.fy=0;

sStart2D.fZ=0;

Convert2Dto3DWithZValue(sStart2D,0,&sStart3D);

Convert2Dto3DWithZValue(in_sScroll,0,&s3DDim);

Vector3vPos;

vPos=m_pCamera->getPosition();

vPos.x+=-(s3DDim.fX-sStart3D.fX);

vPos.y+=-(s3DDim.fY-sStart3D.fY);

m_pCamera->setPosition(vPos);

其中,Convert2Dto3DWithZValue(sStart2D,0,&sStart3D)表示计算二维坐标(0,0)对应的三维坐标sStart3D

Convert2Dto3DWithZValue(in_sScroll,0,&s3DDim)表示计算二维平移坐标in_sScroll对应的三维坐标s3DDim

vPos=m_pCamera->getPosition()中m_pCamera为场景中的照相机,通过getPosition函数得到当前照相机的位置

vPos.x+=-(s3DDim.fX-sStart3D.fX);

vPos.y+=-(s3DDim.fY-sStart3D.fY);

表示s3DDim.fX-sStart3D.fX平移坐标X与0坐标X相减,得到移动的差值,计算新的摄像机位置的XY值,界面上传入的平移参数,指画面移动的XY,对于摄像机实现该效果,而不是通过移动画面中的物体时,摄像机的移动方向刚好相反。所以摄像机位置X减去移动的差值得到新的位置X值,Y值同理。

m_pCamera->setPosition(vPos)表示用新的摄像机位置设置照相机。

依据本发明实施例,接收通过预置链接对三维粒子画面在视窗中的二维横纵坐标轴方向的大小调整,并采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分,然后按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值,并进一步按照所述比例值修正所述三维粒子画面在立标方向上的大小,从而实现了在二维空间的显示器中对三维画面的调整。

依据本发明实施例还可以在三维粒子画面未铺满所在视窗的部分采用预设前景挡板进行覆盖,从而可以使得粒子画面的显示更为清晰。

需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。

基于上述方法实施例的说明,本发明还提供了相应的三维粒子画面的调整装置实施例,来实现上述方法实施例所述的内容。

参照图2,其示出了本发明实施例所述一种三维粒子画面的调整装置的结构框图,具体可以包括:

调整接收模块201,用于接收通过预置链接对三维粒子画面在视窗中的横纵坐标轴方向的大小调整;

挡板覆盖模块202,用于采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分;

比例值确定模块203,用于按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值;

大小修正模块204,用于按照所述比例值修正所述三维粒子画面在立标方向上的大小。

本发明实施例中,所述预设前景挡板可以包括所述视窗的上方、下方、左方和右方的四块挡板。

本发明实施例中,所述比例值确定模块可以包括:

计算子模块,用于将所述三维粒子画面所在视窗的高,与所述三维粒子画面调整大小后的高相除,其比值为对所述三维粒子画面在立标方向的大小调整比例值。

本发明实施例中,所述大小修正模块可以包括:

大小确定子模块,用于将所述比例值与所述三维例子画面在立标方向上的值相除,得到所述三维粒子画面在立标方向上的大小;

大小调整子模块,用于按照所述三维粒子画面在立标方向上的大小对所述粒子画面进行调整。

本发明实施例中,所述预设前景挡板的纹理为黑色,所述预设前景挡板在所述视窗中的渲染次序优先于所述视窗。

依据本发明实施例,接收通过预置链接对三维粒子画面在视窗中的二维横纵坐标轴方向的大小调整,并采用预设前景挡板覆盖所述三维粒子画面未铺满所述视窗的部分,然后按照所述大小调整确定对所述三维粒子画面在立标方向的大小调整比例值,并进一步按照所述比例值修正所述三维粒子画面在立标方向上的大小,从而实现了在二维空间的显示器中对三维画面的调整。

依据本发明实施例还可以在三维粒子画面未铺满所在视窗的部分采用预设前景挡板进行覆盖,从而可以使得粒子画面的显示更为清晰。

对于上述粒子发射装置的实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见图1所示方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“组件”、“装置”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,组件可以、但不限于是运行于处理器的过程、处理器、对象、可执行组件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是组件。一个或多个组件可在执行的过程和/或线程中,并且组件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。组件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一组件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

以上对本发明所提供的一种三维粒子画面的调整方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1