CN110975284A - 一种基于Unity的NGUI资源渲染处理方法及装置 - Google Patents

一种基于Unity的NGUI资源渲染处理方法及装置 Download PDF

Info

Publication number
CN110975284A
CN110975284A CN201911244858.1A CN201911244858A CN110975284A CN 110975284 A CN110975284 A CN 110975284A CN 201911244858 A CN201911244858 A CN 201911244858A CN 110975284 A CN110975284 A CN 110975284A
Authority
CN
China
Prior art keywords
rendering
ngui
linear
result
texture
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
CN201911244858.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.)
Zhuhai Kingsoft Online Game Technology Co Ltd
Original Assignee
Zhuhai Kingsoft Online Game 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 Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Zhuhai Kingsoft Online Game Technology Co Ltd
Priority to CN201911244858.1A priority Critical patent/CN110975284A/zh
Publication of CN110975284A publication Critical patent/CN110975284A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

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

本申请提供一种基于Unity的NGUI资源渲染处理方法及装置,其中所述基于Unity的NGUI资源渲染处理方法包括:获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。通过将非线性的NGUI资源渲染至线性的渲染纹理,充分利用现有的非线性NGUI资源,节省了资源,提高了工作效率,实现更好的渲染效果。

Description

一种基于Unity的NGUI资源渲染处理方法及装置
技术领域
本申请涉及互联网技术领域,特别涉及一种基于Unity的NGUI资源渲染处理方法及装置、计算设备和计算机可读存储介质。
背景技术
随着互联网技术的日益发展,电子游戏行业也得到了长足进步,游戏画面的制作也越来越精美。
目前,随着技术的发展,基于线性的物理渲染要求越来越多地应用于游戏开发中,基于线性的物理渲染要求可以使画面更加的精美、逼真、提高画质,但是有数以万计的NGUI资源都是在非线性空间下生成的,如果在线性空间下重新生成NGUI资源,需要耗费海量的人力和物力,浪费资源。
那么如何在不改变现有NGUI资源的情况,使其能在线性空间下达到渲染目的,就成为技术人员亟待解决的问题。
发明内容
有鉴于此,本申请实施例提供了一种基于Unity的NGUI资源渲染处理方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种基于Unity的NGUI资源渲染处理方法,包括:
获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;
将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;
将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;
将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
可选的,获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成,包括:
获取在伽马空间下生成的NGUI资源;
获取基于预设的物理渲染要求生成的三维立体资源。
可选的,将所述NGUI资源渲染至第一渲染纹理中,包括:
将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
可选的,将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果,包括:
将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换;
将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
可选的,将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果,包括:
获取渲染过程中累积的阿尔法值;
将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
可选的,将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,包括:
将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果;
将所述线性渲染结果显示在显示区域。
可选的,将所述线性渲染结果显示在显示区域,包括:
将所述线性渲染结果经过非线性校正显示在显示区域。
可选的,将所述线性渲染结果经过非线性校正显示在显示区域,包括:
将所述线性渲染结果经过伽马校正显示在显示区域。
根据本申请实施例的第二方面,提供了一种基于Unity的NGUI资源渲染处理装置,包括:
获取模块,被配置为获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;
渲染模块,被配置为将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;
合并模块,被配置为将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;
渲染显示模块,被配置为将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
可选的,所述获取模块,进一步被配置为获取在伽马空间下生成的NGUI资源;获取基于预设的物理渲染要求生成的三维立体资源。
可选的,所述渲染模块,进一步被配置为将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
可选的,所述合并模块,进一步被配置为将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换;将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
可选的,所述合并模块,进一步被配置为获取渲染过程中累积的阿尔法值;将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
可选的,所述渲染显示模块,进一步被配置为将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果;将所述线性渲染结果显示在显示区域。
可选的,所述渲染显示模块,进一步被配置为将所述线性渲染结果经过非线性校正显示在显示区域。
可选的,所述渲染显示模块,进一步被配置为将所述线性渲染结果经过伽马校正显示在显示区域。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述基于Unity的NGUI资源渲染处理方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述基于Unity的NGUI资源渲染处理方法的步骤。
本申请实施例中,通过获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
通过将非线性NGUI资源渲染至线性的渲染纹理中,并将渲染结果与三维立体资源合并后,再次渲染至另一渲染纹理中,在渲染过程中,利用了现有的非线性NGUI资源通过转换线性渲染,在线性转换过程中,通过线性计算无关先后顺序的特点,节省了重新生成线性NGUI资源所需要花费的人力物力,节约了资源,提高了渲染效率,并且通过关闭渲染纹理中的颜色转换,避免了多余的颜色转换过程,进一步节约了系统资源,提高了渲染效率。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的基于Unity的NGUI资源渲染处理方法的流程图;
图3是本申请实施例提供的获取NGUI资源和三维立体资源方法的流程图;
图4是本申请另一实施例提供的基于Unity的NGUI资源渲染处理方法的流程图;
图5是本申请实施例提供的基于Unity的NGUI资源渲染处理装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Unity:是一款强大的跨平台游戏开发引擎,全球累计下载量超过5亿次,是一款多平台、综合型游戏开发工具,是现今最优秀的3D引擎之一,Unity3D该引擎能让游戏开发者轻松创建诸如3D视频游戏、实时3D动画等互动内容,目前广泛应用于手游、网游、单机以及新的VR游戏等开发领域。
NGUI插件:NGUI是严格遵循KISS原则并用C#编写的Unity插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能。对所有其他用户而言,这意味着更高的性能、更低的学习难度和更加有趣。完全集成到Inspector面板中,在场景视图中看到的就是在游戏视图中得到的。基于组件的、模块化的特性:要让你的界面控件做什么,只需为其附加相应的行为,而不需要编码。全面支持iOS/Android和Flash。
线性空间:在线性空间中数值强度与感知强度成正比,在线性空间中可以正确的添加和相乘颜色。
非线性空间:在非线性空间中数值强度与感知强度不成正比,需要经过伽马校正。
渲染纹理(Render Texture):用于存储在图像渲染过程中的资源。
伽马校正:指更改gamma值以匹配监视器的中间灰度,补偿了不同输出设备存在的颜色显示差异,从而使图像在不同的监视器上呈现出相同的效果。
在本申请中,提供了一种基于Unity的NGUI资源渲染处理方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示基于Unity的NGUI资源渲染处理方法中的步骤。图2示出了根据本申请一实施例的基于Unity的NGUI资源渲染处理方法的流程图,Unity中的颜色空间为线性空间,包括步骤202至步骤208。
步骤202:获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成。
NGUI资源和三维立体资源均为Unity下的资源,是指美术制作的UI组件、贴图文件、UI模型以及在代码中设置的颜色值等,在一个中大型的项目中,这个数量级在千到万的级别上,如果重新制作,需要消耗大量的人力和物力,浪费资源。
线性渲染与渲染的先后顺序无关,可以合理安排渲染过程中的时间,提高渲染效率。
可选的,参见图3,步骤202可以通过下述步骤302至步骤304实现。
步骤302:获取在伽马空间下生成的NGUI资源。
数量巨大的NGUI资源已经在伽马空间下被生成,例如UI组件、贴图文件、UI模型等,获取已经在伽马空间下生成的NGUI资源。
步骤304:获取基于预设的物理渲染要求生成的三维立体资源。
三维立体资源已经按照预设的物理渲染要求进行了材质的修改生成,获取基于预设的物理渲染要求已经生成的三维立体资源。
步骤204:将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换。
第一渲染纹理用于存储在图像渲染过程中的NGUI资源,为了获得线性的结果,需要将第一渲染纹理标识为线性纹理,并且取消第一渲染纹理的读取转换,即第一渲染纹理为线性纹理,且在读取NGUI资源时不做非线性的纹理转换。
可选的,将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
在将NGUI资源渲染至第一渲染纹理的过程中,渲染的方式可以为添加,也可以为混合。
在本申请提供的一实施例中,将贴图A通过添加的方式渲染至第一渲染纹理中,获得线性NGUI结果X。
在本申请提供的另一实施例中,将贴图B和UI模型C通过混合的方式渲染至第一渲染纹理中,获得线性NGUI结果Y。
步骤206:将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果。
将获得的线性NGUI结果和线性的三维立体资源合并,获得合并后的线性合并结果。
在本申请提供的实施例中,将线性NGUI结果X与线性的三维立体资源D合并,获得线性合并结果Z。
在本申请提供的另一实施例中,将线性NGUI结果Y与线性的三维立体资源D合并,获得线性合并结果W。
步骤208:将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
第二渲染纹理用于存储在图像渲染过程中的合并资源,为了获得线性的结果,同样需要将第二渲染纹理标识为线性纹理,并且取消第二渲染纹理的读取转换,即第二渲染纹理为线性纹理,且在读资源时不做非线性的纹理转换。
将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果。
将所述渲染结果显示在显示区域,显示区域可以是终端屏幕,可以是投影等。
可选的,步骤208可以通过下述步骤S2081至S2082实现。
S2081、将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果。
将所述线性合并结果渲染至第二渲染纹理的过程中,可以通过添加或者混合的方式,并获得线性渲染结果。
S2082、将所述线性渲染结果显示在显示区域。
可选的,将所述线性渲染结果经过非线性校正显示在显示区域。
因为渲染过程是线性渲染,线性渲染与渲染的先后是无关的,每个渲染结果的时间是不固定的,线性渲染保证了只要渲染结果完成即进行渲染,无需考虑其他渲染的结果,节省了渲染时间。但是在显示过程中,因为显示区域是非线性的,因此渲染结果在显示区域显示之前还需要做一次非线性的校正。线性渲染结果经过非线性校正后才可以正常在显示区域显示。
可选的,将所述线性渲染结果经过伽马校正显示在显示区域。
非线性校正的方式可以是伽马校正,即将线性渲染结果经过伽马校正后在显示区域显示。
本申请实施例提供的基于Unity的NGUI资源渲染处理方法,通过将非线性NGUI资源渲染至线性的渲染纹理中,并将渲染结果与三维立体资源合并后,再次渲染至另一渲染纹理中,在渲染过程中,利用了现有的非线性NGUI资源通过转换线性渲染,在线性转换过程中,通过线性计算无关先后顺序的特点,节省了重新生成线性NGUI资源所需要花费的人力物力,节约了资源,提高了渲染效率,并且通过关闭渲染纹理中的颜色转换,避免了多余的颜色转换过程,进一步节约了系统资源,提高了渲染效率。
图4示出了本申请一实施例的基于Unity的NGUI资源渲染处理方法,该基于Unity的NGUI资源渲染处理方法包括步骤402至步骤410。
步骤402:获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成。
步骤404:将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换。
步骤402至步骤404与上述步骤202至步骤204的方法一致,关于步骤402~404的具体解释,参见前述实施例中的步骤202~204的详细内容,在此就不再赘述。
步骤406:将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换。
第三渲染纹理用于存储在图像渲染过程中的三维立体资源,为了获得线性的结果,需要将第三渲染纹理标识为线性纹理,并且取消第三渲染纹理的读取转换,即第三渲染纹理为线性纹理,且在读资源时不做非线性的纹理转换。
将按照预设的物理渲染要求进行了材质修改的三维立体资源渲染至第三渲染纹理中,获得线性的三维立体结果。
步骤408:将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
可选的,获取渲染过程中累积的阿尔法值;将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
在将所述线性NGUI结果和所述三维立体结果合并过程中,通过修改渲染纹理中阿尔法通道的设置,保留渲染过程中累积的阿尔法值,阿尔法通道是指一张图片的透明和半透明度,在渲染过程中,保留渲染过程中累积的阿尔法值可以保留在渲染过程中NGUI资源和三维立体资源之间的透明度。
在本申请提供的实施例中,以飞行的直升机为例,三维立体资源为直升机,NGUI资源为直升机飞行的UI贴图等信息,直升飞机的螺旋桨处于高速转动状态。当不保留累积的阿尔法值时,高速转动的螺旋桨不具备透明度,即从上方俯视该直升机时,只可看见螺旋桨无法看到直升机机舱,这与现实情况不符,当保留累积的阿尔法值时,阿尔法值可以控制高速旋转螺旋桨的透明度,即可透过螺旋桨可以看到直升机机舱,提高了画面表现力,使游戏与现实世界达到统一。
步骤410:将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
步骤410与上述步骤208的方法一致,关于步骤410的具体解释,参见前述实施例中的步骤208的详细内容,在此就不再赘述。
本申请实施例提供的基于Unity的NGUI资源渲染处理方法,通过将非线性NGUI资源渲染至线性的渲染纹理中,并将渲染结果与三维立体资源合并后,再次渲染至另一渲染纹理中,在渲染过程中,利用了现有的非线性NGUI资源通过转换线性渲染,在线性转换过程中,通过线性计算无关先后顺序的特点,节省了重新生成线性NGUI资源所需要花费的人力物力,节约了资源,提高了渲染效率,并且通过关闭渲染纹理中的颜色转换,避免了多余的颜色转换过程,进一步节约了系统资源,提高了渲染效率,在渲染过程中,保留了累积的阿尔法值,使渲染结果更加贴近与现实,提升了渲染表现力,进而提升了玩家的游戏体验。
与上述方法实施例相对应,本申请还提供了基于Unity的NGUI资源渲染处理装置实施例,图5示出了本申请一个实施例的基于Unity的NGUI资源渲染处理装置的结构示意图。如图5所示,该装置包括:
获取模块502,被配置为获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成。
渲染模块504,被配置为将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换。
合并模块506,被配置为将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果。
渲染显示模块508,被配置为将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
可选的,所述获取模块502,进一步被配置为获取在伽马空间下生成的NGUI资源;获取基于预设的物理渲染要求生成的三维立体资源。
可选的,所述渲染模块504,进一步被配置为将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
可选的,所述合并模块506,进一步被配置为将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换;将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
可选的,所述合并模块506,进一步被配置为获取渲染过程中累积的阿尔法值;将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
可选的,所述渲染显示模块508,进一步被配置为将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果;将所述线性渲染结果显示在显示区域。
可选的,所述渲染显示模块508,进一步被配置为将所述线性渲染结果经过非线性校正显示在显示区域。
可选的,所述渲染显示模块508,进一步被配置为将所述线性渲染结果经过伽马校正显示在显示区域。
本申请实施例提供的基于Unity的NGUI资源渲染处理装置,通过将非线性NGUI资源渲染至线性的渲染纹理中,并将渲染结果与三维立体资源合并后,再次渲染至另一渲染纹理中,在渲染过程中,利用了现有的非线性NGUI资源通过转换线性渲染,在线性转换过程中,通过线性计算无关先后顺序的特点,节省了重新生成线性NGUI资源所需要花费的人力物力,节约了资源,提高了渲染效率,并且通过关闭渲染纹理中的颜色转换,避免了多余的颜色转换过程,进一步节约了系统资源,提高了渲染效率,在渲染过程中,保留了累积的阿尔法值,使渲染结果更加贴近与现实,提升了渲染表现力,进而提升了玩家的游戏体验。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的基于Unity的NGUI资源渲染处理方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述基于Unity的NGUI资源渲染处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于Unity的NGUI资源渲染处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于Unity的NGUI资源渲染处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (18)

