Hi guys,
I'm implementing an AR application where I need to load images saved on my persistentDataPath: on accessing such images through the Unity Web Request methods (I upgraded the deprecated WWW class) , a connection error is spawn. I attached the logs files from XCode in a zip folder. Here is part of my code (I think it could be related to the URL where the images are located and how iOs converts/read it)
public IEnumerator CreateGuideViewButton()
{
Buttons = new List<Button>();
mContent = GameObject.FindGameObjectWithTag("Content");
string mPath = Application.persistentDataPath + "/BH Inspection Plan/Vuforia Dataset/" + FileExplorer.mFileName + "/dataset";
mInfo = new DirectoryInfo(mPath);
mFiles = mInfo.GetFiles("*_1.png");
Debug.Log(mPath);
int mPNGs = mFiles.Length;
for (int i = 0; i < mPNGs; i++)
{
string mName = i.ToString();
Button mPrefabButton = Resources.Load<Button>("MyButton") as Button;
Button mMyButton = Instantiate(mPrefabButton);
mMyButton.name = mName;
mMyButton.transform.SetParent(mContent.transform);
if (i % 2 == 0)
{
mMyButton.GetComponent<RectTransform>().localPosition = new Vector3(mXEven, mYEven, 0);
mMyButton.GetComponent<RectTransform>().sizeDelta = new Vector2(side, side);
mYEven -= 450;
string mImagePath = Path.Combine(mPath, (FileExplorer.mFileName + "_viewpoint_000" + i + "_1.png"))
UnityWebRequest www = UnityWebRequestTexture.GetTexture(mImagePath);
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.InProgress)
{
continue;
}
else if (www.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log(www.error);
yield return false;
}
else if (www.result == UnityWebRequest.Result.Success)
{
texture = DownloadHandlerTexture.GetContent(www);
}
int width = texture.width;
int height = texture.height;
if (height >= width)
{
RawImage mPrefabImageHeight = Resources.Load<RawImage>("MyImageHeight") as RawImage;
RawImage mMyImage = Instantiate(mPrefabImageHeight);
mMyImage.gameObject.transform.SetParent(mMyButton.transform);
mMyImage.GetComponent<RectTransform>().localPosition = Vector3.zero;
mMyImage.GetComponent<RawImage>().texture = texture;
}
else
{
RawImage mPrefabImageWidth = Resources.Load<RawImage>("MyImageWidth") as RawImage;
RawImage mMyImage = Instantiate(mPrefabImageWidth);
mMyImage.gameObject.transform.SetParent(mMyButton.transform);
mMyImage.GetComponent<RectTransform>().localPosition = Vector3.zero;
mMyImage.GetComponent<RawImage>().texture = texture;
}
}
Thanks in advance!
Hey there,
Hey there,
Object Targets were deprecated last year and with that, the Object Scanner app. To use similar features I recommend using our Model Targets together with scanning 3D models with apps like Polycam.
Kind regards,
Patrick Scheper