CN114416066A - 游戏场景的3d实体处理方法、装置及电子设备 - Google Patents

游戏场景的3d实体处理方法、装置及电子设备 Download PDF

Info

Publication number
CN114416066A
CN114416066A CN202111645914.XA CN202111645914A CN114416066A CN 114416066 A CN114416066 A CN 114416066A CN 202111645914 A CN202111645914 A CN 202111645914A CN 114416066 A CN114416066 A CN 114416066A
Authority
CN
China
Prior art keywords
entity
panel
target
function
determining
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
Application number
CN202111645914.XA
Other languages
English (en)
Inventor
冯志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN202111645914.XA priority Critical patent/CN114416066A/zh
Publication of CN114416066A publication Critical patent/CN114416066A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供了一种游戏场景的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面板交互的维护成本,提高开发效率。

Description

游戏场景的3D实体处理方法、装置及电子设备
技术领域
本申请涉及游戏开发技术领域,尤其涉及一种游戏场景的3D实体处理方法、装置及电子设备。
背景技术
现在的3D游戏,玩家对游戏应用程序的品质要求越来越高;用户界面(UserInterface,UI)作为游戏应用程序与玩家进行交互的主要方式,普通的显示在屏幕上的2D用户界面已越来越无法满足玩家对游戏应用程序品质的追求。而可以跟随游戏角色进行移动的、且可以呈现3D立体感的用户界面可以满足玩家对交互界面品质的追求。现有技术中,对于可跟随游戏角色进行移动的、且可以呈现3D立体感的3D实体用户界面的技术不成熟,一般采用以下两种方案:一种方案是当游戏角色走近实体物体时,会在屏幕上某个位置,比如右上角弹出一个2DUI展示实体信息,提供交互行为。第二种方案是程序人员编写C#语言脚本,为每个实体UI添加对应对应的用户界面元素,并编写对应的面板逻辑,然后把这些实体用户UI放到实体所在的某个3D位置上。
第一种方案中,虽然通过2DUI可以展示实体信息,提供交互行为,但是玩家设备屏幕尺寸有限,当多个实体同时存在时,屏幕上无法同时显示多个实体的2DUI;第二种技术方案中,虽然也是3D实体UI,但这种方式需要为每个实体UI需求编写对应的C#语言脚本,使用C#语言编写面板的显示、隐藏以及具体的交互逻辑,维护成本较高,开发效率不高。
发明内容
为了解决上述技术问题,本申请实施例提供了一种游戏场景的3D实体处理方法、装置及电子设备。
第一方面,本申请实施例提供了一种游戏场景的3D实体处理方法,所述方法包括:
将3D实体对象与多个3D实体UI面板进行绑定;
将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上;
在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置;
根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。
第二方面,本申请实施例提供了一种游戏场景的3D实体处理装置,所述装置包括:
绑定模块,用于将3D实体对象与多个3D实体UI面板进行绑定;
显示模块,用于将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上;
获取模块,用于在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置;
确定模块,用于根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。
第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的游戏场景的3D实体处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的游戏场景的3D实体处理方法。
上述本申请提供的游戏场景的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面板交互的维护成本,提高开发效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的游戏场景的3D实体处理方法的一流程示意图;
图2示出了本申请实施例提供的游戏场景的3D实体处理装置的一结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
实施例1
本公开实施例提供了一种游戏场景的3D实体处理方法。
具体的,参见图1,游戏场景的3D实体处理方法包括:
步骤S101,将3D实体对象与多个3D实体UI面板进行绑定。
在本实施例中,3D实体对象表示3D游戏中一种管理游戏世界中一个物体的类,3D实体对象可以为游戏主角对象、非玩家角色(Non-Player Character,NPC)对象、各种道具对象等。3D实体UI面板表示3D游戏中挂接到3D物体上的UI面板,方便玩家用户对3D实体对象进行交互控制。其中,玩家角色表示3D游戏中玩家可操作的游戏角色。
在本实施例中,可以为每一个3D实体UI面板标记一个面板类型,每个3D实体对象只能显示一个同面板类型的3D实体UI面板,可以同时显示不同面板类型的多个3D实体UI面板。
在本实施例中,通过摄像机对象创建虚拟正交摄像机(Camera3DUI),虚拟正交摄像机用于渲染图层(layer)为3D实体UI面板。
步骤S102,将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上。
在本实施例中,对于3D实体UI面板来说,当不需要显示3D实体UI面板,可以将3D实体UI面板放入内存池中,供下次显示使用;当3D实体UI面板需要显示时,把3D实体UI面板放入渲染显示列表中。
步骤S103,在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置。
在本实施例中,实时根据3D实体对象的当前3D位置可以计算3D实体UI面板的3D位置,保证其跟随实体进行移动,也可以计算离玩家主角较远的3D实体UI面板暂时隐藏,并把离玩家主角较远的3D实体UI面板剔除到视野外不进行渲染。
步骤S104,根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。
在本实施例中,游戏场景的3D实体处理方法还包括:
检测屏幕的当前3D实体UI面板显示数量;
若所述当前3D实体UI面板显示数量等于预先获取的最大显示数量,则控制不新增显示其他3D实体UI面板。
这样,通过配置3D实体UI面板的最大显示数量,可以有效的控制同屏显示的面板个数。
在本实施例中,游戏场景的3D实体处理方法还包括:
当检测到点击屏幕操作时,判断所述点击屏幕操作是否作用于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面板的点击事件逻辑。
在本实施例中,摄像机对象还负责3D实体UI面板的点击检测和点击事件函数触发。具体来说,当玩家角色点击屏幕时,若没有点击到2DUI面板元素,则进行3D实体UI点击检测。获取Camera3DUI摄像机对象,把点击的屏幕2D坐标转换为世界坐标系里的3D坐标存储到beginVec3中,以3D坐标为起点,在UI_3D层投射射线,在射线返回的RaycastHit2D物体对象中,判断是否拥有ClickScnObjUI组件,若没有,则表示没有点击到3D实体UI面板上;若有,则判断ClickScnObjUI组件上是否含有点击事件lua回调函数,若没有,则表示没有点击到3D实体UI面板上,若有则调用ClickScnObjUI组件上的点击事件lua回调函数,执行3D实体UI面板的点击事件逻辑。
在本实施例中,游戏场景的3D实体处理方法还包括:
若不存在所述目标RaycastHit2D对象,则确定所述点击屏幕操作未作用于所述3D实体UI面板上;或者,
若所述ClickScnObjUI组件不含有所述点击事件lua回调函数,则确定所述点击屏幕操作未作用于所述3D实体UI面板上。
在本实施例中,所述将3D实体对象与多个3D实体UI面板进行绑定的步骤之前,所述方法还包括:
通过实体配置工具配置所述3D实体对象的实体UI配置文件,所述实体UI配置文件包括多个3D实体UI面板的面板信息,所述面板信息包括:面板类型、预制体文件路径、最大显示数量、解绑配置信息、视野,各3D实体UI面板设置有不同的面板类型;
启动游戏应用程序时,加载所述实体UI配置文件,将所述实体UI配置文件中的面板信息存储到实体UI全局数据模块;
从所述实体UI全局数据模块获取对应的面板信息,根据所述面板信息创建对应的3D实体UI面板。
在本实施例中,可以通过实体UI配置文件模块为每个3D实体UI面板设置一个单独的类型,标记为typeName。所有的3D实体UI面板的实体UI配置文件都配置在scnobj_ui_cong.json文件中。
在实体UI配置文件中,每个面板类型都有如下信息组成:
面板类型{“typeName”}:字符串类型,用于标识3D实体UI面板的类型,对于同一种类型,一个实体对象上只能显示一个,但可以同时显示不同类型的面板。
prefab路径{“prefabPath”}:字符串类型,记录3D实体UI面板的预制体文件(prefab)存放的目录,当创建3D实体UI面板时,根据prefab路径创建对应的3D实体UI面板。
最大显示数量{“maxCount”}:int类型,用于标记3D实体UI面板同屏显示的最大数量,可以控制同屏最多显示多少个3D实体UI面板,有效的控制了渲染性能消耗。
解绑配置信息{“todel”}:int类型,1表示解绑3D实体UI面板时,删除该3D实体UI面板以及该3D实体UI面板所有资源,下次使用时再重新创建;0表示解绑时,将3D实体UI面板的面板信息放入内存池中,下次再次使用时,从内存池中取出该3D实体UI面板的面板信息,有效的提高了内存使用效率。
视野,{“dis”}:int类型,视野又可以称为可以显示的距离,0表示根据渲染列表规则来执行;大于0时,比如填写1,表示面板所属实体距离主角1米时自动隐藏并把该面板剔除到视野外;dis对于主角无效。
在本实施例中,生成的配置文件如下:
Figure BDA0003445128140000091
在本实施例中,游戏角色创建时,调用ui_scnobj_head.Open(playerObj)完成3D实体UI面板的创建和显示工作;游戏角色死亡时,调用ui_scnobj_head.Hide(playerObj)即可完成3D实体UI面板的隐藏工作;游戏角色离开同屏时,渲染列表会自动把该3D实体UI面板进行视野剔除,从而不渲染该3D实体UI面板。
在本实施例中,可以通过实体UI类型配置工具,进行创建新面板类型、编辑已有面板类型,点击保存按钮,可以把面板类型等信息存储到scnobj_ui_cong.json文件中进行保存。在游戏应用程序启动时,可以通过文件加载模块将scnobj_ui_cong.json文件里的类型信息加载到内存中,供其他模块使用。具体的,通过文件加载模块加载实体UI配置文件,即scnobj_ui_cong.json,游戏应用程序启动时,把scnobj_ui_cong.json中的信息加载到内存中,存储到实体UI全局数据模块中,当需要创建实体UI面板时,可以从实体UI全局数据模块中获取类型信息进行创建。加载实体UI面板逻辑使用的lua脚本文件,以便显示或隐藏3D实体UI面板时,可以调用lua脚本文件中的指定名称的函数进行界面逻辑的执行。
在本实施例中,文件加载模块支持动态加载,即在游戏应用程序执行过程中,动态加载scnobj_ui_cong.json文件和体UI面板逻辑使用的lua脚本文件,从而可以执行最新的界面逻辑。
在本实施例中,实体UI管理模块对于每个3D实体UI面板的预制体文件(prefab),均使用ScnObjUIPanel组件进行管理,该ScnObjUIPanel组件负责界面面板的创建、显示、隐藏、绑定、解绑、执行lua脚本文件里的界面逻辑等管理逻辑。
在本实施例中,所述将3D实体对象与多个3D实体UI面板进行绑定的步骤之前,所述方法还包括:
调用lua脚本文件中预先设置的OnScnObjUIPanelInit函数,以得到对应的3D实体UI面板;
调用所述OnScnObjUIPanelInit函数执行对所述3D实体UI面板的上层逻辑初始化;
所述将各所述3D实体UI面板显示在对应的第一目标3D位置上,包括:
调用对应的lua脚本文件中的OnScnObjPanelShow函数,通过所述OnScnObjPanelShow函数将各所述3D实体UI面板显示在对应的第一目标3D位置上。
具体的,创建3D实体UI面板的步骤包括:ScnObjUIPanel组件调用ScnObjUIPanel的Init函数,完成初始化工作;将3D实体UI面板绑定到具体的3D实体对象上;调用对应lua脚本文件中的OnScnObjUIPanelInit函数,完成界面上层逻辑的初始化。
具体的,显示3D实体UI面板的步骤包括:
ScnObjUIPanel组件显示3D实体UI面板,通过3D实体对象的3D位置进行矩阵变换获得3D实体UI面板需要显示的3D位置,把3D实体UI面板显示到对应的3D位置处;调用对应lua脚本文件中的OnScnObjPanelShow函数,执行界面逻辑的显示操作。
在本实施例中,游戏场景的3D实体处理方法还包括:
在所述3D实体UI面板移动到视野之外时,控制不对所述3D实体UI面板进行渲染,调用对应lua脚本文件中的OnScnObjPanelHide函数,执行对所述3D实体UI面板的隐藏操作;
在解除所述3D实体对象与对应3D实体UI面板的绑定关系时,将解除绑定的3D实体UI面板移动到视野之外,对所述解除绑定的3D实体UI面板执行隐藏操作,清除所述解除绑定的3D实体UI面板对应的数据。
具体的,隐藏3D实体UI面板的步骤包括:
ScnObjUIPanel组件隐藏3D实体UI面板,将3D实体UI面板放到视野外,即剔除3D实体UI面板到视野外,不进行渲染;调用lua脚本文件中的OnScnObjPanelHide函数,执行界面逻辑的隐藏操作。
具体的,解除3D实体UI面板绑定的步骤包括:
ScnObjUIPanel组件控制从3D实体对象上解除绑定的3D实体UI面板,将解除绑定的3D实体UI面板剔除到视野外,隐藏所述解除绑定的3D实体UI面板,并所述解除绑定的3D实体UI面板的数据进行清除。
在本实施例中,ScnObjUIPanel组件主要代码如下:
Figure BDA0003445128140000111
Figure BDA0003445128140000121
Figure BDA0003445128140000131
Figure BDA0003445128140000141
Figure BDA0003445128140000151
Figure BDA0003445128140000161
在本实施例中,所述渲染显示列表包括至少一个待显示的面板对象,游戏场景的3D实体处理方法还包括:
遍历所述渲染显示列表中的各待显示的面板对象,判断当前待显示的面板对象所属的拥有者对象;
确定所述拥有者对象的3D位置,判断所述拥有者对象的3D位置是否在视野内;
若所述拥有者对象的3D位置不在视野内,将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对所述当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内,且所述拥有者处于不可见状态,则将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内、且所述拥有者处于可见状态,则调用lua脚本文件中的OnScnObjPanelShow函数,执行对当前待显示的面板对象的显示操作。
在本实施例中,实体UI管理模块主要用来存储每个类型的3D实体UI面板以及对其进行缓存工作。
具体的,当创建3D实体UI面板时,首先从uiPanelInfoMap中根据面板typeName获取该3D实体UI面板的typeInfo对象,该typeInfo对象负责该类型面板的创建、缓存工作。
第一次创建该类型面板时,构建typeInfo对象,以typeName为key,typeInfo为value,存储到uiPanelInfoMap中,该typeInfo对象组成如下:
curCount:int类型,记录该类型的3D实体UI面板当前已经缓存的数量。
queue:数组类型,面板对象的缓存列表;当创建面板时,若该列表里存在缓存的3D实体UI面板,即取出该3D实体UI面板来使用;当解绑一个3D实体UI面板时,可以把不用的3D实体UI面板放入该缓存数组中,下次再次使用;可以有效的控制内存的使用率。
在本实施例中,当再次创建时,若已存在typeInfo对象,可以从其缓存中取出3D实体UI面板,以达到3D实体UI面板复用的目的,提高内存使用效率。当删除一个3D实体UI面板时,可以把其放入typeInfo对象的缓存中,以供下次再次使用。
在本实施例中,实体UI管理模块可以实现3D实体对象绑定3D实体UI面板,实体UI管理模块主要用于将某个面板类型的实体UI面板绑定到具体的实体对象上,以便3D实体UI面板可以显示到该3D实体对象的位置处。
具体的,当创建3D实体UI面板时,需要指定具体的3D实体对象指针,创建3D实体UI面板后,该3D实体UI面板就输入该3D实体对象指针所指向的3D实体对象。后续显示等逻辑处理工作,都是根据该实体对象指针来操作。当该3D实体对象不需要该3D实体UI面板时,就需要从3D实体对象解绑该3D实体UI面板,解绑后的3D实体UI面板一般会存储到typeInfo的缓存中以便其他实体再次使用该3D实体UI面板。
在本实施例中,游戏场景的3D实体处理方法还包括:
获取游戏主角的3D位置及拥有者对象的3D位置,根据游戏主角的3D位置及拥有者对象的3D位置之间的距离确定当前待显示的面板对象的缩放倍数,根据所述缩放倍数对所述当前待显示的面板对象进行缩放操作。
在本实施例中,可以通过实体UI渲染列表模块维护一个3D实体UI面板的渲染显示列表,负责3D实体UI面板的渲染工作。
具体的,当需要显示一个3D实体UI面板时,需要把该3D实体UI面板放入该渲染显示列表中,该模实体UI渲染列表模块每帧进行渲染显示列表的遍历,对于每次遍历,步骤如下:
获取3D实体UI面板所属拥有者对象(owner),获取拥有者对象的3D位置,判定该位置是否在视野内,若不在视野内,把该3D实体UI面板剔除到视野外,不进行渲染;调用OnScnObjUIPanelHide函数,执行隐藏操作。若在视野内,且拥有者对象不可见,执行将该3D实体UI面板剔除到视野外,不进行渲染,调用ScnObjUIPanel的隐藏函数的步骤。若在视野内,且拥有者对象可见,则若3D实体UI面板当前在视野外,则调用ScnObjUIPanel组件的显示面板接口,完成3D实体UI面板的一次显示操作;将拥有者对象的3D位置进行矩阵变换,得到面板需要显示到的3D位置,更新3D实体UI面板位置。获取游侠角色的3D位置,根据拥有者对象的3D位置和游戏主角的3D位置的距离计算当前3D实体UI面板需要的缩放倍数,根据缩放倍数进行近大远小的控制操作。当隐藏一个3D实体UI面板时,也需要从该渲染显示列表中剔除对应的3D实体UI面板,从而后续帧就不需要渲染该面板。
在本实施例中,游戏场景的3D实体处理方法还包括:
通过实体UI类型编辑器配置所述实体UI面板的面板类型,对所述3D实体UI面板编辑对应的名称,创建一个同名的预制体文件,在所述3D实体UI面板的根节点挂接LuaBind组件,并将所述lua脚本文件的名称设置到所述实体UI面板的名称字段对应的位置上;
在所述3D实体UI面板的根节点挂接ScnObjUIPanel组件,对所述ScnObjUIPanel组件挂接对应的lua组件;
通过所述实体UI类型编辑器根据3D实体UI面板的名称创建同名的lua脚本文件,并在创建的lua脚本文件中设置OnScnObjUIPanelInit函数、OnScnObjUIPanelShow函数、OnScnObjUIPanelHide函数、OnScnObjUIPanelCleanup函数。
在本实施例中,可以通过制作工具模块新建和编辑实体UI类型信息,以及完成必要的面板创建初始化工作,可以大大节省开发人员的前期准备工作。具体,制作工具模块包括实体UI类型配置编辑器,该实体UI类型配置编辑器负责配置文件中面板类型的创建、编辑以及保存工作实体UI类型配置编辑器可以编辑每个实体对象的面板类型,创建或编辑后可以点击保存按钮,把更改保存到配置文件中,游戏应用程序运行时,保存后的配置文件可以实时加载到内存中进行游戏里实时更新查看。
在本实施例中,制作工具模块还包括实体UI面板创建编辑器,该实体UI面板创建编辑器用于新建一个类型的3D实体UI面板,创建指定面板类型的3D实体UI面板后,首先调用实体UI类型编辑器进行新面板类型的配置工作,编辑面板类型后,指定该类型面板的名称,实体UI面板创建编辑器根据该3D实体UI面板建一个同名的prefab文件,创建prefab之后会自动进行如下步骤:在根节点自动挂接LuaBind组件,并把指定lua脚本文件的名称自动设置到该3D实体UI面板的name字段处;在根节点自动挂接ScnObjUIPanel组件,并为其指定LuaBind组件挂接的lua组件。
实体UI面板创建编辑器根据3D实体UI面板创建一个同名的lua脚本文件,并在lua脚本文件中预先定义界面逻辑执行的入口函数,这些函数包含:OnScnObjUIPanelInit(self)、OnScnObjUIPanelShow(self)、OnScnObjUIPanelHide(self)、OnScnObjUIPanelUpdate(self)、OnScnObjUIPanelCleanup(self)
在本实施例中,可以通过创建可点击的角色名称为例,说明3D实体对象创建的工作流程如下:使用类型编辑工具,创建名称和类型为“ui_scnobj_head”的新的实体UI类型;使用实体UI编辑器生成对应的预制体文件prefab和lua脚本文件,在3D实体对象的父节点下创建Label组件,用于显示名称;为Label组件挂接ClickScnObjUI组件,用于触发点击事件。
在本实施例中,生成和编辑后的lua脚本文件ui_scnobj_head.lua如下:
Figure BDA0003445128140000211
Figure BDA0003445128140000221
本发明通过对3D实体UI面板进行分类,可以使单个3D实体对象一次只能显示一个面板类型的3D实体UI面板,可以同时显示不同面板类型的3D实体UI面板;通过分类存储,可以把暂时不用的3D实体UI面板放入内存缓存中,大大提高了内存使用效率;通过同屏最大显示数量,可以有效的控制同屏同时显示的3D实体UI面板个数,提高了3D实体UI面板的渲染效率;通过渲染显示列表可以有效的控制3D实体UI面板渲染带来的性能消耗;保证了3D实体UI面板的内存和渲染的高效率;3D实体UI面板显示、隐藏等操作时,通过调用lua脚本文件里对应的函数,实现了可以使用lua语言编写界面逻辑,从而可以快速高效的迭代开发界面逻辑;通过类型编辑工具和实体UI创建编辑器可以方便开发人员创建和编辑3D实体UI面板,大大提高了工作效率。通过本实施例提供的游戏场景的3D实体处理方法,不仅提高了游戏场景的3D实体处理方法的创建和渲染的效率,还为游戏场景的3D实体处理方法的编辑工作提供了一种工作流程,可以大大提高游戏的快速迭代开发,满足高质量的实体UI面板的创建和更改工作。
本实施例提供的游戏场景的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面板交互的维护成本,提高开发效率。
实施例2
此外,本公开实施例提供了一种游戏场景的3D实体处理装置。
具体的,如图2所示,游戏场景的3D实体处理装置200包括:
绑定模块201,用于将3D实体对象与多个3D实体UI面板进行绑定;
显示模块202,用于将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上;
获取模块203,用于在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置;
确定模块204,用于根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第一处理模块,用于检测屏幕的当前3D实体UI面板显示数量;
若所述当前3D实体UI面板显示数量等于预先获取的最大显示数量,则控制不新增显示其他3D实体UI面板。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第二处理模块,用于当检测到点击屏幕操作时,判断所述点击屏幕操作是否作用于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面板的点击事件逻辑。
在本实施例中,第二处理模块,还用于若不存在所述目标RaycastHit2D对象,则确定所述点击屏幕操作未作用于所述3D实体UI面板上;或者,
若所述ClickScnObjUI组件不含有所述点击事件lua回调函数,则确定所述点击屏幕操作未作用于所述3D实体UI面板上。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第四处理模块,用于通过实体配置工具配置所述3D实体对象的实体UI配置文件,所述实体UI配置文件包括多个3D实体UI面板的面板信息,所述面板信息包括:面板类型、预制体文件路径、最大显示数量、解绑配置信息、视野,各3D实体UI面板设置有不同的面板类型;
启动游戏应用程序时,加载所述实体UI配置文件,将所述实体UI配置文件中的面板信息存储到实体UI全局数据模块;
从所述实体UI全局数据模块获取对应的面板信息,根据所述面板信息创建对应的3D实体UI面板。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第四处理模块,用于调用lua脚本文件中预先设置的OnScnObjUIPanelInit函数,以得到对应的3D实体UI面板;
调用所述OnScnObjUIPanelInit函数执行对所述3D实体UI面板的上层逻辑初始化;
所述将各所述3D实体UI面板显示在对应的第一目标3D位置上,包括:
调用对应的lua脚本文件中的OnScnObjPanelShow函数,通过所述OnScnObjPanelShow函数将各所述3D实体UI面板显示在对应的第一目标3D位置上。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第五处理模块,用于在所述3D实体UI面板移动到视野之外时,控制不对所述3D实体UI面板进行渲染,调用对应lua脚本文件中的OnScnObjPanelHide函数,执行对所述3D实体UI面板的隐藏操作;
在解除所述3D实体对象与对应3D实体UI面板的绑定关系时,将解除绑定的3D实体UI面板移动到视野之外,对所述解除绑定的3D实体UI面板执行隐藏操作,清除所述解除绑定的3D实体UI面板对应的数据。
在本实施例中,所述渲染显示列表包括至少一个待显示的面板对象,游戏场景的3D实体处理装置200还包括:
第六处理模块,用于遍历所述渲染显示列表中的各待显示的面板对象,判断当前待显示的面板对象所属的拥有者对象;
确定所述拥有者对象的3D位置,判断所述拥有者对象的3D位置是否在视野内;
若所述拥有者对象的3D位置不在视野内,将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对所述当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内,且所述拥有者处于不可见状态,则将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内、且所述拥有者处于可见状态,则调用lua脚本文件中的OnScnObjPanelShow函数,执行对当前待显示的面板对象的显示操作。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第七处理模块,用于获取游戏主角的3D位置及拥有者对象的3D位置,根据游戏主角的3D位置及拥有者对象的3D位置之间的距离确定当前待显示的面板对象的缩放倍数,根据所述缩放倍数对所述当前待显示的面板对象进行缩放操作。
在本实施例中,游戏场景的3D实体处理装置200还包括:
第八处理模块,用于通过实体UI类型编辑器配置所述实体UI面板的面板类型,对所述3D实体UI面板编辑对应的名称,创建一个同名的预制体文件,在所述3D实体UI面板的根节点挂接LuaBind组件,并将所述lua脚本文件的名称设置到所述实体UI面板的名称字段对应的位置上;
在所述3D实体UI面板的根节点挂接ScnObjUIPanel组件,对所述ScnObjUIPanel组件挂接对应的lua组件;
通过所述实体UI类型编辑器根据3D实体UI面板的名称创建同名的lua脚本文件,并在创建的lua脚本文件中设置OnScnObjUIPanelInit函数、OnScnObjUIPanelShow函数、OnScnObjUIPanelHide函数、OnScnObjUIPanelCleanup函数。
本实施例提供的游戏场景的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面板交互的维护成本,提高开发效率。
实施例3
此外,本公开实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例1所提供的游戏场景的3D实体处理方法。
需要说明的是,本实施例提供的电子设备可以执行实施例1所提供的游戏场景的3D实体处理方法,达到相同的技术效果,为避免重复,在此不再赘述。
实施例4
此外,本公开实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行实施例1提供的游戏场景的3D实体处理方法。
需要说明的是,本实施例提供的计算机可读存储介质可以执行实施例1所提供的游戏场景的3D实体处理方法,达到相同的技术效果,为避免重复,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (13)

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面板移动到视野之外时,控制不对所述3D实体UI面板进行渲染,调用对应lua脚本文件中的OnScnObjPanelHide函数,执行对所述3D实体UI面板的隐藏操作;
在解除所述3D实体对象与对应3D实体UI面板的绑定关系时,将解除绑定的3D实体UI面板移动到视野之外,对所述解除绑定的3D实体UI面板执行隐藏操作,清除所述解除绑定的3D实体UI面板对应的数据。
8.根据权利要求1所述的方法,其特征在于,所述渲染显示列表包括至少一个待显示的面板对象,所述方法还包括:
遍历所述渲染显示列表中的各待显示的面板对象,判断当前待显示的面板对象所属的拥有者对象;
确定所述拥有者对象的3D位置,判断所述拥有者对象的3D位置是否在视野内;
若所述拥有者对象的3D位置不在视野内,将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对所述当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内,且所述拥有者处于不可见状态,则将所述当前待显示的面板对象移动到视野之外,控制不对所述当前待显示的面板对象进行渲染操作,调用lua脚本文件中的OnScnObjPanelHide函数,执行对当前待显示的面板对象的隐藏操作;
若所述拥有者对象的3D位置在视野内、且所述拥有者处于可见状态,则调用lua脚本文件中的OnScnObjPanelShow函数,执行对当前待显示的面板对象的显示操作。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取游戏主角的3D位置及拥有者对象的3D位置,根据游戏主角的3D位置及拥有者对象的3D位置之间的距离确定当前待显示的面板对象的缩放倍数,根据所述缩放倍数对所述当前待显示的面板对象进行缩放操作。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过实体UI类型编辑器配置所述实体UI面板的面板类型,对所述3D实体UI面板编辑对应的名称,创建一个同名的预制体文件,在所述3D实体UI面板的根节点挂接LuaBind组件,并将所述lua脚本文件的名称设置到所述实体UI面板的名称字段对应的位置上;
在所述3D实体UI面板的根节点挂接ScnObjUIPanel组件,对所述ScnObjUIPanel组件挂接对应的lua组件;
通过所述实体UI类型编辑器根据3D实体UI面板的名称创建同名的lua脚本文件,并在创建的lua脚本文件中设置OnScnObjUIPanelInit函数、OnScnObjUIPanelShow函数、OnScnObjUIPanelHide函数、OnScnObjUIPanelCleanup函数。
11.一种游戏场景的3D实体处理装置,其特征在于,所述装置包括:
绑定模块,用于将3D实体对象与多个3D实体UI面板进行绑定;
显示模块,用于将所述3D实体对象存入渲染显示列表中,根据所述3D实体对象的3D位置信息确定各所述3D实体UI面板的第一目标3D位置,将各所述3D实体UI面板显示在对应的第一目标3D位置上;
获取模块,用于在检测到所述3D实体对象移动时,获取所述3D实体对象的当前3D位置;
确定模块,用于根据所述当前3D位置确定各所述3D实体UI面板对应的第二目标3D位置,将各所述3D实体UI面板移动到对应的第二目标3D位置。
12.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至11中任一项所述的游戏场景的3D实体处理方法。
13.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至11中任一项所述的游戏场景的3D实体处理方法。
CN202111645914.XA 2021-12-30 2021-12-30 游戏场景的3d实体处理方法、装置及电子设备 Pending CN114416066A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111645914.XA CN114416066A (zh) 2021-12-30 2021-12-30 游戏场景的3d实体处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111645914.XA CN114416066A (zh) 2021-12-30 2021-12-30 游戏场景的3d实体处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114416066A true CN114416066A (zh) 2022-04-29

