Skocz do zawartości

Unity 3D problem ze skryptem


^.^

Rekomendowane odpowiedzi

Witam,

 

tworzę właśnie skrypt (java script) wczytujący tekstur ze wskazanego miejsca na dysku.

Do tej pory wraz z kolega udało nam się wysmarować coś takiego:

 

 

#pragma strict


import System.IO;
import System.Collections;
import System.Collections.Generic;


var path = "file:///C:/a";


var Files = new Array();
Files = null;


function Start () 
{
Files = System.IO.Directory.GetFiles(path);
Debug.Log(path);    // spr
Debug.Log(Files.length);    // spr
var Textures = new Array(Files.length);
Debug.Log("texture lenght:" + Textures.length);


   for (var i=0; i    {
       Debug.Log("i: " + i);    // spr
       var www : WWW = new WWW(Files[i]);
       Debug.Log(www.url);        // spr

       yield www;

       Textures.Push(www.texture);
       //Textures.Add(www.texture);
   }
}


function Update () 
{


}

 

 

Problem w tym, że po podpięciu skryptu do obiektu w scenie kompilator niby wczytuje pliki, jednak wydupca taki oto błąd:

You are trying to load data from a www stream which had the following error when downloading.

Could not resolve host: C:; Host not found

UnityEngine.WWW:get_texture()

$:MoveNext() (at Assets/loadTexture.js:28)

 

Jak by nie kombinować nie wiadomo dlaczego. Na forach wyczytałem że w takim przypadku przed ścieżką należy dodać nieszczęsne "file://". Ale skrypt wywala ten sam błąd z tym dodatkiem, jak i bez niego.

 

Czy ktoś znający się na java script i unity mógł by mi coś podpowiedzieć ?

 

Pozdr.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 5
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano (edytowane)

Te debugery mają to do siebie, że opisują błędy -.-.

To że skrypt nie może znaleźć hosta / katalogu (czy jak to inaczej tłumaczyć) to ja wiem.

Problem w tym, że pod wskazanym adresem istnieje katalog i pliki, przy wywołaniu:

Debug.Log(path); scieżka jest wypisywana poprawnie,

Debug.Log(Files.length); ilość plików / rozmiar tablicy jest prawidłowy,

Debug.Log("i: " + i); kolejne iteracje działają (i jest zwiększane prawidłowo

Debug.Log(www.url); adresy kolejnych plików są dobre

 

Gdybyś był taki miły i podpowiedział co zrobić aby można było znaleźć hosta (podany katalog) byłbym wdzięczny.

Scieżke podałęm raczej prawidłową (chdź próbowalem na różne sposoby, 1x \, 2x \\ itp)

 

Poniższy skrypt działa bez problemu

 

function Start () {
var download : WWW;
   var url = "http://download.unity3d.com/webplayer/images/unity-icon-big.jpg";
   var file : WWW = new WWW(url);    download = file;
   yield download;
   GameObject.Find("UnityTest").guiTexture.texture = download.texture;

}
function Update () {
}

 

Więc coś jest nie tak z "wykrywaniem" zawartości dysku, tylko ni chu chu nie wiem co :(.

Edytowane przez ^.^
Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdzę.

 

Chodzi o to że domyślnie projekt ma być na stronie WWW w formie obracającego się sześcianu, który ma prezentować na ścianach losowe prace (rendery, zdjęcia itp. - takie 3D portfolio) z danego katalogu.

 

Więc w ramach testów próbuje to poskładać tak, aby wczytywało pliki ze wskazanego folderu :).

 

A że jestem początkujący w Unity to mam problemy xD. Tak to jest jak człowiek ciągle łączy tylko klocki w Quest3d :/.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności