Mein Code lädt seltsamerweise nicht die Benutzerbilder von der lokalen Festplatte zum gameObject namens "planeLogo". Die Datei mit der Funktion ImageUploaderCaptureClick() heißt ImageUploader1.jslib und befindet sich im Ordner plugins/WebGl.Unity3D - Lassen Sie Benutzer Bild für Webgl laden
Hier ist das Skript
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class LoadImage : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void ImageUploaderCaptureClick();
private Texture2D displayedTexture;
IEnumerator LoadTexture(string url)
{
WWW image = new WWW(url);
yield return image;
image.LoadImageIntoTexture(displayedTexture);
}
void FileSelected(string url)
{
StartCoroutine(LoadTexture(url));
}
public void OnButtonPointerDown()
{
#if UNITY_EDITOR
string path = UnityEditor.EditorUtility.OpenFilePanel("Open image", "", "jpg,png,bmp");
if (!System.String.IsNullOrEmpty(path))
FileSelected("file:///" + path);
#else
ImageUploaderCaptureClick();
#endif
}
void Start()
{
displayedTexture = new Texture2D(1, 1);
GameObject.Find("PlaneLogo").GetComponent<MeshRenderer>().material.mainTexture = displayedTexture;
GameObject.Find("PlaneLogo").GetComponent<Renderer>().enabled = true;
}
}
Und hier ist, wie ich mit den Ereignissen beschäftigen.
Ich habe alles versucht, ich weiß, und das Projekt hält innerhalb der Einheit arbeiten, aber nicht, wenn es als html (webgl) kompiliert.
Führen Sie einen einfachen Webserver aus. Es dauert nur ein paar Sekunden, um es einzurichten. [Wie wäre es mit diesem] (https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb?hl=de)? oder [diese] (http://stackoverflow.com/questions/12905426/what-is-a-faster-alternative-to-pythons-simplehttpserver/) – gman