CN116212374A - 模型处理方法、装置、计算机设备和存储介质 - Google Patents

模型处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116212374A
CN116212374A CN202310105763.1A CN202310105763A CN116212374A CN 116212374 A CN116212374 A CN 116212374A CN 202310105763 A CN202310105763 A CN 202310105763A CN 116212374 A CN116212374 A CN 116212374A
Authority
CN
China
Prior art keywords
model
spliced
information
normal
target model
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
CN202310105763.1A
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202310105763.1A priority Critical patent/CN116212374A/zh
Publication of CN116212374A publication Critical patent/CN116212374A/zh
Pending legal-status Critical Current

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本申请实施例公开了模型处理方法、装置、计算机设备和存储介质。该方法包括:获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;纹理图获取所述目标模型的法线贴图;根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型纹理图渲染。本申请的技术方案能够显著地提升模型制作和渲染处理的效率、减少模型处理资源的消耗。

Description

模型处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机图形学技术领域,具体涉及模型处理方法、装置、计算机设备和存储介质。
背景技术
游戏场景是由多个虚拟模型构成的,通常需要预先制作模型,并为模型配置对应的美术资源来处理,从而使游戏场景中呈现处理好的模型,例如山脉模型、草地模型等。
然而,游戏场景是庞大且复杂的,同一个模型可能处于不同层级高度,例如山脉模型的山脚部分与山峰部分。对于这种在游戏场景中跨越多个层级的模型,需要人工逐个制作模型的各部分,例如将模型的各部分在不同层级中叠加、渲染,使得模型制作和处理的效率低、消耗资源大。
发明内容
本申请实施例提供一种模型处理方法、装置、计算机设备和存储介质,能够显著地提升模型制作和渲染处理的效率、减少模型处理资源的消耗。
本申请实施例提供一种模型处理方法,所述方法包括:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图;
和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
本申请实施例还提供一种模型处理装置,所述装置包括:
待拼接模块获取单元,用于获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
目标模型拼接单元,用于根据高度信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,高度信息包括层级编号,以及所述层级编号对应的高度值;
法线贴图获取单元,用于纹理图获取所述目标模型的法线贴图;
加载信息获取单元,用于根据所述法线贴图纹理图;
模型渲染单元,用于和所述层级信息对所述进行渲染,得到渲染后的目标模型。
可选地,所述目标模型包括多个区域,所述待拼接模块与所述区域嵌合,所述目标模型拼接单元还具体用于:
将每个所述待拼接模块的高度值调整为所述层级的高度;
根据所述层级的坐标,将调整后的所述待拼接模块放置于所述区域,以拼接所述多个待拼接模块得到所述目标模型。
可选地,所述法线贴图获取单元还包括:
高面模型获取子单元,用于对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型;
第一法线信息获取子单元,用于根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息;
第二法线信息获取子单元,用于将所述第一法线信息转换为所述目标模型的第二法线信息,以生成存储所述第二法线信息的所述法线贴图。
可选地,所述高面模型获取子单元还具体用于:
在所述目标模型的每个三角面所对应的边上生成细分点;
获取多个所述细分点之间连线构成的细分三角面;
迭代重复执行以上步骤,直至迭代次数达到所述面细分处理的预设次数,获取由多个所述细分三角面组成的所述高面模型。
可选地,所述第一法线信息获取子单元还具体用于:
获取所述纹理图上第一像素点与所述高面模型上第二像素点的位置映射关系;
根据所述位置映射关系,获取每个所述第二像素点的渲染系数;
根据所述渲染系数和所述位置映射关系,计算所述每个第二像素点的法线坐标,得到所述第一法线信息。
可选地,所述第二法线信息获取子单元还具体用于:
获取所述目标模型的第三像素点,以及所述第三像素点对应的切线空间;
获取所述第三像素点与目标第二像素点对应向量的第一坐标值,其中,所述目标第二像素点为所述高面模型中与所述第三像素点距离最近的点;
将每个所述第一坐标值转换为第二坐标值,得到包含所述第二坐标值的所述第二法线信息。
可选地,所述模型渲染单元还具体用于:
所述根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型,包括:
对所述第二法线信息进行傅里叶变换处理,得到所述第二法线信息对应的波形图;
将所述波形图的频率确定为所述缩放次数,将所述波形图的相位确定为所述位移,以得到所述纹理图的加载信息;
读取所述加载信息,复原所述纹理图;
基于所述纹理图和所述层级信息,对所述目标模型的法线信息进行过渡处理,得到所述渲染后的目标模型。
可选地,所述模型渲染单元还具体用于:
获取所述目标模型的第四像素点在对应层级的高度坐标;
将所述高度坐标转换为所述第四像素点的法线过渡比例;
根据所述法线过渡比例、所述第四像素点所在层级和相邻层级的法线信息,计算每个所述每个第四像素点的法线信息。
本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如上任一实施例所述的模型处理方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一实施例所述的模型处理方法中的步骤:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图;
和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
由上可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的模型处理装置的系统示意图;
图2为本申请实施例提供的模型处理方法的流程示意图;
图3为本申请实施例提供的模型处理方法的另一流程示意图;
图4为本申请实施例提供的待拼接模块与层级对应关系的示意图;
图5为本申请实施例提供的在区域中拼接待拼接模块的示意图;
图6为本申请实施例提供的对目标模型执行细分面处理的示意图;
图7为本申请实施例提供的生成第一法线信息的示意图;
图8为本申请实施例提供的模型处理装置的结构示意图;
图9为本申请实施例提供的计算机设备的结构示意图;
图10为本申请实施例提供的应用该模型处理方法的程序产品。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种模型处理方法、装置、存储介质及计算机设备。具体地,本申请实施例的模型处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal DigitalAssistant,PDA)等终端设备,终端设备还可以包括客户端,该客户端可以是游戏应用客户端、携带有游戏程序的浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该模型处理方法运行于终端时,终端设备存储有游戏应用程序并通过显示组件呈现游戏中的部分游戏场景。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。例如,终端设备可以包括触控显示屏和处理器,该触控显示屏用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面、响应操作指令以及控制图形用户界面在触控显示屏上的显示。
例如,当该模型处理方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,模型处理方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑、个人数字助理等,但是执行模型处理方法的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。
请参阅图1,图1为本申请实施例提供的游戏中的显示控制装置的系统示意图。该系统可以包括至少一个终端1000,至少一个服务器2000,至少一个数据库3000,以及网络4000。用户持有的终端1000可以通过网络4000连接到不同游戏的服务器。终端1000是具有计算硬件的任何设备,该计算硬件能够支持和执行与游戏对应的软件产品。另外,终端1000具有用于感测和获得用户通过在一个或者多个触控显示屏的多个点执行的触摸或者滑动操作的输入的一个或者多个多触敏屏幕。另外,当系统包括多个终端1000、多个服务器2000、多个网络4000时,不同的终端1000可以通过不同的网络4000、通过不同的服务器2000相互连接。网络4000可以是无线网络或者有线网络,比如无线网络为无线局域网(WLAN)、局域网(LAN)、蜂窝网络、2G网络、3G网络、4G网络、5G网络等。另外,不同的终端1000之间也可以使用自身的蓝牙网络或者热点网络连接到其他终端或者连接到服务器等。例如,多个用户可以通过不同的终端1000在线从而通过适当网络连接并且相互同步,以支持多玩家游戏。另外,该系统可以包括多个数据库3000,多个数据库3000耦合到不同的服务器2000,并且可以将与游戏环境有关的信息在不同用户在线进行多玩家游戏时连续地存储于数据库3000中。
本申请实施例提供了一种模型处理方法,该方法可以由终端或服务器执行。本申请实施例以模型处理方法由终端执行为例来进行说明。其中,该终端包括显示组件和处理器,该显示组件用于呈现图形用户界面以及接收用户作用于显示组件产生的操作指令。用户通过显示组件对图形用户界面进行操作时,该图形用户界面可以通过响应于接收到的操作指令控制终端本地的内容,也可以通过响应于接收到的操作指令控制对端服务器的内容。例如,用户作用于图形用户界面产生的操作指令包括用于启动游戏应用程序的指令,处理器被配置为在接收到用户提供的启动游戏应用程序的指令之后启动游戏应用程序。此外,处理器被配置为在触控显示屏上渲染和绘制与游戏相关联的图形用户界面。触控显示屏是能够感测屏幕上的多个点同时执行的触摸或者滑动操作的多触敏屏幕。用户在使用手指在图形用户界面上执行触控操作,图形用户界面在检测到触控操作时,控制游戏的图形用户界面中的不同游戏角色执行与触控操作对应的动作。例如,该游戏可以为休闲游戏、动作游戏、角色扮演游戏、策略游戏、体育游戏、益智游戏、第一人称射击游戏(First personshooting game,FPS)等游戏中的任一种。其中,游戏可以包括在图形用户界面上绘制的游戏场景。此外,游戏的游戏场景中可以包括由用户(或玩家)控制的一个或多个游戏角色,诸如游戏角色。另外,游戏的游戏场景中还可以包括一个或多个障碍物,诸如栏杆、沟壑、墙壁等,以限制游戏角色的移动,例如将一个或多个对象的移动限制到游戏场景内的特定区域。可选地,游戏的游戏场景还包括一个或多个元素,诸如技能、分值、角色健康状态、能量等,以向玩家提供帮助、提供虚拟服务、增加与玩家表现相关的分值等。此外,图形用户界面还可以呈现一个或多个指示器,以向玩家提供指示信息。例如,游戏可以包括玩家控制的游戏角色和一个或多个其他游戏角色(诸如敌人角色)。在一个实施例中,一个或多个其他游戏角色由游戏的其他玩家控制。例如,一个或多个其他游戏角色可以由计算机控制,诸如使用人工智能(AI)算法的机器人,实现人机对战模式。例如,游戏角色拥有游戏玩家用来实现目标的各种技能或能力。例如游戏角色拥有可用于从游戏中消除其他对象的一种或多种武器、道具、工具等。这样的技能或能力可由游戏的玩家使用与终端的触控显示屏的多个预设触控操作之一来激活。处理器可以被配置为响应于用户的触控操作产生的操作指令来呈现对应的游戏画面。
需要说明的是,图1所示的模型处理装置的系统示意图仅仅是一个示例,本申请实施例描述的模型处理装置以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着模型处理装置的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本实施例中,将从游戏中的显示控制装置的角度进行描述,该游戏中的显示控制装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的计算机设备中。
请参阅图2,图2为本申请实施例提供的模型处理方法的流程示意图,该模型处理方法包括以下步骤:
步骤201、获取多个待拼接模块。
其中,待拼接模块是指构成模型的单个虚拟块体元素,每个待拼接模块都是模型的一部分,可以通过拼接多个待拼接模块得到完整的模型。
在一些实施例中,多个待拼接模块可以属于同一模型元素。其中,模型元素是指构成模型所在场景中不同类别的模型,例如山体模型、海洋模型、陆地模型、人物模型等。
在一些场景中,以山体模型为例,以上多个待拼接模块可以获取自该山体模型的山脚区域、山腰区域和山峰区域,或者该场景中的任一个山体模型。可以理解,即使多个待拼接模块可能获取自不同模型,或者同一模型的不同区域、不同位置,但只要以上多个待拼接模型属于同一模型元素,则不影响后续对多个待拼接模块的拼接,例如可以通过拼接多个待拼接模块得到新的山体模型。
在一些实施例中,可以从模型素材库中按需求获取对应模型元素的多个待拼接模块,也可以先制作出一个待拼接模块,再对该待拼接模块进行复制得到多个待拼接模块。由此可知,以上两种获取方式均能够保证获取的多个待拼接模块属于同一模型元素。
步骤202、根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型。
其中,层级信息可以包括待拼接模块对应层级的高度和坐标。其中,层级是指模型所在场景中以高度区分的坐标空间。
其中,层级的高度是指该层级所形成坐标空间的高度值,例如高度值可以为100、200等。其中,层级的坐标是指该层级所形成坐标空间中边界顶点或任一参考点的坐标值,例如坐标值可以为(0,0,100)、(0,0,200)等。
请参阅图4,图4为本申请实施例提供的待拼接模块与层级对应关系的示意图。如图4所示,在模型所在的场景中,可以沿层级高度方向设置多个层级,例如第一层级、第二层级、…、第n层级等。在一些实施例中,该场景中的任一模型可以处于不同层级,例如游戏场景中的山体模型,由于山体模型在游戏中通常具有一定的高度效果,因此需要制作出位于不同层级的山体模块。
如图4所示,假设每个层级的高度为100,则第一层级的起始高度为0、最大高度为100,第二层级的起始高度为100、最大高度为200。相应地,假设以三维坐标系中z轴的点为层级坐标的参考点,以层级起始高度的位置为坐标值参考基准,则第一层级的坐标可以为(0,0,0)、第二层级的坐标可以为(0,0,100),或者以层级最大高度的位置为坐标值参考基准,则第一层的坐标可以为(0,0,100)、第二层级的坐标可以为(0,0,200),本实施例对此不做限制。
可以理解,在确定场景中的层级信息后,可以根据模型的制作需求对待拼接模块进行拼接。仍然如图4所示,假设想要制作高度为200的山体模型,则可以在第一层级和第二层级拼接待拼接模块,例如可以先在第一层级对一部分待拼接模块进行拼接,得到该山体模型的山脚、山腰,再将第二层级的待拼接模块叠加于第一层级中待拼接模块的上方,得到该山体模型的山峰。
其中,目标模型可以包括多个区域,待拼接模块可以与该区域嵌合。
请参阅图5,图5为本申请实施例提供的在区域中拼接待拼接模块的示意图。如图5所示,对于场景中的一个模型或一块场景空间,均可以划分为4个区域,例如图5中的以两条垂直相交直线划分出的第一区域、第二区域、第三区域和第四区域。可以理解,由于待拼接模块是块体元素,为了方便拼接可以更进一步地制作为立方块体,使得待拼接模块可以嵌合在对应的区域中与其他待拼接模块进行拼接。
可选地,步骤202还可以包括以下步骤:
将每个所述待拼接模块的高度值调整为所述层级的高度;
根据所述层级的坐标,将调整后的所述待拼接模块放置于所述区域,以拼接所述多个待拼接模块得到所述目标模型。
在一些实施例中,为了提升模块拼接的效率和准确性,可以将每个待拼接模块的高度值与层级的高度统一。例如,层级的高度为100,则每个待拼接模块的高度值均为100,使得每个待拼接模块的形状和尺寸均是相同的,方便后续进行快速拼接。
在一些实施例中,可以将高度值统一后的待拼接模块根据层级的坐标进行拼接。例如,两个待拼接模块a、b分别属于第一层级和第二层级,则待拼接模块b要叠加拼接于待拼接模块a的上方,使得待拼接模块b的起始高度与第二层级的起始高度对应,在拼接时需要确定每个待拼接模块起始高度和坐标的准确性。在一些实施例中,待拼接模块的起始高度可以表示为:
Height=Layer*MeshBound.z (1)
其中,公式(1)中的Height表示待拼接模块的起始高度,Layer为层级参数,第一层级的层级参数默认为0,相应地第二层级的层级参数为1、…、第n层级的层级参数为n-1。MeshBound表示网格边界顶点,z表示三维坐标系的z轴,MeshBound.z表示对应层级在z轴方向的最大跨度值,在本申请中MeshBound.z等同于层级的高度值,例如100、200等。
以待拼接模块b为例,在制作模型时想要将待拼接模块b拼接在第二层级,每个层级的高度为100,则待拼接模块b的起始高度可以通过公式(1)计算,即Height=1×100=100。
相较于图4中以侧视方向示出待拼接模块在不同层级中拼接,图5以俯视方向示出待拼接模块在不同区域中拼接。如图5所示,可以将待拼接模块a放置于第二区域,将待拼接模块b放置在第四区域,以使得待拼接模块a与待拼接模块b形成交点实现拼接。可以理解,在对应区域中拼接好所有的待拼接模块后,即可得到目标模型。
可以理解,以山体模型为例,为了还原山体真实、庞大的显示效果,可以在场景中不同位置对应的4个区域均放置有待拼接模块,并且每个待拼接模块自身也可以继续划分出4个区域与其他待拼接模块进行拼接,对于区域的位置、数量,以及每个区域是否放置待拼接模块,本实施例不做限制。
步骤203、获取所述目标模型的法线贴图。
其中,纹理图是指渲染目标模型时所用到的效果图,例如侵蚀效果图、光照效果图等。以侵蚀渲染为例,无论对目标模型执行雨水侵蚀还是风沙侵蚀的渲染效果,应在目标模型的不同面、不同顶点设置不同的侵蚀强度,以还原出目标模型在场景中的真实效果。
以游戏场景为例,该场景的山体模型可以跨越多个层级,并且山体模型中不同层级的每个面的角度、位置和凹凸程度不同,使得山体模型中不同面和不同顶点受到侵蚀渲染的程度是不同的。
其中,步骤203还可以包括以下步骤:
对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型;
根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息;
将所述第一法线信息转换为所述目标模型的第二法线信息,以生成存储所述第二法线信息的所述法线贴图。
在一些实施例中,可以对目标模型在原始平面的基础上进行面细分处理,使目标模型的面的数量增加,得到具有更多面数的高面模型,也即,此处的低面与高面是指模型平面的数量,目标模型的原始平面所对应的平面数较少,可以看作是一个低面模型,而经过细分处理后的目标模型的平面数较多,可以看作是一个高面模型。可以理解,由于高面模型的面数更多,高面模型中各个面的相对位置、角度和凹凸程度,相比于面数较少的目标模型更加复杂,因此渲染高面模型更能体现出真实的显示效果,可以把高面模型的法线方向以像素的形式存储到目标模型的表面上,贴上法线贴图的目标模型就会有高面模型的光影变化、侵蚀程度等渲染效果,从而看起来像高面模型一样。
其中,法线贴图是指在模型的凹凸表面的每个点上均作法线,通过RGB颜色通道来标记法线的方向,可以把它理解成与原凹凸表面平行的另一个不同的表面,但实际上它又只是一个光滑的平面。对于视觉效果而言,它的效率比原有的凹凸表面更高,若在特定位置上进行渲染,可以让细节程度较低的表面生成高细节程度的渲染效果。
可选地,步骤“对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型”,包括:
在所述目标模型的每个三角面所对应的边上生成细分点;
获取多个所述细分点之间连线构成的细分三角面;
迭代重复执行以上步骤,直至迭代次数达到所述面细分处理的预设次数,获取由多个所述细分三角面组成的所述高面模型。
请参阅图6,图6为本申请实施例提供的对目标模型执行细分面处理的示意图。如图6所示,假设面ABCD为目标模型的任一表面,现对该面ABCD做面细分处理。
具体地,先将图6中的面ABCD划分为两个三角面,即面ABC和面BCD,面细分处理实质是在每个三角面的边细分出新的顶点,例如可以分别在AB、AC和BC三个边的中点处分别细分出三个新的顶点,即细分点E、G和F。再细分生成新的顶点后,与模型中原本存在的顶点相连得到细分后的表面,即细分三角面AEG、EFG、CGF和BEF。相应地,以上过程完成了一次细分面处理,在执行第二次细分面处理时,将细分三角面的每条边执行同样得到细分点的过程即可。在一些实施例中,可以根据模型制作和处理的需求,设置好迭代重复执行面细分处理的预设次数,当迭代执行细分面处理的次数达到预设次数时终止处理。
在一些实施例中,系统可以通过执行以下组件来对目标模型进行面细分处理:
Figure BDA0004085483590000131
在一些实施例中,每当细分面处理产生新的细分点和细分面时,可以将细分点的数据存入目标数据的顶点列表,将细分面的数据存入目标数据的面列表,以确保目标模型在进行二维与三维之间转换时不会出现顶点偏移的错误。
可选地,步骤“根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息”,包括:
获取所述纹理图上第一像素点与所述高面模型上第二像素点的位置映射关系;
根据所述位置映射关系,获取每个所述第二像素点的渲染系数;
根据所述渲染系数和所述位置映射关系,计算所述每个第二像素点的法线坐标,得到所述第一法线信息。
在一些实施例中,可以先输入一张纹理图,该纹理图具有初始的位置和角度。可以理解,以侵蚀渲染为例,在现实中风沙、雨水的侵蚀会将场景环境中的山体、地面按不同程度侵蚀,例如靠近风沙一侧的表面侵蚀程度较重、远离风沙一侧的表面侵蚀程度较轻,因此可以通过纹理图与高面模型的相对位置来计算每个面的渲染系数和法线信息。
结合以上描述,进一步地说明将纹理图的颜色参数渲染到的模型表面的原理。对于模型表面的任一个第二像素点,在纹理图中均对应一个第一像素点,在理想渲染效果下,第一像素点的颜色值与第二像素点的颜色值相等,例如将第一像素点的日照、侵蚀等渲染效果以理想角度、无遮挡的条件下完全映射在第二像素点上。为保证模型渲染效果在场景中显示的真实性,渲染的强度会因模型不同面所处角度和位置的因素而下降,因此可以先计算出每个像素点的渲染系数。
请参阅图7,图7为本申请实施例提供的生成第一法线信息的示意图。如图7所示,以一张纹理图渲染高面模型的其中一个表面为例,在纹理图处于当前位置时,第一像素点A与第二像素点B对应,在纹理图处于对第二像素点B实现最佳渲染效果的位置时,第一像素点C与第二像素点B对应。其中,第一像素点与第二像素点的位置映射关系既包括第一像素点A与第二像素点B的位置映射,也包括第一像素点C与第二像素点B点的位置映射。在一些实施例中,第一像素点C可以通过纹理图正交射向高面模型时,第二像素点B在纹理图上投影映射得到。
仍然如图7所示,当纹理图正交于第二像素点B所在的表面时,需要旋转θ°,根据渲染系数的计算规则,若纹理图相对于某个像素点的理想位置存在一定的角度,可以将R通道的颜色值(简称R值)与旋转角θ的余弦值乘积作为该像素点的渲染系数,即R·cosθ。在计算渲染系数时还要考虑第一像素点C与第一像素点A之间的偏移方向,具体规则为将原像素点位置映射的方向求反后,与第二像素点的法线方向求差得到向量的方向为偏移方向,以图7为例,该向量为
Figure BDA0004085483590000141
使得计算出/>
Figure BDA0004085483590000142
的方向能够准确地反映出由第一像素点C偏移至第一像素点A,偏移方向为x轴的反向,在渲染处理中R值与三维空间的x轴相对应,因此最终将R·cosθ转换为-(R·cosθ)作为纹理图对第二像素点B实际的渲染系数。
在一些实施例中,可以根据渲染系数和位置映射关系,计算每个第二像素点的法线坐标,得到第一法线信息。具体地,在计算得到高面模型中每个第二像素点的渲染系数后,可以将渲染系数与对应第一像素点C的色值乘积作为该第二像素点的法线坐标,例如C点的色值为(0.5,0.5,0.5)、渲染系数为-0.5,则该第二像素点的法线坐标为(-0.25,-0.25,-0.25)。进一步地,可以获取所有第二像素点的法线坐标,得到包含该高面模型所有像素点法线坐标的第一法线信息。
可选地,步骤“将所述第一法线信息转换为所述目标模型的第二法线信息”,包括:
获取所述目标模型的第三像素点,以及所述第三像素点对应的切线空间;
获取所述第三像素点与目标第二像素点对应向量的第一坐标值,其中,所述目标第二像素点为所述高面模型中与所述第三像素点距离最近的点;
将每个所述第一坐标值转换为第二坐标值,得到包含所述第二坐标值的所述第二法线信息。
其中,切线空间是指由模型上某个顶点的切线、副切线和法线所围成的空间。在省城法线贴图的过程中,一般需要将法线坐标等数据转换到切线空间,才能够方便模型的后续制作。
在一些实施例中,可以将高面模型和目标模型放在同一空间下,高面模型的面数大于目标模型,使得两个模型之间存在多个不同的像素点。在一些实施例中,对于目标模型上的任一个第三像素点,可以获取与之距离最近的第二像素点,获取两个像素点连接成的向量的第一坐标值,例如第一坐标值为(0,0,1),再将第一坐标值通过以下公式转换为第二坐标值:
pixel = (normal + 1) / 2 (2)
其中,公式(2)中的pixel为第二坐标值,normal为第一坐标值。可以将第一坐标值(0,0,1)代入该公式(2),得到第一坐标值(0.5,0.5,1)。
通过公式(2)将第一坐标值处理为第二坐标值后,可以将第一坐标值中大小为-1至1的坐标值均转化为0至1,可以将该大小为0至1的第二坐标值与目标模型的R、G、B三个通道的颜色值,以及目标模型的uv坐标相对应,使得高面模型的第一法线信息可以通过该方式以颜色值的形式存储到目标模型的uv空间下,以得到目标模型的法线贴图。
其中,uv坐标是指u、v纹理贴图坐标的简称,它与三维坐标系中x、y、z轴是类似的。uv坐标定义了图片上每个点的位置的信息,这些点与三维空间中的模型是相互联系的,通过二维的uv坐标能够准确对应到三维空间中模型上的每个像素点。
步骤204、根据所述法线贴图和所述层级信息,对所述目标模型进行渲染加载渲染,得到渲染后的目标模型。
在目标模型的渲染场景中,以上步骤201至步骤203的操作过程是在模型制作阶段对目标模型所执行的渲染处理,以得到目标模型的法线贴图,使得目标模型的应用程序可以加载该法线贴图在应用界面中显示目标模型。在该步骤204中,可以计算并存储纹理图的加载信息,由于本申请的技术方案可以拼接来自不同层级但形状相同的待拼接模块,为了保证模型具有优质的渲染效果,可以对不同层级的待拼接模块使用不同的纹理图,因此用于渲染不同层级待拼接模块的纹理图可以由最初的纹理图缩放和移动得到,最初的纹理图可以为渲染时最先使用的第一张纹理图。
其中,加载信息可以包括纹理图在不同层级中的缩放次数和位移。例如,某一层级的纹理图相对于最初的纹理图的缩放次数为1、位移为2。其中,每个纹理图的缩放比例可以固定不变,也可以根据层级信息和模型渲染需求进行调整,本实施例不做限制。
可选地,步骤204可以包括以下步骤:
对所述第二法线信息进行傅里叶变换处理,得到所述第二法线信息对应的波形图;
将所述波形图的频率确定为所述缩放次数,将所述波形图的相位确定为所述位移,以得到所述加载信息。
在一些实施例中,可以通过以下公式得到第二法线信息的波形图:
Figure BDA0004085483590000161
在一些实施例中,对于目标模型在同一个层级的所有像素点,可以将每个像素点的uv坐标和xy坐标代入公式(3),通过傅里叶变换得到该层级下第二法线信息的波形图,再进一步地获取该波形图的频率为该层级的纹理图的缩放次数,该波形图的相位为该层级的纹理图的位移,进而以上加载信息,结合最初的纹理图来得到对应层级的纹理图。
由此可知,在计算并存储加载信息后,目标模型所在的目标应用可以通过读取该加载信息,仅通过一张纹理图来准确地复原每个层级的纹理图,以实现后续对目标模型进行渲染处理,从而能够显著地提升对目标模型渲染处理的效率,并减小渲染处理所需的计算资源。
在一些实施例中,目标应用读取加载信息复原不同层级的纹理图后,还可以结合目标模型所处的层级信息对目标模型进行渲染,以提升对目标模型的渲染处理效果。
可选地,步骤205可以包括:
通过所述目标应用读取所述加载信息,在所述目标应用中复原所述纹理图;
基于所述纹理图对所述目标模型进行渲染,得到目标模型;
根据所述层级信息,对所述目标模型的法线信息进行过渡处理,在所述目标应用中加载所述渲染后的目标模型。
在一些实施例中,可以先通过纹理图渲染目标模型得到目标模型,为了进一步地目标模型的优化效果,可以结合层级信息对目标模型的所有像素点的法线坐标进行过渡处理,以使得过渡处理后的法线坐标能够充分地层级高度因素进行优化。
可选地,步骤“根据所述层级信息,对所述目标模型的法线信息进行过渡处理”,包括:
获取所述目标模型的第四像素点在对应层级的高度坐标;
将所述高度坐标转换为所述第四像素点的法线过渡比例;
根据所述法线过渡比例、所述第四像素点所在层级和相邻层级的法线信息,计算每个所述每个第四像素点的法线信息。
在一些实施例中,第四像素点的法线信息可以通过以下公式计算:
f= a(x-y)+x (4)
其中,a为法线过渡比例,x为所在层级的法线信息、y为相邻层级的法线信息。
下面具体解释公式(4)中的各个参数。其中,法线过渡比例为第四像素点对应的高度值与所在层级高度的比值。仅作为示例,假设每个层级的高度为100,第四像素点位于第一层级中高度为70的位置,则法线过渡比例为0.7。
其中,所在层级的法线信息是指,所在层级初始高度对应表面中与第四像素点距离最近的像素点所对应的法线坐标;相邻层级的法线信息是指,与第四像素点距离最近的层级中,与第四像素点距离最近的像素点所对应的法线坐标。
仍然以位于第一层级中高度值为70的第四像素点为例,假设x的值为(0.1,0.1,0.1)、y的值为(0.2,0.2,0.2),则将以上信息代入公式(4)可以计算出该第四像素点经过法线过渡处理后的法线信息的值为:0.7×[(0.1,0.1,0.1)-(0.2,0.2,0.2)]+(0.1,0.1,0.1)=(-0.03,-0.03,-0.03),并通过此计算过程得到所有经过法线过渡处理后的第四像素点的法线信息。
需要说明的是,以上计算第四像素点的法线信息的内容,还可以用于对高面模型的第一法线信息、目标模型的第二法线信息进行法线过渡处理,本实施例对此不做限制。
由上可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
请参阅图3,图3为本申请实施例提供的模型处理方法的另一种流程示意图。该方法的具体流程可以如下:
步骤301、获取多个待拼接模块;
步骤302、调整多个待拼接模块的高度值至层级的高度;
步骤303、在目标场景的区域中拼接多个待拼接模块,得到目标模型;
步骤304、对目标模型进行面细分处理,得到高面模型;
步骤305、基于纹理图渲染高面模型,得到高面模型的法线信息;
步骤306、将高面模型的法线信息转换为目标模型的法线贴图;
步骤307、根据目标模型的法线贴图,计算纹理图的加载信息;
步骤308、加载该加载信息,复原渲染纹理图,对目标模型进行渲染得到渲染后的目标模型;
为了更好地实施以上方法,本申请实施例还提供一种模型处理装置,请参阅图8,图8为本申请实施例提供的模型处理装置的结构示意图,该装置包括:
待拼接模块获取单元401,用于获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
目标模型拼接单元402,用于根据高度信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,高度信息包括层级编号,以及所述层级编号对应的高度值;
法线贴图获取单元403,用于纹理图获取所述目标模型的法线贴图;
模型渲染单元404,用于根据所述法线贴图和所述层级信息对所述进行渲染,得到渲染后的目标模型。
可选地,所述目标模型包括多个区域,所述待拼接模块与所述区域嵌合,所述目标模型拼接单元402还具体用于:
将每个所述待拼接模块的高度值调整为所述层级的高度;
根据所述层级的坐标,将调整后的所述待拼接模块放置于所述区域,以拼接所述多个待拼接模块得到所述目标模型。
可选地,所述法线贴图获取单元403还包括:
高面模型获取子单元,用于对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型;
第一法线信息获取子单元,用于根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息;
第二法线信息获取子单元,用于将所述第一法线信息转换为所述目标模型的第二法线信息,以生成存储所述第二法线信息的所述法线贴图。
可选地,所述高面模型获取子单元还具体用于:
在所述目标模型的每个三角面所对应的边上生成细分点;
获取多个所述细分点之间连线构成的细分三角面;
迭代重复执行以上步骤,直至迭代次数达到所述面细分处理的预设次数,获取由多个所述细分三角面组成的所述高面模型。
可选地,所述第一法线信息获取子单元还具体用于:
获取所述纹理图上第一像素点与所述高面模型上第二像素点的位置映射关系;
根据所述位置映射关系,获取每个所述第二像素点的渲染系数;
根据所述渲染系数和所述位置映射关系,计算所述每个第二像素点的法线坐标,得到所述第一法线信息。
可选地,所述第二法线信息获取子单元还具体用于:
获取所述目标模型的第三像素点,以及所述第三像素点对应的切线空间;
获取所述第三像素点与目标第二像素点对应向量的第一坐标值,其中,所述目标第二像素点为所述高面模型中与所述第三像素点距离最近的点;
将每个所述第一坐标值转换为第二坐标值,得到包含所述第二坐标值的所述第二法线信息。
可选地,所述模型渲染单元404还具体用于:
所述根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型,包括:
对所述第二法线信息进行傅里叶变换处理,得到所述第二法线信息对应的波形图;
将所述波形图的频率确定为所述缩放次数,将所述波形图的相位确定为所述位移,以得到所述纹理图的加载信息;
读取所述加载信息,复原所述纹理图;
基于所述纹理图和所述层级信息,对所述目标模型的法线信息进行过渡处理,得到所述渲染后的目标模型。
可选地,所述模型渲染单元404还具体用于:
获取所述目标模型的第四像素点在对应层级的高度坐标;
将所述高度坐标转换为所述第四像素点的法线过渡比例;
根据所述法线过渡比例、所述第四像素点所在层级和相邻层级的法线信息,计算每个所述每个第四像素点的法线信息。
本申请实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如上任一实施例所述的模型处理方法中的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一实施例所述的模型处理方法中的步骤:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图;
和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
本申请实施例提供的模型处理装置,通过待拼接模块获取单元401获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;通过目标模型拼接单元402根据高度信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,高度信息包括层级编号,以及所述层级编号对应的高度值;通过法线贴图获取单元403获取所述目标模型的法线贴图;通过模型渲染单元404根据所述法线贴图和所述层级信息对所述进行渲染加载渲染,得到渲染后的目标模型。
由上可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机、个人数字助理(Personal Digital Assistant,PDA)等终端设备。
如图9所示,图9为本申请实施例提供的计算机设备的结构示意图,该计算机设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器501是计算机设备500的控制中心,利用各种接口和线路连接整个计算机设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备500的各种功能和处理数据,从而对计算机设备500进行整体监控。
在本申请实施例中,计算机设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图;
和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
由此可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图9所示,计算机设备500还包括:触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。本领域技术人员可以理解,图9中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Displ ay)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
在本申请实施例中,通过处理器501执行游戏应用程序在触控显示屏503上生成图形用户界面,图形用户界面上的游戏场景中包含至少一个技能控制区域,技能控制区域中包含至少一个技能控件。该触控显示屏503用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路505可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路504以发送给比如另一计算机设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源507用于给计算机设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图9中未示出,计算机设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本申请实施例一方面通过在不同层级中,拼接多个属于同一模型元素的待拼接模块,有效地实现了模型中相同元素模块的复用,从而能够提升模型制作的效率、减少模型制作的资源消耗;另一方面,本申请还可以通过模型的法线信息,计算并存储渲染模型所需纹理图的加载信息,使得模型的应用程序可以快速地加载出纹理图来渲染模型,从而能够提升模型渲染处理的效率、减少模型制作的消耗资源。
因此基于以上两个方面,使得本申请的技术方案在模型处理时不受模块所处层级的限制,无需对不同层级的不同模块进行单独制作和渲染,能够以较小的资源消耗和较快效率来制作、渲染模型。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种模型处理方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图;
和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种模型处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种模型处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品61,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,该程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
以上对本申请实施例所提供的一种模型处理方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种模型处理方法,其特征在于,所述方法包括:
获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,所述层级信息包括所述待拼接模块对应层级的高度和坐标;
纹理图获取所述目标模型的法线贴图;
根据所述法线贴图纹理图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型。
2.根据权利要求1所述的模型处理方法,其特征在于,所述目标模型包括虚拟场景的多个区域,所述待拼接模块与所述区域嵌合,所述根据层级信息,对所述多个待拼接模块进行拼接,得到目标模型,包括:
将每个所述待拼接模块的高度值调整为所述层级的高度;
根据所述层级的坐标,将调整后的所述待拼接模块放置于所述区域,以拼接所述多个待拼接模块得到所述目标模型。
3.根据权利要求1所述的模型处理方法,其特征在于,所述纹理图获取所述目标模型的法线贴图,包括:
对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型;
根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息;
将所述第一法线信息转换为所述目标模型的第二法线信息,以生成存储所述第二法线信息的所述法线贴图。
4.根据权利要求3所述的模型处理方法,其特征在于,所述对所述目标模型进行面细分处理,得到所述目标模型对应的高面模型,包括:
在所述目标模型的每个三角面所对应的边上生成细分点;
获取多个所述细分点之间连线构成的细分三角面;
迭代重复执行以上步骤,直至迭代次数达到所述面细分处理的预设次数,获取由多个所述细分三角面组成的所述高面模型。
5.根据权利要求3所述的模型处理方法,其特征在于,所述根据所述纹理图与所述高面模型的相对位置,计算所述高面模型的第一法线信息,包括:
获取所述纹理图上第一像素点与所述高面模型上第二像素点的位置映射关系;
根据所述位置映射关系,获取每个所述第二像素点的渲染系数;
根据所述渲染系数和所述位置映射关系,计算所述每个第二像素点的法线坐标,得到所述第一法线信息。
6.根据权利要求5所述的模型处理方法,其特征在于,所述将所述第一法线信息转换为所述目标模型的第二法线信息,包括:
获取所述目标模型的第三像素点,以及所述第三像素点对应的切线空间;
获取所述第三像素点与目标第二像素点对应向量的第一坐标值,其中,所述目标第二像素点为所述高面模型中与所述第三像素点距离最近的点;
将每个所述第一坐标值转换为第二坐标值,得到包含所述第二坐标值的所述第二法线信息。
7.根据权利要求3所述的模型处理方法,其特征在于,所述根据所述法线贴图和所述层级信息,对所述目标模型进行渲染,得到渲染后的目标模型,包括:
对所述第二法线信息进行傅里叶变换处理,得到所述第二法线信息对应的波形图;
将所述波形图的频率确定为缩放次数,将所述波形图的相位确定为位移,以得到所述纹理图的加载信息;
读取所述加载信息,复原所述纹理图;
基于所述纹理图和所述层级信息,对所述目标模型的法线信息进行过渡处理,得到所述渲染后的目标模型。
8.根据权利要求7所述的模型处理方法,其特征在于,所述根据所述层级信息,对所述目标模型的法线信息进行过渡处理,包括:
获取所述目标模型的第四像素点在对应层级的高度坐标;
将所述高度坐标转换为所述第四像素点的法线过渡比例;
根据所述法线过渡比例、所述第四像素点所在层级和相邻层级的法线信息,计算每个所述每个第四像素点的法线信息。
9.一种模型处理装置,其特征在于,所述装置包括:
待拼接模块获取单元,用于获取多个待拼接模块,所述多个待拼接模块属于同一模型元素;
目标模型拼接单元,用于根据高度信息,对所述多个待拼接模块进行拼接,得到目标模型,其中,高度信息包括层级编号,以及所述层级编号对应的高度值;
法线贴图获取单元,用于获取所述目标模型的法线贴图;
模型渲染单元,用于根据所述法线贴图和所述层级信息对所述进行渲染,得到渲染后的目标模型。
10.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1~8中任一项所述的模型处理方法中的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1~8中任一项所述的模型处理方法中的步骤。
CN202310105763.1A 2023-02-10 2023-02-10 模型处理方法、装置、计算机设备和存储介质 Pending CN116212374A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310105763.1A CN116212374A (zh) 2023-02-10 2023-02-10 模型处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310105763.1A CN116212374A (zh) 2023-02-10 2023-02-10 模型处理方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN116212374A true CN116212374A (zh) 2023-06-06

