CN108986205A - 一种绘制体素模型的方法、装置、设备和存储介质 - Google Patents

一种绘制体素模型的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN108986205A
CN108986205A CN201810590201.XA CN201810590201A CN108986205A CN 108986205 A CN108986205 A CN 108986205A CN 201810590201 A CN201810590201 A CN 201810590201A CN 108986205 A CN108986205 A CN 108986205A
Authority
CN
China
Prior art keywords
voxel
model
data
drafting
user
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.)
Granted
Application number
CN201810590201.XA
Other languages
English (en)
Other versions
CN108986205B (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.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201810590201.XA priority Critical patent/CN108986205B/zh
Publication of CN108986205A publication Critical patent/CN108986205A/zh
Application granted granted Critical
Publication of CN108986205B publication Critical patent/CN108986205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

本申请提供一种绘制体素模型的方法、装置、设备及存储介质,所述方法包括步骤:基于用户的绘制指令,绘制描述所述体素模型的体素;基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。旨在解决现有技术中无法实现模型的局部编辑。

Description

一种绘制体素模型的方法、装置、设备和存储介质
技术领域
本申请涉及互联网领域,尤其涉及一种绘制体素模型的方法、装置、设备和存储介质。
背景技术
三维模型是三维游戏或三维动画的重要组成部分,体素模型是三维模型中一种。但是,现有的三维模型无法实现部分编辑。
发明内容
有鉴于此,本申请提出一种绘制体素模型的方法、装置、设备和存储介质,以解决现有技术中无法实现对体素模型部分编辑的技术问题。为了达到上述目的,本申请所采用的技术方案为:
根据本申请实施例的第一方面,提出了一种制体素模型的方法,所述方法包括步骤:
基于用户的绘制指令,绘制描述所述体素模型的体素;
基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;
确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
在一些例子中,所述预定存储结构包括:
至少两级树型存储结构;
所述树型存储结构的叶子结点用于存储所述体素的体素数据,所述叶子结点的上一级结点为所述叶子结点存储的数据所属的部位的索引。
在一些例子中,所述体素数据包括:整体体素的体素数据;
所述整体体素由所属同一部位的体素合并得到;或
由所属同一部位且颜色值相同的体素合并得到。
在一些例子中,所述确定绘制的所述体素所属的部位,包括:
接收到用户指令后,确定接下来绘制的体素所属的部位,其中,所述用户指令基于展示的可供用户操作的控件触发。
在一些例子中,所述确定绘制的所述体素所属的部位,包括:
基于所述绘制的体素的颜色值,确定所述体素所属的部位。
在一些例子中,所述方法还包括:获取标准模型文件;
确定所述标准模型文件所属部位。
在一些例子中,所述方法还包括:
基于用户指令,确定绘制的体素模型的类型;
若为第一类型,确定所述体素的颜色值和尺寸,其中所述体素模型的全部部位由体素描述;
若为第二类型,获取标准模型文件,确定所述标准模型文件所属部位,其中,所述体素模型的至少一个部位由所述标准模型文件描述。
在一些例子中,所述方法由模型编辑器执行,所述模型编辑器包括Unity引擎;
所述方法还包括:调用自定义软件开发工具包将所述绘制的体素或/和标准模型文件对应的数据解析并重组成适配数据,使用Unity引擎渲染所述绘制的体素或/和标准模型文件。
在一些例子中,所述调用自定义软件开发工具包将所述绘制的体素对应的数据解析并重组成适配数据,包括:
调用自定义软件开发工具包将各体素进行合并处理,根据绘制的体素对应的数据得到合并后的整体模型的网格数据;
将所述网格数据重组成适配数据。
在一些例子中,所述调用自定义软件开发工具包将各体素进行合并处理,根据绘制的体素对应的数据得到合并后的整体模型的网格数据,包括:
根据所述绘制的体素,获得各体素的顶点数据;
计算各体素各面的三角序列,获得各体素的三角形数据;
获取各体素的顶点的UV值;
根据贪婪算法将各体素进行合并处理,获得合并后的整体模型;
根据所述各体素的顶点数据、各体素的三角形数据及各体素的顶点的UV值,解析得到合并后的整体模型的网格数据。
根据本申请实施例的第二方面,提出了一种绘制体素模型的装置,所述装置包括:
绘制模块,用于基于用户的绘制指令,绘制描述所述体素模型的体素;
处理模块,用于基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
根据本申请实施例的第三方面,提出了一种电子设备,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如上述第一方面所述任一一项方法的操作。
根据本申请实施例的第四方面,提出了一种存储介质,其特征在于,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如上述第一方面所述任一一项方法的操作。
本申请实施例提出的方案,通过在绘制体素模型的过程中,确定绘制的用于组成所述体素模型的体素属于体素模型的哪个部位,使得通过上述本申请实施例提出的方案绘制得到的体素模型可以实现体素模型的局部编辑,例如,用户利用本申请实施例提出的方案绘制一人体体素模型,该体素模型由头、身体、手及腿等部位组成,当用户想要将上述人体体素模型的右手替换成一机械手臂枪,可以直接获取属于右手的所有体素进行整体替换。相比于传统的体素模型绘制中,绘制的体素未区分所属关系,而导致在体素模型部分编辑时,花费大量时间修改,本申请实施例提出的方案可以有效提高体素模型的重复利用率,以及节约制作及修改体素模型的时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例示例性示出的一种绘制体素模型的方法的流程图;
图2为本申请实施例示例性示出的一个模型编辑器的界面示意图;
图3为本申请实施例示例性示出的一种体素模型的存储结构的示意图;
图4a是本申请一示例性实施例示出的一种体素模型的示意图;
图4b为图4a所述的体素模型的存储结构示意图;
图5a为本申请实施例示例性示出的一种编辑体素模型的流程图;
图5b为本申请实施例示例性示出的另一种体素模型的存储结构的示意图;
图6为本申请实施例示例性示出的另一种体素模型的存储结构的示意图;
图7a是本申请一示例性实施例示出的一种体素模型的示意图;
图7b为图7a所述的体素模型的存储结构示意图;
图8为本申请实施例示例性示出的自定义软件开发工具包将所述绘制的体素解析并重组成适配数据的流程图;
图9为本申请实施例示例性示出的一种绘制体素模型的装置所在电子设备的一种硬件结构图;
图10为本申请实施例示例性示出的一种绘制体素模型的装置的逻辑框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提供一种绘制体素模型的方案,所述绘制体素模型的方案可以由软件执行,为了方便描述,本申请实施例中将所述软件称为模型编辑器,所述模型编辑器可以用于供用户绘制体素模型以及供用户编辑已存储的体素模型。本申请实施例提出的体素模型的部分或全部由体素组成。本申请提出的模型编辑器可以被安装于终端设备上,终端设备可以具有连网功能,终端设备可以包括:智能手机、平板电脑、笔记本电脑、台式电脑及服务器等;可以理解,本申请并不限制模型编辑器所在终端的类型。
参照图1,为本申请实施例示例性示出的一种绘制体素模型的方法的部分流程图,部分步骤如下:
启动模型编辑器后,执行S110:基于用户的绘制指令,绘制描述所述体素模型的体素。
所述绘制指令可以是用户绘制描述所述体素模型的体素的指令。
S120:基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位。
在一些例子中,S120可以是:基于用户选择指令,确定绘制的体素模型所属的类型;其中,所述体素模型的类型的可以包括:地图模型、人体模型、动物模型、骑车模型及武器模型等。接着根据体素模型所属的类型,确定组成所述体素模型的部位。例如,每一类型的体素模型可以对应一组预设部位,如:人体模型可以预设为包括头、身体、手及腿等部位,当然,还可以根据用户的选择指令,增加或减少上述预设部位。
S130:确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。本步骤中,可以通过多种方式确定绘制的体素所属的部位,如:基于用户的指令确定体素所属的部位,或根据预设的识别机制确定体素所属的部位。
若为基于用户的指令确定体素所属的部位,在某些例子中,可以是:用户选择某一部位后,直至用户改变所选部位前,用户在期间绘制的体素均属于该用户选择的部位。以一个具体的例子进行描述,参照图2,为本申请实施例示例性示出的一个模型编辑器的界面示意图,该界面200包括供用户选择的区域210以及模型绘制区域220;用户可以在供用户选择的区域210内选择将绘制的体素所属的部位,例如选择头部控件,则触发用户指令,用户在模型绘制区域220绘制的体素均属于头部,图中头部231包括的4块体素均在用户点击头部控件后绘制,若接着用户点击身体控件,则用户接下来在模型绘制区域220绘制的体素均属于身体,图中身体232包括的10块体素均在用户点击身体控件后绘制。
可以理解,在另外一些例子中,可以是用户先绘制体素,再设置所述绘制的体素所属的部位。所述设置的方式可以是右击需设置的体素弹出设置窗口进行设置,或拖选需设置体素弹出设置窗口进行设置,本申请实施例不限制所述设置的方式。
若根据预设的识别机制确定体素所属的部位,所述预设的识别机制可以是:通过体素的颜色值,确定体素所属的部位,例如预先规定白色为部位1,红色为部位2,则可以根据绘制的体素的颜色值确定绘制的体素所属的部位。在一些例子中,所述预设的识别机制还可以是图像识别,如根据图像识别算法确定出绘制的静态模型所属类型,如属于人物模型或动物模型,根据所属类型,确定所述静态模型包括的部位,再根据图像识别算法确定绘制的各体素所属的部位。
本申请不限制上述步骤S110、S120及S130的先后顺序。以执行顺序可以是:步骤S120、S130、S110为例。具体的,可以是:启动模型编辑器后,用户可以新建一体素模型绘制文档,用于绘制新的体素模型。接着可以弹出用用户选择的界面,可以是供用户选择绘制的体素模型的类型的界面,所述体素模型的类型的可以包括:地图模型、人体模型、动物模型、骑车模型及武器模型等,用户选择将绘制的体素模型的类型后,可以根据所述选择的类型,展示该类型的体素模型可以包括的部位,以供用户选择,用户选择某一部位后,接下来绘制的体素可以均属于该部位。
在一些例子中,本申请实施例提出的所述预定存储结构包括:
至少两级树型存储结构;
所述树型存储结构的叶子结点存储描述部位的体素数据,其中,所述叶子结点的上一级结点为所述叶子结点存储的数据所属的部位的索引。
为了节省存储空间,在一些例子中,体素数据仅使用该体素的位置数据和颜色值两个数据描述,由于所有的体素的形状均为立方体,且边长相同,所以无需重复记录每个体素的相同数据,而只需记录区别数据(位置数据和颜色值)即可。
在一些例子中,可以是模型编辑器调用自定义软件开发工具包(SoftwareDevelopment Kit,SDK)按预定存储结构存储所述绘制的体素,所述自定义SDK可以在所述模型编辑器创建时,被嵌入在所述模型编辑器的安装包中。
在一个例子中,参照图3,为本申请实施例示例性示出的一种体素模型的存储结构示意图,所述体素模型包括部位1及部位2,所述体素模型的存储结构300包括:
至少两级树型存储结构;
其中,第一级存储结构包括根结点310,根结点310用于存储所述体素模型的索引;
第二级存储结构包括子结点321和子结点322,子结点321用于存储部位1的索引,叶子结点322用于存储部位2的索引;
第三级存储结构包括叶子结点331、叶子结点332、叶子结点333、叶子结点334及叶子结点335,所述叶子结点331、332及333的上一级结点为子结点321,叶子结点331、332及333存储的体素数据属于部位1,所述叶子结点331、332及333存储的体素数据可以用于描述部位1;所述叶子结点334及335的上一级结点为子结点322,叶子结点334及335存储的体素数据属于部位2。
在一些例子中,所述体素模型可以包括多级部位,例如,人体模型可以包括头、身体、上肢及下肢等部位,上肢又可以包括手臂及手等部位。具体的,以体素模型为人体体素模型为例,参照图4a,为本申请实施例示例性示出的一种体素模型的示意图。如图4a,所述人体体素模型400包括头部410、身体420、上肢430以及腿440等部位,上肢包括部位手臂431及手432,上述各部位被所属该部位的体素描述(组成),例如:体素1至体素4描述所述头部410。图4a所述的人体体素模型400的存储结构如图4b所示,四级树型存储结构的根结点450为所述人体体素模型的索引,所述根结点450的下一级子结点分别为存储所述头部索引的子结点460、存储身体索引的子结点470、存储上肢索引的子结点480及存储下肢索引的子结点490,所述子结点460的下一级子结点(叶子结点)存储了属于头部的体素的体素数据,例如:体素1至体素4描述所述头部410,那么子结点460的下一级子结点(叶子结点)存储了体素1至体素4的体素数据;子结点480的下一级子结点包括存储手索引的子结点481及存储手臂索引的子结点482,所述子结点481的下一结点存储属于手的体素的体素数据,所述子结点482存储属于手臂的体素的体素数据。
为了进一步减少对存储空间的占用,本申请实施例提出的存储结构还可以是将属于同一部位的体素合并为整体进行存储,将上述合并后的整体体素称为整体体素。例如参照图4a,图4a中的头部410还可以存储为一整体,对应的存储结构如图5b,根结点550的子结点560保存头部索引,子结点的下一级结点561存储头部的整体体素的体素数据。若所述头部由体素1至体素4绘制,所述头部的整体体素为将所述体素1至体素4四个体素合并后的体素。具体的,所述合并体素的步骤可以是:根据待合并的体素的位置数据,确定合并后的整体体素的位置数据,根据待合并的体素的颜色数据,确定合并后的整体体素的颜色数据。
当然,在一些例子中,还可以将属于同一部位且颜色值相同的体素数据合并后存储。
在一些例子中,本申请实施例提出的模型编辑器还可以获取标准模型文件,并确定所述标准模型文件所属体素模型的部位,例如:绘制一地图模型,地图的背景可以为标准模型文件,用户可以在所述地图上绘制体素来获得最终地图模型。所述标准模型文件可以包括:FBX格式文件、OBJ格式文件及DAE格式文件等。
在一些例子中,是否获取标准模型文件可以基于用户选择绘制的体素模型的类型确定。具体的,一个例子中,可以基于用户指令,确定绘制的体素模型的类型;
若为第一类型,所述第一类型的体素模型的全部部位由体素描述,用户可以确定绘制的所述体素的颜色值和尺寸,进行体素模型的绘制。例如绘制一自定义的体素娃娃。
若为第二类型,所述第二类型的体素模型的至少一个部位由所述标准模型文件描述,其余的部位由体素描述,例如第二类型的体素模型为地图模型,对于比较复杂的地图模型,为了节省绘制时间,用户可能会选择在一个现有的地图背景上绘制一些房子或人物等作为前景的体素模型。具体可以是:
根据用户的指令,从存储介质或云端获取标准模型文件,例如:地图背景的标准模型文件,草地或天空等;接着确定所述标准模型文件所属部位,例如:地图模型包括背景及前景等部位,则可以确定所述获取的标准模型文件属于背景部位,接着用户可以在所述背景部位上绘制描述前景部位的体素。
在一些例子中,本申请实施例示例性示出另一种预定存储结构,上述存储结构可以用于存储部分部位由标准模型文件描述的体素模型,具体的存储结构包括:
至少两级树型存储结构;
所述树型存储结构的叶子结点存储描述部位的体素对应的体素数据或标准模型文件数据,其中,所述叶子结点的上一级结点为所述叶子结点存储的数据所属的部位的索引,所述预定存储结构中至少有一个叶子结点存储体素数据。
参照图6,为本申请实施例示例性示出的另一种预定存储结构的示意图,根结点310下一级子结点包括子结点321、子结点322及子结点323,子结点321及322及其子结点存储的数据可参照图3的描述,此处不再赘述,子结点323用于存储部位4索引,所述子结点323的下一级叶子结点336用于存储属于所述部位4的标准模型文件数据,所述标准模型文件数据描述体素模型的一部位。当然在一些例子中,根据标准模型文件数据实际所属的部位,存储所述标准模型文件数据的叶子结点不限于位于第二级存储结构,例如,参照图6,若标准模型文件数据属于部位3,所述存储标准模型文件数据的叶子结点为子结点331的下一级叶子结点。
具体的,以体素模型为拿武器的人体模型为例,参照图7a,为本申请实施例示例性示出的一种体素模型的示意图。如图7a,所述拿武器的人体模型700包括头部710、身体711、上肢712、下肢713及武器714等部位,武器714为不可拆分的整体,用标准模型文件数据描述。所述头部710、身体711、上肢712、下肢713用体素数据描述。所述人体体素模型700对应的存储结构如图7b所示,三级树型存储结构的根结点740存储所述拿武器的人体模型的索引,所述根结点的下一级子结点分别存储所述头部索引的子结点750、身体索引的子结点760、上肢索引的子结点770、下肢索引的子结点780及武器索引的子结点790,所述子结点790的下一级叶子结点791用于存储属于武器的标准模型文件数据,所述头部索引750、身体索引的子结点760、上肢索引的子结点770、下肢索引的子结点780的下一级子结点存储了属于所述部位的体素数据。
利用图6所述的存储结构可以将现有的标准模型文件数据与体素数据结合存储,充分利用了现有的标准模型文件数据,省去用户重现绘制局部体素模型的时间,并且用图6所述的存储结构存储的模型,可以达到局部绘制的效果。
在一些例子中,本申请还提供一种模型文件,所述模型文件的部分或全部根据上述图3或图6所述的存储结构存储。
当需对存储的体素模型进行编辑时,参照图5a,为本申请实施例示例性示出的一种体素模型的编辑方法的部分流程图,部分步骤如下:
S510:接收到编辑指令后,从存储的体素模型中查找目标部位对应的目标结点,其中所述编辑指令用于对目标部位进行编辑;
在一些例子中,可以从所述体素模型的第一级结点(根结点)的全部子结点开始通过递归算法逐级查找目标部位对应的目标结点。
S520:获取所述目标结点的全部叶子结点数据,响应所述编辑指令对全部叶子结点数据中的目标体素进行编辑。
图5a所述的编辑方法可以适用于上述图3或图6所述的存储结构存储。
以体素模型为人体体素模型,并且该人体体素模型的存储结构如图4b所示,执行编辑操作的电子设备接收到用户对所述人体体素模型的进行编辑的编辑指令后,例如对头部进行编辑,从图4b所述的存储结构中逐级递归搜索,搜索到第二级存储结构后,可以搜索到存储头部索引的子结点460为目标子结点,获取头部子结点的全部叶子结点的体素数据,例如:体素1至体素4的体素数据属于子结点460,根据用户具体的编辑指令,对体素1至体素4的体素数据进行编辑,本申请实施例提出的编辑可以是删除其中的体素数据,或增加体素数据,或更改体素数据的颜色数据或位置数据,或将整个体素1至体素4的体素数据进行整体替换等。
在一些例子中,所述模型编辑器还可以用于渲染所述绘制的体素或/和标准模型文件。
在一些例子中,所述模型编辑器可以包括Unity引擎,所述模型编辑器可以调用自定义软件开发工具包将所述绘制的体素或/和标准模型文件对应的数据解析并重组成适配数据,使用Unity引擎渲染所述绘制的体素或/和标准模型文件。需要说明的是,SDK通常可以被嵌入软件中,即将一些特定的功能封装在所述软件中,所述软件可以通过调用所述SDK提供的应用编程(Application Programming Interface,API)接口来直接调用所述SDK的功能。本申请实施例提出的自定义SDK可以在所述模型编辑器创建时,被嵌入在所述模型编辑器的安装包中,并可以在所述模型编辑器运行时被调用。具体的,在一些例子中,所述模型编辑器调用自定义软件开发工具包将所述绘制的体素对应的数据解析并重组成适配数据,可以是:调用自定义软件开发工具包将各体素进行合并处理,根据绘制的体素对应的体素数据得到合并后的整体模型的网格数据;将所述网格数据重组成适配数据。所述合并处理为将组成体素模型的所有单个的体素合并成整体模型。所述网格数据包括:顶点(Vertices)数据、三角形(Triangles)数据及贴图坐标(UV)数据。具体的,在本申请所述的实施例中,体素数据可以包括位置数据和颜色数据,即一个体素可以由位置数据和颜色数据描述。所述单个体素的体素数据也可以由网格数据描述。
具体的,在一些例子中,若本申请实施例提出的体素由位置数据和颜色数据描述,参照图8,所述调用自定义软件开发工具包将所述绘制的体素解析并重组成适配数据,包括:
S801:根据绘制的各体素的位置数据,获取各体素8个顶点的Vertices数据;
S802:计算各体素的六个面的三角序列,获得各体素的Triangles数据;
S803:计算各体素8个顶点的UV数据;
S804:根据贪婪算法将绘制模型中的所有体素数据的面合并,获得整体的静态模型;
S805:根据所述各体素的Vertices、Triangles及UV数据,获得整体的静态模型的网格数据。
在一些例子中,若所述静态模型还包括标准模型数据,根据贪婪算法将绘制模型中的所有体素数据和/或标准模型数据的面合并,获得整体静态模型;再根据各体素的Vertices、Triangles及UV数据,以及标准模型数据,获得整体的静态模型的网格数据。
S806:将所述整体的静态模型的网格数据重组成适配数据。
在一些例子中,所述自定义SDK还根据各体素的颜色数据,动态创建Texture2D,获得贴图数据,Unity引擎读取所述贴图数据,并通过调用Set Pixels32(Colors32[]colors)接口,动态创建Unity Texture。接着,Unity引擎可以利用自定义SDK重组得到的适配数据以及所述Unity Texture,创建Unity Skin Mesh Renderer;创建对象,添加蒙皮网格渲染器(Unity Skin Mesh Render)组件,使用Unity引擎渲染加载对象。
与前述体素模型的绘制方法的实施例相对应,本申请还提供了体素模型的绘制装置的实施例。
本申请体素模型的绘制装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图9所示,为本申请体素模型的绘制装置所在电子设备的一种硬件结构图,除了图9所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该体素模型的绘制装置的实际功能,还可以包括其他硬件,对此不再赘述。请参考图9,本申请还公开了一种电子设备,包括:存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:
基于用户的绘制指令,绘制描述所述体素模型的体素;
基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;
确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
参照图10,为本申请公开的一种体素模型的绘制装置1000,包括:
绘制模块1010,用于基于用户的绘制指令,绘制描述所述体素模型的体素;
处理模块1020,用于基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
本申请实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (13)

1.一种绘制体素模型的方法,其特征在于,所述方法包括步骤:
基于用户的绘制指令,绘制描述所述体素模型的体素;
基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;
确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
2.根据权利要求1所述的方法,其特征在于,所述预定存储结构包括:
至少两级树型存储结构;
所述树型存储结构的叶子结点存储用于描述所属部位的体素对应的体素数据,所述叶子结点的上一级结点为所述叶子结点存储的数据所属的部位的索引。
3.根据权利要求2所述的方法,其特征在于,所述体素数据包括:整体体素的体素数据;
所述整体体素由所属同一部位的体素合并得到;或
由所属同一部位且颜色值相同的体素合并得到。
4.根据权利要求1所述的方法,其特征在于,所述确定绘制的所述体素所属的部位,包括:
接收到用户指令后,确定接下来绘制的体素所属的部位,其中,所述用户指令基于展示的可供用户操作的控件触发。
5.根据权利要求1所述的方法,其特征在于,所述确定绘制的所述体素所属的部位,包括:
基于所述绘制的体素的颜色值,确定所述体素所属的部位。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取标准模型文件,所述标准模型文件用于描述所述体素模型的至少一个部位;
确定所述标准模型文件所属部位。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于用户指令,确定绘制的体素模型的类型;
若为第一类型,确定所述体素的颜色值和尺寸,其中所述体素模型的全部部位由体素描述;
若为第二类型,获取标准模型文件,确定所述标准模型文件所属部位,其中,所述体素模型的至少一个部位由所述标准模型文件描述。
8.根据权利要求1或6所述的方法,其特征在于,所述方法由模型编辑器执行,所述模型编辑器包括Unity引擎;
所述方法还包括:调用自定义软件开发工具包将所述绘制的体素或/和标准模型文件对应的数据解析并重组成适配数据,使用Unity引擎渲染所述绘制的体素或/和标准模型文件。
9.根据权利要求8所述的方法,其特征在于,所述调用自定义软件开发工具包将所述绘制的体素对应的数据解析并重组成适配数据,包括:
调用自定义软件开发工具包将各体素进行合并处理,根据绘制的体素对应的数据得到合并后的整体模型的网格数据;
将所述网格数据重组成适配数据。
10.根据权利要求9所述的方法,其特征在于,所述调用自定义软件开发工具包将各体素进行合并处理,根据绘制的体素对应的数据得到合并后的整体模型的网格数据,包括:
根据所述绘制的体素,获得各体素的顶点数据;
计算各体素各面的三角序列,获得各体素的三角形数据;
获取各体素的顶点的UV值;
根据贪婪算法将各体素进行合并处理,获得合并后的整体模型;
根据所述各体素的顶点数据、各体素的三角形数据及各体素的顶点的UV值,解析得到合并后的整体模型的网格数据。
11.一种绘制体素模型的装置,其特征在于,所述装置包括:
绘制模块,用于基于用户的绘制指令,绘制描述所述体素模型的体素;
处理模块,用于基于用户的选择指令,确定组成所述体素模型的部位,所述体素模型至少包括两个部位;确定绘制的所述体素所属的部位,以便根据所述部位和体素的对应关系利用预定存储结构存储所述体素模型。
12.一种电子设备,其特征在于,包括:
处理器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行如权利要求1至10所述任一一项方法的操作。
13.一种存储介质,其特征在于,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如权利要求1至10所述任一一项方法的操作。
CN201810590201.XA 2018-06-08 2018-06-08 一种绘制体素模型的方法、装置、设备和存储介质 Active CN108986205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810590201.XA CN108986205B (zh) 2018-06-08 2018-06-08 一种绘制体素模型的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810590201.XA CN108986205B (zh) 2018-06-08 2018-06-08 一种绘制体素模型的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN108986205A true CN108986205A (zh) 2018-12-11
CN108986205B CN108986205B (zh) 2023-05-26

Family

ID=64540121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810590201.XA Active CN108986205B (zh) 2018-06-08 2018-06-08 一种绘制体素模型的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN108986205B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570691A (zh) * 2020-04-27 2021-10-29 北京蓝亚盒子科技有限公司 用于体素模型的存储优化方法、装置及电子设备
WO2022000952A1 (zh) * 2020-06-29 2022-01-06 天津亚克互动科技有限公司 游戏数据的处理方法及装置、计算机程序、可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430183A (zh) * 2001-11-27 2003-07-16 三星电子株式会社 用深度图像表示三维物体的节点结构
US20050151734A1 (en) * 2004-01-14 2005-07-14 Gubkin Andrew A. Method and apparatus for rendering, storing and editing voxel objects
CN1726517A (zh) * 2002-12-20 2006-01-25 皇家飞利浦电子股份有限公司 基于协议的体积可视化
CN104091362A (zh) * 2014-07-04 2014-10-08 中国矿业大学(北京) 海量三维地质结构模型数据绘制方法
CN107025684A (zh) * 2017-03-16 2017-08-08 北京中科辅龙计算机技术股份有限公司 基于模型构件特征的大规模场景固定帧率绘制及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430183A (zh) * 2001-11-27 2003-07-16 三星电子株式会社 用深度图像表示三维物体的节点结构
CN1726517A (zh) * 2002-12-20 2006-01-25 皇家飞利浦电子股份有限公司 基于协议的体积可视化
US20050151734A1 (en) * 2004-01-14 2005-07-14 Gubkin Andrew A. Method and apparatus for rendering, storing and editing voxel objects
CN104091362A (zh) * 2014-07-04 2014-10-08 中国矿业大学(北京) 海量三维地质结构模型数据绘制方法
CN107025684A (zh) * 2017-03-16 2017-08-08 北京中科辅龙计算机技术股份有限公司 基于模型构件特征的大规模场景固定帧率绘制及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570691A (zh) * 2020-04-27 2021-10-29 北京蓝亚盒子科技有限公司 用于体素模型的存储优化方法、装置及电子设备
CN113570691B (zh) * 2020-04-27 2023-07-25 北京蓝亚盒子科技有限公司 用于体素模型的存储优化方法、装置及电子设备
WO2022000952A1 (zh) * 2020-06-29 2022-01-06 天津亚克互动科技有限公司 游戏数据的处理方法及装置、计算机程序、可读介质

Also Published As

Publication number Publication date
CN108986205B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
CN108897567B (zh) 基于Unity的软件加载文件的方法、装置、设备及存储介质
US20210287415A1 (en) Virtual object display method and apparatus, electronic device, and storage medium
US9934602B2 (en) System, method and device for three-dimensional modeling
US7808501B2 (en) Method of shading using sample vectors
US20090091563A1 (en) Character animation framework
Tobler Separating semantics from rendering: a scene graph based architecture for graphics applications
WO2013155603A1 (en) Systems and methods for displaying animations on a mobile device
CN103413343B (zh) 一种3d图像动画引擎
US20050253849A1 (en) Custom spline interpolation
Hamel et al. Capturing and re‐using rendition styles for non‐photorealistic rendering
CN115641375A (zh) 虚拟对象的毛发处理方法、装置、设备、介质及程序产品
CN108986205A (zh) 一种绘制体素模型的方法、装置、设备和存储介质
Nazzaro et al. geoTangle: interactive design of geodesic tangle patterns on surfaces
CN113689534B (zh) 物理特效渲染方法、装置、计算机设备和存储介质
US9704290B2 (en) Deep image identifiers
CN113936086B (zh) 毛发模型的生成方法、装置、电子设备以及存储介质
CN109035372B (zh) 编辑动态模型的方法、装置、设备及存储介质
Gerhards et al. Partitioned shadow volumes
US9519997B1 (en) Perfect bounding for optimized evaluation of procedurally-generated scene data
CN115167940A (zh) 3d文件加载方法及装置
Villemin et al. Art and technology at Pixar, from Toy Story to today
CN110728750B (zh) 一种智能驾驶环境实景建模方法、系统、终端及存储介质
CN108921774A (zh) 模型的存储结构及相关编辑方法、装置、设备及存储介质
Kim et al. Single image–based 3D tree and growth models reconstruction
CN115797525A (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