Jump to content
Unity Insider Forum

All Activity

This stream auto-updates     

  1. Today
  2. Yesterday
  3. Bist ein Held Sascha! Vielen Dank und schönen Abend euch noch
  4. Ich würde es ja erklären, aber ich glaube, der Code sagt mehr als 1000 Worte: Random.insideUnitCircle.normalized * Random.Range(0.4f, 1.7f);
  5. Also auch nachdem ich das jetzt auch hinbekommen habe, ist mir ein neues Problem dazugekommen.😬 Und zwar bewegt sich der Coin so bei mir transform.position = Random.insideUnitCircle * 1.7; Allerdings will ich, dass der Coin mehr eingegrenzt ist, aber vom Minimum her. Also dass der Coin sich nicht unter *0.4 bewegt. Ich hab nach langem durchforschen des Internets leider nix gefunden. MVG Mark
  6. Hallo zusammen, seit ein paar Tagen habe ich ein neues Notebook im Einsatz. Es ist frisch mit Windows 10 1909 vorbereitet. Anschließend installierte ich Unity 2020 beta mit Visual Studio 2019. Dieselbe Konstellation habe ich auch auf meinem alten Notebook laufen. Dort funktioniert es einwandfrei. Auf dem neuen Notebook lief die Installation auch einwandfrei durch, doch als ich das erste Mal mit VS arbeiten wollte, stellte ich fest, dass Intellisense nicht oder nur sehr unzuverlässig arbeitet. Manchmal kommen Vorschläge, dann aber nicht vollständig. Beispielsweise schreibe ich "float timer = Time" und setze einen Punkt, in Erwartung, nun unter anderem deltaTime vorgeschlagen zu bekommen, aber VS macht plötzlich aus "Time" "timer". "Time" kennt es nicht. Es handelt sich um ein ganz frisch erstelltes C#-Script, in dem ich sonst noch nicht viel geschrieben habe. Zum Vergleich habe ich dasselbe Script auf dem alten Notebook bearbeitet, dort funktioniert es einwandfrei. Nun wird jeder sagen: Nimm doch das Alte. Aber warum habe ich dann ein doppelt so schnelles, neues? Ich habe im Internet mehrere Stunden mit suchen verbracht, aber immer nur dieselben Vorschläge bekommen. "Sieh mal in den Optionen nach, da müssen die Haken XY gesetzt werden", "Installiere VS neu", "Starte VS oder den Rechner neu". Ich bin mittlerweile alle Tipps durch, die man dort findet. Keiner hat geholfen. Ich habe auch schon einen Wechsel auf VS 2017 hinter mir, da passiert dasselbe. Auch hier kommen keine Vorschläge. Dann habe ich vom alten Rechner die Konfiguration über EXTRAS -> Einstellungen importieren/exportieren... ausgelesen und mit einem Stick auf dem neuen Notebook wieder importiert. Hilft auch nicht. In meiner Verzweiflung wollte ich auf Monodevelop zurück, aber das ist mir nicht wirklich gelungen. Läuft irgendwie nicht. Soll auch nicht mehr unterstützt werden, las ich. Da dieses Thema ziemlich häufig im Internet auftaucht, aber nie richtig geklärt wird oder wurde, hoffe ich, dass hier im Forum jemand den goldenen Tipp auf Lager hat. Bringt es vielleicht etwas, den kompletten Programmpfad vom funktionierenden Rechner auf den neuen zu kopieren? Irgendwo muss doch diese nicht funktionierende "Logik" sitzen. Bitte gebt mir einen helfenden Tipp. Danke und Grüße aus Brühl, André Es ließ mir ja keine Ruhe, also suchte ich weiter und fand hier einen Lichtschimmer: https://stackoverflow.com/questions/59823422/vs-code-intellisense-not-working-for-unity3d Da steht, man soll in Unity auf Edit -> Preferences -> External Tools -> dort bei "Generate all .csproj files" einen Haken reinsetzen. Danach habe ich VS noch mal neu gestartet. Und siehe da: Es funktioniert.
  7. Last week
  8. Standardmäßig hast du nur eine Szene zur Zeit offen. Wenn du nicht additiv lädst, wird die aktuelle Szene entladen (alle Objekte darin gelöscht), wenn du eine neue Szene lädst. Dann sollte das, was du beschreibst, nicht passieren.
  9. Ich habe eine Hauptmenü-Szene und eine Spiel-Szene, aber wenn ich im Game im Hauptmenü bin, werden die Buttons aus dem Hauptmenü gezeigt und dahinter ist die Spielszene mit den dazugehörigen Sounds. Wie kann ich die voneinander trennen?
  10. Ich möchte gerne mein Spiel für Android exportieren. Ich habe auch schon das Android-Studio, aber immer wenn ich beim Export den Sdk-Ordner auswähle, bekomme ich die Meldung Unable to detect SDK in the selected directory. Wenn ich den Android-Ordner auswähle, passiert das Gleiche
  11. Das Text-Script reagiert nicht. Was kann ich machen, damit es reagiert?
  12. Rein informativ noch, damit man ein wenig Code sieht: Listenelemente werden so instanziert: GameObject track_sync_ListContentPanel = Instantiate(Track_SyncTrackListPrefab, SyncTrackListContent.transform); track_sync_ListContentPanel.transform.SetParent(SyncTrackListContent.transform); Füllen des Bildes links am Rand erfolgt zurzeit so: //fill track image in Transform TrackAvatar = track_sync_ListContentPanel.transform.Find("TrackImage Column/Avatar").transform; StartCoroutine(GetTrackScreenshot(data.filename.ToString().ToLower(), TrackAvatar)); Die CoRoutine GetTrackScreenshot sieht wie folgt aus: IEnumerator GetTrackScreenshot(string filename, Transform avatar) { string extractedfilename = filename.Replace(".trk", "_screenshot.png"); string path = "http://www.gene-racing.com/tracks/" + extractedfilename; UnityWebRequest www = UnityWebRequestTexture.GetTexture(path); yield return www.SendWebRequest(); yield return new WaitForSeconds(1); if (www.isNetworkError || www.isHttpError) { Debug.Log("WWW Error:"); Debug.Log(www.error); } else { Debug.Log("NO www error:"); //set new textures GameObject[] syncItems = GameObject.FindGameObjectsWithTag("Tracks_SyncTrackListItem"); foreach (GameObject prefab in syncItems) { Transform TrackFileName = prefab.transform.Find("TrackName").transform; Debug.Log("Trackname of SyncTrackListItem is:" + TrackFileName.GetComponent<Text>().text); if(TrackFileName.GetComponent<Text>().text.ToString().ToLower() == filename) { //find the parent avatar of it Transform avatarfound = TrackFileName.parent.Find("TrackImage Column/Avatar").transform; //Reset textures first, to avoid see old pictures Destroy(avatarfound.GetComponent<RawImage>().material.mainTexture); Destroy(avatarfound.GetComponent<RawImage>().texture); avatarfound.GetComponent<RawImage>().material.mainTexture = ((DownloadHandlerTexture)www.downloadHandler).texture; avatarfound.GetComponent<RawImage>().texture = ((DownloadHandlerTexture)www.downloadHandler).texture; } } } }
  13. Hm ja ich weiss nicht ganz wie das funktioniert, die APP VrTourViewer kann das, nur ich würde gerne wissen wie die app das macht.
  14. Hallo liebes Forum, ich habe folgendes Problem: Eine Scrollview. Darin enthalten sind natürlich etliche Listenitems. Ich habe mir ein Muster gebaut, dieses als Prefab gespeichert um es dann jeweils laden zu können. Die einzelnen Items (Prefabs) die ich dann innerhalb der ScrollView lade, lade ich per JSON aus einer MySQL DB aus dem Web. Funktioniert alles prima und wunderbar. Problem das ich nun habe: Ich möchte zu jedem einzelnen EIntrag eine Grafik laden, der per URL an Unity übertragen wird um in jedem Listeneintrag die dazupassende Grafik anzeigen zu können. Sämtlicher Inhalt kommt per JSON aus einer DB. Zur Veranschaulichung ein Screenshot: Nun. Die Bilder sollten links sein.... sowie dieses eine das man sehen kann. Zurzeit lade ich die Bilder per CoRoutine: IEnumerator GetTrackScreenshot(string filename, Transform avatar) { ..... Das Problem ist aber dass ich zwar das Transform des einzelnen Listenelements mitgeben kann - aber bei einem einfachen Reload der gesamten Liste, werden alle Grafiken vertauscht und stehen an falschen Stellen. Deswegen 2 Fragen: a) muss ich die Grafiken asynchron , per CoRoutine, laden? b) wie übergebe ich eine frisch instanziertes Listenelement SO an die CORoutine dass diese auch 100%ig weiß welches listenelemt betroffen ist? Ich habe jetzt alle Varianten durchprobiert und komme nicht auf den Fehler. Entweder verschieben sich alle Grafiken, oder es werden gar keine angezeigt. lg
  15. Dann gehts ans Debuggen! Pack da Debug.Logs rein oder setze Breakpoints im Debugger, schaue in die Konsole und finde heraus, wo es hakt. Wird die Punktzahl nicht verändert? Wird sie verändert aber das Event nicht ausgelöst? Wird das Event ausgelöst aber das Text-Script reagiert nicht?
  16. Um eine HTML-Datei anzuzeigen, brauchst du eine entsprechende Engine. Unity hat meines Wissens nach nach wie vor nichts dazu eingebaut, aber es gibt z.B. Awesomium für Unity recht einfach zu finden. Ich hoffe aber, du planst nicht, eine HTML-Seite mit 3D-Inhalten in deine 3D-Welt einzubauen. Dann solltest du lieber versuchen, den Inhalt zu parsen und die Szene direkt in eine Unity-Szene zu übertragen.
  17. Hey! Ich habe derzeit Probleme damit zu verstehen wie ich eine HTML Datei von Pano2Vr (eine virtuelle Tour) in einem Canvas geöffnet werden kann. Ich möchte keinen Browser benutzen, die virtuelle Tour soll ganz einfach in der APP geöffnet werden. Die virtuelle Tour besteht aus einem von Pano2Vr generierten Ordner mit index.html und ein paar Javascript Scripte. Gruß EgoShooter
  18. Das hier, oder? Das habe ich nämlich als Komponente meinem Text hinzugefügt, aber es passiert trotzdem nichts
  19. Schau dir mal Coroutinen an. Da kannst du eine Schleife einbauen aus warten, erscheinen, warten und wieder verschwinden.
  20. Danke Sascha, das hat geklappt! Wenn jetzt noch jemand weiß, wie man den Coin so erscheinen lässt, dass dieser zwar Unsichtbar ist, aber jedes mal zwischen 8-12 Sekunden wieder erscheint und dann für zwei Sekunden Aktiv ist, lass ich euch in Ruhe😉
  21. Du hast drei Klassen: Die statische Klasse, die sich die Punktzahl für das gesamte Programm merkt und ein Event hat, das bei einer Änderung ausgelöst wird. Eine Komponente für die Gegner, die die Punktzahl erhöht, wenn einer stirbt. Eine Komponente für dein Text-Objekt, das als Reaktion auf das Event den Inhalt des Textes ändert. 1 und 2 hast du - wie 3 aussieht habe ich in meinem ersten Beitrag geschrieben.
  22. Achso ich dachte dafür sei das zweite Script. 1. Wofür ist das zweite Script? 2. Wie würde so ein Script aussehen?
  23. Hast du auch auf deinem Text ein Script, das auf das Event reagiert und die neue Punktzahl anzeigt?
  24. RenderTexture erstellen, auf Kamera und ein Material ziehen, Material auf Objekt tun.
  25. UI-Elemente sind, wenn der Canvas nicht auf World Space steht, immer vor allen nicht-UI-Objekten. Bei UI-Elementen ist das Element weiter vorne, das weiter unten in der Hierarche ist.
  26. Ich bin in meine Hierarchy gegangen dort rechtsklick, UI und den Text eingefügt. Dort habe ich dann die Standard Komponenten gelassen. Als Hintergrund habe ich ein leeres Object mit einer Textur darauf.
  27. Ich möchte das was eine ganz normale Kamera in Unity aufnimmt auf einen GameObject zum Beispiel einen Monitor anzeigt.
  28. Mein Code dafür sieht jetzt wie folgt aus: using System; ///Brauche ich, um die Action-Klasse nutzen zu können // Ein Action-Objekt repräsentiert eine Methode, die aufgerufen werden kann. Durch die Verwendung von "event" kann es mehrere methoden auf einmal repräsentieren. Mit += und -= fügt der andere Code eine Methode zum Event hinzu bzw. nimmt sie wieder weg. public static class Zähler //Statische Variablen und Methoden sind nicht an Objektinstanzen gebunden { private static int _currentscore = 0; public static int currentscore { get { return _currentscore; } set { _currentscore = value; //value ist auf deutsch Wert onScoreChange?.Invoke(value); } } } public static event Action<int> onScoreChange; (habe diesen Code jetzt verstanden, waas der macht) dann noch den UI-Code von oben (weiß auch da, was die einzelnen Befehle bedeuten) und mein eigenes Script: public class Gegneroff : MonoBehaviour { private void OnTriggerEnter2D(Collider2D other) { if(other.tag == "Collector") { gameObject.SetActive(false); Zähler.currentscore += 10; //Mit "Zähler" auf das Script verwiesen und mit "currentscore" auf die Variable im Script } } Das UI-Script habe ich dann als Component zu meinem Text hinzugefügt. Aber wenn die Gegner deaktiviert werden passiert trotzdem nichts. Was muss ich machen, damit es Funktioniert?
  1. Load more activity

Announcements

Hy, wir programmieren für dich Apps(Android & iOS):

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...