Family

ID=86585204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310105763.1A Pending CN116212374A (zh) 2023-02-10 2023-02-10 模型处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116212374A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451545A (zh) * 2023-06-12 2023-07-18 东莞市昊诚五金弹簧有限公司 一种大气环境盐雾浓度测试模拟方法、系统及测试装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451545A (zh) * 2023-06-12 2023-07-18 东莞市昊诚五金弹簧有限公司 一种大气环境盐雾浓度测试模拟方法、系统及测试装置
CN116451545B (zh) * 2023-06-12 2023-09-08 东莞市昊诚五金弹簧有限公司 一种大气环境盐雾浓度测试模拟方法、系统及测试装置

Similar Documents

Publication Publication Date Title
US20220207821A1 (en) Image rendering method and related apparatus, terminal and storage medium
CN112138386A (zh) 一种体积渲染方法、装置、存储介质及计算机设备
CN112370783B (zh) 虚拟对象渲染方法、装置、计算机设备和存储介质
CN112907716B (zh) 虚拟环境中的云朵渲染方法、装置、设备及存储介质
JP7186901B2 (ja) ホットスポットマップの表示方法、装置、コンピュータ機器および読み取り可能な記憶媒体
CN112465945B (zh) 一种模型生成方法、装置、存储介质及计算机设备
CN112884873B (zh) 虚拟环境中虚拟物体的渲染方法、装置、设备及介质
CN113052947A (zh) 一种渲染方法、装置、电子设备和存储介质
CN109697748A (zh) 模型压缩处理方法、模型贴图处理方法装置、存储介质
CN116212374A (zh) 模型处理方法、装置、计算机设备和存储介质
CN115082607A (zh) 虚拟角色头发渲染方法、装置、电子设备和存储介质
CN112206519B (zh) 实现游戏场景环境变化的方法、装置、存储介质及计算机设备
CN117274475A (zh) 光晕效果的渲染方法、装置、电子设备和可读存储介质
CN112950753B (zh) 虚拟植物显示方法、装置、设备及存储介质
CN110502305B (zh) 一种动态界面的实现方法、装置及相关设备
CN116402931A (zh) 体积渲染方法、装置、计算机设备和计算机可读存储介质
CN115222867A (zh) 重叠检测方法、装置、电子设备和存储介质
CN115409928A (zh) 水体效果渲染方法、装置、电子设备和存储介质
CN115501590A (zh) 显示方法、装置、电子设备和存储介质
CN113350792A (zh) 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质
CN116524063B (zh) 光照颜色的计算方法、装置、设备及介质
CN116385698B (zh) 网格重建模型的训练方法、网格重建方法及装置
CN113362348B (zh) 图像处理方法、装置、电子设备及存储介质
CN112802166B (zh) 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备
CN117197307A (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