Do Load the photos from a specific directory in a texture c #

0

I'm doing a new application and I need to load a photo from a specific directory on the computer in this case c:\Biosearchassets to a gui texture in unity3d I could find an example but it uses texture2D and I want to load 3D gui texture I tried change the code but I get this error

  

Assets / LoadImage.cs (42,29): Error CS1503: Argument '# 1' can not convert 'UnityEngine.Texture' expression to type 'UnityEngine.Texture2D'

My code is

using UnityEngine;
using System.Collections;

public class LoadImage : MonoBehaviour {
GameObject[] gameObj;
Texture[] textList;

string[] files;
string pathPreFix; 

// Use this for initialization
void Start () {
    //Change this to change pictures folder
    string path =    @"C:\Biosearchassets\";

    pathPreFix = @"file://";

    files = System.IO.Directory.GetFiles(path, "*.jpg");

    gameObj= GameObject.FindGameObjectsWithTag("Pics");

    StartCoroutine(LoadImages());
}


void Update () {

}

private IEnumerator LoadImages(){
    //load all images in default folder as textures and apply dynamically to plane game objects.
    //6 pictures per page
    textList = new Texture[files.Length];

    int dummy = 0;
    foreach(string tstring in files){

        string pathTemp = pathPreFix + tstring;
        WWW www = new WWW(pathTemp);
        yield return www;
        Texture texTmp = new Texture(1024, 1024, TextureFormat.DXT1, false);  
        www.LoadImageIntoTexture(texTmp);

        textList[dummy] = texTmp;

        gameObj[dummy].GetComponent<Renderer>().material.SetTexture("_MainTex", texTmp);
        dummy++;
    }

}
}
    
asked by anonymous 21.12.2017 / 21:11

1 answer

0

In fact after much searching for a solution I decided to change my code and do it again, working the wonders code:

This is the Final Code

using UnityEngine;
using System.Collections;
using UnityEditor;
using System.Linq;

public class LoadImage : MonoBehaviour 
{
private Object[] textures;
public GameObject go;
public static string stringto;


void Start()
{
    textures = Resources.LoadAll("Textures", typeof(Texture2D));

    //foreach (var t in textures)
    //{
    //  Debug.Log(t.name);
        //stringto +=t.name;

    //}


}

void OnGUI()
{
    if (GUI.Button(new Rect(10, 70, 150, 30), "Change texture"))
    {
        foreach (var t in textures)
        {
            Debug.Log(t.name);
            stringto +=t.name;

        }
        // change texture on cube
        Texture2D texture = (Texture2D)textures[Random.Range(0, textures.Length)];
        go.GetComponent<Renderer>().material.mainTexture = texture;


        GameObject.Find("GUIText").GetComponent<TextMesh>().text = texture.name;




        //GUI.Label (Rect (10, 10, 100, 20), stringto);
        //stringto = GUI.TextField(new Rect(10, 10, 200, 20), stringto, 25);
    }
}
}
    
22.12.2017 / 00:46