1.一种基于Unity的NGUI资源渲染处理方法,其特征在于,Unity中的颜色空间为线性空间,所述方法包括:
获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;
将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;
将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;
将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
2.如权利要求1所述的基于Unity的NGUI资源渲染处理方法,其特征在于,获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成,包括:
获取在伽马空间下生成的NGUI资源;
获取基于预设的物理渲染要求生成的三维立体资源。
3.如权利要求1所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述NGUI资源渲染至第一渲染纹理中,包括:
将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
4.如权利要求1所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果,包括:
将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换;
将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
5.如权利要求4所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果,包括:
获取渲染过程中累积的阿尔法值;
将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
6.如权利要求1所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,包括:
将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果;
将所述线性渲染结果显示在显示区域。
7.如权利要求6所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述线性渲染结果显示在显示区域,包括:
将所述线性渲染结果经过非线性校正显示在显示区域。
8.如权利要求7所述的基于Unity的NGUI资源渲染处理方法,其特征在于,将所述线性渲染结果经过非线性校正显示在显示区域,包括:
将所述线性渲染结果经过伽马校正显示在显示区域。
9.一种基于Unity的NGUI资源渲染处理装置,其特征在于,Unity中的颜色空间为线性空间,所述装置包括:
获取模块,被配置为获取NGUI资源和三维立体资源,其中NGUI资源在非线性空间下生成,三维立体资源在线性空间下生成;
渲染模块,被配置为将所述NGUI资源渲染至第一渲染纹理中,获得线性NGUI结果,其中,所述第一渲染纹理被标识为线性纹理且取消纹理读取转换;
合并模块,被配置为将所述线性NGUI结果和所述三维立体资源合并,获得线性合并结果;
渲染显示模块,被配置为将所述线性合并结果渲染至第二渲染纹理中,获得渲染结果并显示在显示区域,其中,所述第二渲染纹理被标识为线性纹理且取消纹理读取转换。
10.如权利要求9所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述获取模块,进一步被配置为获取在伽马空间下生成的NGUI资源;获取基于预设的物理渲染要求生成的三维立体资源。
11.如权利要求9所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述渲染模块,进一步被配置为将所述NGUI资源通过添加或混合的方式渲染至第一渲染纹理中。
12.如权利要求9所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述合并模块,进一步被配置为将所述三维立体资源渲染至第三渲染纹理中,获得三维立体结果,其中,所述第三渲染纹理被标识为线性纹理且取消纹理读取转换;将所述线性NGUI结果和所述三维立体结果合并,获得线性合并结果。
13.如权利要求12所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述合并模块,进一步被配置为获取渲染过程中累积的阿尔法值;将所述NGUI结果和所述三维立体结果根据所述阿尔法值合并,获得线性合并结果。
14.如权利要求9所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述渲染显示模块,进一步被配置为将所述线性合并结果通过添加或混合的方式渲染至第二渲染纹理中,获得线性渲染结果;将所述线性渲染结果显示在显示区域。
15.如权利要求14所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述渲染显示模块,进一步被配置为将所述线性渲染结果经过非线性校正显示在显示区域。
16.如权利要求15所述的基于Unity的NGUI资源渲染处理装置,其特征在于,
所述渲染显示模块,进一步被配置为将所述线性渲染结果经过伽马校正显示在显示区域。
17.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-8任意一项所述方法的步骤。
18.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-8任意一项所述方法的步骤。
CN201911244858.1A 2019-12-06 2019-12-06 一种基于Unity的NGUI资源渲染处理方法及装置 Pending CN110975284A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911244858.1A CN110975284A (zh) 2019-12-06 2019-12-06 一种基于Unity的NGUI资源渲染处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911244858.1A CN110975284A (zh) 2019-12-06 2019-12-06 一种基于Unity的NGUI资源渲染处理方法及装置

Publications (1)

Publication Number Publication Date
CN110975284A true CN110975284A (zh) 2020-04-10

Family

ID=70090991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911244858.1A Pending CN110975284A (zh) 2019-12-06 2019-12-06 一种基于Unity的NGUI资源渲染处理方法及装置

Country Status (1)

Country Link
CN (1) CN110975284A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882164A (zh) * 2022-05-18 2022-08-09 上海完美时空软件有限公司 游戏图像处理方法及装置、存储介质、计算机设备
CN118608674A (zh) * 2024-08-06 2024-09-06 深圳易帆互动科技有限公司 一种Unity应用的UI界面背景与三维对象混合方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0321891D0 (en) * 2003-09-18 2003-10-22 Canon Europa Nv Image rendering in 3d computer graphics
US20050206645A1 (en) * 2004-03-22 2005-09-22 Hancock William R Graphics processor with gamma translation
CN108921775A (zh) * 2018-05-09 2018-11-30 苏州蜗牛数字科技股份有限公司 一种基于Unity的软件线性渲染的方法
CN109725956A (zh) * 2017-10-26 2019-05-07 腾讯科技(深圳)有限公司 一种场景渲染的方法以及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0321891D0 (en) * 2003-09-18 2003-10-22 Canon Europa Nv Image rendering in 3d computer graphics
US20050206645A1 (en) * 2004-03-22 2005-09-22 Hancock William R Graphics processor with gamma translation
CN109725956A (zh) * 2017-10-26 2019-05-07 腾讯科技(深圳)有限公司 一种场景渲染的方法以及相关装置
CN108921775A (zh) * 2018-05-09 2018-11-30 苏州蜗牛数字科技股份有限公司 一种基于Unity的软件线性渲染的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AA20274270: "Unity3D Gamma And Linear Space", pages 1 - 2 *
UNITY TECHNOLOGIES: "线性或伽马工作流程", pages 1 - 4 *
UNITY TECHNOLOGIES: "采用线性渲染的伽马纹理", pages 1 - 2, Retrieved from the Internet <URL:https://docs.unity3d.com/cn/2019.4/Manual/LinearRendering-GammaTextures.html> *
影风飞: "Unity手机线性空间下的透明混合(上)", pages 1 - 5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882164A (zh) * 2022-05-18 2022-08-09 上海完美时空软件有限公司 游戏图像处理方法及装置、存储介质、计算机设备
CN118608674A (zh) * 2024-08-06 2024-09-06 深圳易帆互动科技有限公司 一种Unity应用的UI界面背景与三维对象混合方法及系统

