① unity3d中怎麼用代碼換材質
我也在找這個問題的答案。
首先說兩種都不起作用的方式:先取游戲對象的meterial,
Material mymeterial=getcomponent<Renderer>().material;
或者是專取 sharedMaterial。然後使用遍歷屬本游戲中的材質庫:
mymaterials = (Material[])UnityEngine.Resources.FindObjectsOfTypeAll(typeof(Material));
得到的是數組,取其中的值。
mymaterail1=mymaterials[1];
還是用公共參數取得外部給的值: public Material mymaterail1;
這些方式取得准備應用的meterial.
最後讓 mymeterial=mymaterail1,都不報錯,但是都不起作用。
我哪裡出問題了?哪一步不完善?誰回答一下。
② unity5怎麼給材質球貼材質
把texture拖拽到gameObject上會在Materials里自動生成對應的材質球。
③ 如何在unity3d的UGUI中給Text添加材質和藝術字
在你所需要的地方建立一個文件夾,並新建一個材質material,你可以用中文為其命名,比如「」文字材質「」。
2
你需要更改材質的shader,此種shader將被用於UGUI中,不限於Text,Panel也可應用,有一定代替Sprite的效果。言歸正傳,更改shader,如圖中所示的那樣。這種設置只包含了一種貼圖,請將Detail Strength的值調整成1,這樣,將完全顯示你所賦予的紋理。
3
添加一張圖片,當你導入一張圖片到unity中,默認是Texture形式的,Texture是指的該圖片的shader。所以你什麼都不需要做,直接添加圖片到之前我們所建立的文字材質中去。
4
新建一個Canvas並添加一個子UI,也就是一個Text。
5
我們更改一些Text中的屬性,以便我們只做與觀察。並在Text的Material中將我們的文字材質添加過去。
這是很重要的一個步驟,添加一個名叫 position as UV1 。在官方的解釋中這個組件是用於Text的顯示的,也就是說,你只能這樣用,由於他沒有任何參數,也沒有過多的說明,所以不能解釋。如果你不添加這個組件,將不能夠正確顯示,如果你添加了組件,之後有刪除了,你的顯示效果可能依然存在,這點我無法解釋,總之,只要添加就好。
你會看到一下文字。當你的圖片過小的時候,請更改你的材質一欄的屬性,Detail下的Tiling和offset找尋合適的值。對於一個文字材質,你無法真正找到正確的拉伸,但是你可以對此處進行手動微調,特別是你的圖片在看起來不是那種連續的圖片的時候。
我們試著寫一個繁體字,讓他看起來很方,方便我們調節材質的相關系數。
我們嘗試謝謝其他字,並對text面板進行手動的拉動,看看有何種效果。我們會發現材質隨著我們的拖動發生了變化,所以請在使用時候注意到這一點。但是請注意這一點,某種意義上並不會影響你的使用,因為你可以勾選Text組件下的紅框體中的選項,使文字不受到框體的約束做出如換行等動作。
如上面的「」啊嘍哈「」幾個字,我們可以為Text添加Outline組件,使得發生描邊效果。
我們再回到「」啊嘍哈「」幾個字,我們可以為其添加除了秒黑邊外的陰影屬性,我們可以將他的的Color變得白一些,你會看到變化。
這時候你刪除或者取消掉之前的outline屬性,只保留shadow,你將會看到3D立體感的「」啊嘍哈「」。之後在Text再次添加Shadow組件,也就是說Text這時候有兩個shadow,我們添加不同的組件,可以達到多種效果,也就是我們如果願意的話
在之前我們創建的名為「」文字材質「」的材質球中,如果我們移除材質的貼圖,我們適當更改其他部分的顏色,我們將看到紅白配的字,是不是很醜,但這點很實際,只不過他們不般配而已。
我們搭配合理一些可以出現還能湊合一看的效果,只是字體稍顯難看。
當我們下載合適的字體,譬如一些魔法文字,並賦予一些材質之後,我們之前的一些設置,就有了用武之地。但是有些時候我們期望得到一個窄窄高高的魔法字的時候,我們只需調節Text組件的RectTransform中關於縮放的數值。
我們再次使用其他字體做做實驗,比如「」開始游戲「」,一款感覺有戰地情節的有些是什麼樣子呢。當然了,我們也可以更酷一點吧,字體是大頭,興許你的一次改動整個風格就全變了。
④ unity 怎麼為組件設置材質
關鍵詞
MeshRenderer m_meshrender = 通過任意方法找到葯水的物專體.GetComponent<MeshRenderer> ();
m_meshrender.material=你的材質屬 ;
⑤ unity3d中怎麼用代碼換材質
單擊的代碼就不寫了,換材質代碼如下:
Public Material myMaterial ; //定義材質類型變數內,Public型,從外面拖拽上去
//
gameObject.renderer.material = myMaterial; //將新材容質賦予物體即可
⑥ unity建立了要做天空,做了材質球後怎麼辦
直接拖著你的材質球往場景的天空上拉就行,也可以找到Lighting setting 最上邊有個skybox material的選項,把你的材質球放進去
⑦ 怎麼給unity裡面的plane添加顏色材質
你需要建立一個材質,然後把材質拉進去
⑧ unity模型光照材質怎麼添加
十四講我們實現了基本的Surface Shader,十五講講了光照模型的基礎知識。這一講說的是如何寫光照模型。
自定義光照模型主要分為4步:
(0)架設框架,填寫需要的參數
(1)計算漫反射強度
(2)計算鏡面反射強度
(3)結合漫反射光與鏡面反射光
代碼配有中文注釋,配合上上講的光照公式,一步一步實現即可。
//
Author: 風宇沖
Shader "Custom/T_customLightModel" {
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
Subshader
{
//alpha測試,配合surf中的o.Alpha = c.a;
AlphaTest Greater 0.4
CGPROGRAM
#pragma surface surf
lsyLightModel
//命名規則:Lighting接#pragma suface之後起的名字
//lightDir :點到光源的單位向量
viewDir:點到攝像機的單位向量
atten:衰減系數
float4 LightinglsyLightModel(SurfaceOutput s, float3 lightDir,half3 viewDir, half atten)
{
float4 c;
//(1)漫反射強度
float diffuseF = max(0,dot(s.Normal,lightDir));
//(2)鏡面反射強度
float specF;
float3 H = normalize(lightDir+viewDir);
float specBase = max(0,dot(s.Normal,H));
// shininess 鏡面強度系數,這里設置為8
specF = pow(specBase,8);
//(3)結合漫反射光與鏡面反射光
c.rgb = s.Albedo * _LightColor0 * diffuseF *atten + _LightColor0*specF;
c.a = s.Alpha;
return c;
⑨ unity5.x中材質怎麼添加貼圖
繼續上次來筆記中所記錄自的東西,在Project視圖中,ImportedAssets-Meshes-Materials下我們可以看到一個沒有紋理的材質球,這個材質是跟隨我們的3d Max模型來的默認材質。因為這里我們要添加自己的材質,所以我們直接把這個材質球刪除。
刪除後,我們看到本來的Prefab顏色也發生了改變。
接下來我們在Materials文件夾下,右鍵新建一個材質(Material),命名為Stone_Floor。現在這是一個空白的材質,我們要為他選擇著色器,Unity提供了十分多樣的著色器(shader),這里我們先不做深入的討論,直接選擇Bumped Specular(凹凸高光),這是十分常用的著色器。
Bumped Specular中可以從下往上看,BaseMap和Normal map(基礎貼圖和法線貼圖);Shininess是反射度;Specular Color就是高光顏色;Main Color也就不需要解釋了。。
⑩ C# UNITY3D 怎麼給物體賦予不銹鋼材質
如果是那種光滑的鏡面不銹鋼,本質跟鏡子是一樣的
金屬拉滿,光滑拉滿;
但最終要回的是需要一個答正確的反射源(cubemap),可以在場景中的lighting中設置,或者單獨配置一個reflection probe