本发明专利技术公开了一种为平面图片设置动态阴影的方法及装置。所述为平面图片设置动态阴影的方法,包括实时获取光源的当前位置,获取平面图片的中心点与所述光源的当前位置之间的距离,获取所述平面图片的中心点与所述光源的当前位置的连线与坐标轴所形成的角度;并根据当前获取到的所述距离、所述角度、以及偏移因子,确定所述平面图片当前的阴影的位置和投影图片,将所述投影图片在所述阴影的位置进行显示。通过本发明专利技术得到随光源与平面图片的相对位置改变而变化位置的动态阴影,解决现有的处理方式中阴影一旦设置到图片上就无法再更改属性参数,导致虚拟场景中阴影与现实场景中的阴影不一致,影响画面整体效果的问题。
【技术实现步骤摘要】
本专利技术涉及图形处理领域,尤其是涉及一种为平面图片设置动态阴影的方法及装 置。
技术介绍
在动画制作的过程中,有时需要为平面图片展示阴影的功能。一般情况下,为平面 图片添加的阴影是内阴影,即指在光线照射条件下,造型实体背光方向所形成的阴暗面,这 种阴影能够体现出光源照射的方向以及图形实体的景深信息。当前对平面图片的阴影处理 方式主要分为两类: 第一、事先在图片处理软件(如Photoshop)中为图片添加阴影处理,然后绘制在 图片上一起导出使用; 第二、在图片处理软件中制作好阴影的图片,单独导出后,在应用中使用。 上述两种处理方式都有一个明显的缺点,就是阴影一旦设置到图片上后,就无法 再更改阴影的位置、形状以及浓淡等参数,导致虚拟场景中阴影与现实场景中的阴影不一 致,影响画面整体效果。
技术实现思路
本专利技术提供一种为平面图片设置动态阴影的方法及装置,解决现有技术中虚拟场 景中阴影与现实场景的阴影不一致的问题,能使虚拟场景更加逼真。 第一方面,本专利技术提供一种为平面图片设置动态阴影的方法,包括: 实时获取光源的当前位置,获取平面图片的中心点与所述光源的当前位置之间的 距离,获取所述平面图片的中心点与所述光源的当前位置的连线与坐标轴所形成的角度; 根据当前获取到的所述距离、所述角度、以及偏移因子,确定所述平面图片当前的 阴影的位置和投影图片,将所述投影图片在所述阴影的位置进行显示。 第二方面,本专利技术提供一种为平面图片设置动态阴影的装置,包括: 获取单元,用于实时获取光源的当前位置,获取平面图片的中心点与所述光源的 当前位置之间的距离,获取所述平面图片的中心点与所述光源的当前位置的连线与坐标轴 所形成的角度; 确定单元,用于根据当前获取到的所述距离、所述角度、以及偏移因子,确定所述 平面图片当前的阴影的位置和投影图片,将所述投影图片在所述阴影的位置进行显示。 本专利技术提供一种为平面图片设置动态阴影的方法及装置,通过实时获取光源的当 前位置,获取平面图片的中心点与所述光源的当前位置之间的距离,获取所述平面图片的 中心点与所述光源的当前位置的连线与坐标轴所形成的角度;并根据当前获取到的所述距 离、所述角度、以及偏移因子,确定所述平面图片当前的阴影的位置和投影图片,将所述投 影图片在所述阴影的位置进行显示。本专利技术实现根据光源与平面图片的相对位置为平面图 片实时生成动态的阴影的目的,解决现有技术中虚拟场景中阴影与现实场景的阴影不一致 的问题,能使虚拟场景更加逼真。【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所 需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本专利技术实施 例的内容和这些附图获得其他的附图。 图1是本专利技术第一实施例提供的为平面图片设置动态阴影的方法的流程图; 图2是本专利技术第二实施例提供的为平面图片设置动态阴影的方法的流程图; 图3是本专利技术第三实施例提供的为平面图片设置动态阴影的方法的流程图; 图3-1是本专利技术第三实施例中光源与平面图片在投影平面是XY平面的投影示意 图; 图4是本专利技术第四实施例提供的为平面图片设置动态阴影的装置的结构示意图; 图5是本专利技术第五实施例提供的为平面图片设置动态阴影的装置的结构示意图。【具体实施方式】 为使本专利技术解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面 将结合附图对本专利技术实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅 是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在 没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 下面结合附图并通过【具体实施方式】来进一步说明本专利技术的技术方案。 第一实施例 图1是本专利技术第一实施例提供的为平面图片设置动态阴影的方法的流程图。参照 图1所示,所述为平面图片设置动态阴影的方法,包括如下步骤: 步骤S110 :实时获取光源的当前位置,获取平面图片的中心点与所述光源的当前 位置之间的距离,获取所述平面图片的中心点与所述光源的当前位置的连线与坐标轴所形 成的角度。 当光源和平面图片的相对位置发生变化时,在平面图片下层所呈现的阴影也不 同。首先,监测光源的位置,实时获取光源的当前位置,即,按照预设的获取周期T,每经过时 间T,则获取一次光源的位置,记为Plight,并获取用以表示平面图片位置的平面图片的中心 点,记为Pimag6。根据平面图片的中心点与所述光源的当前位置的坐标计算两者之间的距离 Distance。连接平面图片的中心点与所述光源的当前位置,确定所述平面图片的中心点与 所述光源的当前位置的连线与坐标轴所成的角度Direct。 步骤S120 :根据当前获取到的所述距离、所述角度、以及偏移因子,确定所述平面 图片当前的阴影的位置和投影图片,将所述投影图片在所述阴影的位置进行显示。 在本实施例中,每得到一次光源的当前位置、平面图片的中心点与光源的当前位 置之间的距离、平面图片的中心点与光源的当前位置的连线与坐标轴所形成的角度之后, 便执行一次步骤120。 所述偏移因子是阴影与平面图片的偏移位置的缩放系数。当偏移因子越大时,阴 影距离平面图片就越远,显示效果就像平面图片从屏幕中升起。在二维坐标系中,所述偏移 因子是由用户预先设定的;但是,在三维坐标系中,所述偏移因子是通过计算平面图片的中 心点与所述光源的当前位置在投影平面的投影之间的距离获得的。 平面图片的阴影是位于投影平面的所述平面图片的全等图形或者对所述平面图 片的全等图形按照比例进行压缩或者拉伸的操作得到的投影图片。 在二维坐标系中,在确定所述平面图片当前的阴影的中心点位置后,实时将所述 平面图片的全等图形作为投影图片在所确定的阴影的位置显示,以作为所述平面图片的动 态阴影。然而,在三维坐标系中,在确定所述平面图片当前的阴影的中心点位置后,按照计 算确定的宽度和高度的缩放因子,实时将所述平面图片的全等图形的宽度和高度分别乘以 缩放因子获得压缩或拉伸后的新的投影图片,作为所述平面图片的动态阴影。 本专利技术实施例提供的为平面图片设置动态阴影的方法,通过实时获取光源的当前 位置,获取平面图片的中心点与所述光源的当前位置之间的距离,获取所述平面图片的中 心点与所述光源的当前位置的连线与坐标轴所形成的角度;并根据当前获取到的所述距 离、所述角度、以及偏移因子,确定所述平面图片当前的阴影的位置和投影图片,将所述投 影图片在所述阴影的位置进行显示。通过本实施例的方法实现根据光源与平面图片的相对 位置为平面图片实时生成动态的阴影的目的,解决现有技术中虚拟场景中阴影与现实场景 的阴影不一致的问题,能使虚拟场景更加逼真。 第二实施例 图2是本专利技术第二实施例提供的为平面图片设置动态阴影的方法的流程图。所述 为平面图片设置动态阴影的方法以本专利技术第一实施例为基础,进一步的,获取所述平面图 片在二维坐标系中的全等图形,以作为所述平面图片的投影图片; 采用如下公式确定所述平面图片当前的阴影的位置: 其中,〇Pshad〇w为坐标原点指向阴影中心点PshadOTt的向量,狀为坐标原点本文档来自技高网...
【技术保护点】
一种为平面图片设置动态阴影的方法,其特征在于,包括:实时获取光源的当前位置,获取平面图片的中心点与所述光源的当前位置之间的距离,获取所述平面图片的中心点与所述光源的当前位置的连线与坐标轴所形成的角度;根据当前获取到的所述距离、所述角度、以及偏移因子,确定所述平面图片当前的阴影的位置和投影图片,将所述投影图片在所述阴影的位置进行显示。
【技术特征摘要】
【专利技术属性】
技术研发人员:舒茧,姚娟,
申请(专利权)人:广东欧珀移动通信有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。