一种基于Unity3D在雪地上滚雪球的痕迹生成方法及终端与流程

文档序号:36294373发布日期:2023-12-07 04:07阅读:48来源:国知局
一种基于的制作方法

本发明涉及unity3d应用,尤其涉及一种基于unity3d在雪地上滚雪球的痕迹生成方法及终端。


背景技术:

1、在3d游戏中有时会碰到场景中是一片白茫茫的雪地,在这片雪地上可能会有滚雪球的操作。通常滚雪球的时候会在雪地上留下拖尾痕迹,也许两侧与雪球的前端也会存在因为雪球挤压而出现的小雪堆。现有的雪地痕迹与四周小雪堆的生成往往是采用shader实现,结合曲面细分技术可以细分雪地网格,读取雪球位置绘制痕迹,根据笔刷留下痕迹的颜色深浅来控制雪地的痕迹凹陷与雪堆突起。为了使雪堆突起更加真实美观往往要利用曲面细分技术将网格细分到较为精细的程度,而曲面细分技术对于设备有较高的要求,且由此生成的拖尾痕迹风格在q版画风中也并不适用。另外对于雪地拖尾痕迹来说,通常使用的是直接将雪球位置映射到画布上,利用笔刷绘制而成,如果需要痕迹的渐变消失就会比较麻烦,需要检测当前绘制过的痕迹再修改区域颜色进行淡出处理。

2、因此,上述技术存在以下缺点:

3、缺点1:应用到曲面细分技术,对设备要求较高,中低端设备无法使用。

4、缺点2:直接使用笔刷绘制痕迹路径图,在需要渐渐淡出痕迹时不便操作。


技术实现思路

1、(一)要解决的技术问题

2、为了解决现有技术的上述问题,本发明提供一种基于unity3d在雪地上滚雪球的痕迹生成方法及终端,能够优化在雪地上滚雪球生成拖尾痕迹所带来的性能消耗,降低了设备要求。

3、(二)技术方案

4、为了达到上述目的,本发明采用的一种技术方案为:一种基于unity3d在雪地上滚雪球的痕迹生成方法,包括:

5、s1、制作雪球模型、小雪堆模型、痕迹面片和雪地模型,对所述雪地模型中用于所述雪球模型的活动区域进行网格精细化处理,将所述雪球模型、小雪堆模型、痕迹面片和雪地模型导入至unity3d中;

6、将所述小雪堆模型的位置预设至雪球模型的前侧和左右两侧,将所述小雪堆模型的初始缩放值设置为0,并制作用于存放所述小雪堆模型和痕迹面片的对象池;

7、s2、在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,实时更新所述雪球模型的位置,利用所述对象池在所述雪球模型的左右两侧实时生成所述小雪堆模型,位于所述雪球模型前侧的小雪堆随着所述雪球模型的位置变化做同步移动,使其位置保持于所述雪球模型的前侧,并随着所述所述雪球模型的滚动同步做滚动动作;

8、利用正交相机获取所述雪球模型滚动过程中的当前位置,在所述当前位置处生成所述痕迹面片,将所述正交相机拍摄的信息传入至unity 3d的渲染器纹理rendertexture中,并通过着色器shader控制渲染器纹理rendertexture中所述痕迹面片的颜色,使所述痕迹面片在视觉上呈现凹陷效果;

9、s3、基于所述小雪堆模型和痕迹面片的已生成时间,将所述小雪堆模型进行缩小处理,同时通过笔刷痕迹工具对所述痕迹面片的颜色进行淡化处理,之后与所述小雪堆模型一同回收至所述对象池。

10、本发明采用的另一种技术方案为:一种基于unity3d在雪地上滚雪球的痕迹生成终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

11、s1、制作雪球模型、小雪堆模型、痕迹面片和雪地模型,对所述雪地模型中用于所述雪球模型的活动区域进行网格精细化处理,将所述雪球模型、小雪堆模型、痕迹面片和雪地模型导入至unity3d中;

12、将所述小雪堆模型的位置预设至雪球模型的前侧和左右两侧,将所述小雪堆模型的初始缩放值设置为0,并制作用于存放所述小雪堆模型和痕迹面片的对象池;

13、s2、在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,实时更新所述雪球模型的位置,利用所述对象池在所述雪球模型的左右两侧实时生成所述小雪堆模型,位于所述雪球模型前侧的小雪堆随着所述雪球模型的位置变化做同步移动,使其位置保持于所述雪球模型的前侧,并随着所述所述雪球模型的滚动同步做滚动动作;

