言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Material.SetMatrix

public function SetMatrix(nameID: int, matrix: Matrix4x4): void;

Description

matrix値を設定します

行列のパラメータを追加で必要とするカスタム シェーダで主に使用されます。 行列はマテリアルのインスペクタ上で確認することが出来ません。 スクリプト上で SetMatrix および GetMatrix により各々更新および照会できます。 See Also: GetMatrix, Materials, ShaderLab documentation, Shader.PropertyToID

	var rotateSpeed = 30;
	var texture : Texture;

	function Start() {
		// Create a new material with a shader
		// that rotates the texture. Texture rotation
		// is performed with a _Rotation matrix.
		var m : Material = new Material (
			"Shader \"Rotating Texture\" {" +
			"Properties { _MainTex (\"Base\", 2D) = \"white\" {} }" +
			"SubShader {" +
			"	Pass {" +
			"		Material { Diffuse (1,1,1,0) Ambient (1,1,1,0) }" +
			"		Lighting On" +
			"		SetTexture [_MainTex] {" +
			"			matrix [_Rotation]" +
			"			combine texture * primary double, texture" +
			"		}" +
			"	}" +
			"}" +
			"}"
		);
		m.mainTexture = texture;
		renderer.material = m;
	}

	function Update() {
		// Construct a rotation matrix and set it for the shader
		var rot = Quaternion.Euler (0, 0, Time.time * rotateSpeed);
		var m = Matrix4x4.TRS (Vector3.zero, rot, Vector3(1,1,1) );
		renderer.material.SetMatrix ("_Rotation", m);
	}