Загрузить отдельные изображения для каждого ребенка сборного - PullRequest
0 голосов
/ 10 мая 2018

Так что я думаю, что мне здесь не хватает библиотеки. Вместо «MeshRenderer» я использую «MeshRenderer []» для того, чтобы выстроить массив записей. Короче говоря, я пытаюсь загрузить отдельные изображения для каждого ребенка сборного. Я получаю следующее сообщение об ошибке. enter image description here

Error Message

using UnityEngine;
using UnityEditor;
using System.IO;



public class WallClick : MonoBehaviour
{
string path;
public MeshRenderer col;
public MeshRenderer[] boxCols;





void OnMouseDown()
{
    boxCols = GetComponentsInChildren<MeshRenderer>();
    path = EditorUtility.OpenFilePanel("Overwrite with png", "", "png");
    GetImage();
}

void EnableChildComponents()
{
    foreach (MeshRenderer col in boxCols)
    {
        col.enabled = true;
    }
}

void GetImage()
{
    if (path != null)
    {
        UpdateImage();
    }
}
void UpdateImage()
{
    byte[] imgByte = File.ReadAllBytes(path);
    Texture2D texture = new Texture2D(2, 2);
    texture.LoadImage(imgByte);

    boxCols.material.mainTexture = texture; //Error here

}

}

1 Ответ

0 голосов
/ 10 мая 2018

boxCols - это массив, вам нужно сослаться на один из элементов в массиве, который будет иметь тип MeshRenderer. например:

boxCols[0].material.mainTexture = texture;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...