CN110047152B - 基于虚拟环境的物体构建方法、装置及可读存储介质 - Google Patents

基于虚拟环境的物体构建方法、装置及可读存储介质 Download PDF

Info

Publication number
CN110047152B
CN110047152B CN201910292427.6A CN201910292427A CN110047152B CN 110047152 B CN110047152 B CN 110047152B CN 201910292427 A CN201910292427 A CN 201910292427A CN 110047152 B CN110047152 B CN 110047152B
Authority
CN
China
Prior art keywords
target
dimensional model
voxel
input operation
contour
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.)
Active
Application number
CN201910292427.6A
Other languages
English (en)
Other versions
CN110047152A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910292427.6A priority Critical patent/CN110047152B/zh
Publication of CN110047152A publication Critical patent/CN110047152A/zh
Priority to KR1020217020591A priority patent/KR20210097765A/ko
Priority to PCT/CN2020/077410 priority patent/WO2020207146A1/zh
Priority to JP2021528427A priority patent/JP7321466B2/ja
Priority to EP20788350.5A priority patent/EP3955214A4/en
Priority to SG11202104841TA priority patent/SG11202104841TA/en
Priority to US17/334,667 priority patent/US11911697B2/en
Application granted granted Critical
Publication of CN110047152B publication Critical patent/CN110047152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Abstract

本申请公开了一种基于虚拟环境的物体构建方法、装置及可读存储介质,涉及虚拟环境领域。该方法包括:显示环境界面;接收三维模型输入操作,三维模型输入操作用于对目标三维模型进行输入;接收位置输入操作;根据三维模型输入操作和位置输入操作在显示位置处显示目标物体,目标物体是由体素块在目标三维模型的轮廓范围内进行填充得到的。通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且提高了物体的构建效率,以及物体构建的准确率。

Description

基于虚拟环境的物体构建方法、装置及可读存储介质
技术领域
本申请实施例涉及虚拟环境领域,特别涉及一种基于虚拟环境的物体构建方法、装置及可读存储介质。
背景技术
沙盒游戏是一种由玩家利用游戏中提供的体素块制造原创物体,并与制造的原创物体进行互动的游戏模式,可选地,沙盒游戏中提供的体素块可以是通过材料分类的体素块,也可以是通过颜色分类的体素块,如:沙盒游戏中提供煤炭体素块、钻石体素块、砖头体素块等,或提供红色体素块、绿色体素块、紫色体素块等。
通常,玩家采用通过颜色分类的体素块在沙盒游戏环境中搭建装饰物、广告牌等色彩较为丰富的场景。以搭建装饰物为例,玩家首先确定需要搭建的装饰物的整体样式,并根据该整体样式将不同颜色的体素块在该样式的对应位置进行堆积,堆积后得到该装饰物。
然而,通过上述方式在沙盒游戏中制造原创物体时,针对结构较为复杂的物体,通常对物体的轮廓无法进行准确把握,且针对轮廓的颜色填充也无法准确对应,原创物体的搭建失败率较高。
发明内容
本申请实施例提供了一种基于虚拟环境的物体构建方法、装置及可读存储介质,可以解决对物体的轮廓无法进行准确把握,原创物体的搭建失败率较高的问题。所述技术方案如下:
一方面,提供了一种基于虚拟环境的物体构建方法,所述方法包括:
显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收三维模型输入操作,所述三维模型输入操作用于对目标三维模型进行输入,所述目标三维模型用于对待构建的目标物体的样式进行确定;
接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
根据所述三维模型输入操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述目标三维模型的轮廓范围内进行填充得到的。
另一方面,提供了一种基于虚拟环境的物体构建装置,所述装置包括:
显示模块,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收模块,用于接收三维模型输入操作,所述三维模型输入操作用于对目标三维模型进行输入,所述目标三维模型用于对待构建的目标物体的样式进行确定;
所述接收模块,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块,还用于根据所述三维模型输入操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述目标三维模型的轮廓范围内进行填充得到的。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中提供的基于虚拟环境的物体构建方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的沙盒游戏的虚拟环境以及体素块的示意图;
图2是本本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的整体流程示意图;
图3是本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图4是基于图3示出的实施例提供的目标三维模型的导入方法的界面示意图;
图5是基于图3示出的实施例提供的目标体素区域的确定方法的界面示意图;
图6是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图7是基于图6示出的实施例提供的对目标三维模型进行切片的方法的界面示意图;
图8是基于图6示出的实施例提供的目标体素区域的确定方法的示意图;
图9是基于图6示出的实施例提供的体素区域的填充方法的示意图;
图10是基于图6示出的实施例提供的目标物体的位置确定方法的界面示意图;
图11是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图12是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图;
图13是本申请一个示例性实施例提供的终端的结构框图;
图14是本申请一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图;
图15是本申请另一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图;
图16是本申请另一个示例性实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
沙盒游戏:是一种由玩家利用游戏中提供的体素块制造原创物体,并与制造的原创物体进行互动的游戏模式。可选地,该沙盒游戏是一种在虚拟环境中通过体素块对虚拟物体进行搭建的游戏应用程序。通常,沙盒游戏中交互性较强、自由度较高,玩家可以根据创意在游戏的虚拟环境中通过体素块任意进行搭建、堆砌。可选地,沙盒游戏中通常不会设置主线剧情,玩家在游戏的虚拟环境中进行自由走动,而不需要根据剧情的发展完成对应的任务。
体素块:是一种在沙盒游戏中提供的用于在虚拟环境中对虚拟物体进行构建的材料块,可选地,该体素块的分类方式包括通过材料类型分类,通过颜色分类,以及通过材料类型分类和颜色分类中的任意一种,示意性的,对三种情况分别进行举例说明,1、沙盒游戏中提供煤炭体素块、钻石体素块、砖头体素块等;2、沙盒游戏中提供红色体素块、绿色体素块、紫色体素块等;3、沙盒游戏中提供红色砖块、绿色砖块、紫色砖块等。可选地,通过材料类型分类的体素块可以加工为建筑物、家具等用品的制作材料,如:通过熔炼沙子体素块得到玻璃,作为建筑物的窗户。可选地,装饰物、广告牌等色彩较丰富的物体可以采用通过颜色分类的体素块进行构建。可选地,体素块的大小可以是固定的,针对通过材料类型分类的体素块,可以根据材料类型的不同,确定体素块的大小;针对通过颜色分类的体素块,可以任意颜色的体素块的大小相同,且每种颜色对应有多种大小的体素块,如:小型白色体素块,中型白色体素块以及大型白色体素块。可选地,体素块的形状可以是统一的,如:长方体、正方体等,也可以是多种样式的,如图1所示,在环境界面100中包括虚拟环境对应的画面,该虚拟环境中包括虚拟人物110以及玩家搭建的物体120,该物体120是通过体素库中的体素块进行搭建的,其中,体素库中的部分体素块的形状如体素块显示区域130所示,该体素块显示区域130中包括绿色方形体素块131、棕色方形体素块132、棕色三角体素块133、黑色方形体素块134以及灰色阶梯体素块135,其中,上述体素块显示为乐高块的形状。
可选地,该体素块可以是玩家在虚拟环境中获取的,也可以是应用程序中本身提供的,示意性的,煤炭体素块、钻石体素块等需要玩家通过在虚拟环境中通过开采获得,而由颜色分类的普通体素块是游戏本身提供的。
其次,本申请实施例提供的基于虚拟环境的物体构建方法的应用场景进行说明,本申请提供的基于虚拟环境的物体构建方法的应用场景至少包括如下应用场景:
在沙盒游戏中对目标物体进行构建时,玩家通过在沙盒游戏的虚拟环境中上传三维模型并选择该三维模型对应的目标物体的显示位置后,自动根据三维模型在三维模型的轮廓内填充对应的体素块,生成目标物体并显示在显示位置处。
可选地,上述举例中以沙盒游戏为例进行说明,该方法还可以应用于任意提供虚拟环境以及体素块的应用程序中,本申请实施例对此不加以限定。
示意性的,请参考图2,在环境界面210中包括模型导入控件211,用户对该模型导入控件211进行选择后,显示模型导入界面220,该模型导入界面中包括终端中已存储的可导入模型文件列表221,用户对可导入模型文件222进行选择后,对该可导入模型文件222对应的目标三维模型231进行导入,根据该目标三维模型231对该目标三维模型231的轮廓范围内进行体素块填充,得到目标物体232,并根据对该目标物体232拖动操作,确定该目标物体232的显示位置进行显示。
结合上述名词简介以及应用场景,对本申请实施例提供的基于虚拟环境的物体构建方法进行说明,该方法可以应用于终端中,也可以由终端和服务器结合实现,如图3所示,该方法包括:
步骤301,显示环境界面。
可选地,该环境界面中包括虚拟环境对应的画面。
可选地,该方法可以应用于沙盒游戏中,该沙盒游戏中提供有虚拟环境,该虚拟环境中包括虚拟对象,玩家可以控制虚拟对象在虚拟环境中进行移动、体素块搭建等操作。可选地,该环境界面中还显示有当前可以使用的体素块。
步骤302,接收三维模型输入操作,该三维模型输入操作用于对目标三维模型进行输入。
可选地,该目标三维模型用于对待构建的目标物体的样式进行确定。可选地,该目标三维模型用于对该目标物体的轮廓进行确定。可选地,该目标三维模型的轮廓范围内填充的体素块可以是同一颜色的体素块,也可以根据该目标三维模型外观的颜色填充对应的体素块,还可以根据是设定的颜色填充规律对目标三维模型对应的目标物体进行体素块填充。
可选地,该目标三维模型对应的文件为3D模型文件格式的文件,示意性的,该文件为后缀为“.obj”的文件。
可选地,该三维模型输入操作的实现方式包括如下方式中的至少一种:
第一,显示模型导入界面,该模型导入界面中包括终端中已存储的可导入模型文件,接收对目标三维模型对应的文件的选择操作,将该选择操作作为该三维模型输入操作,并将该选择操作对应的目标三维模型进行导入;
示意性的,请参考图4,在环境界面410中包括模型导入控件411,用户对该模型导入控件411进行选择后,显示模型导入界面420,该模型导入界面中包括终端中已存储的可导入模型文件列表421,用户对可导入模型文件422进行选择后,对该可导入模型文件422对应的目标三维模型进行导入,并显示模型预览界面430,该模型预览界面430中包括该目标三维模型431。
第二,显示模型制作界面,该模型制作界面为应用程序中提供的模型制作功能对应的界面,在该模型制作界面中对目标三维模型进行制作后,选择确认控件生成该目标三维模型作为该应用程序中生成目标物体时应用的三维模型。
步骤303,接收位置输入操作,该位置输入操作用于对目标物体在虚拟环境中的显示位置进行确定。
可选地,对该目标物体在虚拟环境中的显示位置进行确定后,确定该目标物体在该虚拟环境中的显示尺寸,该显示尺寸的确定方式包括如下方式中的至少一种:
第一,根据该目标三维模型的尺寸直接确定该目标物体的显示尺寸;
第二,在虚拟环境中的显示位置处预览该目标三维模型,并通过尺寸调整操作对该目标三维模型在该虚拟环境中的显示尺寸进行调整,从而调整生成的目标物体在该虚拟环境中的显示尺寸;
第三,输入该目标物体在目标维度的长度,根据目标三维模型的三个维度的比例以及目标维度的长度确定该目标物体的;其中,该目标物体的目标维度的长度通过该目标物体在目标维度上体素块的数量。
值得注意的是,上述步骤302和步骤303中,可以先执行步骤302再执行步骤303,也可以先执行步骤303再执行步骤302,还可以同时执行步骤302和步骤303,本实施例对步骤302和步骤303的执行顺序不做限定。
步骤304,根据三维模型输入操作和位置输入操作在虚拟环境中的显示位置处显示目标物体,该目标物体是由体素块在目标三维模型的轮廓范围内进行填充得到的。
可选地,将体素块在目标三维模型的轮廓范围内进行填充时,包括如下方式中的至少一种:
第一,确定位于该目标三维模型的轮廓上的体素块,并根据位于目标三维模型轮廓上的体素块对轮廓内的体素块进行填充;
第二,沿该目标三维模型的轮廓直接对该体素块进行逐层堆砌,当堆砌的体素块与该目标三维模型无交集时,舍弃该与目标三维模型无交集的体素块;
示意性的,请参考图5,在对目标三维模型对应的目标物体进行逐层堆砌时,首先对最底层的体素块进行堆砌,最底层对应的目标三维模型的轮廓510如图5所示,则对体素块进行堆砌时,体素块521与目标三维模型无交集,舍弃该体素块521,体素块522与目标三维模型存在交集,故保留该体素块522。
可选地,该步骤304可以由终端实现,也可以由终端将目标三维模型发送至服务器,由服务器构建目标物体后将目标物体的构建结果发送至终端在显示位置进行显示。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
在一个可选的实施例中,该目标物体是通过确定位于该目标三维模型的轮廓上的体素块,并对轮廓内的体素块进行填充得到的,图6是本申请另一个示例性实施例提供的基于虚拟环境的物体构建方法的流程图,该方法可以实现在终端中,也可以由终端和服务器结合实现,如图6所示,该方法包括:
步骤601,显示环境界面。
可选地,该环境界面中包括虚拟环境对应的画面。
可选地,该方法可以应用于沙盒游戏中,该沙盒游戏中提供有虚拟环境,该虚拟环境中包括虚拟对象,玩家可以控制虚拟对象在虚拟环境中进行移动、体素块搭建等操作。可选地,该环境界面中还显示有当前可以使用的体素块。
步骤602,接收三维模型输入操作,该三维模型输入操作用于对目标三维模型进行输入。
可选地,该目标三维模型用于对待构建的目标物体的样式进行确定。可选地,该目标三维模型用于对该目标物体的轮廓进行确定。可选地,该目标三维模型的轮廓范围内填充的体素块可以是同一颜色的体素块,也可以根据该目标三维模型外观的颜色填充对应的体素块,还可以根据是设定的颜色填充规律对目标三维模型对应的目标物体进行体素块填充。
可选地,该目标三维模型的输入方式在上述步骤302中已进行了详细说明,此处不再赘述。
步骤603,接收模型切片操作,得到每个维度对应的切片方式。
可选地,该模型切片操作用于对目标三维模型对应的包围盒进行三维切片。可选地,该包围盒为包围该目标三维模型的最小长方体盒;或,该包围盒为根据该目标三维模型的三维尺寸生成的与该三维尺寸对应的长方体盒。
可选地,该切片方式包括每个维度对应的切片数量、每个维度对应切片的大小中的任意一种。
可选地,该三维切片是指通过每个维度对应的切片方式对包围盒的三个维度进行切片。
可选地,该模型切片操作的执行方式包括如下方式中的任意一种:
第一,接收切片数量输入操作,该切片数量输入操作包括对目标三维模型的三个维度的切片数量的输入操作,根据切片数量输入操作对包围盒通过该切片数量进行三维切片;
示意性的,请参考图7,在虚拟环境界面700中显示有目标三维模型710对应的包围盒720,默认该虚拟环境中三维方向中x轴方向、y轴方向以及z轴方向如坐标轴730所示,接收在切片数量输入框740中的切片数量设置操作,该切片数量设置结果为,x轴方向切分为10个部分,y轴方向切分为15个部分,z轴方向切分为20个部分,根据该切片数量设置结果对包围盒720进行三维切片,其中,对包围盒720在x轴方向上平均分为10份,在y轴方向上平均分为15份,在z轴方向上平均分为20份。
第二,接收滑动切片操作,根据滑动切片操作对包围盒进行三维切片。
可选地,每个维度对应的切片数量用于对目标三维模型生成目标物体的细化程度进行确定,如:切片数量较多时,该目标物体的细化程度越高,目标物体与目标三维模型的相似度也越高;切片数量较少时,该目标物体的细化程度越低,目标物体与目标三维模型的相似度越低。
步骤604,根据切片方式确定体素区域,该体素区域是通过对包围盒进行三维切片后得到的区域。
可选地,根据对该包围盒进行三维切片,即在该包围盒的三个维度都进行了切片操作,根据该在三个维度上的切片操作得到体素区域,该体素区域是三维切片后得到的区域。可选地,该体素区域中用于通过体素块进行填充。
步骤605,确定位于目标三维模型的轮廓上的目标体素区域。
可选地,该目标三维模型的轮廓由三角形面片组成,且该目标三维模型为由三角形面片组成轮廓且轮廓内呈空心的模型。
可选地,当体素区域与三角形面片相交时,确定体素区域为位于目标三维模型的轮廓上的目标体素区域。可选地,体素区域与三角形面片相交包括该三角形片面在体素区域内,和/或,该三角形面片位于该体素区域的区域平面上。
示意性的,请参考图8,截面810为目标三维模型的横向截面,针对该截面确定在轮廓811上的目标体素区域,将与该轮廓811上的三角形面片存在相交的体素区域确定为目标体素区域,如图8中的目标体素区域821、目标体素区域822、目标体素区域823等。
步骤606,将填充在目标体素区域中的体素块确定为目标三维模型的轮廓上的体素块。
可选地,每个体素区域用于通过体素块进行填充,则在该目标体素区域中填充的体素块即为目标三维模型轮廓上的体素块。可选地,同一个体素区域中填充的体素块的颜色是一致的。
步骤607,根据位于目标三维模型轮廓上的体素块对轮廓内的体素块进行填充。
可选地,根据位于目标三维模型轮廓上的体素块对轮廓内的体素块进行填充的过程中,首先在包围盒中对体素区域进行扫描,可选地,该扫描过程是以特定方向作为扫描方向进行的。
当扫描至包括三角形面片的目标体素区域时,确定该三角形面片对的法线方向与扫描方向的对应关系,其中,三角形面片的法线方向对应朝向目标三维模型外侧,当法线方向与扫描方向对应相反时,向扫描方向进行体素块的填充,当法线方向与扫描方向对应相同时,结束扫描方向上体素块的填充。
可选地,当法线方向与扫描方向对应相同,且该扫描方向上下一个体素区域也是目标体素区域时,以下一个目标体素区域的识别结果为准,也即,当下一个目标体素区域对应的三角形面片的法线方向与扫描方向对应相同时,结束扫描方向上体素块的填充。
可选地,上述法线方向与扫描方向对应相反是指该法线方向与扫描方向之间的夹角大于直角,同理,上述法线方向与扫描方向对应相同是指法线方向与扫描方向之间的夹角小于或等于直角。
示意性的,请参考图9,截面910为目标三维模型的横向截面,根据该目标三维模型轮廓上的体素区域对该目标三维模型轮廓内的体素区域进行填充,如图9所示,通过实线箭头900所指示的方向对该目标三维模型的包围盒进行扫描,当扫描至目标体素区域911时,该目标体素区域911中的三角形面片912的法线方向如图9中的虚线箭头921方向所示,则该法线方向与该扫描方向对应相反,故沿该扫描方向的体素区域为需要填充体素块的体素区域,则沿该体素方向体素区域中填充体素块。如图9所示,当沿该扫描方向扫描至目标体素区域913时,该目标体素区域913中的三角形面片914的法线方向如图9中的虚线箭头922方向所示,则该法线方向与扫描方向对应相同,则沿该扫描方向之后被扫描的体素区域为不需要填充体素块的体素区域,沿该扫描方向的该层填充结果如横截面920所示,该目标三维模型的填充界面如横截面930所示。
步骤608,接收位置输入操作,该位置输入操作应用于对目标物体在虚拟环境中的显示位置进行确定。
可选地,该位置输入操作可以通过对目标三维模型在所述虚拟环境中进行拖动进行确定,也可以在上述步骤607后生成该目标物体进行预览,并通过对该目标物体在虚拟环境中进行拖动从而确定该目标物体在虚拟环境中的显示位置。
可选地,在对目标物体在虚拟环境中进行拖动的过程中,对该目标物体的位置进行预览的方式可以通过将虚拟环境中该目标物体所处的位置进行高亮显示,如:将该目标物体所处的位置进行标黑显示。
步骤609,根据三维模型输入操作和位置输入操作在虚拟环境中的显示位置处显示目标物体。
示意性的,如图10所示,在环境界面1000中对目标物体1010的位置进行调整,对该目标物体1010选中后,进行拖动操作,拖动过程中,将该目标物体1010的位置预览为黑色区域1020,并当对该位置进行选中时,在该位置显示该目标物体1010。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
本实施例提供的方法,通过首先确认目标三维模型轮廓上的体素块后,在该轮廓上的体素块的基础上对轮廓内的体素块进行填充,体素块的填充更准确,目标物体的生成效率更高。
在一个可选的实施例中,组成该目标物体的体素块的颜色是根据目标三维模型的颜色确定的,图11是基于图6示出的实施例提供的基于虚拟环境的物体构建方法的流程图,在如图6所示的流程图的基础上,增加步骤1110和步骤1120,该方法包括:
步骤601,显示环境界面。
可选地,该环境界面中包括虚拟环境对应的画面。
可选地,该方法可以应用于沙盒游戏中,该沙盒游戏中提供有虚拟环境,该虚拟环境中包括虚拟对象,玩家可以控制虚拟对象在虚拟环境中进行移动、体素块搭建等操作。可选地,该环境界面中还显示有当前可以使用的体素块。
步骤602,接收三维模型输入操作,该三维模型输入操作用于对目标三维模型进行输入。
可选地,该目标三维模型用于对待构建的目标物体的样式进行确定。可选地,该目标三维模型用于对该目标物体的轮廓进行确定。可选地,该目标三维模型的轮廓范围内填充的体素块可以是同一颜色的体素块,也可以根据该目标三维模型外观的颜色填充对应的体素块,还可以根据是设定的颜色填充规律对目标三维模型对应的目标物体进行体素块填充。
步骤603,接收模型切片操作,得到每个维度对应的切片方式。
可选地,该模型切片操作用于对目标三维模型对应的包围盒进行三维切片。可选地,该包围盒为包围该目标三维模型的最小长方体盒;或,该包围盒为根据该目标三维模型的三维尺寸生成的与该三维尺寸对应的长方体盒。
步骤604,根据切片方式确定体素区域,该体素区域是通过对包围盒进行三维切片后得到的区域。
可选地,根据该在三个维度上的切片操作得到体素区域,该体素区域是三维切片后得到的区域。可选地,该体素区域中用于通过体素块进行填充。
步骤605,确定位于目标三维模型的轮廓上的目标体素区域。
可选地,该目标三维模型的轮廓由三角形面片组成,且该目标三维模型为由三角形面片组成轮廓且轮廓内呈空心的模型。
步骤1110,确定目标体素区域对应的目标三维模型的轮廓上的像素点。
可选地,该目标体素区域对应的目标三维模型的轮廓包括与该目标体素区域相交的轮廓部分,其中包括在该目标体素区域内的轮廓部分,和处于该目标体素区域平面上的轮廓部分。
步骤1120,根据像素点确定目标体素区域中填充的体素块的颜色。
可选地,每个目标体素区域在目标三维模型的轮廓中对应的像素点可以是多个,当多个像素点的颜色不一致时,将占比较大的像素点的颜色作为该目标体素区域对应的颜色,或,将该目标体素区域对应的所有像素点的平均颜色作为目标体素区域对应的颜色,其中,平均颜色通过每个像素点的RGB值进行计算。
可选地,对目标体素区域在目标三维模型的轮廓中对应的像素点进行遍历,并确定该目标体素区域对应的第一颜色,将第一颜色与预设颜色表中的颜色进行色差计算,得到预设颜色表中色差计算结果最小的第二颜色,该第二颜色即为该目标体素区域中填充的体素块的颜色。可选地,该预设颜色表为应用程序中提供的体素块的所有颜色的颜色表,通过计算第一颜色与预设颜色表中的颜色的色差,确定该预设颜色表中与该第一颜色色差最小的颜色,并将该颜色的体素块作为填充该目标体素区域的体素块。
可选地,计算第一颜色与预设颜色表中的颜色的色差时,可以通过欧氏距离计算法计算两个颜色之间的颜色距离,颜色距离越大,两个颜色之间的色差越大,反之,两个颜色越接近颜色距离越小。在计算颜色距离时,在RGB控件内,可以通过如下欧氏距离计算法提供的公式一计算得到两个颜色C1、C2之间的距离,其中,C1为上述第一颜色,C2为预设颜色表中的颜色:
公式一:
Figure BDA0002025364880000131
其中,C1,R表示第一颜色C1的红色数值,C2,R表示颜色C2的红色数值,C1,G表示第一颜色C1的绿色数值,C2,G表示颜色C2的绿色数值,C1,B表示第一颜色C1的蓝色数值,C2,B表示颜色C2的蓝色数值。
将第一颜色C1和预设颜色表中的颜色C2的RGB值代入上述公式一后,得到第一颜色C1和预设颜色表中的颜色C2的色差。
可选地,计算色差的方式除上述欧氏距离计算法外,还可以通过RGB平方法、CIELab色差计算公式(如:CIELab 76、CIELab 94)、CIEDE 2000进行计算,本申请实施例对色差计算方式不做限定。
步骤606,将填充在目标体素区域中的体素块确定为目标三维模型的轮廓上的体素块。
可选地,每个体素区域用于通过体素块进行填充,则在该目标体素区域中填充的体素块即为目标三维模型轮廓上的体素块。可选地,同一个体素区域中填充的体素块的颜色是一致的。
步骤607,根据位于目标三维模型轮廓上的体素块对轮廓内的体素块进行填充。
可选地,在目标三维模型的轮廓内对体素块进行填充时,可以填充预设颜色的体素块,也可以根据对该体素区域的扫描方向,根据目标体素区域对应的体素块的颜色对该轮廓内的体素块的颜色进行确定。如:在第一扫描方向上进行扫描时,首先扫描至目标三维模型轮廓上的目标体素区域A该目标体素区域A中体素块为第一颜色的体素块,则该扫描方向上继续扫描并填充的体素块都为第一颜色的体素块。
步骤608,接收位置输入操作,该位置输入操作应用于对目标物体在虚拟环境中的显示位置进行确定。
可选地,该位置输入操作可以通过对目标三维模型在所述虚拟环境中进行拖动进行确定,也可以在上述步骤后生成该目标物体进行预览,并通过对该目标物体在虚拟环境中进行拖动从而确定该目标物体在虚拟环境中的显示位置。
步骤609,根据三维模型输入操作和位置输入操作在虚拟环境中的显示位置处显示目标物体。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
本实施例提供的方法,通过目标体素区域对应的像素点确定该目标体素区域中填充的体素块的颜色,构建得到的目标物体的颜色搭配与目标三维模型的颜色搭配更匹配,目标物体与该目标三维模型的相似度更高。
图12是本申请一个示例性实施例提供的基于虚拟环境的物体构建方法的整体流程图,如图12所示,该方法包括:
步骤1201,输入三维模型。
可选地,该目标三维模型用于对待构建的目标物体的样式进行确定。可选地,该目标三维模型用于对该目标物体的轮廓进行确定。可选地,该目标三维模型的轮廓范围内填充的体素块可以是同一颜色的体素块,也可以根据该目标三维模型外观的颜色填充对应的体素块,还可以根据是设定的颜色填充规律对目标三维模型对应的目标物体进行体素块填充。
可选地,该目标三维模型的输入方式在上述步骤302中已进行了详细说明,此处不再赘述。
步骤1202,对三维模型进行切片设置。
可选地,该模型切片操作用于对目标三维模型对应的包围盒进行三维切片。可选地,该包围盒为包围该目标三维模型的最小长方体盒;或,该包围盒为根据该目标三维模型的三维尺寸生成的与该三维尺寸对应的长方体盒。
可选地,该切片设置方式请参考上述步骤603,此处不再赘述。
步骤1203,根据三维模型和切片设置进行体素相交检查。
可选地,该体素相交检查用于确定与目标三维模型的轮廓相交的目标体素区域。可选地,通过目标三维模型轮廓上的三角形面片与体素区域的相交关系确定上述目标体素区域。
步骤1204,对体素进行体素填充检查。
可选地,该体素填充检查用于根据目标体素区域在目标三维模型的轮廓内对体素块进行填充。
步骤1205,对目标物体进行位置设置。
可选地,该位置设置可以通过对目标三维模型在所述虚拟环境中进行拖动进行确定,也可以在上述步骤后生成该目标物体进行预览,并通过对该目标物体在虚拟环境中进行拖动从而确定该目标物体在虚拟环境中的显示位置。
步骤1206,根据位置设置确定目标物体的位置。
步骤1207,显示该目标物体。
综上所述,本实施例提供的基于虚拟环境的物体构建方法,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
图13是本申请一个示例性实施例提供的终端的结构框图,如图13所示,该终端包括:处理器1310、显示屏1320以及存储器1330;
其中,处理器1310包括CPU和GPU,CPU主要负责实现终端的计算任务,GPU主要负责实现终端的显示任务,即GPU负责根据CPU传递的数据对显示内容进行渲染,并通过显示屏1320对显示内容进行显示。
可选地,该终端中安装有基于Unity引擎1331开发的沙盒游戏应用程序1332,该沙盒游戏应用程序1332中提供有虚拟环境,虚拟对象在该沙盒游戏应用程序1332的虚拟环境中可以通过体素块对虚拟物体进行搭建,并通过CPU以及GPU对搭建的虚拟物体在虚拟环境中进行显示。用户也可以通过本申请实施例中提供的基于虚拟环境的物体构建方法,将目标三维模型导入至该沙盒游戏应用程序1332中,并在该沙盒游戏应用程序1332的虚拟环境中显示该目标三维模型对应的目标物体。
图14是本申请一个示例性实施例提供的基于虚拟环境的物体构建装置的结构框图,该装置可以应用于终端中,如图14所示,该装置包括:显示模块1410和接收模块1420;
显示模块1410,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面;
接收模块1420,用于接收三维模型输入操作,所述三维模型输入操作用于对目标三维模型进行输入,所述目标三维模型用于对待构建的目标物体的样式进行确定;
所述接收模块1420,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块1410,还用于根据所述三维模型输入操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述目标三维模型的轮廓范围内进行填充得到的。
在一个可选的实施例中,如图15所示,该装置还包括:
确定模块1430,用于确定位于所述目标三维模型的轮廓上的所述体素块;
填充模块1440,用于根据所述位于所述目标三维模型的所述轮廓上的体素块对所述轮廓内的所述体素块进行填充。
在一个可选的实施例中,所述接收模块1420,还用于接收模型切片操作,得到每个维度对应的切片方式,所述模型切片操作用于对所述目标三维模型对应的包围盒进行三维切片;
所述确定模块1430,还用于根据所述模型切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域中用于通过所述体素块进行填充;
所述确定模块1430,还用于确定位于所述目标三维模型的所述轮廓上的目标体素区域;
所述确定模块1430,还用于将填充在所述目标体素区域中的所述体素块确定为所述目标三维模型的所述轮廓上的所述体素块。
在一个可选的实施例中,所述接收模块1420,还用于接收切片数量输入操作,所述切片数量输入操作包括对所述目标三维模型的三个维度的所述切片数量的输入操作;根据所述切片数量输入操作对所述包围盒通过所述切片数量进行所述三维切片;
或,
所述接收模块1420,还用于接收滑动切片操作,根据所述滑动切片操作对所述包围盒进行所述三维切片;
其中,每个维度对应的所述切片数量用于对所述目标三维模型生成所述目标物体的细化程度进行确定。
在一个可选的实施例中,所述目标三维模型的所述轮廓由三角形面片组成;
所述确定模块1430,还用于当所述体素区域与所述三角形面片相交时,确定所述体素区域为位于所述目标三维模型的所述轮廓上的所述目标体素区域。
在一个可选的实施例中,所述填充模块1440,还用于在所述包围盒中对所述体素区域进行扫描;当扫描至包括所述三角形面片的所述目标体素区域时,确定所述三角形面片的法线方向与扫描方向的对应关系,其中,所述三角形面片的法线方向对应朝向所述目标三维模型外侧;
所述填充模块1440,还用于当所述法线方向与所述扫描方向对应相反时,向所述扫描方向进行所述体素块的填充;
所述填充模块1440,还用于当所述法线方向与所述扫描方向对应相同时,结束所述扫描方向上所述体素块的填充。
在一个可选的实施例中,所述确定模块1430,还用于确定所述目标体素区域对应的所述目标三维模型的所述轮廓上的像素点;根据所述像素点确定所述目标体素区域中填充的所述体素块的颜色。
综上所述,本实施例提供的基于虚拟环境的物体构建装置,通过在虚拟环境中导入目标三维模型以及选择该目标物体的显示位置,在虚拟环境中通过在目标三维模型的轮廓范围内填充体素块生成目标物体,并在该显示位置进行显示,避免了玩家手动对目标物体进行构建时,无法准确把控体素块的结构而导致物体构建失败的问题,且通过本实施例提供的方法进行构建,提高了物体的构建效率,以及物体构建的准确率。
需要说明的是:上述实施例提供的基于虚拟环境的物体构建装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于虚拟环境的物体构建装置与基于虚拟环境的物体构建方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图16示出了本发明一个示例性实施例提供的终端1600的结构框图。该终端1600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1600包括有:处理器1601和存储器1602。
处理器1601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1601所执行以实现本申请中方法实施例提供的基于虚拟环境的物体构建方法。
在一些实施例中,终端1600还可选包括有:外围设备接口1603和至少一个外围设备。处理器1601、存储器1602和外围设备接口1603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1603相连。具体地,外围设备包括:射频电路1604、触摸显示屏1605、摄像头1606、音频电路1607、定位组件1608和电源1609中的至少一种。
外围设备接口1603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1601和存储器1602。在一些实施例中,处理器1601、存储器1602和外围设备接口1603被集成在同一芯片或电路板上;在一些其他实施例中,处理器1601、存储器1602和外围设备接口1603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1605用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1605是触摸显示屏时,显示屏1605还具有采集在显示屏1605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1601进行处理。此时,显示屏1605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1605可以为一个,设置终端1600的前面板;在另一些实施例中,显示屏1605可以为至少两个,分别设置在终端1600的不同表面或呈折叠设计;在再一些实施例中,显示屏1605可以是柔性显示屏,设置在终端1600的弯曲表面上或折叠面上。甚至,显示屏1605还可以设置成非矩形的不规则图形,也即异形屏。显示屏1605可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1606用于采集图像或视频。可选地,摄像头组件1606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1601进行处理,或者输入至射频电路1604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1601或射频电路1604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1607还可以包括耳机插孔。
定位组件1608用于定位终端1600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1609用于为终端1600中的各个组件进行供电。电源1609可以是交流电、直流电、一次性电池或可充电电池。当电源1609包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1600还包括有一个或多个传感器1610。该一个或多个传感器1610包括但不限于:加速度传感器1611、陀螺仪传感器1612、压力传感器1613、指纹传感器1614、光学传感器1615以及接近传感器1616。
加速度传感器1611可以检测以终端1600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1611可以用于检测重力加速度在三个坐标轴上的分量。处理器1601可以根据加速度传感器1611采集的重力加速度信号,控制触摸显示屏1605以横向视图或纵向视图进行用户界面的显示。加速度传感器1611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1612可以检测终端1600的机体方向及转动角度,陀螺仪传感器1612可以与加速度传感器1611协同采集用户对终端1600的3D动作。处理器1601根据陀螺仪传感器1612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1613可以设置在终端1600的侧边框和/或触摸显示屏1605的下层。当压力传感器1613设置在终端1600的侧边框时,可以检测用户对终端1600的握持信号,由处理器1601根据压力传感器1613采集的握持信号进行左右手识别或快捷操作。当压力传感器1613设置在触摸显示屏1605的下层时,由处理器1601根据用户对触摸显示屏1605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1614用于采集用户的指纹,由处理器1601根据指纹传感器1614采集到的指纹识别用户的身份,或者,由指纹传感器1614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1614可以被设置终端1600的正面、背面或侧面。当终端1600上设置有物理按键或厂商Logo时,指纹传感器1614可以与物理按键或厂商Logo集成在一起。
光学传感器1615用于采集环境光强度。在一个实施例中,处理器1601可以根据光学传感器1615采集的环境光强度,控制触摸显示屏1605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1605的显示亮度;当环境光强度较低时,调低触摸显示屏1605的显示亮度。在另一个实施例中,处理器1601还可以根据光学传感器1615采集的环境光强度,动态调整摄像头组件1606的拍摄参数。
接近传感器1616,也称距离传感器,通常设置在终端1600的前面板。接近传感器1616用于采集用户与终端1600的正面之间的距离。在一个实施例中,当接近传感器1616检测到用户与终端1600的正面之间的距离逐渐变小时,由处理器1601控制触摸显示屏1605从亮屏状态切换为息屏状态;当接近传感器1616检测到用户与终端1600的正面之间的距离逐渐变大时,由处理器1601控制触摸显示屏1605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图16中示出的结构并不构成对终端1600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图11任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图11任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图3、图6以及图11任一所述的基于虚拟环境的物体构建方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如图3、图6以及图11任一所述的基于虚拟环境的物体构建方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (13)

1.一种基于虚拟环境的物体构建方法,其特征在于,所述方法包括:
显示环境界面,所述环境界面中包括所述虚拟环境对应的画面,所述环境界面中包括模型导入控件;
通过所述模型导入控件接收三维模型输入操作,所述三维模型输入操作用于对目标三维模型进行输入,所述目标三维模型用于对待构建的目标物体的样式进行确定;
接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
根据所述三维模型输入操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述目标三维模型的轮廓范围内进行填充得到的,其中,所述体素块在所述目标三维模型的轮廓范围内进行填充的方法包括确定位于所述目标三维模型的轮廓上的所述体素块,并根据位于所述目标三维模型的所述轮廓上的体素块对轮廓内的所述体素块进行填充,或,沿所述目标三维模型的轮廓直接对所述体素块进行逐层堆砌,当堆砌的体素块与所述目标三维模型无交集时,舍弃与目标三维模型无交集的体素块中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述确定位于所述目标三维模型的轮廓上的所述体素块,包括:
接收模型切片操作,得到每个维度对应的切片方式,所述模型切片操作用于对所述目标三维模型对应的包围盒进行三维切片;
根据所述模型切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域用于通过所述体素块进行填充;
确定位于所述目标三维模型的所述轮廓上的目标体素区域;
将填充在所述目标体素区域中的所述体素块确定为所述目标三维模型的所述轮廓上的所述体素块。
3.根据权利要求2所述的方法,其特征在于,所述接收模型切片操作,包括:
接收切片数量输入操作,所述切片数量输入操作包括对所述目标三维模型的三个维度的所述切片数量的输入操作;根据所述切片数量输入操作对所述包围盒通过所述切片数量进行所述三维切片;
或,
接收滑动切片操作,根据所述滑动切片操作对所述包围盒进行所述三维切片;
其中,每个维度对应的所述切片数量用于对所述目标三维模型生成所述目标物体的细化程度进行确定。
4.根据权利要求2所述的方法,其特征在于,所述目标三维模型的所述轮廓由三角形面片组成;
所述确定位于所述目标三维模型的所述轮廓上的目标体素区域,包括:
当所述体素区域与所述三角形面片相交时,确定所述体素区域为位于所述目标三维模型的所述轮廓上的所述目标体素区域。
5.根据权利要求4所述的方法,其特征在于,所述根据所述位于所述目标三维模型的所述轮廓上的体素块对所述轮廓内的体素块进行填充,包括:
在所述包围盒中对所述体素区域进行扫描;
当扫描至包括所述三角形面片的所述目标体素区域时,确定所述三角形面片的法线方向与扫描方向的对应关系,其中,所述三角形面片的法线方向对应朝向所述目标三维模型外侧;
当所述法线方向与所述扫描方向对应相反时,向所述扫描方向进行所述体素块的填充;
当所述法线方向与所述扫描方向对应相同时,结束所述扫描方向上所述体素块的填充。
6.根据权利要求2至5任一所述的方法,其特征在于,所述确定位于所述目标三维模型的所述轮廓上的目标体素区域之后,还包括:
确定所述目标体素区域对应的所述目标三维模型的所述轮廓上的像素点;
根据所述像素点确定所述目标体素区域中填充的所述体素块的颜色。
7.一种基于虚拟环境的物体构建装置,其特征在于,所述装置包括:
显示模块,用于显示环境界面,所述环境界面中包括所述虚拟环境对应的画面,所述环境界面中包括模型导入控件;
接收模块,用于通过所述模型导入控件接收三维模型输入操作,所述三维模型输入操作用于对目标三维模型进行输入,所述目标三维模型用于对待构建的目标物体的样式进行确定;
所述接收模块,还用于接收位置输入操作,所述位置输入操作用于对所述目标物体在所述虚拟环境中的显示位置进行确定;
所述显示模块,还用于根据所述三维模型输入操作和所述位置输入操作在所述虚拟环境中的所述显示位置处显示所述目标物体,所述目标物体是由体素块在所述目标三维模型的轮廓范围内进行填充得到的,其中,所述体素块在所述目标三维模型的轮廓范围内进行填充的方法包括通过确定模块确定位于所述目标三维模型的轮廓上的所述体素块,并通过填充模块根据位于所述目标三维模型的所述轮廓上的体素块对轮廓内的所述体素块进行填充,或,沿所述目标三维模型的轮廓直接对所述体素块进行逐层堆砌,当堆砌的体素块与所述目标三维模型无交集时,舍弃与目标三维模型无交集的体素块中的至少一种。
8.根据权利要求7所述的装置,其特征在于,所述接收模块,还用于接收模型切片操作,得到每个维度对应的切片方式,所述模型切片操作用于对所述目标三维模型对应的包围盒进行三维切片;
所述确定模块,还用于根据所述模型切片操作确定体素区域,所述体素区域是通过对所述包围盒进行所述三维切片后得到的区域,所述体素区域用于通过所述体素块进行填充;
所述确定模块,还用于确定位于所述目标三维模型的所述轮廓上的目标体素区域;
所述确定模块,还用于将填充在所述目标体素区域中的所述体素块确定为所述目标三维模型的所述轮廓上的所述体素块。
9.根据权利要求8所述的装置,其特征在于,所述接收模块,还用于接收切片数量输入操作,所述切片数量输入操作包括对所述目标三维模型的三个维度的所述切片数量的输入操作;根据所述切片数量输入操作对所述包围盒通过所述切片数量进行所述三维切片;
或,
所述接收模块,还用于接收滑动切片操作,根据所述滑动切片操作对所述包围盒进行所述三维切片;
其中,每个维度对应的所述切片数量用于对所述目标三维模型生成所述目标物体的细化程度进行确定。
10.根据权利要求8所述的装置,其特征在于,所述目标三维模型的所述轮廓由三角形面片组成;
所述确定模块,还用于当所述体素区域与所述三角形面片相交时,确定所述体素区域为位于所述目标三维模型的所述轮廓上的所述目标体素区域。
11.根据权利要求10所述的装置,其特征在于,所述填充模块,还用于在所述包围盒中对所述体素区域进行扫描;当扫描至包括所述三角形面片的所述目标体素区域时,确定所述三角形面片的法线方向与扫描方向的对应关系,其中,所述三角形面片的法线方向对应朝向所述目标三维模型外侧;
所述填充模块,还用于当所述法线方向与所述扫描方向对应相反时,向所述扫描方向进行所述体素块的填充;
所述填充模块,还用于当所述法线方向与所述扫描方向对应相同时,结束所述扫描方向上所述体素块的填充。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的基于虚拟环境的物体构建方法。
13.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的基于虚拟环境的物体构建方法。
CN201910292427.6A 2019-04-12 2019-04-12 基于虚拟环境的物体构建方法、装置及可读存储介质 Active CN110047152B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201910292427.6A CN110047152B (zh) 2019-04-12 2019-04-12 基于虚拟环境的物体构建方法、装置及可读存储介质
KR1020217020591A KR20210097765A (ko) 2019-04-12 2020-03-02 가상 환경에 기반한 객체 구축 방법 및 장치, 컴퓨터 장치 및 판독 가능 저장 매체
PCT/CN2020/077410 WO2020207146A1 (zh) 2019-04-12 2020-03-02 基于虚拟环境的物体构建方法、装置、计算机设备及可读存储介质
JP2021528427A JP7321466B2 (ja) 2019-04-12 2020-03-02 仮想環境に基づく物体構築方法、装置、コンピュータ機器、及びコンピュータプログラム
EP20788350.5A EP3955214A4 (en) 2019-04-12 2020-03-02 METHOD AND APPARATUS FOR CONSTRUCTING OBJECTS BASED ON A VIRTUAL ENVIRONMENT, COMPUTER DEVICE AND READABLE MEMORY MEDIA
SG11202104841TA SG11202104841TA (en) 2019-04-12 2020-03-02 Object construction method and apparatus based on virtual environment, computer device and readable storage medium
US17/334,667 US11911697B2 (en) 2019-04-12 2021-05-28 Virtual-environment-based object construction method and apparatus, computer device, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910292427.6A CN110047152B (zh) 2019-04-12 2019-04-12 基于虚拟环境的物体构建方法、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN110047152A CN110047152A (zh) 2019-07-23
CN110047152B true CN110047152B (zh) 2022-05-17

Family

ID=67276888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910292427.6A Active CN110047152B (zh) 2019-04-12 2019-04-12 基于虚拟环境的物体构建方法、装置及可读存储介质

Country Status (7)

Country Link
US (1) US11911697B2 (zh)
EP (1) EP3955214A4 (zh)
JP (1) JP7321466B2 (zh)
KR (1) KR20210097765A (zh)
CN (1) CN110047152B (zh)
SG (1) SG11202104841TA (zh)
WO (1) WO2020207146A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110047152B (zh) 2019-04-12 2022-05-17 腾讯科技(深圳)有限公司 基于虚拟环境的物体构建方法、装置及可读存储介质
CN110533756B (zh) * 2019-08-29 2021-10-29 腾讯科技(深圳)有限公司 贴附型装饰物的设置方法、装置、设备及存储介质
CN111760290A (zh) * 2020-06-11 2020-10-13 网易(杭州)网络有限公司 一种信息处理方法、装置、计算机设备和存储介质
CN111754631B (zh) * 2020-08-06 2023-06-30 腾讯科技(深圳)有限公司 三维模型的生成方法、装置、设备及可读存储介质
CN113797529B (zh) * 2021-09-18 2023-11-21 珠海金山数字网络科技有限公司 目标展示方法及装置、计算设备和计算机可读存储介质
WO2023212176A1 (en) * 2022-04-27 2023-11-02 Modern Games, Inc. Systems and methods for physical blocks and corresponding virtual game elements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201707181D0 (en) * 2017-05-05 2017-06-21 Sony Interactive Entertainment Inc System and method of 3D print modelling
CN108136257A (zh) * 2015-08-17 2018-06-08 乐高公司 创建虚拟游戏环境的方法和采用该方法的互动游戏系统
CN109364481A (zh) * 2018-10-30 2019-02-22 网易(杭州)网络有限公司 游戏内的实时全局光照方法、装置、介质及电子设备
CN109562294A (zh) * 2016-07-05 2019-04-02 乐高公司 用于创建虚拟对象的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002342785A (ja) 2001-05-15 2002-11-29 Ricoh Co Ltd 三角形メッシュ簡単化装置およびプログラム
US7023433B2 (en) * 2002-10-14 2006-04-04 Chung Yuan Christian University Computer-implemented method for constructing and manipulating a three-dimensional model of an object volume, and voxels used therein
JP2011070387A (ja) 2009-09-25 2011-04-07 Mitsubishi Electric Corp 3次元形状表示装置およびプログラム
US8458188B2 (en) * 2010-02-17 2013-06-04 Lockheed Martin Corporation Voxel approach to terrain repositories for modeling and simulation
JP2011198135A (ja) 2010-03-19 2011-10-06 Brother Industries Ltd 漫画作成支援装置、漫画作成支援方法およびプログラム
CN103325144A (zh) * 2013-06-17 2013-09-25 上海大学 基于stl模型的多孔介质填充方法
CN103679808A (zh) * 2013-12-24 2014-03-26 通号通信信息集团有限公司 利用二维核磁图像重建头部三维模型的方法及系统
GB2537636B (en) * 2015-04-21 2019-06-05 Sony Interactive Entertainment Inc Device and method of selecting an object for 3D printing
US10282888B2 (en) 2016-01-28 2019-05-07 Biosense Webster (Israel) Ltd. High definition coloring of heart chambers
US10650222B2 (en) * 2016-05-09 2020-05-12 Lego A/S System and method for toy recognition
CN109493417B (zh) * 2018-10-31 2023-04-07 深圳大学 三维物体重建方法、装置、设备和存储介质
CN110047152B (zh) * 2019-04-12 2022-05-17 腾讯科技(深圳)有限公司 基于虚拟环境的物体构建方法、装置及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108136257A (zh) * 2015-08-17 2018-06-08 乐高公司 创建虚拟游戏环境的方法和采用该方法的互动游戏系统
CN109562294A (zh) * 2016-07-05 2019-04-02 乐高公司 用于创建虚拟对象的方法
GB201707181D0 (en) * 2017-05-05 2017-06-21 Sony Interactive Entertainment Inc System and method of 3D print modelling
CN109364481A (zh) * 2018-10-30 2019-02-22 网易(杭州)网络有限公司 游戏内的实时全局光照方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《[我的世界0.15周边]像素画生成器-墨栀》;Minecraft[我的世界];《https://m.iqiyi.com/w_19ruc9dgwh.html》;20170120;第0时0分0秒-第0时8分36秒 *

