Если вы посмотрите на исходный код LegacyShaders/Decal
(состояние Unity 2017.2), вы увидите, что свойство, которое вы хотите изменить, называется _DecalText
Shader "Legacy Shaders/Decal"
{
Properties
{
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB)", 2D) = "white" {}
_DecalTex ("Decal (RGBA)", 2D) = "black" {}
}
...
}
. Вы можетепросто установите его, используя material.SetTexture
material.SetTexture("_DecalTex", texture);
например, как
public class Example : MonoBehaviour
{
// reference in the Inspector
public Texture texture;
private void Start()
{
var renderer = GetComponent<MeshRenderer>();
var material = renderer.material;
material.SetTexture("_DecalTex", texture);
}
}