Similar Documents

Publication Publication Date Title
CN109389661B (zh) 一种动画文件转化方法及装置
CN111068314B (zh) 一种基于Unity的NGUI资源渲染处理方法及装置
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
CN111193876A (zh) 视频中添加特效的方法及装置
CN112489183A (zh) 基于Unity3D的骨骼动画渲染方法及系统
CN112307403B (zh) 页面渲染方法、装置、存储介质以及终端
CN110975284A (zh) 一种基于Unity的NGUI资源渲染处理方法及装置
CN113421312A (zh) 一种对黑白视频的着色方法、装置、存储介质及终端
CN110784739A (zh) 基于ae的视频合成方法及装置
CN111617480A (zh) 一种点云渲染方法及装置
CN110570506A (zh) 一种地图资源管理方法、装置、计算设备及存储介质
US20240144625A1 (en) Data processing method and apparatus, and electronic device and storage medium
CN112714357A (zh) 视频播放方法、视频播放装置、电子设备和存储介质
CN112907700A (zh) 颜色填充方法及装置
CN110853121B (zh) 基于ae的跨平台数据处理的方法及装置
CN111243072A (zh) WebVR三维展示方法、装置、系统及可读存储介质
CN112991497B (zh) 一种对黑白动漫视频的着色方法、装置、存储介质及终端
CN116115995A (zh) 图像渲染处理方法、装置及电子设备
CN111930461B (zh) 基于Android的移动端APP全量页面灰度化方法和装置
CN110548290B (zh) 图文混排方法、装置、电子设备以及存储介质
Hidayat et al. Comparison of memory consumptive against the use of various image formats for app onboarding animation assets on Android with Lottie JSON
CN110990104B (zh) 一种基于Unity3D的纹理渲染方法及装置
CN114307143A (zh) 图像处理方法及装置、存储介质、计算机设备
CN115904372A (zh) 数据处理方法及装置
CN115988255A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200410

RJ01 Rejection of invention patent application after publication