日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚幻4中的程序化生成【1】程序化生成河流。

發布時間:2023/12/15 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚幻4中的程序化生成【1】程序化生成河流。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

給自己立了很多flag,由于時間原因很多系列都還在寫,算是循序漸進的總結。在程序化生成系列里,將會有如下記述:

【1】程序化生成河流

主要內容有@1?shader的自動調整(如河流的深淺,河水的波濤程度)

? ? ? ? ? ? ? ? ? @2?河流形狀的調整,我們只需要編輯一條樣條線,河流根據這條樣條線自適應形狀。

【2】程序化生成森林

主要內容有:@1用隨機種子隨機生成森林。減少美術工作量。

? ? ? ? ? ? ? ? ? ? ? @2?程序化生成藤曼,減少美術制作藤曼的痛苦。

【3】程序化地形

主要內容有:主要是上面那中方法的高級應用。


現在先來看看程序化生成河流

這個主要包含兩部分,第一部分為河流shader,第二部分為讓河流模型匹配樣條線。


shader我完全用的是虛幻的材質編輯器來制作,如果有必要,想制作caustic的話,虛幻也可以用自己的功能開啟distancefield來完成。

水的材質的程序化主要體現在shader會根據水在場景中的深淺來自己調節深度,反射度,泡沫紋理的插值強度,和水邊緣高亮強度。


虛幻材質編輯器里剛好提供了一個簡便的方法,DistanceFeild。我用了兩個distancefeid,和紅,藍,綠,黑三種顏色先制作了四個mask,然后用這個mask來制作水面不同深度的各個效果。

上圖為我把紅藍兩個mask拆開后的結果。


完成了Mask的制作之后剩下的就是調效果啦,不過這里主要把精力集中于程序化上,所以其他就不贅述了。

完成了shader部分的程序化工作之后,剩下的一步就是讓河流平面模型匹配樣條線。

首先我們需要建立一個腳本,然后在里面添一個樣條線組件slinecomponent。再聲明一個splinemeshcomponent。這里需要注意一點,splinemeshcomponent準確翻譯應該是一個樣條線段模型組件,而不是樣條線模型組件。因為實際上splinemeshcomponent只會覆蓋樣條線的一個線段而已。

邏輯都比較簡單,就一個for循環往樣條線上加SplineMeshComponent然后對這個組件設置它的切線和位置。挺簡單的,腳本就能完成都不需要動用c++。所以我這里就不帖代碼了,直接截取了腳本的一部分。

總結

以上是生活随笔為你收集整理的虚幻4中的程序化生成【1】程序化生成河流。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。