CN110390709B - 卡通渲染勾边圆滑方法 - Google Patents
卡通渲染勾边圆滑方法 Download PDFInfo
- Publication number
- CN110390709B CN110390709B CN201910532606.2A CN201910532606A CN110390709B CN 110390709 B CN110390709 B CN 110390709B CN 201910532606 A CN201910532606 A CN 201910532606A CN 110390709 B CN110390709 B CN 110390709B
- Authority
- CN
- China
- Prior art keywords
- model
- normal
- edge
- completely
- smooth
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种卡通渲染勾边圆滑方法,本发明通过离线将完全光滑后的模型的法线保存在模型数据中,用完全光滑后的法线生成勾边,以达到更圆滑的勾边效果。另外,本发明的模型数据保存两套法线,分别用于勾边和光照计算。本发明通过多套法线技术,保证卡通渲染中圆滑连续的勾边效果,同时不影响正常的光照的效果。将模型光滑组之后的法线保存到模型的切线信息里,几何体面沿光滑组之后的法线外扩产生更圆滑的勾边。
Description
技术领域
本发明涉及一种卡通渲染勾边圆滑方法。
背景技术
卡通渲染属于非真实渲染的范畴,主要应用于日系卡通风格的游戏中。勾边是卡通渲染中关键的特征之一,对卡通渲染的风格影响很大。勾线方法有多种,日式卡通中往往倾向于使用几何体背面沿法线外扩的方式去勾线,勾线效果受法线影响比较大,如何制作模型的法线,依然是一个难题。
现有的几何体背面沿法线外扩的勾边技术,当模型是人体等圆润的结构,模型光滑组给的足够光滑,勾边效果会比较理想。但如果模型是一些机械体,存在硬平面,模型需要做光滑组区分不同平面的法线用于更真实的光照计算,勾边就会在两个硬平面的边缘处出现断裂的现象,如图1所示。
发明内容
本发明的目的在于提供一种卡通渲染勾边圆滑方法。
为解决上述问题,本发明提供一种卡通渲染勾边圆滑方法,包括:
将完全光滑后的模型的法线保存在模型数据中;
基于所述模型数据中的完全光滑后的模型的法线生成勾边。
进一步的,在上述方法中,将完全光滑后的模型的法线保存在模型数据中,包括:
在所述模型制作阶段,将所述模型做180度完全光滑;
将完全光滑后的模型的法线烘培到模型的顶点色中。
进一步的,在上述方法中,将完全光滑后的模型的法线烘培到模型的顶点色中,包括:
使用预设的MaxScript脚本,将完全光滑后的模型的法线烘培到模型的顶点色中。
进一步的,在上述方法中,基于所述模型数据中的完全光滑后的模型的法线生成勾边,包括:
全光滑后的模型的表面光滑组烘焙到顶点色之后,正常划分所述完全光滑后的模型的表面光滑组,以让模型的法线信息得以正常表现光照效果;
将正常划分表面光滑组后的所述完全光滑后的模型导出到引擎,完全光滑后的法线信息保存在顶点色中,用于生成勾边。
进一步的,在上述方法中,在所述引擎中将之前烘培到模型的顶点色中的信息经过解码后导入到划分表面光滑组后的所述完全光滑后的模型的切线的信息中;
根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边。
进一步的,在上述方法中,根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边,包括:
根据划分表面光滑组后的所述完全光滑后的模型的切线的信息作为Shader计算中几何体背面外扩的方向,以生成勾边。
与现有技术相比,本发明通过离线将完全光滑后的模型的法线保存在模型数据中,用完全光滑后的法线生成勾边,以达到更圆滑的勾边效果。另外,本发明的模型数据保存两套法线,分别用于勾边和光照计算。本发明通过多套法线技术,保证卡通渲染中圆滑连续的勾边效果,同时不影响正常的光照的效果。将模型光滑组之后的法线保存到模型的切线信息里,几何体面沿光滑组之后的法线外扩产生更圆滑的勾边。
附图说明
图1是现有的勾边技术形成硬平面边缘处的勾边断裂图;
图2是本发明一实施例的卡通渲染勾边圆滑方法的效果图;
图3为卡通渲染勾边圆滑方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实例如同图1图2中硬边缘模型。常规勾边方法就会出现折角处的断裂,使用该专利方法的优势就是可以勾出连续的轮廓,同时不影响正常的光照。这也是开头简述里提到的。后续步骤就是通常的卡通渲染,再赘述。
如图1所示,本发明提供一种卡通渲染勾边圆滑方法,包括:
步骤S1,将完全光滑后的模型的法线保存在模型数据中;
步骤S2,基于所述模型数据中的完全光滑后的模型的法线生成勾边。
3dmax软件在做动画、3d场景中经常使用。制作过程主要过程是:建立模型、添加材质、添加灯光、渲染输出等。模型如人物模型、建筑模型等,我们说的模型是指游戏开发过程中制作的3D模型,通常导出成FBX文件到游戏引擎中使用。在此,本发明通过离线将完全光滑后的模型的法线保存在模型数据中,用完全光滑后的法线生成勾边,以达到更圆滑的勾边效果。
本发明的卡通渲染勾边圆滑方法一实施例中,步骤S1,将完全光滑后的模型的法线保存在模型数据中,包括:
步骤S11,在所述模型制作阶段,将所述模型做180度完全光滑(比如使用smooth命令可以做到180度完全光滑);
步骤S12,将完全光滑后的模型的法线烘培到模型的顶点色中。
将所述模型做180度完全光滑,是由于当一个顶点被多个平面共用的时候,顶点在每个平面上的法线都是面法线,而做了180度完全光滑后,只要顶点的多条面法线之间的夹角小于180度,也就是两个向量的夹角必然小于180度,顶点的多条面法线就会做光滑处理,合并成一条法线,这样顶点在各个平面的法线就一致了,此时,若做勾边时顶点按照法线方向外扩,则不会出现顶点在各个平面上外扩方向不一致,即出现勾边断裂的情况。
本发明的卡通渲染勾边圆滑方法一实施例中,步骤S12,将完全光滑后的模型的法线烘培到模型的顶点色中,包括:
使用预设的MaxScript脚本,将完全光滑后的模型的法线烘培到模型的顶点色中。在MaxScript脚本程序,可以驱动3dsMax内部烘培API接口,将法线烘焙到模型顶点色。本发明的卡通渲染勾边圆滑方法一实施例中,步骤S2,基于所述模型数据中的完全光滑后的模型的法线生成勾边,包括:
步骤S21,正常划分所述完全光滑后的模型的表面光滑组,以让模型的法线信息得以正常表现光照效果;
步骤S22,将正常划分表面光滑组后的所述完全光滑后的模型导出到引擎,完全光滑后的法线信息保存在顶点色中,用于生成勾边。
本发明的卡通渲染勾边圆滑方法一实施例中,步骤S22,将正常划分表面光滑组后的所述完全光滑后的模型导出到引擎,完全光滑后的法线信息保存在顶点色中,用于生成勾边,包括:
在所述引擎中将之前烘培到模型的顶点色中的信息经过解码后导入到划分表面光滑组后的所述完全光滑后的模型的切线的信息中;
根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边。
本发明的卡通渲染勾边圆滑方法一实施例中,根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边,包括:
根据划分表面光滑组后的所述完全光滑后的模型的切线的信息作为Shader计算中几何体背面外扩的方向,以生成勾边(通过shader代码来生成勾边效果。传统做法用的是法线,这里用切线来替代)。
本发明的模型数据保存两套法线,分别用于勾边和光照计算。本发明通过多套法线技术,保证卡通渲染中圆滑连续的勾边效果,同时不影响正常的光照的效果。将模型光滑组之后的法线保存到模型的切线信息里,几何体面沿光滑组之后的法线外扩产生更圆滑的勾边。
本发明一具体实施例中,具体包括以下步骤:
1、在模型制作阶段,先将模型做180度完全光滑。然后使用自制的MaxScript脚本,将完全光滑后的法线烘培到模型的顶点色中。导入过程为了保证顶点色信息保存的完整性,需要进行编码,编码公式如下:
VertexColor.rgb=(VertexNormal.xyz+1)*0.5(VertexColor.rgb为模型顶点色的RGB通道;
VertexNormal.xyz为法线的方向信息;)
2、进行过第1步的处理后正常制作模型,按设计需求划分模型的表面光滑组,这里的划分模型表面光滑组,是常规建模中都有的操作。完全光滑的法线信息虽然能用来做连续的勾边效果,但会破坏模型表面法线棱角分明的效果。所以我们把完全光滑后的法线信息烘焙到了顶点色,之后再把法线还原回常规建模流程的的光滑组划分,得到正确的棱角效果,让法线信息得以正常表现光照效果。制作完成后将模型导出到引擎。
3、需要在引擎中对模型顶点色的信息进行二次处理,将之前保存到顶点色中的信息,经过解码后导入到模型的切线信息中。之所以导入到切线,是因为法线需要用来做正常受光计算,而能够受到蒙皮骨骼动画影响的顶点信息只有法线和切线,顶点色的信息是颜色信息不受动画驱动,故选择切线。解码公式如下:
VertexTangent.xyz=VertexColor.rgb*2-1(VertexColor.rgb为模型顶点色的RGB通道;VertexTangent.xyz为切线的方向信息;)
4、经过步骤3后,在步骤1中定制的完全光滑的法线信息,被转移到了切线信息中,作为Shader计算中几何体背面外扩的方向,解决原本因光滑组区分导致勾边断裂的问题。效果如图2所示。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (3)
1.一种卡通渲染勾边圆滑方法,其特征在于,包括:
将完全光滑后的模型的法线保存在模型数据中;
基于所述模型数据中的完全光滑后的模型的法线生成勾边;
其中,将完全光滑后的模型的法线保存在模型数据中,包括:在模型制作阶段,将所述模型做180度完全光滑,将完全光滑后的模型的法线烘培到模型的顶点色中;
基于所述模型数据中的完全光滑后的模型的法线生成勾边,包括:
正常划分所述完全光滑后的模型的表面光滑组,以让模型的法线信息得以正常表现光照效果;
将正常划分表面光滑组后的所述完全光滑后的模型导出到引擎,完全光滑后的法线信息保存在顶点色中,用于生成勾边,包括:
在所述引擎中将之前烘培到模型的顶点色中的信息经过解码后导入到划分表面光滑组后的所述完全光滑后的模型的切线的信息中;根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边。
2.如权利要求1所述的卡通渲染勾边圆滑方法,其特征在于,将完全光滑后的模型的法线烘培到模型的顶点色中,包括:
使用预设的MaxScript脚本,将完全光滑后的模型的法线烘培到模型的顶点色中。
3.如权利要求1所述的卡通渲染勾边圆滑方法,其特征在于,根据划分表面光滑组后的所述完全光滑后的模型的切线的信息生成勾边,包括:
根据划分表面光滑组后的所述完全光滑后的模型的切线的信息作为Shader计算中几何体背面外扩的方向,以生成勾边。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532606.2A CN110390709B (zh) | 2019-06-19 | 2019-06-19 | 卡通渲染勾边圆滑方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910532606.2A CN110390709B (zh) | 2019-06-19 | 2019-06-19 | 卡通渲染勾边圆滑方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390709A CN110390709A (zh) | 2019-10-29 |
CN110390709B true CN110390709B (zh) | 2023-01-03 |
Family
ID=68285545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910532606.2A Active CN110390709B (zh) | 2019-06-19 | 2019-06-19 | 卡通渲染勾边圆滑方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390709B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111729322A (zh) * | 2020-06-15 | 2020-10-02 | 完美世界(北京)软件科技发展有限公司 | 模型的描边处理方法、装置、计算机设备及可读存储介质 |
CN113350792B (zh) * | 2021-06-16 | 2024-04-09 | 网易(杭州)网络有限公司 | 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840585A (zh) * | 2009-03-18 | 2010-09-22 | 乐大山 | 一种将三维对象渲染为二维图像的方法 |
CN102096933A (zh) * | 2009-12-14 | 2011-06-15 | 方正国际软件(北京)有限公司 | 一种文字样式修饰方法及装置 |
AU2012201262A1 (en) * | 2011-03-01 | 2012-09-20 | The Toro Company | Evaluation of ground surface hardness |
CN107730577A (zh) * | 2017-11-08 | 2018-02-23 | 米哈游科技(上海)有限公司 | 一种勾线渲染方法、装置、设备及介质 |
CN109685869A (zh) * | 2018-12-25 | 2019-04-26 | 网易(杭州)网络有限公司 | 虚拟模型渲染方法与装置、存储介质、电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100305420A1 (en) * | 2006-02-27 | 2010-12-02 | Edwards Lifesciences Corporation | Flexible circuit and method for forming the same |
US7843463B1 (en) * | 2007-06-01 | 2010-11-30 | Nvidia Corporation | System and method for bump mapping setup |
CN201147363Y (zh) * | 2007-07-06 | 2008-11-12 | 刘小勇 | 椎体可扩张矫形复位器 |
GB201103698D0 (en) * | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphics processing |
JP5956855B2 (ja) * | 2012-07-04 | 2016-07-27 | 日本航空電子工業株式会社 | 切れ刃エッジの加工方法及び器具の製造方法 |
CN103595974B (zh) * | 2013-12-01 | 2016-09-28 | 北京航空航天大学深圳研究院 | 一种面向城域的视频地理信息系统及方法 |
US9495767B2 (en) * | 2014-05-15 | 2016-11-15 | Google Inc. | Indexed uniform styles for stroke rendering |
CN104966312B (zh) * | 2014-06-10 | 2017-07-21 | 腾讯科技(深圳)有限公司 | 一种3d模型的渲染方法、装置及终端设备 |
CN106708263A (zh) * | 2016-12-16 | 2017-05-24 | 广东欧珀移动通信有限公司 | 一种触摸屏的防误触方法、装置及移动终端 |
US10825238B2 (en) * | 2017-05-03 | 2020-11-03 | Microsoft Technology Licensing, Llc | Visual edge rendering using geometry shader clipping |
CN109427088B (zh) * | 2017-08-18 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 一种模拟光照的渲染方法及终端 |
CN108564646B (zh) * | 2018-03-28 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN108765530A (zh) * | 2018-05-24 | 2018-11-06 | 北京声影动漫科技有限公司 | 一种制作漫画和/或二维动画的方法 |
CN109377546B (zh) * | 2018-12-07 | 2023-07-18 | 网易(杭州)网络有限公司 | 虚拟现实模型渲染方法及装置 |
CN109903385A (zh) * | 2019-04-29 | 2019-06-18 | 网易(杭州)网络有限公司 | 三维模型的渲染方法、装置、处理器及终端 |
CN110223372A (zh) * | 2019-06-13 | 2019-09-10 | 网易(杭州)网络有限公司 | 模型渲染的方法、装置、设备及存储介质 |
-
2019
- 2019-06-19 CN CN201910532606.2A patent/CN110390709B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840585A (zh) * | 2009-03-18 | 2010-09-22 | 乐大山 | 一种将三维对象渲染为二维图像的方法 |
CN102096933A (zh) * | 2009-12-14 | 2011-06-15 | 方正国际软件(北京)有限公司 | 一种文字样式修饰方法及装置 |
AU2012201262A1 (en) * | 2011-03-01 | 2012-09-20 | The Toro Company | Evaluation of ground surface hardness |
CN107730577A (zh) * | 2017-11-08 | 2018-02-23 | 米哈游科技(上海)有限公司 | 一种勾线渲染方法、装置、设备及介质 |
CN109685869A (zh) * | 2018-12-25 | 2019-04-26 | 网易(杭州)网络有限公司 | 虚拟模型渲染方法与装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110390709A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6236403B1 (en) | Modeling and deformation of 3-dimensional objects | |
CN110390709B (zh) | 卡通渲染勾边圆滑方法 | |
US8345059B2 (en) | Methods, systems, and data structures for generating a rasterizer | |
CN110675508B (zh) | 一种bim模型几何图形化简方法 | |
JP3870167B2 (ja) | レンダリングシステム、レンダリング方法及びその記録媒体 | |
CN110895795A (zh) | 改进的语义图像修补模型方法 | |
CN114241151A (zh) | 三维模型简化方法、装置、计算机设备和计算机存储介质 | |
CN113962845B (zh) | 图像处理方法、图像处理装置、电子设备以及存储介质 | |
CN109960887A (zh) | 基于lod的模型制作方法及装置、存储介质及电子设备 | |
CN114429535A (zh) | 一种三角网格曲面的光滑裁剪方法及装置 | |
CN113781642A (zh) | 一种基于减面算法的三维模型多层级lod的生成方法 | |
CN113012259A (zh) | 一种基于三角剖分算法对凹多边形填充处理的方法 | |
CN111295695B (zh) | 三维网格数据简化方法及装置 | |
CN110874856A (zh) | 一种基于gpu特性的实时渲染gui的优化方法 | |
CN105956328B (zh) | 一种高自由度的参数化曲面建立叶片模型的方法 | |
CN116843861A (zh) | 一种三维模型简化方法 | |
KR20020058608A (ko) | 컴퓨팅 장치에서 두 개의 비-스플라인 곡선이나 곡면의경계가 연속성을 갖도록 하기 위한 대수적 블렌딩 처리방법 | |
CN108763767B (zh) | 面向vr引擎的大数据量igs工业模型polygon转换方法 | |
CN110648384A (zh) | 卡通风格化渲染方法 | |
CN113435100B (zh) | 一种适用于产品设计的虚拟装配偏差分析方法 | |
CN100476880C (zh) | 一种产生体积阴影的方法及系统 | |
CN114202642A (zh) | 三维三角网模型中超大空洞的填补方法及设备 | |
CN106846489B (zh) | 一种基于vtk处理obj文件的方法 | |
CN113436300A (zh) | 爆炸动画的实现方法、装置、电子设备及存储介质 | |
CN112967333A (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 |