unity材质球发光_unity自发光材质
【www.520z-2.com - 話題作文】
篇一:《Unity內(nèi)置Shader著色器效果整理》
Unity內(nèi)置及常用Shader整理
一、Shader腳本結(jié)構(gòu):
Shader "Custom/zhezhao1"
{
Properties
{
}
SubShader
{
Tags {"Queue"="Transparent"}
Pass
{
}
}
SubShader
{
//ENDCG
}
Fallback "Diffuse"
}
二、Unity自帶的Shader描述
1、標(biāo)準(zhǔn)著色器系列(Normal Shader Family)
(1)、凹凸漫反射(Bumped Diffuse)
屬性:
NormalMap(法線貼圖)屬性,不改變對象形狀,使用紋理來模擬較小表面的細(xì)節(jié),而不是使用更多的多邊形來實際雕刻細(xì)節(jié)。
漫反射屬性:表面光照強(qiáng)度隨表面與光之間夾角的減小而減小。光照強(qiáng)度僅取決于此角,且不隨相機(jī)的移動或旋轉(zhuǎn)而變化。
(2)、凹凸高光 (Bumped Specular)
屬性:
1、法線貼圖屬性(Normal Map)
2、高光屬性,與漫反射 (Diffuse) 一樣,高光也計算簡單的
(Lambertian) 光照,并附加一個依賴于觀察者的高光亮點。這個稱為 Blinn-Phong 光照模型。其具有取決于面角、光角和觀察角的高光亮點。該亮點實際上只是對光源模糊反射的實時適宜模擬。亮點的模糊層次由檢視器 (Inspector) 中的反光 (Shininess) 滑塊控制。
此外,主紋理的 alpha 通道用作高光貼圖 (Specular Map)(有時稱為“光澤貼圖”),用于定義對象哪些區(qū)域的反射性更強(qiáng)。Alpha 的黑色區(qū)域是零高光反射區(qū)域,而白色區(qū)域是全高光反射區(qū)域。
(3)、印花 (Decal)
屬性:
1、印花屬性,該著色器是頂點光照 (VertexLit) 著色器的變型。該著色器上的所有光照都將被其渲染為頂點光照。除主紋理之外,該著色器還將第二個紋理用于其它細(xì)節(jié)。第二個“印花”(Decal) 紋理使用 alpha 通道來確定主紋理的可見區(qū)域。印花紋理應(yīng)為主紋理的補(bǔ)充。
比如說你有一個磚砌的墻壁,你可以使用一個磚塊的紋理作為主紋理,然后使用帶有 alpha 通道的 Decal 紋理在墻壁的不同地方涂鴉。
(4)、漫反射(Diffuse)
Diffuse 基于一個簡單的光照模型-Lambertian,光照強(qiáng)度隨著物體表面和光入射角夾角的減小而減小(即光垂直于表面時強(qiáng)度最大)。光照的強(qiáng)度只和該角度有關(guān)系,和攝像機(jī)無關(guān)。
(5)、頂點光照(Vertex-Lit)
屬性:最簡單的一種 Shader 之一,所有照射在該物體上的光在一個 Pass 里面渲染完,光源只在頂點計算。所以不會有任何基于像素渲染得效果,比如說:normal,light cookies 和 shadows.這個shader 對模
型的剖分(將一個物體從幾何描述變?yōu)槎噙呅伪硎镜倪^程)非常敏
篇二:《unity3D學(xué)習(xí)之光照貼圖》
光照貼圖完全集成到 Unity 中,可在編輯器 (Editor) 中創(chuàng)建整個關(guān)卡,然后對其進(jìn)行光照映射,讓所有材質(zhì)自動獲取光照貼圖,無需手動進(jìn)行。對 Unity 中的光照貼圖來說,所有燈光屬性會直接映射到 Beast 光照烘培貼圖工具中并烘培到紋理,提高性能。Unity 專業(yè)版擴(kuò)展了全局照明 (Global Illumination) 功能,可烘培出真實、美觀的光照,實時的相反操作則不可行。此外,Unity 專業(yè)版提供天光和發(fā)光材質(zhì),使場景照明更加有趣。 在本頁中,您將看到光照貼圖 (Lightmapping) 窗口中出現(xiàn)的所有屬性的深入描述。要打開光照貼圖 (Lightmapping) 窗口,請選擇窗口 (Window) – 光照貼圖 (Lightmapping) 選項。
檢視器頂部有三個場景篩選器 (Scene Filter) 按鈕,供用戶將操作應(yīng)用到所有對象或限制在燈光或渲染器內(nèi)。
對象 (Object)每個對象的燈光、網(wǎng)格渲染器和地形烘培設(shè)置根據(jù)當(dāng)前的選擇而定。 單擊場景篩選器 (Scene Filter) 按鈕可在層級視圖 (Hierarchy) 中輕松看到燈光、渲染器或地形。文章來自【狗刨學(xué)習(xí)網(wǎng)】
網(wǎng)格渲染器和地形 (Mesh Renderers and Terrains):
燈光 (Lights):
烘培 (Bake)全局烘培設(shè)置
篇三:《unity3d游戲開發(fā)之材質(zhì)球、預(yù)設(shè)體鏡頭耀斑》
材質(zhì)球(Material)的設(shè)置:
左鍵單擊Assets-Create-Material(可直接把材質(zhì)球拖拽給物體)
示例:設(shè)置顏色
設(shè)置貼圖
材質(zhì)球 Shader->Bumped Diffuse 法線視圖 不要直接把圖片拖拽到游戲?qū)ο笊?#xff0c;否則會直接生成一個材質(zhì)
所謂預(yù)設(shè) (Prefab)就是把一個對象設(shè)置好需要的屬性,腳本等,然后拖拽到提前創(chuàng)建好的文件夾。好處就是每次在需要它的時候直接使用就可以了,不用在重新創(chuàng)建,省時省力。預(yù)設(shè)體的使用一般都需要代碼實現(xiàn)
PS:隨著添加的東西越來越的,我們要對其進(jìn)行分類,把同一類的放在一個文件夾,方便以后查找
先導(dǎo)入Light Flares 耀斑資源包。 在場景中選擇主攝像機(jī),調(diào)整攝像機(jī)位置和角度,使其面對平行光源,在Game窗口中就能看到耀斑的效果了。
產(chǎn)生耀斑的兩個條件:
攝像機(jī)添加了FlareLayer組件,把耀斑資源拖給平行光“Flare”屬性中。產(chǎn)生耀斑的太陽光需要在攝像機(jī)的范圍內(nèi)。
PS:耀斑效果只能被碰撞盒遮擋,對于實體模型無法遮擋這種效果。
這篇文章來自狗刨學(xué)習(xí)網(wǎng)
篇四:《unity3d外發(fā)光的shader》
Shader "Faye/OutLightting"
{
Properties
{
_MainTex("Texture (RGB)", 2D) = "black" {}
_Color("Color", Color) = (0, 0, 0, 1)
_AtmoColor("Atmosphere Color", Color) = (0.5, 0.5, 1.0, 1)
_Size("Size", Float) = 0.1
_Falloff("Falloff", Float) = 5
_FalloffPlanet("Falloff Planet", Float) = 5
_Transparency("Transparency", Float) = 15
_TransparencyPlanet("Transparency Planet", Float) = 1
}
SubShader
{
Pass
{
Name "PlanetBase"
Tags {"LightMode" = "Always"}
Cull Back
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_fog_exp2
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
uniform sampler2D _MainTex;
uniform float4 _MainTex_ST;
uniform float4 _Color;
uniform float4 _AtmoColor;
uniform float _FalloffPlanet;
uniform float _TransparencyPlanet;
struct v2f
{
float4 pos : SV_POSITION;
float3 normal : TEXCOORD0;
float3 worldvertpos : TEXCOORD1;
float2 texcoord : TEXCOORD2;{unity自發(fā)光材質(zhì)}.
v2f vert(appdata_base v)
{
v2f o;
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.normal = v.normal;
o.worldvertpos = mul(_Object2World, v.vertex).xyz;
o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
return o;
}
float4 frag(v2f i) : COLOR
{{unity自發(fā)光材質(zhì)}.
i.normal = normalize(i.normal);
float3 viewdir = normalize(_WorldSpaceCameraPos-i.worldvertpos);
float4 atmo = _AtmoColor;
atmo.a = pow(1.0-saturate(dot(viewdir, i.normal)), _FalloffPlanet);
atmo.a *= _TransparencyPlanet*_Color;
float4 color = tex2D(_MainTex, i.texcoord)*_Color;
color.rgb = lerp(color.rgb, atmo.rgb, atmo.a);
return color*dot(normalize(i.worldvertpos-_WorldSpaceLightPos0), i.normal);
}
ENDCG
}
Pass
{
Name "AtmosphereBase"
Tags {"LightMode" = "Always"}
Cull Front
Blend SrcAlpha One
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_fog_exp2
#pragma fragmentoption ARB_precision_hint_fastest
#include "UnityCG.cginc"
uniform float4 _Color;
uniform float4 _AtmoColor;
uniform float _Size;
uniform float _Falloff;
uniform float _Transparency;
struct v2f
{
float4 pos : SV_POSITION;
float3 normal : TEXCOORD0;
float3 worldvertpos : TEXCOORD1;
};
v2f vert(appdata_base v)
{
v2f o;
v.vertex.xyz += v.normal*_Size;
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
o.normal = v.normal;
o.worldvertpos = mul(_Object2World, v.vertex);
return o;
}
float4 frag(v2f i) : COLOR
{
i.normal = normalize(i.normal);
float3 viewdir = normalize(i.worldvertpos-_WorldSpaceCameraPos);
float4 color = _AtmoColor;
color.a = pow(saturate(dot(viewdir, i.normal)), _Falloff);
color.a *= _Transparency*_Color*dot(normalize(i.worldvertpos-_WorldSpaceLightPos0), i.normal);
return color;
}
ENDCG
}
}
FallBack "Diffuse"
}
篇五:《unity3d模型制作規(guī)范》
模型制作規(guī)范
本文提到的所有數(shù)字模型制作,全部是用3D MAX建立模型,即使是不同的驅(qū)動引擎,對模型的要求基本是相同的。當(dāng)一個VR模型制作完成時,它所包含的基本內(nèi)容包括場景尺寸、單位,模型歸類塌陷、命名、節(jié)點編輯,紋理、坐標(biāo)、紋理尺寸、紋理格式、材質(zhì)球等必須是符合制作規(guī)范的。一個歸類清晰、面數(shù)節(jié)省、制作規(guī)范的模型文件對于程序控制管理是十分必要的。
首先對制作流程作簡單介紹:
素材采集-模型制作-貼圖制作-場景塌陷、命名、展UV坐標(biāo)-燈光渲染測試-場景烘培-場景調(diào)整導(dǎo)出
第一章 模型制作規(guī)范
1 在模型分工之前,必須確定模型定位標(biāo)準(zhǔn)。一般這個標(biāo)準(zhǔn)會是一個CAD底圖。制作人員必須依照這個帶有CAD底圖的文件確定自己分工區(qū)域的模型位置,并且不得對這個標(biāo)準(zhǔn)文件進(jìn)行任何修改。{unity自發(fā)光材質(zhì)}.
導(dǎo)入到MAX里的CAD底圖最好在(0,0,0)位置,以便制作人員的初始模型在零點附近。
2 在沒有特殊要求的情況下,單位為米(Meters),如圖
所示。
3 刪除場景中多余的面,在建立模型時,看不見的地方不用建模,對于看不見的面也可以刪除,主要是為了提高貼圖的利用率,降低整個場景的面數(shù),以提高交互場景的運行速度。如Box底面、貼著墻壁物體的背面等。
4 保持模型面與面之間的距離推薦最小間距為當(dāng)前場景最大尺度的二千分之一。例如:在制作室內(nèi)場景時,物體的面與面之間距離不要小于2mm;在制作場景長(或?qū)?為1km的室外場景時,物體的面與面之間距離不要小于20cm。如果物體的面與面之間貼得太近,會出現(xiàn)兩個面交替出現(xiàn)的閃爍現(xiàn)象。模型與模型之間不允許出現(xiàn)共面、漏面和反面,看不見的面要刪掉。在建模初期一定要注意檢查共面、漏面和反面的情況;
5 可以復(fù)制的物體盡量復(fù)制。如果一個1000個面的物體,烘焙好之后復(fù)制出去100個,那么他所消耗的資源,基本上和一個物體所消耗的資源一樣多。
6 建模時最好采用Editable Poly面片建模,這種建模方式在最后烘焙時不會出現(xiàn)三角面現(xiàn)象,如果采用Editable Mesh 在最終烘焙時可能會出現(xiàn)三角面的情況。如圖所示。
7 模型的塌陷
當(dāng)一棟建筑模型經(jīng)過建模、貼紋理之后,然后就是將模型塌陷,這一步工作也是為了下一步烘焙做準(zhǔn)備。所以在塌陷的時候要注意一些問題:
(1) 按照“一建筑一物體”的原則塌陷,體量特別大或連體建筑可分塌為2-3個物體,
但導(dǎo)出前要按建筑再塌成一個物體,城中村要按照院落塌陷。
(2) 用Box反塌物體,轉(zhuǎn)成Poly模式,這時需檢查貼圖有無錯亂;
(3) 塌陷物體,按樓或者地塊來塌陷,不要跨區(qū)域塌陷;
(4) 按項目對名稱的要求進(jìn)行嚴(yán)格的標(biāo)準(zhǔn)的命名;
(5) 所有物體的質(zhì)心要歸于中心,檢查物體位置無誤后鎖定物體;
總結(jié)
以上是生活随笔為你收集整理的unity材质球发光_unity自发光材质的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三言两语谈团队合作
- 下一篇: 【转】SCI论文写作全攻略