游戏场景的3D实体处理方法、装置及电子设备制造方法及图纸

技术编号:33285999 阅读:30 留言:0更新日期:2022-04-30 23:53
本申请实施例提供了一种游戏场景的3D实体处理方法、装置及电子设备,其中方法包括:将3D实体对象与多个3D实体UI面板进行绑定;将3D实体对象存入渲染显示列表中,根据3D实体对象的3D位置信息确定各3D实体UI面板的第一目标3D位置,将各3D实体UI面板显示在对应的第一目标3D位置上;在检测到3D实体对象移动时,获取3D实体对象的当前3D位置;根据当前3D位置确定各3D实体UI面板对应的第二目标3D位置;将各3D实体UI面板移动到对应的第二目标3D位置。这样,可以实现3D实体UI面板跟随3D实体对象移动,提高动态调整的3D实体UI面板交互效果,降低的3D实体UI面板交互的维护成本,提高开发效率。率。率。

【技术实现步骤摘要】
游戏场景的3D实体处理方法、装置及电子设备


[0001]本申请涉及游戏开发
,尤其涉及一种游戏场景的3D实体处理方法、装置及电子设备。

技术介绍

[0002]现在的3D游戏,玩家对游戏应用程序的品质要求越来越高;用户界面(User Interface,UI)作为游戏应用程序与玩家进行交互的主要方式,普通的显示在屏幕上的2D用户界面已越来越无法满足玩家对游戏应用程序品质的追求。而可以跟随游戏角色进行移动的、且可以呈现3D立体感的用户界面可以满足玩家对交互界面品质的追求。现有技术中,对于可跟随游戏角色进行移动的、且可以呈现3D立体感的3D实体用户界面的技术不成熟,一般采用以下两种方案:一种方案是当游戏角色走近实体物体时,会在屏幕上某个位置,比如右上角弹出一个2DUI展示实体信息,提供交互行为。第二种方案是程序人员编写C#语言脚本,为每个实体UI添加对应对应的用户界面元素,并编写对应的面板逻辑,然后把这些实体用户UI放到实体所在的某个3D位置上。
[0003]第一种方案中,虽然通过2DUI可以展示实体信息,提供交互行为,但是玩家设备屏幕本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种游戏场景的3D实体处理方法,其特征在于,所述方法包括:将3D实体对象与多个3D实体UI面板进行绑定;将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上;在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置;根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测屏幕的当前3D实体UI面板显示数量;若所述当前3D实体UI面板显示数量等于预先获取的最大显示数量,则控制不新增显示其他3D实体UI面板。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当检测到点击屏幕操作时,判断所述点击屏幕操作是否作用于2D实体UI面板上;若所述点击屏幕操作未作用于2D实体UI面板上,则判断所述点击屏幕操作是否作用于所述3D实体UI面板上;若所述点击屏幕操作作用于所述3D实体UI面板上,则获取预先建立的摄像机对象,通过所述摄像机对象根据所述点击屏幕操作确定屏幕2D位置,并将所述屏幕2D位置进行矩阵转换,得到第三目标3D位置;在UI3D层以所述第三目标3D位置为起点投射射线,确定所述射线投射到的至少一个RaycastHit2D对象;判断至少一个所述RaycastHit2D对象中是否存在拥有ClickScnObjUI组件的目标RaycastHit2D对象;若存在所述目标RaycastHit2D对象,则判断所述ClickScnObjUI组件是否含有点击事件的lua回调函数;若所述ClickScnObjUI组件含有点击事件lua回调函数,则调用所述点击事件lua回调函数,执行所述3D实体UI面板的点击事件逻辑。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若不存在所述目标RaycastHit2D对象,则确定所述点击屏幕操作未作用于所述3D实体UI面板上;或者,若所述ClickScnObjUI组件不含有所述点击事件lua回调函数,则确定所述点击屏幕操作未作用于所述3D实体UI面板上。5.根据权利要求1所述的方法,其特征在于,所述将3D实体对象与多个3D实体UI面板进行绑定的步骤之前,所述方法还包括:通过实体配置工具配置所述3D实体对象的实体UI配置文件,所述实体UI配置文件包括多个3D实体UI面板的面板信息,所述面板信息包括:面板类型、预制体文件路径、最大显示数量、解绑配置信息、视野,各3D实体UI面板设置有不同的面板类型;启动游戏应用程序时,加载所述实体UI配置文件,将所述实体UI配置文件中的面板信息存储到实体UI全局数据模块;
从所述实体UI全局数据模块获取对应的面板信息,根据所述面板信息创建对应的3D实体UI面板。6.根据权利要求1所述的方法,其特征在于,所述将3D实体对象与多个3D实体UI面板进行绑定的步骤之前,所述方法还包括:调用lua脚本文件中预先设置的OnScnObjUIPanelInit函数,以得到对应的3D实体UI面板;调用所述OnScnObjUIPanelInit函数执行对所述3D实体UI面板的上层逻辑初始化;所述将各所述3D实体UI面板显示在对应的第一目标3D位置上,包括:调用对应的lua脚本文件中的OnScnObjPanelShow函数,通过所述OnScnObjPanelShow函数将各所述3D实体UI面板显示在对应的第一目标3D位置上。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述3D实体UI面板移动到视野之外时,控制不对所述...

【专利技术属性】
技术研发人员:冯志远
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1