Unitypostprocessingstack(v1-創(chuàng)新互聯(lián)

環(huán)境:Unity5.6.2,post processing stack

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計(jì),平昌網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平昌等地區(qū)。平昌做網(wǎng)站價(jià)格咨詢:18980820575

注意:post-processing stack是從AssetStore上下載的v1版本,而并非stack2版本,stack2版本在unity2018的packagemanager中可以直接下載安裝

首先,在相機(jī)上綁上PostProcessingBehaviour這個(gè)腳本

Unity post processing stack(v1
在Project視圖中右鍵->Create->Post-Processing Profile
Unity post processing stack(v1
并賦值到post processing behaviour的Profile上

選中剛剛新建的Post-Processing Profile文件

在Inspector面板中就可以進(jìn)行設(shè)置了
Unity post processing stack(v1

那如何通過(guò)代碼來(lái)進(jìn)行控制呢?
這里有坑啊,而且與以前的ImageEffects是不同的

首先當(dāng)然要獲取這個(gè)PostProcessingBehaviour

PostProcessingBehaviour ppb=GetComponent<PostProcessingBehaviour>();

然后要獲取創(chuàng)建的這個(gè)profile文件對(duì)象

var profile = ppb.profile;

再獲取這個(gè)Color Grading效果

var colorGrading = profile.colorGrading;

獲取它上面的設(shè)置

var settings = colorGrading.settings;

然后坑就來(lái)了,先看下圖
以Color Grading這個(gè)效果為例:
Unity post processing stack(v1
它的面板中其實(shí)又分了幾部分
Tonmapping和TrackBalls可以不管
有Basic, Chanel Mixer 還有Grading Curves

按照正常思維,在settings后面直接點(diǎn),OK是可以的
本例我們?cè)O(shè)定要修改的是Basic部分中的Post Exposure(EV)的值
可以直接點(diǎn)出basic,再直接點(diǎn)出PostExposure都是沒問(wèn)題的,甚至可以直接賦值

settings.basic.postExposure = -1.2f;

沒有問(wèn)題,也不會(huì)報(bào)錯(cuò),但運(yùn)行程序,沒有任何效果,面板中post exposure的值也沒有變化。
這就是坑所在了。

正確的做法是,new 一個(gè)settings,把里面的post exposure值改掉,再賦給ColorGrading組件

var settings = new ColorGradingModel.Settings() ;
colorGrading.settings=settings;

而new一個(gè)settings只修改里面的exposure值,依然有坑

如前圖所示,Color Grading面板中分為幾個(gè)部分,有basic, Chanel Mixer還有Grading Curves
但是new 出來(lái)的settings里面其實(shí)基本上是空的,所以所有的這一切都要賦值,不然會(huì)報(bào)錯(cuò)
賦值就在new 的時(shí)候一并進(jìn)行
而既然其它部分不變,則用之前點(diǎn)點(diǎn)點(diǎn)的方式獲取,并賦給這個(gè)新建的settings,最后再將settings整個(gè)賦值回去

var scurves = ppb.profile.colorGrading.settings.curves;
var schannelMixer = ppb.profile.colorGrading.settings.channelMixer;
var settings = new ColorGradingModel.Settings() {
    basic = {postExposure = -1.2f, contrast = 1, saturation = 1, hueShift = 0, tint = 0, temperature = 0 }  ,
    curves = scurves,
    channelMixer = schannelMixer
}

這樣new 出來(lái)一個(gè)settings最后再賦值回去

ppb.colorGrading.settings = settings;

如此修改才能生效,而之后再對(duì)值進(jìn)行修改的話,直接在新建的settings上點(diǎn)出屬性,直接賦值,再把settings賦值回去

settings.basic.postExposure = 10f;
ppb.colorGrading.settings = settings;

也就是每次修改,改的是你新建的settings,但最后還是要把整個(gè)settings賦值回去才能生效

以上

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站欄目:Unitypostprocessingstack(v1-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article20/dhggjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站制作、關(guān)鍵詞優(yōu)化、云服務(wù)器虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名