发明名称 一种2.5维走马灯动画生成方法
摘要 本发明公开一种2.5维走马灯动画生成方法,其步骤如下:(A)设定走马灯灯罩与内胆的平面显示区域与纹理图像,以及动画控制参数;(B)分别计算走马灯灯罩与内胆显示区域的矩形包围盒;(C)分割走马灯灯罩与内胆的包围盒,得到两个包围盒的宽度不等的子区域;(D)对走马灯的灯罩纹理图像与内胆纹理图像进行缩放与均匀分割;(E)生成走马灯灯罩包围盒与内胆包围盒的纹理贴图;(F)裁剪灯罩与内胆的纹理贴图,依据动画控制参数混合裁剪后的灯罩与内胆的纹理贴图,绘制单个动画帧;(G)修改动画控制参数,生成2.5维走马灯动画帧序列。本方法原理简单,易于实现,且动画生成效果较好。
申请公布号 CN106340050A 申请公布日期 2017.01.18
申请号 CN201610673368.3 申请日期 2016.08.15
申请人 南京师范大学 发明人 庞明勇;范丽鹏;吴磊
分类号 G06T13/00(2011.01)I 主分类号 G06T13/00(2011.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 一种2.5维走马灯动画生成方法,其特征在于,包括如下步骤:A.设定走马灯灯罩与内胆的显示区域以及动画控制参数:分别设定走马灯动画的灯罩显示区域Ω<sub>out</sub>与内胆显示区域Ω<sub>in</sub>,区域Ω<sub>out</sub>和区域Ω<sub>in</sub>均为二维平面直角坐标系中面积有限的区域,且区域Ω<sub>out</sub>覆盖区域Ω<sub>in</sub>;确定走马灯动画的灯罩纹理图像I<sub>out</sub>与内胆纹理图像I<sub>in</sub>;设定动画显示分辨率的控制参数N、走马灯灯罩与内胆转动速度的控制参数Δ<sub>out</sub>与Δ<sub>in</sub>,以及灯罩透明度控制参数ρ;B.计算走马灯灯罩与内胆显示区域Ω<sub>out</sub>和Ω<sub>in</sub>的包围盒Γ<sub>out</sub>与Γ<sub>in</sub>:根据走马灯动画中灯罩与内胆的显示区域Ω<sub>out</sub>与Ω<sub>in</sub>在平面上的范围,得到分别覆盖区域Ω<sub>out</sub>和Ω<sub>in</sub>的平面矩形包围盒Γ<sub>out</sub>和Γ<sub>in</sub>;其中,矩形包围盒Γ<sub>out</sub>与矩形包围盒Γ<sub>in</sub>的各边平行于平面直角坐标系的坐标轴;C.分割包围盒Γ<sub>out</sub>与包围盒Γ<sub>in</sub>,得到两个包围盒的子区域:将包围盒Γ<sub>out</sub>与包围盒Γ<sub>in</sub>分别分割为一组子区域,即:得到包围盒Γ<sub>out</sub>的子区域<img file="FDA0001078166080000011.GIF" wi="387" he="63" />以及包围盒Γ<sub>in</sub>的子区域<img file="FDA0001078166080000012.GIF" wi="355" he="70" />D.分割走马灯的灯罩纹理图像I<sub>out</sub>与内胆纹理图像I<sub>in</sub>:将灯罩纹理图像I<sub>out</sub>分割为子图像<img file="FDA0001078166080000013.GIF" wi="363" he="63" />将内胆纹理图像分割为子图像<img file="FDA0001078166080000014.GIF" wi="331" he="71" />设定灯罩纹理图像I<sub>out</sub>和内胆纹理图像I<sub>in</sub>的当前子图像分别为<img file="FDA0001078166080000015.GIF" wi="70" he="61" />和<img file="FDA0001078166080000016.GIF" wi="83" he="70" />其中i,j∈{0,1,2,…,N‑1};E.生成走马灯灯罩包围盒Γ<sub>out</sub>和内胆包围盒Γ<sub>in</sub>的纹理贴图T<sub>out</sub>和T<sub>in</sub>:生成灯罩纹理贴图T<sub>out</sub>和内胆纹理贴图T<sub>in</sub>的方法相同:取ξ为out或in,由纹理图像I<sub>ξ</sub>的子图像<img file="FDA0001078166080000017.GIF" wi="298" he="70" />得到包围盒Γ<sub>ξ</sub>的纹理贴图T<sub>ξ</sub>的方法是,设纹理图像I<sub>ξ</sub>的当前子图像为<img file="FDA0001078166080000018.GIF" wi="83" he="79" />分别将纹理图像I<sub>ξ</sub>的N个子图像<img file="FDA0001078166080000019.GIF" wi="708" he="86" />依次贴至包围盒Γ<sub>ξ</sub>的N个子区域<img file="FDA00010781660800000110.GIF" wi="314" he="71" />上,形成包围盒Γ<sub>ξ</sub>的纹理贴图T<sub>ξ</sub>,其中,%表示求模运算;记得到的包围盒Γ<sub>out</sub>与包围盒Γ<sub>in</sub>的纹理贴图分别为T<sub>out</sub>和T<sub>in</sub>;F.混合纹理贴图T<sub>out</sub>和T<sub>in</sub>,绘制单个动画帧:从纹理贴图T<sub>out</sub>中裁剪出位于灯罩显示区域Ω<sub>out</sub>内的部分,仍记为T<sub>out</sub>;从纹理贴图T<sub>in</sub>中裁剪出位于灯罩显示区域Ω<sub>in</sub>内的部分,仍记为T<sub>in</sub>;根据灯罩透明度控制参数ρ,确定纹理贴图T<sub>out</sub>的透明程度,再将设置了透明度的纹理贴图T<sub>out</sub>与纹理贴图T<sub>in</sub>进行混合,得到合成纹理贴图T<sub>b</sub>;绘制合成纹理贴图T<sub>b</sub>生成单个动画帧;G.生成2.5维走马灯动画帧序列:根据动画控制参数Δ<sub>out</sub>与Δ<sub>in</sub>重新定义灯罩纹理图像I<sub>out</sub>的当前子图像<img file="FDA00010781660800000111.GIF" wi="74" he="63" />和内胆纹理图像I<sub>in</sub>的当前子图像<img file="FDA00010781660800000112.GIF" wi="82" he="70" />重复执行步骤E和步骤F以及重新定义的子图像<img file="FDA00010781660800000113.GIF" wi="72" he="63" />和<img file="FDA00010781660800000114.GIF" wi="78" he="70" />产生所需的动画帧序列,形成2.5维走马灯动画。
地址 210046 江苏省南京市亚东新城区文苑路1号