給直播間加特效!obs-shaderfilter-plus插件使用指北


需要使用到的插件:OBS-ShaderFilter-Plus(win下只有x64版本,需要對(duì)應(yīng)使用64位版本OBS)
下載地址:https://github.com/Limeth/obs-shaderfilter-plus/releases
一、安裝方法

?下載對(duì)應(yīng)平臺(tái)dll
?復(fù)制到OBS安裝目錄\Plugins\x64目錄下

這里可能會(huì)提示需要管理員權(quán)限,確認(rèn)即可。
二、OBS中使用shader-filter-plus
選擇需要加特效的OBS源,選擇濾鏡

在濾鏡中選擇?ShaderFilter?Plus

在ShaderFilter?Plus中選擇對(duì)應(yīng)的shader(之后會(huì)講該文件獲得),以及調(diào)整對(duì)應(yīng)的參數(shù)

最終原圖和帶濾鏡的最終效果

三、如何獲得對(duì)應(yīng)濾鏡使用文件?
1、從Shadertoy上進(jìn)行獲取?https://www.shadertoy.com/?
以下內(nèi)容需要部分編程(尤其是圖形學(xué)部分)知識(shí),讀者可以選擇性閱讀或者直接找身邊大佬。
(一)、開(kāi)啟OBS?OPENGL支持
因?yàn)閣in下默認(rèn)使用的渲染API是DirectX系列(對(duì)應(yīng)HLSL?shader),而shadertoy網(wǎng)站上使用的是OpenGL(GLSL),因此我們需要切換OBS渲染API為OpenGL才方便后續(xù)使用。
Step1.?增加 --allow-opengl?啟動(dòng)參數(shù),選中OBS快捷方式,在目標(biāo)后面增加 --allow-opengl

Step2.?設(shè)置中進(jìn)行切換
進(jìn)入obs設(shè)置界面,在?高級(jí)-視頻-渲染器?中切換到OpenGL,切換應(yīng)用設(shè)置之后需要重啟!

Step3.? 從shadertoy上復(fù)制shader代碼并進(jìn)行處理
使用例子:?Over the Moon+ [BigWings+] ?https://www.shadertoy.com/view/ltSyWt?
復(fù)制代碼到本地,之后進(jìn)行處理
a.?替換部分內(nèi)置shader變量


如圖,如果代碼中有使用到相關(guān)變量需要進(jìn)行替換
b.?調(diào)整shader入口以及坐標(biāo)原點(diǎn)差異(如果有遇到的話)
shadertoy上的入口格式為
void mainImage( out vec4 fragColor, in vec2 fragCoord )
shader-filter-plus上的入口格式為
float4 render(float2 uv)
因此需要做如下類(lèi)似處理。

c.?成品展示(復(fù)制過(guò)來(lái)后研究時(shí)改了點(diǎn))

2、找程序猿或者TA(技術(shù)美術(shù))進(jìn)行效果制作
把這個(gè)文章復(fù)制給身邊的程序猿朋友或者神奇大佬們,讓他們幫忙制作處理吧~
四、最后一些Tips
1.?可以通過(guò)給分組增加路徑來(lái)讓下方所有內(nèi)容生效

2.?Shader可以做到諸如?調(diào)色、曝光、模糊、反色、雨滴效果等等一系列效果!這里可以多詢問(wèn)一下游戲行業(yè)相關(guān)從事美術(shù)。
3.?和之前的文章同理,因?yàn)樵摬寮芫脹](méi)更新了因此可能不支持OBS28插件。請(qǐng)使用OBS 27最新版本以保持插件正常運(yùn)行。

有其他疑問(wèn)或者需交流內(nèi)容歡迎評(píng)論或私信~~(我不是搞前端、圖形學(xué)的程序哈)
順帶隨便截一個(gè)圖分享下Shadertoy上的作品
