程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Unity3d 編輯器中 Shader 屬性導出,unity3dshader

Unity3d 編輯器中 Shader 屬性導出,unity3dshader

編輯:C#入門知識

Unity3d 編輯器中 Shader 屬性導出,unity3dshader


本例用於導出TerrainForMobile/3TexturesDiffuseSimple 的shader的貼圖和縮放導出

protected const string SHADER_FILTER = "TerrainForMobile/3TextureDiffuseSimple";

public void parse(GameObject go)
{
	//判空就不寫了
	Renderer renderer = go.renderer;
	Material mat = renderer.sharedMaterial;
	Shader shader = mat.shader;

	int count = ShaderUtil.GetPropertyCount(shader);
	
	for ( int index = 0; index < count; ++index )
	{
		ShaderUtil.ShaderPropertyType type = ShaderUtil.GetPropertyType(shader, index);
		
		string propertyName = ShaderUtil.GetPropertyName(shader, index);
		
		if ( ShaderUtil.ShaderPropertyType.TexEnv == type )
		{
			Debug.log( "ShaderPropertyName:" + propertyName );
			Texture texture = mat.GetTexture(propertyName);
			Debug.log( "ShaderPropertyName:" + texture.ToString() );
			Vector2 textureScale = mat.GetTextureScale(propertyName);
			Debug.log( "textureScale:" + textureScale.ToString() );
			Vector2 textureOffset = mat.GetTextureScale(propertyName);
			Debug.log( "textureOffset:" + textureOffset.ToString() );
			
		}
		else if ( ShaderUtil.ShaderPropertyType.Color == type )
		{
		}
	}
}

  


unity3d 怎代碼更改某個shader的顏色

有些Material確實沒有Color屬性.
選取材質球Shader的時候一定要看是否可以在監視面板中修改顏色屬性.如果可以修改,基本上都可以用renderer.material.color = 顏色; 修改.
等同於 renderer.material.SetColor("_Color",顏色);
有些不能直接通過面板調試賦值修改的,就沒法更改顏色.
有些獲取顏色的時候報錯說找不到"_Color"定義,但是可以在檢視面板中更改材質球顏色,如下圖:

你可以通過renderer.material.SetColor("_TintColor",顏色);來修改.
第一個參數是指定要修改的變量名.根據左下角的TintColor決定應該是什麼字符串.前面加上一個英文下劃線.


 

unity3d中 怎用js代碼來更改shader中的3個子著色器?

用SetColor()函數
具體看官方腳本手冊的Material類
例子是:
function Start () {
//設置glossy著色器以便使用高光顏色
renderer.material.shader = Shader.Find (" Glossy");
//設置高光色為紅色
renderer.material.SetColor ("_SpecColor", Color.red );
}
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved