CN116958359A - 基于动态修改Spine的动画处理方法、装置及介质 - Google Patents
基于动态修改Spine的动画处理方法、装置及介质 Download PDFInfo
- Publication number
- CN116958359A CN116958359A CN202310972908.8A CN202310972908A CN116958359A CN 116958359 A CN116958359 A CN 116958359A CN 202310972908 A CN202310972908 A CN 202310972908A CN 116958359 A CN116958359 A CN 116958359A
- Authority
- CN
- China
- Prior art keywords
- target
- picture
- point
- atlas
- drawing area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004048 modification Effects 0.000 title claims abstract description 38
- 238000012986 modification Methods 0.000 title claims abstract description 38
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000013507 mapping Methods 0.000 claims description 44
- 238000002156 mixing Methods 0.000 claims description 10
- 238000005520 cutting process Methods 0.000 claims description 8
- 239000000463 material Substances 0.000 abstract description 9
- 238000009877 rendering Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 210000000988 bone and bone Anatomy 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005562 fading Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种基于动态修改Spine的动画处理方法、装置及介质,基于用户的操作确定出待修改的目标图集,基于目标图集的尺寸生成一个纯透明的MaskTex;获取待修改部位的槽点名称(目标图集中的目标槽点图片对应的名称);基于目标槽点图片和目标槽点图片在目标图集中的uv坐标,在MaskTex中生成一个绘制区域;基于MaskTex的绘制区域和目标图集的目标槽点图片,生成修改后的目标图集。将Spine原有的材质进行替换,让它拥有绘制和渲染的能力,将MainTex和MaskTex两者进行融合或裁剪,通过GPU进行运算,从而实现对Spine动画的实时处理和动态绘制,能够大大降低程序、美术等人员的工作量。
Description
技术领域
本申请涉及动画处理技术领域,具体而言,涉及一种基于动态修改Spine的动画处理方法、装置及介质。
背景技术
Spine是一种2D骨骼动画软件,最初由Esoteric Software开发,在游戏开发和互动媒体领域得到广泛使用。Spine可以实现高效的骨骼动画制作,使开发者能够创建灵活、高度可定制的角色动画,同时具有小文件大小、高效性能和易于实现的优点。
随着游戏行业的迅猛发展和技术的不断创新,骨骼动画技术也不断地发展和演进。随着游戏画面和特效的不断提高,简单的2D图形已经不能满足需求了。因此Spine的出现,满足了开发者对于更高质量、更出色的2D骨骼动画的需求。由于Spine具有较高的灵活性和可定制性,在游戏开发领域得到了广泛的应用,如动作RPG、横版过关游戏等。总的来说,Spine具有广泛的应用场景,尤其在游戏开发领域得到广泛的关注和应用。
在Unity中,Spine是一种用于创建和实现2D骨骼动画的插件工具。使用Spine可以为Unity中的2D角色添加高效、灵活和可定制的骨骼动画效果,同时也可以大大减小游戏资源的大小和提高游戏运行的效率。
具体来说,使用Spine在Unity中可以实现以下功能:
1.创建骨骼动画:将角色的各个身体部位(如头、手、身体等)分解为多个骨骼,根据各个骨骼之间的约束关系来进行运动、变形和旋转,从而实现流畅的动画效果。
2.角色动画控制:通过控制骨骼的运动、变形和旋转,可以实现角色的各种动画效果,如行走、跳跃、攻击、受伤等。
3.效率和性能优化:Spine可以大大减小游戏资源的大小,同时也可以提高游戏运行的效率,使得游戏在各种环境和设备上都能够运行流畅。
总之,使用Spine可以在Unity中实现高效、灵活和可定制的2D骨骼动画效果,从而为游戏开发者带来更好的创作体验和优异的游戏品质。
但是,Spine难以实现复杂的动画效果,虽然可通过Shader、序列帧等方法实现复杂动画,但程序、美术等人员的工作量较大。另外,进行spine修改时,需要在Spine上面放一张静态图,实际是对静态图的修改,且Spine本身必须为静止状态。
发明内容
本申请实施例的目的在于提供一种基于动态修改Spine的动画处理方法、装置及介质,以将Spine原有的材质进行替换(构建MaskTex),让它拥有绘制和渲染的能力,使其能够在游戏中实时显示和呈现出动态的效果,将Spine材质球中的MainTex(目标图集)和MaskTex两者进行融合或裁剪,通过GPU进行运算,从而实现对Spine动画的实时处理和动态绘制,通过动态修改Spine实现复杂动画,能够大大降低程序、美术等人员的工作量。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请实施例提供一种基于动态修改Spine的动画处理方法,包括:基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片;基于所述目标图集的尺寸,生成一个纯透明的MaskTex;获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称;基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致;基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述MaskTex中生成一个绘制区域后,所述方法还包括:获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作;基于操作类型,在所述MaskTex的绘制区域中进行绘制。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,操作类型为裁剪操作时,基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集,包括:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点:若来源于所述绘制区域的像素点的透明度不为零,将与之映射的来源于所述目标槽点图片的像素点进行裁剪;若来源于所述绘制区域的像素点的透明度为零,保持与之映射的来源于所述目标槽点图片的像素点不变;所有映射像素点处理完成后,得到修改后的目标图集。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,操作类型为混合操作时,基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集,包括:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点:基于来源于所述绘制区域的像素点的透明度,更新来源于所述目标槽点图片的像素点的颜色值;所有映射像素点处理完成后,得到修改后的目标图集。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,基于来源于所述绘制区域的像素点的透明度,更新来源于所述目标槽点图片的像素点的颜色值,包括:采用以下公式更新所述目标槽点图片的像素点的颜色值:
c′ij=(1-aij)·cij,
其中,c'ij为所述目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为所述绘制区域中坐标为(i,j)的像素点的透明度,cij为所述目标槽点图片中坐标为(i,j)的像素点更新前的颜色值。
第二方面,本申请实施例提供一种基于动态修改Spine的动画处理装置,包括:目标图集确定单元,用于基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片;MaskTex生成单元,用于基于所述目标图集的尺寸,生成一个纯透明的MaskTex;槽点名称获取单元,用于获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称;绘制区域生成单元,用于基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致;目标图集修改单元,用于基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括内容绘制单元,用于在绘制区域生成单元生成一个绘制区域后,获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作;基于操作类型,在所述MaskTex的绘制区域中进行绘制。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,操作类型为裁剪操作时,所述目标图集修改单元,具体用于:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点:若来源于所述绘制区域的像素点的透明度不为零,将与之映射的来源于所述目标槽点图片的像素点进行裁剪;若来源于所述绘制区域的像素点的透明度为零,保持与之映射的来源于所述目标槽点图片的像素点不变;所有映射像素点处理完成后,得到修改后的目标图集。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,操作类型为混合操作时,所述目标图集修改单元,具体用于:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点,采用以下公式更新所述目标槽点图片的像素点的颜色值:
c′ij=(1-aij)·cij,
其中,c'ij为所述目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为所述绘制区域中坐标为(i,j)的像素点的透明度,cij为所述目标槽点图片中坐标为(i,j)的像素点更新前的颜色值;所有映射像素点处理完成后,得到修改后的目标图集。
第三方面,本申请实施例提供一种存储介质,所述存储介质设置在设备内,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面或第一方面的可能的实现方式中任一项所述的基于动态修改Spine的动画处理方法。
有益效果:
1.本方案基于用户的操作确定出待修改的目标图集(Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片),基于目标图集的尺寸生成一个纯透明的MaskTex,获取待修改部位的槽点名称(目标槽点图片对应的名称);基于目标槽点图片和其在目标图集中的uv坐标,在MaskTex中生成一个绘制区域(绘制区域在MaskTex中的形状尺寸位置与目标槽点图片在目标图集中的形状尺寸位置一致);基于MaskTex的绘制区域和目标图集的目标槽点图片,生成修改后的目标图集。通过将Spine原有的材质进行替换(构建MaskTex),让它拥有绘制和渲染的能力,使其能够在游戏中实时显示和呈现出动态的效果,将Spine材质球中的MainTex(目标图集)和MaskTex两者进行融合(基于透明度的值更新相应像素点的色彩值)或裁剪(基于透明度是否为零确定对应像素点是否裁剪),通过GPU进行运算,从而实现对Spine动画的实时处理和动态绘制,通过动态修改Spine实现复杂动画,能够大大降低程序、美术等人员的工作量。
2.本方案可以同时采用缓存和异步加载等手段,提高动态绘制Spine的效率和流畅度,还可以优化算法和数据结构,减少计算量和存储空间的使用。而将主要运算迁移到shader中,因为GPU对于大量数据处理的优势,对于图片的渲染可以通过GPU来进行加速,从而加快处理速度和提高性能。另外,直接对Spine进行修改,不需要美术额外出图。同时,可以自定义笔刷的虚实来决定绘制边缘的突兀感(如果需要边缘感强,可以使用纯色,如果要边缘有渐隐效果,可以控制边缘透明度逐渐变化)。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于动态修改Spine的动画处理方法的流程图。
图2为本申请实施例提供的一种基于动态修改Spine的动画处理装置的结构框图。
图标:10-基于动态修改Spine的动画处理装置;11-目标图集确定单元;12-MaskTex生成单元;13-槽点名称获取单元;14-绘制区域生成单元;15-目标图集修改单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,图1为本申请实施例提供的一种基于动态修改Spine的动画处理方法的流程图。在本实施例中,基于动态修改Spine的动画处理方法可以应用于终端(例如个人电脑),包括步骤S10、步骤S20、步骤S30、步骤S40、步骤S50。
在本实施例中,终端可以运行步骤S10。
步骤S10:基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片。
在本实施例中,Spine制作完成后,开发人员可以导入到Unity中,生成一个目标图集,目标图集包含多个槽点图片(一个图集中的所有槽点图片可以视为一张大的图片)。用户(此处用户是指动画的开发人员)想要修改动画时,即可点击动画中需要修改的部分(可以是在动画播放过程中,便于用户进行修改操作),需要修改的部分则属于这个目标图集,因此终端可以基于用户的操作确定出待修改的目标图集。
确定出目标图集后,终端可以运行步骤S20。
步骤S20:基于所述目标图集的尺寸,生成一个纯透明的MaskTex。
在本实施例中,终端可以基于目标图集的尺寸,生成一个纯透明的MaskTex。
例如,目标图集的尺寸为1024*2048,那么,终端可以生成一个1024*2048的MaskTex,MaskTex被设置为全透明(即每个像素点的透明度为0)。
生成MaskTex后,终端可以运行步骤S30。
步骤S30:获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称。
在本实施例中,终端可以获取待修改部位的槽点名称,此处,槽点名称可以是用户输入的,也可以是终端基于用户点击的部位(世界坐标Vec)所属的槽点图片而确定的,本实施例以输入的情况为例,不应视为对本申请的限定。
槽点名称是操作目标在Spine动画中的名字,即目标槽点图片在目标图集中的名称,通过检索可以确定动画信息、材质信息、纹理信息、uv坐标等,此处不作限定。例如,我要对“yaogao”这个图片进行修改,则需要在SkeletonDataAsset(骨骼数据资产,是一个存储骨骼动画数据的资产,其中有骨骼信息、动画信息、材质信息和纹理信息等)中去查询和“yaogao”相关的槽点,然后确定出此槽点名称对应的槽点图片为目标槽点图片,目标槽点图片就是我们的操作目标,修改则是针对目标槽点图片的修改。
获取槽点名称后,终端可以运行步骤S40。
步骤S40:基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致。
在本实施例中,终端可以利用目标槽点图片在目标图集中的uv坐标,在MaskTex中生成一个绘制区域,其中,绘制区域在MaskTex中的形状尺寸位置与目标槽点图片在目标图集中的形状尺寸位置一致。此处,限制绘制区域,可以将每次的修改限定到对应的槽点图片内,不会影响其他槽点图片。
生成绘制区域后,终端可以运行步骤S50。
步骤S50:基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
在本实施例中,生成绘制区域后,终端可以获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作,以及,终端可以获取当前绘制的笔刷类型(例如纯色笔刷,边缘感强;边缘半透明化的笔刷,边缘呈现渐隐效果),从而在MaskTex的绘制区域中进行绘制。
绘制完成后,终端可以基于MaskTex的绘制区域和目标图集的目标槽点图片,生成修改后的目标图集。
示例性的,操作类型为裁剪操作时,终端可以将MaskTex的绘制区域与目标图集中目标槽点图片建立像素级映射关系(MaskTex的绘制区域与目标图集中目标槽点图片位置形状尺寸均一致,可以建立起像素间的一一对应关系),其中,一组映射像素点包含来源于绘制区域的一个像素点和来源于目标槽点图片的一个像素点。
那么,针对每组映射像素点,终端可以判断:
若来源于绘制区域的像素点的透明度不为零,将与之映射的来源于目标槽点图片的像素点进行裁剪。呈现给用户的效果则是:目标槽点图片中原本存在内容,用户想要进行修改,例如擦除一部分内容。那么,用户即可在绘制区域进行绘制,绘制所占据的像素点,透明度不为零,基于此,终端即可将与之映射的来源于目标槽点图片的像素点进行裁剪,使目标槽点图片中相应像素点还原为背景色。
若来源于绘制区域的像素点的透明度为零,保持与之映射的来源于目标槽点图片的像素点不变。绘制区域内,用户未绘制的部分,即用户希望目标槽点图片中的相应内容保持原样,即不被裁剪掉。
所有映射像素点处理完成后,即可得到修改后的目标图集。
示例性的,操作类型为混合操作时,终端可以将MaskTex的绘制区域与目标图集中目标槽点图片建立像素级映射关系(MaskTex的绘制区域与目标图集中目标槽点图片位置形状尺寸均一致,可以建立起像素间的一一对应关系),其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点。
那么,针对每组映射像素点:
终端可以基于来源于绘制区域的像素点的透明度,更新来源于目标槽点图片的像素点的颜色值。
具体的,终端可以采用以下公式更新目标槽点图片的像素点的颜色值:
c'ij=(1-aij)·cij, (1)
其中,c'ij为目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为绘制区域中坐标为(i,j)的像素点的透明度,cij为目标槽点图片中坐标为(i,j)的像素点更新前的颜色值。
所有映射像素点处理完成后,即可得到修改后的目标图集。
需要说明的是,对于所有映射像素点的处理(例如裁剪操作或者混合操作),均是在Shader中进行。得到修改后的目标图集后,即可输出修改后的目标图集中每个像素处理后的颜色,实现修改后的目标图集的展示,这样就可以利用动态修改Spine的方式实现复杂动画的处理,能够大大降低程序、美术等人员的工作量。
请参阅图2,基于同一发明构思,本申请实施例提供一种基于动态修改Spine的动画处理装置10,包括:
目标图集确定单元11,用于基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片。
MaskTex生成单元12,用于基于所述目标图集的尺寸,生成一个纯透明的MaskTex。
槽点名称获取单元13,用于获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称。
绘制区域生成单元14,用于基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致。
目标图集修改单元15,用于基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
在本实施例中,所述装置10还包括内容绘制单元,用于在绘制区域生成单元14生成一个绘制区域后,获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作;基于操作类型,在所述MaskTex的绘制区域中进行绘制。
在本实施例中,操作类型为裁剪操作时,所述目标图集修改单元15,具体用于:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点:若来源于所述绘制区域的像素点的透明度不为零,将与之映射的来源于所述目标槽点图片的像素点进行裁剪;若来源于所述绘制区域的像素点的透明度为零,保持与之映射的来源于所述目标槽点图片的像素点不变;所有映射像素点处理完成后,得到修改后的目标图集。
在本实施例中,操作类型为混合操作时,所述目标图集修改单元15,具体用于:将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;针对每组映射像素点,采用以下公式更新所述目标槽点图片的像素点的颜色值:
c′ij=(1-aij)·cij,
其中,c'ij为所述目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为所述绘制区域中坐标为(i,j)的像素点的透明度,cij为所述目标槽点图片中坐标为(i,j)的像素点更新前的颜色值;所有映射像素点处理完成后,得到修改后的目标图集。
本申请实施例提供一种存储介质,所述存储介质设置在设备内,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行基于动态修改Spine的动画处理方法。
综上所述,本申请实施例提供一种基于动态修改Spine的动画处理方法、装置及介质:基于用户的操作确定出待修改的目标图集(Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片),基于目标图集的尺寸生成一个纯透明的MaskTex,获取待修改部位的槽点名称(目标槽点图片对应的名称);基于目标槽点图片和其在目标图集中的uv坐标,在MaskTex中生成一个绘制区域(绘制区域在MaskTex中的形状尺寸位置与目标槽点图片在目标图集中的形状尺寸位置一致);基于MaskTex的绘制区域和目标图集的目标槽点图片,生成修改后的目标图集。通过将Spine原有的材质进行替换(构建MaskTex),让它拥有绘制和渲染的能力,使其能够在游戏中实时显示和呈现出动态的效果,将Spine材质球中的MainTex(目标图集)和MaskTex两者进行融合(基于透明度的值更新相应像素点的色彩值)或裁剪(基于透明度是否为零确定对应像素点是否裁剪),通过GPU进行运算,从而实现对Spine动画的实时处理和动态绘制,通过动态修改Spine实现复杂动画,能够大大降低程序、美术等人员的工作量。可以同时采用缓存和异步加载等手段,提高动态绘制Spine的效率和流畅度,还可以优化算法和数据结构,减少计算量和存储空间的使用。而将主要运算迁移到shader中,因为GPU对于大量数据处理的优势,对于图片的渲染可以通过GPU来进行加速,从而加快处理速度和提高性能。另外,直接对Spine进行修改,不需要美术额外出图。同时,可以自定义笔刷的虚实来决定绘制边缘的突兀感(如果需要边缘感强,可以使用纯色,如果要边缘有渐隐效果,可以控制边缘透明度逐渐变化)。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于动态修改Spine的动画处理方法,其特征在于,包括:
基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片;
基于所述目标图集的尺寸,生成一个纯透明的MaskTex;
获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称;
基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致;
基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
2.根据权利要求1所述的基于动态修改Spine的动画处理方法,其特征在于,在所述MaskTex中生成一个绘制区域后,所述方法还包括:
获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作;
基于操作类型,在所述MaskTex的绘制区域中进行绘制。
3.根据权利要求2所述的基于动态修改Spine的动画处理方法,其特征在于,操作类型为裁剪操作时,基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集,包括:
将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;
针对每组映射像素点:
若来源于所述绘制区域的像素点的透明度不为零,将与之映射的来源于所述目标槽点图片的像素点进行裁剪;
若来源于所述绘制区域的像素点的透明度为零,保持与之映射的来源于所述目标槽点图片的像素点不变;
所有映射像素点处理完成后,得到修改后的目标图集。
4.根据权利要求2所述的基于动态修改Spine的动画处理方法,其特征在于,操作类型为混合操作时,基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集,包括:
将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;
针对每组映射像素点:
基于来源于所述绘制区域的像素点的透明度,更新来源于所述目标槽点图片的像素点的颜色值;
所有映射像素点处理完成后,得到修改后的目标图集。
5.根据权利要求4所述的基于动态修改Spine的动画处理方法,其特征在于,基于来源于所述绘制区域的像素点的透明度,更新来源于所述目标槽点图片的像素点的颜色值,包括:
采用以下公式更新所述目标槽点图片的像素点的颜色值:
c′ij=(1-aij)·cij,
其中,c'ij为所述目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为所述绘制区域中坐标为(i,j)的像素点的透明度,cij为所述目标槽点图片中坐标为(i,j)的像素点更新前的颜色值。
6.一种基于动态修改Spine的动画处理装置,其特征在于,包括:
目标图集确定单元,用于基于用户的操作确定出待修改的目标图集,其中,Spine制作完成导入Unity后,生成一个目标图集,目标图集包含多个槽点图片;
MaskTex生成单元,用于基于所述目标图集的尺寸,生成一个纯透明的MaskTex;
槽点名称获取单元,用于获取待修改部位的槽点名称,其中,槽点名称为所述目标图集中的目标槽点图片对应的名称;
绘制区域生成单元,用于基于所述目标槽点图片和所述目标槽点图片在所述目标图集中的uv坐标,在所述MaskTex中生成一个绘制区域,其中,所述绘制区域在所述MaskTex中的形状尺寸位置与所述目标槽点图片在所述目标图集中的形状尺寸位置一致;
目标图集修改单元,用于基于所述MaskTex的所述绘制区域和所述目标图集的所述目标槽点图片,生成修改后的目标图集。
7.根据权利要求6所述的基于动态修改Spine的动画处理装置,其特征在于,所述装置还包括内容绘制单元,用于在绘制区域生成单元生成一个绘制区域后,
获取当前绘制的操作类型,其中,操作类型包括混合操作和裁剪操作;基于操作类型,在所述MaskTex的绘制区域中进行绘制。
8.根据权利要求7所述的基于动态修改Spine的动画处理装置,其特征在于,操作类型为裁剪操作时,所述目标图集修改单元,具体用于:
将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;
针对每组映射像素点:
若来源于所述绘制区域的像素点的透明度不为零,将与之映射的来源于所述目标槽点图片的像素点进行裁剪;
若来源于所述绘制区域的像素点的透明度为零,保持与之映射的来源于所述目标槽点图片的像素点不变;
所有映射像素点处理完成后,得到修改后的目标图集。
9.根据权利要求7所述的基于动态修改Spine的动画处理装置,其特征在于,操作类型为混合操作时,所述目标图集修改单元,具体用于:
将所述MaskTex的所述绘制区域与所述目标图集中所述目标槽点图片建立像素级映射关系,其中,一组映射像素点包含来源于所述绘制区域的一个像素点和来源于所述目标槽点图片的一个像素点;
针对每组映射像素点,采用以下公式更新所述目标槽点图片的像素点的颜色值:
c′ij=(1-aij)·cij,
其中,c'ij为所述目标槽点图片中坐标为(i,j)的像素点更新后的颜色值,aij为所述绘制区域中坐标为(i,j)的像素点的透明度,cij为所述目标槽点图片中坐标为(i,j)的像素点更新前的颜色值;
所有映射像素点处理完成后,得到修改后的目标图集。
10.一种存储介质,其特征在于,所述存储介质设置在设备内,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任一项所述的基于动态修改Spine的动画处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310972908.8A CN116958359A (zh) | 2023-08-03 | 2023-08-03 | 基于动态修改Spine的动画处理方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310972908.8A CN116958359A (zh) | 2023-08-03 | 2023-08-03 | 基于动态修改Spine的动画处理方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116958359A true CN116958359A (zh) | 2023-10-27 |
Family
ID=88447435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310972908.8A Pending CN116958359A (zh) | 2023-08-03 | 2023-08-03 | 基于动态修改Spine的动画处理方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958359A (zh) |
-
2023
- 2023-08-03 CN CN202310972908.8A patent/CN116958359A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575445B (zh) | 毛皮虚拟化身动画 | |
EP2245598B1 (en) | Multi-buffer support for off-screen surfaces in a graphics processing system | |
US20110134119A1 (en) | Method and System For Displaying Animation With An Embedded System Graphics API | |
JP2005228320A (ja) | 深さ画像基盤の3次元グラフィックデータの高速視覚化方法、装置及びプログラムを記録したコンピュータ可読記録媒体 | |
CN108959392B (zh) | 在3d模型上展示富文本的方法、装置及设备 | |
US7508390B1 (en) | Method and system for implementing real time soft shadows using penumbra maps and occluder maps | |
US20180276870A1 (en) | System and method for mass-animating characters in animated sequences | |
US20130127849A1 (en) | Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content | |
JPH10105737A (ja) | 画像処理方法 | |
CN111583379A (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
JP2017111719A (ja) | 映像処理装置、映像処理方法、及び映像処理プログラム | |
US7289131B2 (en) | Method of rendering a graphics image | |
Pulli | New APIs for mobile graphics | |
Yuan et al. | Simplified and tessellated mesh for realtime high quality rendering | |
CN111402369A (zh) | 互动广告的处理方法、装置、终端设备及存储介质 | |
CN116958359A (zh) | 基于动态修改Spine的动画处理方法、装置及介质 | |
KR100469820B1 (ko) | 화면 갱신 방법 및 그 시스템 | |
Damez et al. | Space-time hierarchical radiosity | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
D'Amora et al. | Pervasive 3D viewing for product data management | |
JPH10198823A (ja) | 映像生成装置 | |
US11836333B2 (en) | Computer-implemented method and SDK for rapid rendering of object-oriented environments with enhanced interaction | |
Pilgrim et al. | Progressive skinning for character animation | |
CN108805964B (zh) | 基于OpenGL ES的VR机顶盒启动动画制作方法及系统 | |
EP4328863A1 (en) | 3d image implementation method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |