【NPR】卡通渲染】的更多相关文章

卡通渲染的主要原理包含两个方面: 1.轮廓线的描边效果 2.模型漫反射离散和纯色高光区域的模拟 描边: 描边的实现方法采用将模型的轮廓线顶点向法线(或顶点)的方向扩展一定的像素得到.也可通过边缘检测(基于法线和深度)来实现. 漫反射离散: 利用离散的Ramp纹理对漫反射光照效果进行采样,可以实现不同效果梯度的卡通渲染效果,例如: 注意此纹理的灰度变化并非均匀变化,而是类似于一种突变,仅在灰度变化的交界处进行了平滑过渡.这样的Ramp纹理正是卡通渲染所需要的颜色过渡模式,也是卡通渲染实现的核心内容…
写在前面 我的博客讲过好几篇卡通渲染了,比如[Unity Shader实战]卡通风格的Shader(一).[Unity Shader实战]卡通风格的Shader(二).[NPR]漫谈轮廓线的渲染.[Shader拓展]Illustrative Rendering in Team Fortress 2.后来,我搞了个所谓的NPR实验室,来实现一些论文里或者网络博客里讲到的NPR渲染算法,这里面包含了一些卡通风格的渲染.这篇文章主要想介绍一下这个项目里的一些卡通渲染的方法.包括: 一个最常见的包含了卡…
http://forum.china.unity3d.com/thread-32271-1-1.html 我们已经发布了Unite 2018 江毅冰的<发条乐师>.Hit-Point的<旅行青蛙>.育碧<Eagle Flight>演讲分享,不少开发者在后台留言希望小编尽快分享米哈游技术总监贺甲<崩坏3>的案例分享,因为这场是干货满满的爆场.我们非常感谢米哈游以及贺甲长期以来对Unite大会的支持,由于篇幅限制,本次演讲内容将拆分成上下二篇. 下面为演讲内容:…
最近在youtube上看了GDC,学了很多东西,最让我震撼的就是ggxx的卡通渲染了.感慨一下,想要用3D做出二次元的效果,真的不容易.现记录一些要点: 1)不要使用normal map来做cel-shading,否则做出来的明暗分界线就像狗啃一样,只使用vertex normal. 2)使用顶点色存储threshold,计算明暗面交接线,效果更佳. 3)由于完全使用顶点法线计算,舍弃了normalmap,所以可以多用三角面,放宽对面数的限制. 4)顶点法线需要手动调整,不能用自动生成的法线向量…
http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在Unity上实现高品质卡通渲染的效果>下篇,上篇请点击此处阅读. 下面为演讲内容: 接下来我们就来介绍一下头发的渲染.头发是卡通渲染角色较为重要且独特的部分.我们想要实现根据光源动态变化的高光和阴影渐变,并且这个实现还应具备直观的所见即所得的色彩调节能力. 和皮肤的材质一样,对于头发的漫反射渲染我们同样…
在5月12日Unite2017开发者大会上,米哈游技术总监兼美术指导贺甲进行了主题为次世代卡通渲染的演讲.一下为详细分享内容: 大家好,首先自我介绍一下,我叫贺甲,在米哈游担任技术总监和美术指导工作,目前主要关注的方向是非写实渲染以及可交互物理方面的研究.很高兴在这里给大家带来一场有关于次世代卡通渲染的演讲. 我们在考虑如何运用次世代渲染技术,对当前卡通渲染技术时代进行升级.如何将新的技术和卡通渲染有机结合,也是一个比较大的挑战,我们想还原不仅仅是之前传统上色的质感,还想进一步把插画级细致方面的…
从csdn转移过来,顺便把写过的文章改写一下转过来. 一.边缘检测算法 3D模型描边有两种方式,一种是基于图像,即在所有3D模型渲染完成一张图片后,对这张图片进行边缘检测,最后得出描边效果.一种是基于空间,即针对3D模型的三角面三个顶点构成的线条做边缘检测(注:和基于图像的边缘检测的检测方式是不同的,但都叫边缘检测).在本文中使用的是基于空间的3D模型的描边. 空间的3D模型的描边的边是有类型的,大致总结有4种:轮廓边.边界边.折缝边.材质边.其中前3种是本文认为卡通渲染所必须有的. 图1 空间…
前面的话 unitychan是日本unity官方团队提供的一个Demo,里面有很好的卡通渲染效果,值得参考学习 上图是我整理出来的shader结构,可以看到Unity娘被拆分成了很多个小的部件,我想主要是为了挂动态骨骼吧.因为有很多部件的材质,shader其实都是一样的可以合并成少数几个 我打算分3个部分来学习 CharaMain.cginc 主要用于衣服等材质 CharaSkin.cginc 皮肤效果 Hair 头发.眼睛.睫毛等部位的渲染 CharaMain.cginc 本篇先写第一部分bo…
前面的话 上一篇Unity酱~ 卡通渲染技术分析(一) 写了CharaMain.cginc,服装的渲染是怎么实现的.这篇来分析一下头发跟皮肤的实现 头发 本来以为unitychan的头发会有各向异性的实现,没想到她也是用的CharaMain.cginc实现的.我们来看看头发的材质 其他实现都一样,也是通过高光反射贴图来控制高光区域跟反射区域 计算法线跟视角向量的点积,这样的效果是越垂直于视角向量的高光越大,然后用RGB贴图来控制哪些区域更容易出高光 反射依然是用A通道来控制,越白的地方,反射的越…
效果展示: 原模型: 一.简单分析 卡通渲染又叫非真实渲染(None-Physical Rendering-NPR),一般日漫里的卡通风格有几个特点: 1.人物有描边 2.有明显的阴影分界线,没有太平滑的过渡 以下就根据这两点来实现卡渲效果: 二.描边 1.法线外扩 实现描边方式多种,比如卷积区分边界: 这里使用更简单的两个Pass,一个只用纯色画背面,利用法线外扩顶点,根据深度的不同这个纯色的背面会被显示出来,同时又不会遮挡正面: Pass { Tags {"LightMode"=&…
转自:http://www.cr173.com/soft/179512.html http://www.psoft.co.jp/jp/ 官网和YTB有 2代的视频教程,平均每个2分钟长,无解说,是日文版的.有需要的也可以进去瞧瞧 pencil+是max的一款三渲二插件,被用在很多日本动画里,包括eva,高达 官网http://www.psoft.co.jp/en/product/pencil/ 现在最新xx版是3.07,支持到3dmax2013 地址http://pan.baidu.com/s/…
为了统一工作流,给maya也做了个卡通shader:…
自从用了shader forge,妈妈我再也不写shader了...... 写了3种,分别用的顶点法线.法线贴图.顶点法线+法线贴图,然后还有自发光和受光两种模式,那就是6种了吧... 最后来一张shader forge的node graph:…
http://www.opengpu.org/forum.php?mod=viewthread&tid=17071http://www.opengpu.org/bbs/forum.php?mod=viewthread&tid=17072http://blog.csdn.net/liumazi/article/details/78858811https://blog.uwa4d.com/archives/usparkle_cartoonshading.html https://forum.u…
转自:https://dawnarc.com/2018/01/ue4cel-shading%E5%8D%A1%E9%80%9A%E6%B8%B2%E6%9F%93/ Cel Shading Post Processhttps://wiki.unrealengine.com/Cel_Shading_Post_Process UE4 Tutorial: Toon Shader (Borderlands/Jet Set Radio)https://www.youtube.com/watch?v=0UB…
写在前面 前几天在知乎看到一个问题--关于非实感图形学或者风格化渲染有哪些好的书或者paper,我刚好接触过一些就去里面回答了一下.答完以后突然想在Unity里搞一个这样的集锦,把一些简单的NPR论文或者教程在Unity里实现一下.于是这两天就做了一下.我把这个项目放到了GitHub(https://github.com/candycat1992/NPR_Lab)上,有兴趣的同学可以去看一下. 项目链接:https://github.com/candycat1992/NPR_Lab 实现了哪些N…
写在前面 时隔两个月我终于来更新博客了,之前一直在学东西,做一些项目,感觉没什么可以分享的就一直没写.本来之前打算写云彩渲染或是Compute Shader的,觉得时间比较长所以打算先写个简单的. 今天扫项目的时候看到了很早之前下载的Unity Chan的项目,其实很早之前就想要分析下里面的卡通效果是怎么做的. Unity Chan 想必很多人都看到或听过Unity Chan,也可以说是Unity酱.Unity娘--她数次出现在早期的AR程序中,一个萌娘在现实生活中的一张卡片上跳来跳去的我相信你…
转载自 冯乐乐的 <Unity Shader 入门精要> 尽管游戏渲染一般都是以照相写实主义作为主要目标,但也有许多游戏使用了非真实感渲染(NPR)的方法来渲染游戏画面.非真实感渲染的一个主要目标是,使用一些渲染方法使得画面达到和某些特殊的绘画风格相似的效果,例如卡通.水彩风格等. 卡通风格的渲染 卡通风格是游戏中常见的一种渲染风格.使用这种风格的游戏画面通常有一些共有的特点,例如物体都被黑色的线条描边,以及分明的明暗变化等.如下图所示. 要实现卡通渲染有很多方法,其中之一就是使用基于色调的着…
 本文在讨论的主题并不限于具体引擎或具体语言,为了说明方便可能会提到Unity的一些内容. 最近渐渐发现很多从事游戏开发的新人,对于学会写Shader似乎总是有几分神往,但一般入了门或者学了一段时间后,想再提高时就找不到方向,也不知道学这些东西有什么用,好像只能在不会的人面前显摆显摆.特别是如今像Unity这样特别普及的引擎,可用的资源太多,几乎不需要自己懂任何渲染的知识,更不需要动手写Shader. 我就自己知道的来谈谈”关于渲染知识在工作中有什么用”. 一.理解误区 不少客户端开发新手,甚至…
ZBrush可以实时的进行不断的渲染和着色. 对于绘制操作,ZBrush®增加了新的范围尺度,可以让你给基于像素的作品增加深度,材质,光照和复杂精密的渲染特效,真正实现了 2D 与 3D 的结合,模糊了多边形与像素之间的界限,让你为它的多变而惊讶,兴奋不已. 查看更多内容请直接前往:http://www.zbrushcn.com/jichu/cailiao-xuanran.html 色调分离 ZBrush通过新的色调分离渲染特性让卡通渲染在指尖轻松完成.通过对实时坡度与步骤的完全控制给你的模型以…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第三十七课:卡通映射 卡通映射: 什么是卡通了,一个轮廓加上少量的几种颜色.使用一维纹理映射,你也可以实现这种效果.   看到人们仍然e-mail我请求在文章中使用我方才在GameDev.net上写的源代码,还看到文章的第二版(在那…
卡通着色的目的是为了让被着色物体显得过渡的不那么好,明暗交界线很明显,等等卡通风格的一系列特征, 也叫Non-photorealisticrendering非真实渲染 重点要做到两点: 1.    描边 2.    着色 另:本片中cg函数均用绿色标明,想了解函数作用和函数内部构成请看这篇文章NVIDIA CG语言 函数之所有数学类函数(Mathematical Functions) 就从最初的描边开始 首先声明变量_Outline挤出描边的粗细_Factor挤出多远 Properties {…
Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多不少的零碎教程,有些过于初级,有些云里雾里,而Three.js官网上的示例逼格之高又令人望而却步,这些对于没学过计算机图形学的童鞋来说,就像入门迈槛不知先迈左脚还是右脚,兴趣使然,于是我就先双脚蹦了进去试试水...... 本文将以尽量戏剧化的语言描述网页3D世界的构建流程及表面原理(因为深层原理我目…
在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来,Albedo是去掉Diffuse的光照和阴影生成的,而在pbr工作流下必须要用Albedo. 转换方法:How to Make an Albedo Texture from a Diffuse Texture 3. Alpha Map 注意:jpg没有alpha通道,png也没有alpha通道,显示…
Qt 3D的研究(十):描边渲染(轮廓渲染)以及Silhouette Shader 之前写了两篇文章,介绍了我在边缘检測上面的研究.实际上.使用GPU对渲染图像进行边缘检測.前提是须要进行两遍渲染.前一遍渲染的结果作为后一遍结果的输入纹理.接着在第二遍渲染的时候,对二维图像做一些图像处理,终于得出带轮廓的描边渲染效果,接着和正常渲染混合在一起.就成为渲染的终于图像.但是,这种做法,是对二维图像做的图像处理,即使像上次对提取的深度进行图像处理,也无法准确地依据深度的突变来提取我们须要的边缘.所以我…
一.前言 之前我发表过一篇Unity3D 卡通渲染 基于退化四边形的实时描边,最重要的实时描边已经实现了,本文接下来要完善一下它. 在之前的实时描边中,使用了几何着色器中的LineStream来进行绘制线条的,这样绘制线条是无法脱离底层特性来在所有平台上通用式地控制线条的粗细,这就需要我们再做文章. 二.原理 关于图形学中如何控制线条粗细这个问题,其实早就有人做了研究,文章在这. 借用该文章的一张图 原理看图就一目了然,在裁剪空间中,e0和e1是线条的2个顶点,之后依次计算出二维向量ext和n,…
序言 在苦等了半年多之后,我终于开始了向往已久的实时NPR游戏引擎项目--Utopia Engine,这半年多一直为了构建这个引擎在做很多准备:多线程.动态链接库.脚本引擎.立即渲染GUI--统统吃了一遍(就差汇编没学了,话说这学期要开这门课来着,结果老师都已经翘课四周了(╯‵□′)╯︵┻━┻).于是,等不及的我开始了Utopia Engine的构建项目(汇编的知识就一边做一边学吧)要赶在毕设前做完这个引擎工作量还是有些大的.当然,毕竟游戏引擎脱离不了计算机图形,所以,本博客里的计算机图形学相关…
转OSGchina中,array老大的名词解释 转自:http://ydwcowboy.blog.163.com/blog/static/25849015200983518395/ osg:: ClearNode:颜色清除节点:用于设置清除颜色缓存的相关选项,它的子节点将在场景中首先渲染,以确保正确执行颜色缓存的设置:osghangglide osg:: ClipNode:剪切平面节点:定义场景中的剪切平面并剪切所有可剪切的子节点.注意,ClipNode能够剪切的节点不一定是它的子节点,详见第七…
以前做过简单的rim light勾边,几何勾边,这次又做了后处理的勾边,工程化的时候,都遇到很多问题,简单总结一下. 首先是火炬之光勾边效果,类似轮廓光的实现,简单的卡通渲染也是通过类似的算法加采样色阶图实现. 火炬中的勾边相当于为角色添加内测光的效果,即通过计算标准散射点积运算来确定顶点法线N和光线向量L之间角度的余弦,用以确定顶点或像素接收到多少光线:s=L·N. 算法的优势就是: 实现比较简单,通过调整参数就可以开关内测勾边光的效果.可以使用顶点法线,这样更省,火炬中就是vertex Sh…
Stylized Rendering相关的一篇PPT,PSV上的[跨越我的尸体2],本代的画风参照的是川瀬巴水的木版画风格.不过因为PSV硬件的限制,最后真机上的效果还是有不少折扣的.ppt里提到参考的水彩处理的ppt在下面链接里 http://maverick.inria.fr/Publications/2006/BKTS06/watercolor.pdf   关于Stylized Rendering更多ppt可以看下面的链接,和以前opengu翻译的卡通渲染的资料. http://graph…