Untiy3D Material 材质系统
材質(zhì)系統(tǒng)在任何引擎里面都算一個大模塊,我也遍了解遍寫,寫到哪里算哪里。
里面涉及到材質(zhì)屬性系統(tǒng),底層Shader模塊和紋理Texture模塊。所以比較復(fù)雜,如果理解材質(zhì)系統(tǒng),那就能控制整個游戲畫面渲染效果。
Material
材質(zhì)系統(tǒng)是定義了如何渲染物件表面的信息? 里面包含的貼圖 貼圖的平鋪信息 顏色信息 等等信息。Shader里面使用材質(zhì)信息加上自身操作,最終呈現(xiàn)物件的渲染。
?
Shader?
shader 是一種簡單的腳本文件,他使用材質(zhì)系統(tǒng)信息用于渲染每個像素 一般Shader ?分手三種,Vertex Shader(頂點(diǎn)著色器)?,Fragment Shader(像素著色器)?,Compute shader(計算著色器)。
這三種著色器是一般通用渲染接口都有 比如OpenGL和DirectX 第三種計算著色器需要一定版本才能支持,前兩種在非固定管線的渲染接口都支持。
Untiy本身還定義一種Surface Shader(表面著色器)。其實(shí)他是對于頂點(diǎn)像素著色器二次抽象,讓設(shè)計者更加專注在一般效果的計算,簡化了Shader內(nèi)容。
?
Texture?
- 紋理本身其實(shí)就是一張位圖圖像,一個材質(zhì)系統(tǒng)文件可以需要多張的紋理,shader紋理通過紋理信息計算物體的表面顏色,除了表現(xiàn)物件表面基本反射顏色外,紋理還能提供物件表面的反射率或者粗糙度信息。
?
對于大部分渲染來說,使用內(nèi)置 Standard Shader 是最好方式,如果有些不滿足信息才需要自己手動書寫Shader文件。內(nèi)置shader包含幾種類型
Built-in Shaders
- FX :Lighting and glass effects.
- GUI?and?UI: For user interface graphics.
- Mobile: Simplified high-performance shader for mobile devices.
- Nature: For trees and terrain.
- Particles: Particle system effects.
- Skybox: For rendering background environments behind all geometry?
- Sprites: For use with the 2D sprite system
- Toon: Cartoon-style rendering.
- Unlit: For rendering that entirely bypasses all light & shadowing
- Legacy: The large collection of older shaders which were superseded by the Standard Shader
轉(zhuǎn)載于:https://www.cnblogs.com/wbaoqing/p/5630612.html
總結(jié)
以上是生活随笔為你收集整理的Untiy3D Material 材质系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 理解 OpenStack 高可用(HA)
- 下一篇: iOS开发ARC内存管理