UE4 如何將材質Material保存爲本地圖片Png

 


昨日不可追, 今日尤可爲.勤奮,熾誠,不忘初心

手機淘寶二維碼 掃描      

或者打開連接:程序設計開發 ,掌聲鼓勵,歡迎光臨.


     

                             UE4 如何將材質Material保存爲本地圖片Png

下面這篇文章講了如何將TextureRenderTarget2D保存爲本地圖片

https://blog.csdn.net/lunweiwangxi3/article/details/87457594

要麼,我想要將UE4的材質,最終效果,保存到本地圖片,怎麼辦呢?

人要是越來越厲害,他對應感官也會越來越敏銳,使用手段也會越來越刁鑽

自然而然地,就會想到,Material類裏面有沒有類似於輸出到本地之類的函數,找了下,沒有。

接着想,因爲有了TextureRenderTardet2D保存爲本地圖片的成功例子,能否利用起來。將材質轉換爲TextureRenderTarget2D,然後再進行保存操作?想想都激動,趕緊試試。

1.首先,創建一個保存用的TextureRenderTarget2D,如下圖所示:

2.將要保存爲本地Png材質,寫入TextureRenderTarget2D,如下圖所示

 

然後通過上一篇文章,點此連接,將TextureRenderTarget2D保存爲本地圖片

要保存的材質:    VS

SaveRenderTargetToFile函數保存出來的圖片:

爲什麼這樣子???

毫不猶豫,想到Alpha通道要反向。不要問我爲什麼會想到要反向,請回退到文章頂部,查看紅色字體部分

3.Alpha反向代碼:

再次保存,運行。能保存了,舒服。

要保存的材質圖 VS

保存的Png:   

逐漸,消失的笑容... 問題來了,紅綠色盲的都看出兩幅圖的顏色不一致了

保存的圖真的跟老外一樣,Much  Darker了 https://blog.csdn.net/lunweiwangxi3/article/details/87457594

很明顯,不能忍。不知道怎麼解決,搜索引擎也提取不出關鍵搜索詞,程序又不懂美術的色彩,很難受。

靈光一現,爲什麼不能:“從哪來,回哪去呢?”

4.調試方案之哪來回哪去

毫不留情地,把引擎吐出來的Png圖片又讓我塞進了引擎。

強烈的第六感讓我點開它,

裏面的參數,應該能告訴我點什麼,

當我試到CompressionQuality-HDR(RGB,no sRGB)的時候,我的心咯噔就是一跳,確認過眼神,就是我要找的人。

CompressionSettings,壓縮設置!!!,趕緊到SaveRenderTargetToFile函數中去找壓縮那一段,看看能不能改成HDR!!!

FImageUtils::CompressImageArray:不好意思,沒有重載的函數或可設置默認的參數。

不死心的我又把萬惡的矛頭指向了FFileHelper::SaveArrayToFile...因爲能力不夠加上沒查到合適的資料,只能作罷。

黔驢技窮之時,我又想起了那句話:哪裏來,回哪去。

我趕緊又打開了老外的那篇文章:

https://blog.csdn.net/lunweiwangxi3/article/details/87457594

5.溫故而知新,可以爲師矣

重新看了這篇文章,下面兩個紅圈如此強烈而持續地抨擊着我胸懷,這個東西,我在哪裏見過。

沒錯,就是它:

十年之前,我不認識它,以爲是顏色的一種格,無關痛癢的一種格式。如果再相遇,我想我會記得你。

平時不努力,答案寫臉上,都不知道是幹什麼的。

自己不努力,別人想拉一把都不知道從哪裏下手.

...

下一步的關鍵已經很明顯了,製作HDR格式的 UTextureRenderTarget2D

強烈的成功預感...

函數的,拿過來

用:方式,取代第一步的創建RenderTarget2D的方式。其他不變。

保存,運行,打開Png,

一切又恢復到了正常的模樣:

就好像從來沒發生過一樣。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章