Also Published As

Publication number Publication date
EP3955214A4 (en) 2022-05-11
CN110047152A (zh) 2019-07-23
US11911697B2 (en) 2024-02-27
JP7321466B2 (ja) 2023-08-07
JP2022508162A (ja) 2022-01-19
SG11202104841TA (en) 2021-06-29
WO2020207146A1 (zh) 2020-10-15
US20210283502A1 (en) 2021-09-16
EP3955214A1 (en) 2022-02-16
KR20210097765A (ko) 2021-08-09

Similar Documents

Publication Publication Date Title
CN110047152B (zh) 基于虚拟环境的物体构建方法、装置及可读存储介质
CN110064200B (zh) 基于虚拟环境的物体构建方法、装置及可读存储介质
CN109191549B (zh) 显示动画的方法及装置
WO2020030065A1 (zh) 应用程序的显示适配方法、装置、设备及存储介质
CN110427110B (zh) 一种直播方法、装置以及直播服务器
CN112492097B (zh) 音频播放方法、装置、终端及计算机可读存储介质
CN111701238A (zh) 虚拟画卷的显示方法、装置、设备及存储介质
CN110225390B (zh) 视频预览的方法、装置、终端及计算机可读存储介质
WO2022134632A1 (zh) 作品处理方法及装置
CN110928464B (zh) 用户界面的显示方法、装置、设备及介质
CN114546227B (zh) 虚拟镜头控制方法、装置、计算机设备及介质
CN110853128A (zh) 虚拟物体显示方法、装置、计算机设备及存储介质
CN112565806A (zh) 虚拟礼物赠送方法、装置、计算机设备及介质
CN112308103B (zh) 生成训练样本的方法和装置
CN109771950B (zh) 节点地图的设置方法、设备及存储介质
CN111539795A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
WO2022033272A1 (zh) 图像处理方法以及电子设备
CN111083526A (zh) 视频转场方法、装置、计算机设备及存储介质
CN111857793A (zh) 网络模型的训练方法、装置、设备及存储介质
CN112822544A (zh) 视频素材文件生成方法、视频合成方法、设备及介质
CN110992268B (zh) 背景设置方法、装置、终端及存储介质
CN109833623B (zh) 基于虚拟环境的物体构建方法、装置及可读存储介质
CN111583375B (zh) 虚拟画面的显示方法、装置、设备及存储介质
CN114911478A (zh) 页面创建方法、装置、电子设备及存储介质
CN111369434A (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
GR01 Patent grant
GR01 Patent grant