一种基于Unity的视野调整方法及系统与流程
- 国知局
- 2024-07-11 16:13:18
本发明涉及游戏制作,具体涉及一种基于unity的视野调整方法及系统。
背景技术:
1、unity是实时3d互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助unity将创意变成现实。unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2d和3d内容,支持平台包括手机、平板电脑、pc、游戏主机、增强现实和虚拟现实设备。
2、使用3d引擎unity进行开发时,在常见的场景漫游、第三人称控制,亦或是相机聚焦、跟随对象的开发过程中,在相机的视锥体内,相机与聚焦的对象之间,可能会出现不同程度的遮挡,比如墙体、柱体、山石、树木等物体,如果完全遮挡住视野,会导致穿模,用户无法看到聚焦或第三人称控制的对象,用户体验感非常差。
技术实现思路
1、针对现有技术的不足,本发明的目的在于提供一种基于unity的视野调整方法及系统,旨在解决现有技术中在聚焦跟随目标对象时,会出现遮挡物遮挡视野而穿模,导致用户体验感差的技术问题。
2、本发明一方面在于提供一种基于unity的视野调整方法,所述方法包括:
3、在观察者处建立摄像机,以所述摄像机作为观察点,聚焦捕获目标对象,并以所述目标对象的位置作为聚焦点;
4、将所述观察点和所述聚焦点作为起点和终点,建立探测射线,探测所述探测射线上遮挡物,并获取所述遮挡物的遮挡信息,所述遮挡信息包括遮挡物的遮挡数量、遮挡物的模型大小;
5、获取场景类型,根据所述遮挡信息和所述场景类型,选择所需启用的视野扩充方式,剪裁所述遮挡物或移动摄像机位置,以调整所述观察点的视野。
6、与现有技术相比,本发明的有益效果在于:通过本发明提供的基于unity的视野调整方法,能有效地扩充视野,提高用户体验感,具体为,在观察者处建立摄像机,以所述摄像机作为观察点,聚焦捕获目标对象,并以所述目标对象的位置作为聚焦点;将所述观察点和所述聚焦点作为起点和终点,建立探测射线,探测所述探测射线上遮挡物,并获取所述遮挡物的遮挡信息,所述遮挡信息包括遮挡物的遮挡数量、遮挡物的模型大小,通过探测射线来探测遮挡物,有效地探测观察点与目标对象之间是否存在遮挡物,以利于后续视野的扩充;获取场景类型,根据所述遮挡信息和所述场景类型,选择所需启用的视野扩充方式,剪裁所述遮挡物或移动摄像机位置,以调整所述观察点的视野,通过裁剪或移动摄像机位置,操作简单,提高处理时效,能有效地解决聚焦捕获目标对象时视野遮挡问题,提高用户体验感,从而解决了现有技术中在聚焦跟随目标对象时,会出现遮挡物遮挡视野而穿模,导致用户体验感差的技术问题。
7、根据上述技术方案的一方面,探测所述探测射线上遮挡物,并获取所述遮挡物的遮挡信息的步骤,具体包括:
8、探测所述探测射线上是否存在遮挡物;
9、若是,则获取所述遮挡物的遮挡信息;
10、若否,则继续聚焦捕获目标对象。
11、根据上述技术方案的一方面,获取场景类型,根据所述遮挡信息和所述场景类型,选择所需启用的视野扩充方式,剪裁所述遮挡物或移动摄像机位置,以调整所述观察点的视野的步骤,包括:
12、获取场景类型,所述场景类型包括简单场景和复杂场景;
13、当所述场景类型为简单场景时,基于所述遮挡数量,选用所需启动的视野扩充方式,剪裁遮挡物或移动摄像机位置,以调整所述观察点的视野;
14、当所述场景类型为复杂场景时,基于所述遮挡数量和所述模型大小,选用所需启动的视野扩充方式,剪裁遮挡物或移动摄像机位置,以调整观察点的视野;
15、其中,所述视野扩充方式包括第一视野扩充策略和第二视野扩充策略。
16、根据上述技术方案的一方面,所述第一视野扩充策略为:
17、以所述摄像机作为观察点,与第一摄像平面和第二摄像平面以及摄像机的景深建模,形成视锥体;
18、以所述第一摄像平面上相邻两个第一面顶点,以及与所述第一面顶点对应的所述第二摄像平面的相邻两个第二面顶点,形成裁剪面;
19、以所述裁剪面朝向所述遮挡物延伸相交,切割去除所述遮挡物中阻挡所述探测射线的部分,以调整所述观察点的视野。
20、根据上述技术方案的一方面,以所述第一摄像平面上相邻两个第一面顶点,以及与所述第一面顶点对应的所述第二摄像平面的相邻两个第二面顶点,形成裁剪面的步骤,具体包括:
21、将所述第一摄像平面的四端角赋予视口坐标,分别为视口原点(0,0),视口第一端点(1,0),视口第二端点(0,1),视口第三端点(1,1);
22、获取所述遮挡物在第一摄像平面上的遮挡坐标,并根据所述遮挡坐标划分遮挡区域,以规划裁剪面的相邻两个第一面顶点。
23、根据上述技术方案的一方面,所述第二视野扩充策略为:
24、取所述探测射线与所述遮挡物于靠近所述目标对象的一侧的空间x轴坐标和y轴坐标,保持所述摄像机的空间z轴坐标,构成所述摄像机所需移动的定位空间坐标(x,y,z);
25、将所述摄像机移动至定位空间坐标(x,y,z),避开所述遮挡物,以调整所述观察点的视野;
26、调整所述摄像机的角度,以聚焦捕获所述目标对象。
27、根据上述技术方案的一方面,当所述场景类型为简单场景时,基于所述遮挡数量,选用所需启动的视野扩充方式,剪裁遮挡物或移动摄像机位置,以调整所述观察点的视野的步骤,具体包括:
28、当所述场景类型为简单场景时,查看所述遮挡数量,并判断所述遮挡数量是否大于第一阈值;
29、若是;则启动第二视野扩充策略;
30、若否,则启动第一视野扩充策略。
31、根据上述技术方案的一方面,当所述场景类型为复杂场景时,基于所述遮挡数量和所述模型大小,选用所需启动的视野扩充方式,剪裁遮挡物或移动摄像机位置,以调整观察点的视野的步骤,具体包括:
32、当所述场景类型为复杂场景时,计算模型大小大于第二阈值的遮挡物的数量与所述遮挡数量的比例,得到数量系数;
33、计算大于所述第二阈值的所述模型大小的总和与所有遮挡物的模型大小的总和的比例,得到模型系数;
34、将所述数量系数和所述模型系数相乘,得到所有遮挡物的复杂系数;
35、当所述复杂系数低于第一系数阈值时,启动第一视野扩充策略;
36、当所述复杂系数高于第一系数阈值,且低于第二系数阈值时,同时启动第一视野扩充策略和第二视野扩充策略;
37、当所述复杂系数高于第二系数阈值时,启动第二视野扩充策略。
38、根据上述技术方案的一方面,当所述复杂系数高于第一系数阈值,且低于第二系数阈值时,同时启动第一视野扩充策略和第二视野扩充策略的步骤,具体包括:
39、判断当前的遮挡物的模型大小是否大于所述第二阈值;
40、若是,则启动第二视野扩充策略;
41、若否,则获取当前的遮挡物的模型状态,根据所述模型状态确定所需的视野扩充方式,包括:
42、获取当前的遮挡物的模型状态,所述模型状态包括合并式模型和未合并式模型;
43、当所述模型状态为合并式模型时,启动第一视野扩充策略;
44、当所述模型状态为未合并式模型时,启动第二视野扩充策略。
45、本发明另一方面在于提供了一种基于unity的视野调整系统,所述基于unity的视野调整系统用于实现上述基于unity的视野调整方法,所述系统包括:
46、目标对象捕获模块,用于在观察者处建立摄像机,以所述摄像机作为观察点,聚焦捕获目标对象,并以所述目标对象的位置作为聚焦点;
47、遮挡物探测模块,用于将所述观察点和所述聚焦点作为起点和终点,建立探测射线,探测所述探测射线上遮挡物,并获取所述遮挡物的遮挡信息,所述遮挡信息包括遮挡物的遮挡数量、遮挡物的模型大小;
48、视野调整模块,用于获取场景类型,根据所述遮挡信息和所述场景类型,选择所需启用的视野扩充方式,剪裁所述遮挡物或移动摄像机位置,以调整所述观察点的视野。
本文地址:https://www.jishuxx.com/zhuanli/20240615/78163.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表