实现游戏中的轮廓描边
Unity3D教程:實(shí)現(xiàn)游戲中的輪廓描邊。Unity3D游戲中常用到輪廓描邊,效果就是對(duì)輪廓描邊后再進(jìn)行模糊處理。有兩種思路可以實(shí)現(xiàn):
一.在RTT中繪制單一像素,對(duì)1繪制后的RTT進(jìn)行blur處理懲罰,對(duì)2處理懲罰后的RTT與原始場(chǎng)景進(jìn)行疊加,最后繪制原始模型。
二.繪制原始模型到RTT,對(duì)1繪制的RTT華夏始模型進(jìn)行Sobel描邊,對(duì)2描邊后的RenderTexture進(jìn)行blur處理懲罰,疊加1和3的RenderTexture,最后使4與場(chǎng)景進(jìn)行疊加。
如何在Unity3D中的實(shí)現(xiàn)呢?
1.場(chǎng)景圖像襯著之前。
:實(shí)現(xiàn)游戲中的輪廓描邊。Unity3D游戲中常用到輪廓描邊,效果就是對(duì)輪廓描邊后再進(jìn)行模糊處理。有兩種思路可以實(shí)
一.在RTT中繪制單一像素,對(duì)1繪制后的RTT進(jìn)行blur處理懲罰,對(duì)2處理懲罰后的RTT與原始場(chǎng)景進(jìn)行疊加,最后繪制原始模型。
二.繪制原始模型到RTT,對(duì)1繪制的RTT華夏始模型進(jìn)行Sobel描邊,對(duì)2描邊后的RenderTexture進(jìn)行blur處理懲罰,疊加1和3的RenderTexture,最后使4與場(chǎng)景進(jìn)行疊加。
如何在Unity3D中的實(shí)現(xiàn)呢?
1.場(chǎng)景圖像襯著之前。
void OnPreRender{……別的添加一個(gè)攝像機(jī)A,這里必須將GlowOutlineCamera攝像機(jī)封閉,并且清除標(biāo)識(shí)為純色,制訂其襯著目標(biāo)為RTT,清空其靠山,攝像機(jī)A在主攝像機(jī)襯著之前經(jīng)由過(guò)程Shader去繪制指定襯著類型的GameObject 也就是須要描邊的GameObject(即攝像機(jī)A.RenderWithShader(RTT, “XXXX”);)......}2.場(chǎng)景圖像襯著之后。
void OnRenderImage(RenderTexture source, RenderTexture destination){……將攝像機(jī)A所襯著的目標(biāo)紋理進(jìn)行blur處理懲罰,將blur后的RTT與場(chǎng)景圖像襯著后的RTT進(jìn)行合成疊加,拷貝到目標(biāo)襯著紋理上。……}總結(jié)
以上是生活随笔為你收集整理的实现游戏中的轮廓描边的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: windows执行bash脚本
- 下一篇: 一位算法工程师对自己工作的总结,非常具有