Family

ID=81270553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111645914.XA Pending CN114416066A (zh) 2021-12-30 2021-12-30 游戏场景的3d实体处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114416066A (zh)

Similar Documents

Publication Publication Date Title
EP3964270A1 (en) Virtual object display method and apparatus, electronic device, and storage medium
KR100928192B1 (ko) 내장형 디바이스에서의 3d 콘텐츠에 대한 오프라인 최적화파이프라인
US7804503B2 (en) Animating objects using metadata
US8886669B2 (en) File access via conduit application
US20080120543A1 (en) Visual resource profiler for graphical applications
CN112346935B (zh) 渲染耗时的获取、显示方法、性能监控方法、装置及设备
CN110262791B (zh) 一种可视化编程方法、装置及运行器、可读存储介质
JP2004102500A5 (zh)
US20220193547A1 (en) Method and system for game screen rendering based on multiple graphics cards
US20110285727A1 (en) Animation transition engine
US11991470B2 (en) Simulated photographing special effect generation method and apparatus, device, and medium
CN111158840B (zh) 图像轮播方法及装置
CN103577172A (zh) 一种图形处理引擎系统
CN101937573B (zh) 用于图形分析的方法和装置
CN115080016A (zh) 基于ue编辑器的扩展功能实现方法、装置、设备及介质
KR102151364B1 (ko) 애니메이션 생성 방법 및 장치
CN111309421B (zh) 界面资源的加载方法、装置、终端及存储介质
CN112181394A (zh) 三维建筑模型构件创造方法、装置及设备
CN114416066A (zh) 游戏场景的3d实体处理方法、装置及电子设备
CN114201167A (zh) 游戏中的用户界面编辑方法、设备及存储介质
CN110930499A (zh) 一种3d数据处理方法及装置
CN107589978A (zh) 一种Flash中页面刷新方法及装置
CN111475418B (zh) 播放内容的调试方法和调试装置
CN115713580A (zh) 根骨骼关键帧数据的生成方法、装置、介质及设备
US20080266290A1 (en) Container3D Control

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