CN116048515A - 一种虚拟场景编辑方法、装置、设备和可读存储介质 - Google Patents
一种虚拟场景编辑方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN116048515A CN116048515A CN202310118670.2A CN202310118670A CN116048515A CN 116048515 A CN116048515 A CN 116048515A CN 202310118670 A CN202310118670 A CN 202310118670A CN 116048515 A CN116048515 A CN 116048515A
- Authority
- CN
- China
- Prior art keywords
- virtual scene
- component
- editing
- logic
- port
- 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
- 238000000034 method Methods 0.000 title claims abstract description 132
- 230000006870 function Effects 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 10
- 238000004590 computer program Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 210000005155 neural progenitor cell Anatomy 0.000 description 12
- 230000001960 triggered effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 230000004382 visual function Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供一种虚拟场景编辑方法、装置、设备和可读存储介质,其中该虚拟场景编辑方法包括:将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。本公开能够在虚拟场景的运行环境中对虚拟场景进行实时、可视化编辑,提升虚拟场景的编辑效率和效果。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种虚拟场景编辑方法、装置、设备和可读存储介质。
背景技术
虚拟场景构建完成后,可以通过unity或unreal蓝图等可视化编辑器对虚拟场景进行编辑,例如可以通过编辑器配置好多个UI组件和配套的逻辑组件,通过激活连接各UI组件的方式在虚拟场景中触发逻辑组件的逻辑,后续通过调整组件参数实现虚拟场景编辑。
然而,编辑器无法在虚拟场景中运行,在编辑器中调整好组件参数后,需要重新启动虚拟场景的程序才能更新本次编辑结果,使得程序人员在配合上游人员的多次编辑需求时,不仅要多次调整组件参数,还要频繁地启动程序,导致编辑效率较低。并且,编辑器的UI组件和逻辑组件运行在不同环境中,修改组件参数所对应的编辑结果无法在当前虚拟场景下实时展示,导致每次编辑的效果无法达到最佳。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种虚拟场景编辑方法、装置、设备及介质,能够在虚拟场景的运行环境中对虚拟场景进行实时、可视化编辑,提升虚拟场景的编辑效率和效果。
根据本公开的一方面,提供了一种虚拟场景编辑方法,所述方法包括:将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;
响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
根据本公开的另一方面,提供了一种虚拟场景编辑装置,所述装置包括:组件注册模块,用于将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行。
场景编辑模块,用于响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
根据本公开的另一方面,提供了一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述虚拟场景编辑方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述虚拟场景编辑方法。
本公开实施例中提供的上述虚拟场景编辑方法及装置,能够将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行。再响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
采用上述技术方案,通过开发可以在虚拟场景中实时运行的运行逻辑组件,能够基于目标框架的结构,将UI组件和运行逻辑组件注册在目标框架的同一层级下,以实现UI组件与运行逻辑组件互通、实时更新、实时响应等功能,在虚拟场景的运行环境中借助UI组件的可视化功能触发或修改运行逻辑组件的逻辑,对虚拟场景进行实时可视化编辑,每次编辑操作的结果无需重新启动虚拟场景的程序即可展示,从而能够显著地提升对虚拟场景进行编辑的编辑效率和编辑效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种虚拟场景编辑系统的应用场景示意图;
图2是本公开实施例提供的一种虚拟场景编辑方法的流程示意图;
图3是本公开实施例提供的一种目标框架的结构示意图;
图4是本公开实施例提供的一种UI组件的端口类型和子端口的示意图;
图5是本公开实施例提供的一种UI组件之间激活连接的示意图;
图6是本公开实施例提供的一种编辑虚拟场景的示意图;
图7是本公开实施例提供的另一种编辑虚拟场景的示意图;
图8是本公开实施例提供的另一种编辑虚拟场景的示意图;
图9是本公开实施例提供的一种虚拟场景编辑装置的结构示意图;
图10是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本公开实施例提供一种虚拟场景编辑方法、装置、设备及可读存储介质,其中,设备可以为电子设备,可读存储介质可以为计算机可读存储介质。虚拟场景编辑装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,如图1所示,可以通过服务器将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;响应于接收对虚拟场景的编辑请求,在虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
需要说明的是,以上服务器执行的步骤也可以通过终端来执行,以实现对虚拟场景进行实时响应的可视化编辑处理。
本公开实施例中的“多个”指两个或两个以上。本公开实施例中的“第一”和“第二”等用于区分描述,而不能理解为暗示相对重要性。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
图2为本公开实施例提供的一种虚拟场景编辑方法的流程示意图,该方法可以由虚拟场景编辑装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图2所示,该方法主要包括:
步骤101、将UI组件和运行逻辑组件注册到目标框架的同一层级中。
其中,目标框架为虚拟场景编辑功能的基本框架。请参阅图3,图3是本公开实施例提供的一种目标框架的结构示意图。如图3所示,本公开的目标框架中除了包含运行时注册器、反序列化单元、序列化单元、持久化单元、翻译层和core单元等常用层级单元,该目标框架的最关键之处在于开发出可以在虚拟场景中运行的运行逻辑组件,并将UI组件和运行逻辑组件布局在同一层级中,使得UI组件和运行逻辑组件可能共同运行在虚拟场景的运行环境中,以解除常规的编辑器无法实现UI组件和逻辑组件无法运行在相同运行环境、无法互通的限制。
可以理解,通常UI组件一般运行在不显示虚拟场景的画布界面中,通过在画布界面中拖动出几个UI组件的节点控件,通过激活节点控件之间的连线,在虚拟场景的程序启动后来触发UI组件的方法和逻辑组件的方法,后续可以通过修改以上组件参数,实现对虚拟场景的编辑。在虚拟场景的程序启动后,可以在细节面板、细节菜单中进一步地修改运行逻辑的方法或参数,来执行对虚拟场景的编辑操作。
根据以上描述可以看出,UI组件和运行逻辑组件各自负责执行虚拟场景中的不同逻辑,且在不同的运行环境下运行,例如UI组件运行在画布界面中,对应的逻辑主要涉及节点控件的外观、数量、展现形式等可视化逻辑,而逻辑组件运行在虚拟场景中,对应的逻辑主要涉及虚拟场景中运行时的逻辑,例如某个室内虚拟场景中的开灯操作、开灯后的室内亮度和灯光亮度等,但以上逻辑都是通过UI组件之间的节点连接激活而触发的。
因此,在编辑虚拟场景的过程中,不论是通过修改UI组件还是运行逻辑组件的参数,每次编辑完成后都需要重新启动虚拟场景的程序来展现以上编辑所带来的变化,而通过本公开的方法,能够将UI组件和运行逻辑组件共同运行在虚拟场景的运行环境,以实现可视化对虚拟场景的实时编辑操作,且每次编辑结果直接在运行的虚拟场景中实时响应、展现,实现热修改操作,使得每次编辑操作对应的编辑结果能够更直观地在虚拟环境中展示,也无需频繁地重启虚拟,从而能够极大地提升对虚拟场景的编辑效果和编辑效率。
可选地,步骤101还可以包括以下步骤:
获取所述UI组件对应的UI端口、UI方法,以及所述运行逻辑组件对应的运行逻辑方法,其中,所述UI端口包括输入端口和输出端口,所述UI方法用于处理所述输入端口的逻辑,以及所述输出端口的逻辑;
将所述UI方法和所述运行逻辑方法添加至注册表,并将所述注册表注册到所述目标框架。
可以理解,通过将UI方法和运行逻辑方法添加注册表,并将注册表注册到目标框架的方式,能够实现在虚拟场景的运行环境中共同实现UI方法和运行逻辑方法的逻辑。需要说明的是,注册表中的运行逻辑方法的具体值可以根据业务需求编写,例如开发人员想要在虚拟场景中实现亮度调节的需求,则可以编写与亮度值、触发亮度调节事件相关的逻辑方法。
可选地,步骤“获取所述UI组件对应的UI端口”,包括:
创建所述输入端口、所述输出端口的端口类型,以及所述端口类型对应的子端口,其中,所述子端口包括流端口、部件端口和值端口;
获取所述子端口的属性值,其中,所述属性值包括主键、链接类型、数据类型、名称和注册回调。
其中,端口类型用于定义UI组件激活时组件逻辑所作用的逻辑对象的类型。以图5中的UI控件a为例,该UI控件a的端口类型为button,表示该UI组件的组件逻辑触发时会作用于按钮类的逻辑对象。相应地,图5中的UI控件b的端口类型为log,表示该UI组件的组件逻辑触发时会作用于日志类的逻辑对象。
请参阅图4,图4是本公开实施例提供的一种UI组件的端口类型和子端口的示意图。如图4所示,UI组件的输入端口和输出端口均可以包括流端口、部件端口和值端口等子端口,每个子端口又可以定义主键、链接类型、数据类型、名称和注册回调等属性值。
可以理解,运行逻辑组件的逻辑是通过各UI组件之间连接激活而实现的,在连接激活时,一个UI组件的输出端口可以与另一个UI组件的输入端口连接,在激活后,下一个UI组件课可以通过注册回调的方式,调用上一个UI组件的输入值和方法,以实现运行逻辑组件的逻辑,其他属性值用于配合执行UI方法和运行逻辑方法的逻辑。
在一些实施例中,UI组件运行时的可视化编辑能力,完全通过Unity UGU I实现,这和现有的编辑器都通过unity API实现的方案不同,将原本在编辑器上的能力移植到运行时环境中,得以实现对虚拟场景进行实时编辑、编辑结果实时生效的效果。
可选地,步骤“将所述UI方法和所述运行逻辑方法添加至注册表”,包括:
以所述端口类型的值为索引,调用与所述端口类型的值相同的运行逻辑方法;
将所述UI方法和所述运行逻辑方法分别添加至各自对应所述属性值中。
为方便理解以上步骤,以图5中的UI组件的注册操作为例,具体可以将以下UI方法和运行逻辑方法的代码添加到注册表中:
其中,该注册表中定义了端口类型为basic/button的UI控件a,以及端口类型为basic/log的UI控件b。
对于UI控件a的UI组件,以端口类型basic/button为索引值调用button类的运行逻辑方法,其流端口flow的属性值通过该运行逻辑方法定义了On Clic k点击事件的输出值为字符串,部件端口的属性值通过UI方法定义了名称为“点击”的按钮类部件,当执行流端口flow的逻辑流时,执行输出端口的逻辑“setOutputData”。
对于UI控件b的UI组件,以端口类型basic/log为索引值调用button类的运行逻辑方法,其流端口flow的属性值通过运行逻辑方法定义了:从输入端口接收上一节点输出的数据data,根据回调data至当前节点的函数,执行输入端口的逻辑“getInputData”,打印文本格式的日志文件,该日志文件的内容为默认值对应的字符串。
可以理解,基于以上解释,在将UI控件a连接激活至UI控件b后,可以执行以下逻辑:响应于对按钮类部件“点击”的点击事件,触发生成文本格式的日志文件,日志文件的内容为默认值的字符串。
由此可知,本公开的方法以UI组件的端口类型为索引值,以索引值相同的运行逻辑方法为UI组件子端口的属性值赋值,以生成UI方法与运行逻辑方法相结合的注册表,使得后续将注册表注册到目标框架中能够令UI组件和运行逻辑组件共同运行在虚拟场景的运行环境下,并执行UI方法和运行逻辑方法的逻辑对虚拟场景进行编辑。
可选地,本公开的方法还可以包括以下步骤:
将更新后的UI方法或更新后的运行逻辑方法注册到所述注册表,以修改所述属性值。
可以理解,在一些虚拟场景编辑场景中,可以根据虚拟场景的编辑需求修改UI方法和运行逻辑方法,得到更新后的UI方法和更新后的运行逻辑方法。在一些实施例中,可以将以上更新后的UI方法和运行逻辑方法,通过修改UI组件的属性值的方式来编辑对应的虚拟场景。
仍以上述UI控件a连接激活UI控件b所实现的逻辑为例,虚拟场景新的编辑需求为在打印的日志文件中增加一条输出“I am basic/log”的文本内容,则可以在作为下游节点的UI控件b中添加该更新后的运行逻辑方法,并修改ca llback的属性值来实现该编辑需求,具体实现代码如下:
可以看出,该UI组件中注册回调端口的属性值callback新增了一行“pri nt("iam basic/log")”的字段,以根据将更新后的UI方法或运行逻辑方法添加到新注册表的方式,实现对UI组件属性值的动态修改,以及对虚拟场景不同编辑需求的实时响应的效果。
步骤102、响应于接收对虚拟场景的编辑请求,在虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
可以理解,在将UI组件和运行逻辑组件注册到目标框架后,UI组件和运行逻辑组件可以共同在虚拟场景的环境中运行,以基于UI方法的逻辑在虚拟场景中直接显示UI组件,并借助UI组件强大的可视化功能触发或修改运行逻辑组件的逻辑,来实现对虚拟场景的实时可视化编辑操作,下面将对虚拟场景的实际编辑操作进行详细说明。
可选地,步骤102还可以包括以下步骤:
响应于接收对虚拟场景的编辑请求,执行所述UI组件的逻辑,在虚拟场景的界面显示所述UI组件对应的UI控件;
响应于在所述UI控件中输入所述虚拟场景编辑功能的指令,执行所述运行逻辑组件的逻辑,在所述虚拟场景的界面显示对所述虚拟场景进行编辑的结果。
其中,UI控件还可以包括用于显示UI类型和UI控件链接关系的第一UI控件,以及用于接收指令输入内容的第二UI控件。请参阅图6至图8,如图6至图8所示,第一UI控件和第二UI控件可以基于目标框架的结构,直接显示在虚拟场景的界面中。
可选地,步骤“在所述UI控件中输入所述虚拟场景编辑功能的指令”,包括:
响应于对所述第一UI控件的选中操作,在所述虚拟场景的界面显示与所述第一UI控件的UI类型对应的第二UI控件;
在所述第二UI控件的指令输入区域输入所述虚拟场景编辑功能的指令。
为了配合对该虚拟场景的编辑需求,下面将结合该UI组件和运行逻辑组件的逻辑对虚拟场景的实际编译操作进行具体说明。在一些实施例中,该UI组件的注册代码可以表示为:
如图6所示,在该UI组件的注册代码中定义了两个端口类型分别为“type="courseware/靠近npc"”、“courseware/dialog”的第一UI控件和第二UI控件,表示第一UI控件的端口类型为“靠近NPC”,第二UI控件的端口类型为“对话框”。将第一UI控件与第二UI控件连接激活,下游节点第二UI控件注册回调第一UI控件的逻辑“靠近名字为农民伯伯的NPC的事件”,在触发该逻辑事件后结合当前节点的回调函数处理输入端口数据“id”,显示id值为100075的对话框内容。
具体地,如图6所示,用户可以通过光标点击的方式,或者通过其他例如语音、触控等方式选中端口类型为“靠近NPC”的第一UI控件,在虚拟场景的界面中显示名称为“靠近NPC”的第二UI控件,然后在第二UI控件的输入区域中输入对应的编辑指令,例如用户输入类型为text的“农民伯伯”的编辑指令,表示当前第一UI控件对应UI组件的逻辑为“靠近NPC农民伯伯触发后续节点事件”,相应地,用户还可以输入其他NPC的名字,例如“工人叔叔”,则该UI组件的逻辑为“靠近NPC工人叔叔触发后续节点事件”。
如图7所示,用户可以通过同样的选中方式选中另一个端口类型为“dial og”的第一UI控件,在虚拟场景的界面中显示名称为“dialog”的第二UI控件,然后在第二UI控件的输入区域中输入对应的编辑指令,例如用户输入类型为text的“100075”的编辑指令,表示当前第一UI控件对应UI组件的逻辑为“靠近NPC农民伯伯时,触发在对话框中显示编号为100075的对话内容”,相应地,用户还可以输入其他id,例如“100076”,则该UI组件的逻辑为“触发在对话框中显示编号为100075的对话内容”。
如图8所示,与图6和图7中的具体操作类似,用户可以通过同样的选中方式选中端口类型为“toast”的第一UI控件,在虚拟场景的界面中显示名称为“toast”的第二UI控件,然后在第二UI控件的输入区域中输入对应的编辑指令,例如用户输入类型为text的“农民伯伯”的编辑指令,表示当前第一UI控件对应UI组件的逻辑为“靠近NPC农民伯伯时,触发在虚拟场景的界面中显示文本内容为农民伯伯的弹窗”,相应地,用户还可以输入其他NPC名字,例如“工人叔叔”,则该UI组件的逻辑为“靠近NPC工人叔叔时,触发在虚拟场景的界面中显示文本内容为工人叔叔的弹窗”。
由此可知,本公开能够将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;响应于接收对虚拟场景的编辑请求,在虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。由于本公开通过开发可以在虚拟场景中实时运行的运行逻辑组件,能够基于目标框架的结构,将U I组件和运行逻辑组件注册在目标框架的同一层级下,以实现UI组件与逻辑组件互通、实时更新、实时响应等功能,在虚拟场景的运行环境中借助UI组件的可视化功能触发或修改运行逻辑组件的逻辑,对虚拟场景进行实时可视化编辑,每次编辑操作的结果无需重新启动虚拟场景的程序即可展示,从而能够显著地提升对虚拟场景进行编辑的编辑效率和编辑效果。
根据上述实施例所描述的方法,以下将作进一步详细说明。
对应于前述虚拟场景编辑方法,本公开实施例还提供了一种虚拟场景编辑装置,图7为本公开实施例提供的一种虚拟场景编辑装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图7所示,虚拟场景编辑装置包括:
组件注册模块201,用于将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行。
场景编辑模块202,用于响应于接收对虚拟场景的编辑请求,在虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
在一些实施方式中,所述组件注册模块201,包括:
数据获取子模块,用于获取所述UI组件对应的UI端口、UI方法,以及所述运行逻辑组件对应的运行逻辑方法,其中,所述UI端口包括输入端口和输出端口,所述UI方法用于处理所述输入端口的逻辑,以及所述输出端口的逻辑;
数据添加子模块,用于将所述UI方法和所述运行逻辑方法添加至注册表,并将所述注册表注册到所述目标框架。
在一些实施方式中,所述数据获取子模块,包括:
端口类型创建子模块,用于创建所述输入端口、所述输出端口的端口类型,以及所述端口类型对应的子端口,其中,所述子端口包括流端口、部件端口和值端口;
属性值获取子模块,用于获取所述子端口的属性值,其中,所述属性值包括主键、链接类型、数据类型、名称和注册回调。
在一些实施方式中,所述数据添加子模块还具体用于:
以所述端口类型的值为索引,调用与所述端口类型的值相同的运行逻辑方法;
将所述UI方法和所述运行逻辑方法分别添加至各自对应所述属性值中。
在一些实施方式中,所述虚拟场景编辑装置还包括:
数据更新模块,用于将更新后的UI方法或更新后的运行逻辑方法注册到所述注册表,以修改所述属性值。
在一些实施方式中,所述场景编辑模块202,包括:
第一逻辑执行子模块,用于响应于接收对所述虚拟场景的编辑请求,执行所述UI组件的逻辑,在虚拟场景的界面显示所述UI组件对应的UI控件;
第二逻辑执行子模块,用于响应于在所述UI控件中输入所述虚拟场景编辑功能的指令,执行所述运行逻辑组件的逻辑,在所述虚拟场景的界面显示对所述虚拟场景进行编辑的结果。
在一些实施方式中,所述UI控件包括用于显示UI类型和UI控件链接关系的第一UI控件,以及用于接收指令输入内容的第二UI控件,所述第二逻辑执行子模块还具体用于:
响应于对所述第一UI控件的选中操作,在所述虚拟场景的界面显示与所述第一UI控件的UI类型对应的第二UI控件;
在所述第二UI控件的指令输入区域输入所述虚拟场景编辑功能的指令。
由此可知,本公开能够将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。由于本公开通过开发可以在虚拟场景中实时运行的运行逻辑组件,能够基于目标框架的结构,将UI组件和运行逻辑组件注册在目标框架的同一层级下,以实现UI组件与逻辑组件互通、实时更新、实时响应等功能,在虚拟场景的运行环境中借助UI组件的可视化功能触发或修改运行逻辑组件的逻辑,对虚拟场景进行实时可视化编辑,每次编辑操作的结果无需重新启动虚拟场景的程序即可展示,从而能够显著地提升对虚拟场景进行编辑的编辑效率和编辑效果。
本公开实施例所提供的虚拟场景编辑装置可执行本公开任意实施例所提供的虚拟场景编辑方法,具备执行方法相应的功能模块和有益效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置实施例的具体工作过程,可以参考方法实施例中的对应过程,在此不再赘述。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的虚拟场景编辑方法。所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(E PROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备300的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备300包括计算单元301,其可以根据存储在只读存储器(ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(R AM)303中的计算机程序,来执行各种适当的动作和处理。在RAM 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、ROM 302以及R AM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
电子设备300中的多个部件连接至I/O接口305,包括:输入单元306、输出单元307、存储单元308以及通信单元309。输入单元306可以是能向电子设备300输入信息的任何类型的设备,输入单元306可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元307可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元308可以包括但不限于磁盘、光盘。通信单元309允许电子设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理。例如,在一些实施例中,虚拟场景编辑方法均可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM302和/或通信单元309而被载入和/或安装到电子设备300上。在一些实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行虚拟场景编辑方法。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程虚拟场景编辑装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种虚拟场景编辑方法,其特征在于,所述方法包括:
将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;
响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑,执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
2.根据权利要求1所述的虚拟场景编辑方法,其特征在于,所述将UI组件和运行逻辑组件注册到目标框架的同一层级中,包括:
获取所述UI组件对应的UI端口、UI方法,以及所述运行逻辑组件对应的运行逻辑方法,其中,所述UI端口包括输入端口和输出端口,所述UI方法用于处理所述输入端口的逻辑,以及所述输出端口的逻辑;
将所述UI方法和所述运行逻辑方法添加至注册表,并将所述注册表注册到所述目标框架。
3.根据权利要求2所述的虚拟场景编辑方法,其特征在于,所述获取所述UI组件对应的UI端口,包括:
创建所述输入端口、所述输出端口的端口类型,以及所述端口类型对应的子端口,其中,所述子端口包括流端口、部件端口和值端口;
获取所述子端口的属性值,其中,所述属性值包括主键、链接类型、数据类型、名称和注册回调。
4.根据权利要求3所述的虚拟场景编辑方法,其特征在于,所述将所述U I方法和所述运行逻辑方法添加至注册表,包括:
以所述端口类型的值为索引,调用与所述端口类型的值相同的运行逻辑方法;
将所述UI方法和所述运行逻辑方法分别添加至各自对应所述属性值中。
5.根据权利要求2-4中任一项所述的虚拟场景编辑方法,其特征在于,所述方法还包括:
将更新后的UI方法或更新后的运行逻辑方法注册到所述注册表,以修改所述属性值。
6.根据权利要求1所述的虚拟场景编辑方法,其特征在于,所述响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述U I组件、所述运行逻辑组件的逻辑执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑,包括:
响应于接收对所述虚拟场景的编辑请求,执行所述UI组件的逻辑,在虚拟场景的界面显示所述UI组件对应的UI控件;
响应于在所述UI控件中输入所述虚拟场景编辑功能的指令,执行所述运行逻辑组件的逻辑,在所述虚拟场景的界面显示对所述虚拟场景进行编辑的结果。
7.根据权利要求6所述的虚拟场景编辑方法,其特征在于,所述UI控件包括用于显示UI类型和UI控件链接关系的第一UI控件,以及用于接收指令输入内容的第二UI控件,所述在所述UI控件中输入所述虚拟场景编辑功能的指令,包括:
响应于对所述第一UI控件的选中操作,在所述虚拟场景的界面显示与所述第一UI控件的UI类型对应的第二UI控件;
在所述第二UI控件的指令输入区域输入所述虚拟场景编辑功能的指令。
8.一种虚拟场景编辑装置,其特征在于,包括:
组件注册模块,用于将UI组件和运行逻辑组件注册到目标框架的同一层级中,其中,所述目标框架为虚拟场景编辑功能的基本框架,所述运行逻辑组件在虚拟场景的运行环境中运行;
场景编辑模块,用于响应于接收对所述虚拟场景的编辑请求,在所述虚拟场景的运行环境中,根据所述UI组件、所述运行逻辑组件的逻辑执行所述虚拟场景编辑功能,对所述虚拟场景进行编辑。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至7任一所述的虚拟场景编辑方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1至7任一所述的虚拟场景编辑方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118670.2A CN116048515A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟场景编辑方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118670.2A CN116048515A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟场景编辑方法、装置、设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048515A true CN116048515A (zh) | 2023-05-02 |
Family
ID=86116465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310118670.2A Pending CN116048515A (zh) | 2023-02-03 | 2023-02-03 | 一种虚拟场景编辑方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048515A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339737A (zh) * | 2023-05-26 | 2023-06-27 | 阿里巴巴(中国)有限公司 | Xr应用编辑方法、设备及存储介质 |
-
2023
- 2023-02-03 CN CN202310118670.2A patent/CN116048515A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339737A (zh) * | 2023-05-26 | 2023-06-27 | 阿里巴巴(中国)有限公司 | Xr应用编辑方法、设备及存储介质 |
CN116339737B (zh) * | 2023-05-26 | 2023-10-20 | 阿里巴巴(中国)有限公司 | Xr应用编辑方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10762277B2 (en) | Optimization schemes for controlling user interfaces through gesture or touch | |
US11093715B2 (en) | Method and system for learning and enabling commands via user demonstration | |
WO2018077085A1 (zh) | 应用程序处理方法、装置及存储介质 | |
US11126938B2 (en) | Targeted data element detection for crowd sourced projects with machine learning | |
WO2023093414A1 (zh) | 微应用的开发方法、装置、设备、存储介质及程序产品 | |
US8495566B2 (en) | Widget combos: a widget programming model | |
CN112506854B (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
US11886678B2 (en) | Multiple windows for a group-based communication system | |
CN110297624A (zh) | 基于electron框架的Widget系统的实现方法及采用该系统的电视机 | |
CN116048515A (zh) | 一种虚拟场景编辑方法、装置、设备和可读存储介质 | |
US20240231579A1 (en) | Method, apparatus, electronic device and storage media for information processing | |
CN113656533A (zh) | 一种树形控件处理方法、装置及电子设备 | |
CN114510170B (zh) | 一种组件展示方法及显示设备 | |
CN112966201B (zh) | 对象处理方法、装置、电子设备以及存储介质 | |
CN113515550A (zh) | 一种在应用/系统间进行关联和筛选数据的方法 | |
CN112558968A (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
WO2023169193A1 (zh) | 用于生成智能合约的方法和装置 | |
CN103902727A (zh) | 网络搜索方法和装置 | |
CN115798469A (zh) | 语音控制方法、装置、电子设备及计算机可读存储介质 | |
WO2023065205A1 (en) | Voice assisted remote screen sharing | |
CN115586899A (zh) | 基于Flutter动态页面的局部刷新方法和刷新装置 | |
CN114281310A (zh) | 页面框架设置方法、装置、设备、存储介质及程序产品 | |
CN113806596B (zh) | 运营数据管理方法及相关装置 | |
CN113706209B (zh) | 运营数据处理方法及相关装置 | |
CN113326035B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 |
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 |