unity shader有什麼好處
1樓:滔天惡行
你好,shader就是在gpu上執行的程式叫做著色器程式(一般的程式在cpu上執行指令)。
unity shader使用的是nvidia公司的cg標準語言,可以處理頂點著色、畫素著色任務。unity中的遊戲物件只要是可視的,就一定會呼叫shader渲染,最簡單的shader就是diffuse型別,就是你給物件塗個什麼顏色,這個物件在白光下就是什麼顏色。
一般來講遊戲中的 材質=shader+貼圖和其它資料,要想表現特殊的材質,比如鏡面反射、水面、塑料等,就需要程式設計shader(unity中有一些預設的shader)。
u3d次時代shader用什麼?自帶shader效果弱爆了
2樓:匿名使用者
你直接導進unity的貼圖預設是壓縮版的,format那裡可以改下應該是可以的 試試看。。。
3樓:匿名使用者
在當今世代,手遊都追求高畫質,也有不少手遊能逼近主機效果(前提是手機跑得動)。然而要達到這麼犀利的效果是要付出代價的,不得不通過各種優化或奇葩的手段(然而最重要是結果)。往往unity自帶的shader並不能滿足美術大大們的需求,所以作為乙隻邏輯程式猿不得不放下手頭工作開始琢磨shader,以滿足需求。
如果沒有接觸過計算機圖形學的程式猿要學習shader是必定痛苦萬分的,慶幸的是在大學時期學習過directx(然而現在不記得怎麼用了)。作為乙隻從來沒接觸過shader的程式猿,看到unity的shaderlab,感覺一臉茫然,只好在翻谷歌,爬帖子和看書籍的日子中渡過。堅持了一段時間後,終於有所成就,能獨立完成一些美術效果要求,開始不斷研究不同的效果和實現方式。
最後根據美術大大們的要求,重複實踐,終於能出來個基本效果,在手機上效能也能過得去(鬆了一口氣)。
需要的效果:
乙個次世代角色材質往往需要不少效果,但往往會有這幾種:法線,高光,自發光還會有一些:半透,遮罩顏色,流光,輪廓光。
需要的節點:
顏色貼圖:rgb通道用於顏色值,a通道用於透明值來自混合貼圖:r通道用於高光蒙板,g通道用於自發光蒙板,b通道用於顏色遮罩蒙板法線貼圖:
自然是切線空間下的法線貼圖流光貼圖:以addtive的方式疊加一層貼圖,讀取模型的uv2做滾動透明值:控制角色漸隱的浮點範圍值(0-1)高光顏色:
用於控制高光顏色,黑色下表示沒有高光高光強度:用於控制高光強度(倍數)高光範圍:用於控制高光範圍(次冪)自發光強度:
用於控制自發光強度輪廓光顏色:用於控制輪廓光顏色,黑色下表示沒有輪廓光輪廓光強度:用於控制輪廓光強度(次冪)
法線:在unity中非常多案例,一般是在切線空間下做處理,主要用於跟光向做點積高光:用法線貼圖在切線空間內跟光向和視向的半形向量做點積自發光:
根據蒙板資訊,疊加基本顏色半透:由於是角色,不能關閉深度測試,所以要用alphatest來做半透處理,並且渲染佇列放到geometry後面遮罩顏色:根據蒙板資訊,使用遮罩顏色替換基本顏色流光:
在自發光處理中合併處理,根據時間滾uv,疊加流光貼圖的顏色輪廓光:在光照計算里加入一道法線和光向的點積計算。
4樓:匿名使用者
建議使用maya的shaderfx器好然後再匯入unity3d
5樓:匿名使用者
導進unity的貼圖預設是壓縮版的,format那裡可以改下。
unityshader看什麼書好
6樓:網友
根據我在培訓班學習的經驗來說,我覺得先學習c#這門程式語言,掌握基礎的語言知識後再著手unity. 不過如果你本來就懂c#的話,我到覺得可以建議你先看一看 "unity從入門到精通",這是官方出的書,講的都是基礎的東西。
unity3d裡面shader怎麼沒效果
7樓:匿名使用者
移動端shader不是不復雜,而是複雜的shader流動裝置基本玩不轉。
粒子特效如果2d而且固定形狀直接動畫幀就可以做出來,不過那樣對記憶體和包大小會有點壓力。
最好還是使用粒子系統來實現,當然粒子發射器儘量地少,否則直接卡爆了就不用玩了。
unity3d中的mainTexture和Texture區別
maintexture和texture都可用於遊bai戲動畫設計du。但前者偏 程zhi序,是dao程式設計師用的,回後者偏模型和動畫,是美工用的。通常答它們結合起來用,但它們完全不是一個型別的東西呀。就好比你問 請問,筷子和碗有什麼區別呀?我怎麼回答。真正關鍵的問題是,你想幹嘛。確定了你想幹嘛,自...
unity中的粒子特效是自帶的還是後下的
unity中有兩中粒子特效,一種是老版本的ellipsoid particle emitter,一種是新版本的particle system.不知道你說的是哪一種,但無論是哪一種,在製作粒子特效的時候,都是要在粒子系統新增貼圖,紋理,修改引數等。不過unity自帶的資源包裡面也有一些粒子特效,在pr...
Unity3D中改變模型的顏色問題 15
unityd中改變模型的顏色問題 你的 是為被給指令碼的物體服務的,所以他只改變那個被給的指令碼的物體的顏色。要想改變子物體,必須要遍歷子物體,遍歷部分可以如下寫法。得到所有可渲染的子物體。renderer rds 逐一遍歷他的子物體。foreach renderer r in rds 選中乙個的時候,...