godot 隨機(jī)地圖3-搬運(yùn)shadertoy
godot論壇在19年定下了一個(gè)小目標(biāo),盡可能的和shadertoy對其。

一下為shadertoy的代碼,基本不需要改。
1、mainImage 改為 fragment ,fragment是著色,也就是按照像素點(diǎn)上色。
2、其次 uv在shadertoy是獲取屏幕大小再計(jì)算的,godotshader已經(jīng)被注冊為關(guān)鍵詞
3、因?yàn)閳D片是在動(dòng)的,shadertoy已經(jīng)注冊關(guān)鍵詞iTime,godot注冊了TIME

得到如下:


1、收線這個(gè)是手搓noise,左上角使用的是godot的沒有調(diào)參的fastnoise。
2、隨著時(shí)間他會(huì)變化
3、更加的流暢。
如果想熟練使用noise,我已經(jīng)做了一個(gè)簡單的圖解教程。手搓難度并不高。
包括noise和cellular
https://www.bilibili.com/read/cv17980358
https://www.bilibili.com/read/cv18055369
當(dāng)然做這些學(xué)術(shù)類型的事情,沒有科學(xué)上網(wǎng)+edge自動(dòng)翻譯,難度有點(diǎn)高。
godotshader有一些奇怪的設(shè)定
全局不能有變量,變量只能連接到cpu中。const和uniform是合法的。

vertex為注冊的函數(shù)名,處理頂點(diǎn)信息,不過他不能調(diào)用在它下面注冊的noise函數(shù)。

這也就是godotshader 不能隨隨便便把參數(shù)寫在外面,不能把函數(shù)和參數(shù)寫在一起。保證會(huì)一餅粘。
總的來說。godotshader 繼承了很多c的特性,并且有針性討好shadertoy用戶,這群人本身就是geeker,到現(xiàn)在,越來越不推薦新手使用godot,這門檻有點(diǎn)過高了,沒有c/c++的編程基礎(chǔ),并且沒寫過游戲引擎,并且沒手搓glsl,我推薦unreal。
unreal是一個(gè)成熟的商業(yè)化引擎,入門很輕松,深入也不難。
godot是一個(gè)geeker專用魔改引擎,得有過硬的編程知識(shí)和游戲引擎經(jīng)驗(yàn)。新手入門過于淺顯,然后爬升難度直接拉滿。理念對接geeker,面對對象就是一個(gè)人就能開發(fā)游戲的天才選手。
對于新手我推薦數(shù)量掌握cocos2D引擎后,再碰godot。當(dāng)然也可以學(xué)習(xí)godot的理念,以提高其他游戲引擎,但是他們的godot都精通還不精通其他各大引擎。cocos2D有成熟的社區(qū),還有c++版本,超低的魔改成本,他的框架很傳統(tǒng)。學(xué)習(xí)成本也低很多。
godot 隨機(jī)地圖3-搬運(yùn)shadertoy的評論 (共 條)
