【Unity】ShaderプロパティへのアクセスはShader.PropertyToID を使用した方が早い

DEVELOP

material.SetColor などシェーダーのプロパティ値のキーは事前にPropertyToID を使ってでキャッシュしておいて、それを使ってアクセスした方がGC も発生せずに軽くなります。

	public class SampleItemView : MonoBehaviour
	{
		/// <summary>
		/// Shader プロパティ
		/// </summary>
		static readonly int ShaderPropertyID_Color = Shader.PropertyToID("_Color");

		[SerializeField, Header("レンダラー")]
		private MeshRenderer m_meshRenderer;

		public MeshRenderer meshRenderer
		{
			get { return m_meshRenderer; }
		}


		public void Setup()
		{
			if (meshRenderer != null)
			{
				meshRenderer.material.SetColor(ShaderPropertyID_Color, Color.black);
			}
		}
}