Как наложить текстуру на объект Terrain в Unity?

На процедурно-сгенерированную поверхность надо наложить текстуру, для начала - хотя бы одну. Однако в уроках по Юнити сплошь рассказывают про накладывание текстур в редакторе, в то время, как мне нужно программное наложение. Попытка сделать это через компонент Renderer

terrobj.AddComponent<Renderer>();
terrobj.GetComponent<Renderer>().material = material;

выдаёт ошибку:

MissingComponentException: There is no 'Renderer' attached to the "Chunk" game object, but a script is trying to access it. You probably need to add a Renderer to the game object "Chunk". Or your script needs to check if the component is attached before using it. UnityEngine.Renderer.set_material (UnityEngine.Material value) (at <58a34b0a618d424bb5fc18bb9bcdac20>:0) ChunkLoader.Start ()

хотя я, вроде как, явно добавил рендерер. Подскажите, пожалуйста, где ошибка, и правильно ли я вообще делаю?


Ответы (1 шт):

Автор решения: Risto

Я упустил, что компонент Terrain сам является рендерером, к которому можно через его игровой объект:

terrobj.GetComponent<Terrain>().materialTemplate = material;

Таким образом мы можем задать материал для рендеринга суши.

→ Ссылка