Jump to content

Unity 3D problem ze skryptem


^.^

Recommended Posts

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.

Link to comment
Share on other sites

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 :(.

Edited by ^.^
Link to comment
Share on other sites

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 :/.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy