該說的廢話上一篇已經(jīng)說過了,這里就直接上干貨偷办。
前部分講解參數(shù)艰额,后部分演示實例。
Edge
敲黑板椒涯!要顯示Edge柄沮,務(wù)必啟用contour_filter。屬性欄也提示了废岂,務(wù)必注意這種關(guān)鍵小細節(jié)祖搓。
默認處于啟用狀態(tài),關(guān)閉時當然就是不顯示Edge湖苞。
Edge
【Edge】控制是否啟用Edge拯欧;
【Color】控制Edge顏色,允許連接貼圖(比如使用漸變貼圖制造斷斷續(xù)續(xù)的描邊趕腳)财骨;
-
【Tonemap】使Edge顏色根據(jù)對象的著色變化而變化镐作,比如:暗部Edge顏色深藏姐,亮部顏色淺;通常配合Ramp節(jié)點使用:
右圖默認效果该贾,左圖tonemap連接ramp節(jié)點 【Opacity】控制Edge透明度羔杨;
-
【W(wǎng)idth scale】控制Edge粗細;
渲染設(shè)置中countor_filter的Width控制的是全局Edge粗細杨蛋,這里的Width Scale控制使用該材質(zhì)的Edge兜材,這倆參數(shù)相乘,最終得出具體Edge粗細逞力;
允許連接貼圖控制护姆;
增加數(shù)值會增加渲染時間,慎用掏击;
此參數(shù)還可以避免Edge過于混亂卵皂,尤其是結(jié)構(gòu)復(fù)雜的對象,可以通過連接facing_ratio節(jié)點實現(xiàn):
左圖為使用facing_ratio調(diào)節(jié)后效果
Width Scale還可以基于攝像機鏡頭距離控制Edge粗細砚亭;
P.S.做動畫時灯变,Width Scale數(shù)值小于1,可能會出現(xiàn)“閃爍”捅膘,啟用Sampling render setting(位于Samping render setting屬性中)可解決此問題添祸。
Edge detection
-
【ID difference】默認啟用,啟用時寻仗,Edge檢測使用臨近像素ID差刃泌;
右圖啟用,左圖禁用署尤;其他數(shù)值為默認值耙替;啟用時,手和球被認為是兩個shape曹体,因此擁有兩個ID
Curve, Point, Shape IDs
ID difference 是根據(jù)curves(線)俗扇,point(點),shape(面)來繪制描邊的箕别。每條線铜幽,每個面都有不同ID,每個點也會擁有不一樣的ID串稀。以下示例除用到的屬性外除抛,其他參數(shù)均為默認值。
使用Utility著色
下圖示例中母截,大球只有一條Edge到忽,大球上的小球有各自的Edge,這是因為小球使用粒子效果生成微酬,每個粒子都可以視作一個Point绘趋,有不一樣的ID,所以每個小球都有Edge颗管,而中心的大球使用C4D原生模型球體陷遮,所有的原生基礎(chǔ)模型(多邊形)以及異形,只要是“整體的一個對象”垦江,都只能算是一個shape(可以想象成一個模型外面包裹著的是一整個面)帽馋,中間的點線面都屬于這同一個shape,也就是說只有一個ID比吭,因此大球只有最外面一條Edge:
使用Utility著色
-
【Shader difference】Edge檢測使用臨近著色器差異绽族;例如,當多個著色器分配給單個多邊形時衩藤,這非常有用:
還有一點需要注意吧慢,務(wù)必確保【Angle threshold】的值足夠小赏表,否則看不出Shader difference啟用/禁用差異检诗。
-
【Mask color】Edge檢測使用臨近像素顏色差;mask color可連接貼圖瓢剿,從而繪制任意線條逢慌;
也就是,利用此參數(shù)可以在對象表面任意位置繪制線條间狂;
-
【UV threshold】啟用后攻泼,Edge檢測使用臨近像素UV差;
-
【Angle threshold】當小于180°時鉴象,Edge檢測使用臨近像素角度差忙菠;
180°到10°效果變化 -
【Edge detection】Edge檢測模式選擇,有三種模式:Shading Normal /Smooth Normal /Geometric Normal纺弊;
Advanced edge control
-
【Priority】更改Edge的排序優(yōu)先級只搁;
說白了就是調(diào)節(jié)哪條Edge在前,哪條在后 -
【Ignore throughput】默認情況下俭尖,輪廓顏色(contour color)受光線吞吐量影響氢惋,如果反射或折射對象需要特定顏色,就需要啟用Ignore throughput并使用ray_switch著色器稽犁;
-
【Use toon ID】可以指定名為Toon ID的String類型用戶數(shù)據(jù)來控制Edge檢測焰望;不做特殊指定時,檢測到的Edge使用對象自己的驅(qū)動名稱toon-specific ID已亥;
利用指定ID熊赖,可以將對象進行分組,指定需要進行Edge檢測的部分虑椎;可配合【Priority】設(shè)定Edge優(yōu)先級震鹉;
Silhouette
Edge檢測使用Object/Shader ID差異檢測到的線稱為Silhouette俱笛,可以理解成“輪廓化描邊”;
啟用該選項后传趾,將使用Silhouette的屬性替代與Edge重合的部分屬性迎膜;
文字可能有點說不明白,但是效果顯而易見??
下面將進行一個簡單的實例演示:
用到的場景如下圖所示浆兰,對場景中模型統(tǒng)一添加Toon Shader磕仅,渲染設(shè)置Ray Depth:0,這里用不到全局光照效果簸呈,關(guān)閉Ray Depth提高渲染效率榕订,默認渲染效果如下:
接下來進行一些調(diào)整:
- 將Edge屬性中Base Weight和Specular Weight的值減少為0劫恒,Emission Weight:1,效果如下:
- 減少Edge Angle Threshold值到10左右(數(shù)值根據(jù)場景大小自行設(shè)定)轿腺,以顯示更多細節(jié):
-
繼續(xù)增加細節(jié)兼贸,這里將用到Mask color;
創(chuàng)建一個Utility Shader吃溅,連接到Toon Shader > Main > Edge > Edge detection > Mask Color溶诞,Utility Shade mode:metal,Roughtness:0.01决侈,效果如下:
線條還是太亂了螺垢,下面繼續(xù)調(diào)整 減少Edge Width的值,差不多0.5左右:
- 調(diào)整Utility的各項屬性枉圃,會有很多不一樣的效果:
-
或者改變一下線條顏色什么的,多多嘗試:
接下來...........可以開始點贊庐冯、打賞什么的了
嘻嘻
以上孽亲,Over。
Reference:
1.Solidangle Support & Documentation
禁止私自轉(zhuǎn)載展父,轉(zhuǎn)載需征得老夫同意返劲。
否則,必追究栖茉。