14、利用正交相机获取所述雪球模型滚动过程中的当前位置,在所述当前位置处生成所述痕迹面片,将所述正交相机拍摄的信息传入至unity 3d的渲染器纹理rendertexture中,并通过着色器shader控制渲染器纹理rendertexture中所述痕迹面片的颜色,使所述痕迹面片在视觉上呈现凹陷效果;

15、s3、基于所述小雪堆模型和痕迹面片的已生成时间,将所述小雪堆模型进行缩小处理,同时通过笔刷痕迹工具对所述痕迹面片的颜色进行淡化处理,之后与所述小雪堆模型一同回收至所述对象池。

16、(三)有益效果

17、本发明的有益效果是:

18、①、在雪地模型中仅对雪球模型活动的区域进行网格精细化处理,非雪球模型活动区域则无需网格精细化处理,避免了曲面细分技术带来的设备限制,也通过场景区分避免全部网格进行精细化处理导致模型资源过大;

19、②、通过预先制作好的雪球模型、小雪堆模型和痕迹面片,能够自定义其q版风格,更加适用于q版画风。

20、③、通过对象池的回收机制,可以降低实时生成小雪球模型和痕迹面片所带来的性能消耗;

21、④、雪球模型的拖尾痕迹渐变消失是基于痕迹面片进行操作的,而非笔刷绘制,可更灵活地控制当前拖尾痕迹的隐藏功能。



技术特征:

1.一种基于unity3d在雪地上滚雪球的痕迹生成方法,其特征在于,包括:

2.根据权利要求1所述的基于unity3d在雪地上滚雪球的痕迹生成方法,其特征在于,所述s2中在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,利用所述对象池在所述雪球模型的左右两侧实时生成所述小雪堆模型包括:

3.根据权利要求1所述的基于unity3d在雪地上滚雪球的痕迹生成方法,其特征在于,所述s1还包括:

4.根据权利要求1所述的基于unity3d在雪地上滚雪球的痕迹生成方法,其特征在于,所述s2之后还包括:

5.根据权利要求1所述的基于unity3d在雪地上滚雪球的痕迹生成方法,其特征在于,所述s2中在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,实时更新所述雪球模型的位置包括:

6.一种基于unity3d在雪地上滚雪球的痕迹生成终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:

7.根据权利要求6所述的基于unity3d在雪地上滚雪球的痕迹生成终端,其特征在于,所述s2中在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,利用所述对象池在所述雪球模型的左右两侧实时生成所述小雪堆模型包括:

8.根据权利要求6所述的基于unity3d在雪地上滚雪球的痕迹生成终端,其特征在于,所述s1还包括:

9.根据权利要求6所述的基于unity3d在雪地上滚雪球的痕迹生成终端,其特征在于,所述s2之后还包括:

10.根据权利要求6所述的基于unity3d在雪地上滚雪球的痕迹生成终端,其特征在于,所述s2中在所述雪球模型的滚动过程中,小雪堆模型的缩放值与雪球模型的缩放值按预设比例相关联,实时更新所述雪球模型的位置包括:


技术总结
本发明涉及一种基于Unity3D在雪地上滚雪球的痕迹生成方法及终端,制作雪球模型、小雪堆模型、痕迹面片和雪地模型,雪地模型中用于雪球模型活动的区域进行网格精细化处理;将小雪堆模型的位置预设至雪球模型前侧和左右两侧,将小雪堆模型的初始缩放值设置为0,并制作用于存放小雪堆模型和痕迹面片的对象池;在雪球模型的滚动过程中,左右两侧实时生成小雪堆模型,位于雪球模型前侧的小雪堆随着雪球模型做同步移动,并随着雪球模型同步做滚动动作;利用正交相机获取雪球模型滚动过程并实时生成痕迹面片,将拍摄信息传入至RenderTexture中,并通过shader控制RenderTexture中痕迹面片的颜色,将小雪堆模型进行缩小,对痕迹面片的颜色进行淡化,之后与小雪堆模型一同回收至对象池。

技术研发人员:林薇,林东兰,薛飞,吴镇瑜,唐光宇,闫乃永,卢学明
受保护的技术使用者:宝宝巴士股份有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1