Jump to content
Unity Insider Forum

All Activity

This stream auto-updates     

  1. Past hour
  2. Sascha

    Inventar und Objekte

    Inventar ist halt keine der ganz einfachen Aufgaben mehr. Du musst dich darauf einstellen, dich durch gewissen Dinge erstmal durchzufuchsen. Vielleicht sogar mit kleineren Projekten. Und ich würde in jedem Fall empfehlen, IMGUI (OnGUI) liegen zu lassen, weil Fehler wie der, den du jetzt hast, eventuelle Probleme mit UGUI durchaus ausgleichen können. Lass dich also nicht abschrecken - Arbeit ist es so oder so.
  3. Wenn deine Vuforia-App nur einen schwarzen Bildschirm anzeigt, dann liegt das vermutlich an den Vuforia-Einstellungen. Ich hab da ein bisschen mit rumgefummelt, bis ich gemerkt hatte, dass ich intuitiv Blödsinn eingestellt hatte, bevor ich das erste Mal gebuildet habe. Im Zweifelsfall mal die Vuforia-Einstellungen komplett zurücksetzen. Jedenfalls wird die App direkt über USB installiert. auf dem Speicher des Telefons bleibt dabei keine apk übrig. Ähnlich wie beim Play Store - da installierst du das ja auch direkt und lädst nicht manuell die apk herunter. Option 2: Wo auch immer du willst. Wenn du eine File Manager-App hast, kannst du die apk damit von überall aus öffnen. Wenn nicht, empfiehlt sich natürlich der Download-Ordner des Geräts, weil man auf den ja auch ganz gut mit den üblichen vorinstallierten Apps zugreifen kann.
  4. Sascha

    Allgemeine Fragen über Datenaustausch in Unity

    1) Du hast mehrere Möglichkeiten: Statische Variablen ScriptableObjects als Datencontainer Objekt(e) mit DontDestroyOnLoad Das ist auch in absteigender Reihenfolge - nimm also am liebsten erstmal eine statische Variable oder zwei. ScriptableObjects sind etwas komplizierter anzuwenden, erlauben dafür aber Injection. DontDestroyOnLoad wird oft als allererstes empfohlen, ist aber keine besonders schöne Sache, und dazu noch unnötig, wenn keine UnityEngine-Komponenten überleben müssen. 2) Wenn du von UnityEngine.Events.UnityEvent redest, dann ja. In der Regel stellt sich bei näherer Betrachtung heraus, dass es für jeden Fall, in dem man mehr Parameter übergeben will, eine architektonisch elegantere Lösung gibt.
  5. OnCollisionExit wird nicht getriggert?
  6. Sugarbaby

    von PC auf iPad

    Danke für die Info!d Versuche es jetzt mit einer Ausgabe auf ein Android Tablet...
  7. Hallo, ...wahrscheinlich voll popelig für Euch - habe´ keine Android-Erfahrungen: Frage - wo also die .apk meiner Unity/Vuforia Anwendung am Tablet, wenn ich in Unity via "Build And Run" das Ganze angestossen habe? Der Bildschirm am Tablet jedenfalls wird und bleibt schwarz! ...oder Option 2: Wie bekomme ich eine mit nur "Build" erstellte .apk Anwendung auf das Tablet, bzw. wo soll ich die Datei hinkopieren? Oder aber mittels "Senden an" zum Tablet schicken? Hmmm´....
  8. Today
  9. Mir sind einige Dinge bei Unity noch weiter Unklar, vieleicht könnte mir da einer etwas erhellung bringen. 1) Wie kann ich dich Daten zwischen 2 Scence austauschen ? Als Beispiel: Im Hauptmenu defeniere ich die größe der Spielwelt und noch ein paar andere Parameter. Im eigentlichen Spiel will ich jetzt diese Daten nutzen, wie komme ich da jetzt dran ? Unter normalen Code umständen würde ich eine Klasse definieren die ich als Parameter der Startklasse der neuen Scence übergebe. Wie funktioniert so was in Unity ? 2) Täusche ich mich, oder gibt es keine möglichkeit im UnityEditor einer Methode mehr als einen Parameter mitzugeben ?
  10. Hi Entwickle ein System zum bauen von Gebäuden und Einrichtung. Wenn ich eine Fackel an eine Wand baue und die Wand danach wieder lösche, soll die Fackel benachrichtigt werden und entweder herunter fallen oder zerstört werden. Das ist leider ziemlich kompliziert. OnCollisionStay kommt nicht in Frage, obwohl ich damit ein ganzes System entwickelt habe (da die Funktion für jede Collision einzeln aufgerufen wird, musste ich dem Objekt erst Rigidbody hinzufügen, eine Liste erstellen, paar Frames warten mit Coroutine, nur um alle relevanten Collider zu erhalten). Zudem funktioniert es nicht mit MeshCollider. Am einfachsten wäre es, wenn die "anderen" Objekte sich selbst testen würden. Also erst noch mit OverlapBox finden, aber dann muss ich für jedes Objekt extra dafür "ausrüsten", welche grösse der OverlapBox etc. Ich könnte beim Bauen auch eine Referenz erstellen. Wird aber beim Laden eines Spielstandes lustig, für alle Objekte die Referenzen zu finden. Gibt es da keine elegantere Lösung?
  11. HenriChinasky

    Shadowmask ohne Indirect möglich?

    TLDR: Gibt es keine Möglichkeit einfach nur die Shadowmap zu baken und auf die ganzen anderen Beleuchtungstechniken zu verzichten? Hallo Leute, ich habe eine Scene mit einem Terrain und einem relativ großen und komplexen - begehbaren - Gebäude darauf. Es gibt bisher ein Directional Light (Sonne) und 10 Point Lights im Foyer des Gebäudes. So wie es aussieht bin ich damit sehr zufrieden. Nun führen die 10 Point Lights auch im Deferred Mode natürlich zu erheblichen Performance-Einbußen, wenn sie alle Echtzeitschatten berechnen sollen. Auch stört, dass - selbst bei längerer Schattenreichweite - die direktionalen Schatten des Gebäudes in der Entfernung nicht sichtbar sind. Ich vermutete ein leicht zu lösendes Problem: Mixed Lighting für das Directional Light und Baked Lighting für die 10 Point Lights im Foyer. Lighting Mode: Shadowmask. Wie gesagt, ich bin total zufrieden damit, wie es aussieht, ich würde einfach nur gerne die bestehende Shadowmap beim Directional Light in der Entfernung und bei den Point Lights dauerhaft anzeigen lassen. So wie es aussieht jedoch, ist das Baken der Shadowmap alleine gar nicht möglich? Wenn ich mit den folgenden Einstellungen einen Bake durchführe (der locker 6 Stunden dauert), dann sieht plötzlich der gesamte Innenraum super billig aus. Schatten kann ich keine erkennen. Es sieht irgendwie aus, als gäbe es überhaupt keine Lichter. Die Schatten des einen Directional Lights hingegen (Mixed) sind jedoch super. Da ich auf das ganze GI Gedöns erst einmal gerne verzichten würde, so lautet meine Frage: Gibt es wirklich keine Möglichkeit einfach nur die Shadowmap zu baken?
  12. Yesterday
  13. nordseekrabe

    Inventar und Objekte

    Guten Abend, Jolinah, besten Dank für Deine Antwort. Ich hatte es schon befürchtet, dass das mit dem "alten" OnGUI() zusammenhängen könnte. Das Auskommentieren von RemoveDublicats() hat leider keinen Erfolg gebracht. Mit dem neuen GUI habe ich schon heftige Kämpfe ausgefochten, es gibt ja eine Vielzahl von (vermeintlichen) Tutorials hierzu. Meine Unwissenheit und häufig die Kompliziertheit der Beispiele (eigentlich möchte ich doch nur einige Objekte in den Szenen sammeln und dann für irgendwelche Tasks einsetzen und nicht 'Stacken' und 'Typisieren' und und..) haben mich bisher (wieder einmal) scheitern lassen. Ein guter Tipp zu einem einfachen(!!!) Inventory wäre also eine sehr große Hilfe ! Euch allen wünsche ich eine gute neue Woche und grüße wie immer von der Ostseeküste Nordseekrabbe
  14. Jolinah

    Objekte befinden sich außerhalb des Sichtbereichs

    Hallo, Vermutlich liegt es daran, dass für das Drop nur das erste mögliche Objekt in betracht gezogen wird. Die darunterliegenden Objekte erhalten dann keine Benachrichtigung mehr. Dem kann abgeholfen werden, indem beim GameField-Objekt bei der Image-Komponente das Häkchen "Raycast Target" deaktiviert wird. Somit kommt das GameField nicht mehr für Maus-Eingaben in Frage, nur noch die darunter liegenden Buttons. Falls zwischen GameField und den Buttons nochmal ein Objekt ist, müsste dort das "Raycast Target" ebenfalls deaktiviert werden. Wenn Die Buttons auch von links nach rechts gezogen werden können, dann müsste beim ToolField das gleiche gemacht werden. Ansonsten könnte es noch an der Reihenfolge liegen. Beim OnDrag müsste evtl. das gezogene Objekt ganz nach vorne gebracht werden (z.B. via Z-Position oder in der Szene ganz nach unten verschieben, indem das Objekt während dem Draggen direkt als letztes Child des Canvas eingefügt wird, auf der gleichen Ebene wie GameField und ToolField.)
  15. Jolinah

    Inventar und Objekte

    Solche Fehler können oft in OnGUI() passieren. Die Ursache ist, dass OnGUI() mehrmals pro Frame aufgerufen wird, z.B. einmal für eine Layout-Phase und dann um die GUI-Elemente effektiv zu zeichnen. Das heisst, zwischen mehreren OnGUI()-Aufrufen während dem gleichen Frame darf sich der Zustand auf keinen Fall verändern (z.B. die Anzahl Items). Da es nur bei einem Szenenwechsel passiert, kann es eigentlich auch nur Code sein, der bei einem Szenenwechsel ausgeführt wird. Das einzige was ich da sehe ist RemoveDublicates(). Evtl. kannst du den Aufruf dieser Methode in OnLevelFinishedLoading() mal auskommentieren, um zu schauen ob das Problem dort liegt. Je nach dem könntest du das GUI auch mit den neuen Canvas- und Image-Objekten etc. machen, statt mit OnGUI(), dort gibt es deutlich weniger Probleme dieser Art. Allerdings funktioniert es auch ganz anders als OnGUI() und da muss man sich natürlich zuerst wieder einarbeiten...
  16. Last week
  17. MustafGames

    Handy Google komplett weg

    Schade na ich probier mal mein Glück, danke
  18. nordseekrabe

    Inventar und Objekte

    Da ich immer noch beim Inventory und den Objekten bin, bleibe ich mal in diesem Thread...ich hoffe, das ist okay ? Wenn ich die Szene mit 2 oder mehreren Objekten im Inventar verlasse, bleiben sie lediglich für einen Szenenwechsel vorhanden, beim nächsten Wechsel sind sie gelöscht, mit der Fehlermeldung: GUI Error: You are pushing more GUIClips than you are popping Was ist das denn ? Das Inventory-Script ist oben noch vorhanden, habe allerdings die if-Bedingung(nur!! das if) mit GUI.Button und die folgenden Befehle gelöscht (print und RestoreFrom....); hinzugefügt ist das Szenenwechsel-Script, was jedem Objekt, das mit aus der Szene mitgenommen werden soll, zugewiesen bekommt. using UnityEngine; using UnityEngine.SceneManagement; public class Szenenwechsel : MonoBehaviour { [HideInInspector] public Aktionsmanager aktionsManager; InteraktivesElement interaktivitaet; public Room zimmer; public enum Room { Arbeitszimmer, Badezimmer, Bibliothek, Diele, Kueche, Wohnzimmer } void Start() { aktionsManager = GameObject.Find("Aktionsmanager").GetComponent<Aktionsmanager>(); interaktivitaet = GetComponent<InteraktivesElement>(); } void OnMouseDown() { if (aktionsManager.aktuelleAktion == "Gehe zu" && interaktivitaet.begehbar) { // die Diele ist der Startraum if (zimmer == Room.Arbeitszimmer) SceneManager.LoadScene(7); if (zimmer == Room.Badezimmer) SceneManager.LoadScene(8); if (zimmer == Room.Bibliothek) SceneManager.LoadScene(9); if (zimmer == Room.Kueche) SceneManager.LoadScene(29); if (zimmer == Room.Wohnzimmer) SceneManager.LoadScene(38); } } } Inventar als empty GO mit zugewiesenem Inventory-Script und DontDestroyOnLoad(gameObject)-Script ist als Prefab in jeder Szene. Wie komme ich aus diesem Dilemma. Wie immer, jeder Tipp hilft lernen und weiterkommen; besten Dank und schönes Wochenende Gruß Nordseekrabbe
  19. TheOnlyOne

    Ihandler Event in anderen Klasse benutzen.

    Vielen Dank für die ausführliche Erläuterung Jolinah, jetzt verstehe ich das langsam. 😊
  20. Heiner Müller

    Objekte befinden sich außerhalb des Sichtbereichs

    Hallo, Jetzt quält mich doch wieder etwas seit längerer Zeit. Meine Szene besteht aus einem Canvas mit zwei Paneln als Child-Objekte darunter, auf dem Screenshot zu sehen als linker und rechter Teil. Jedes Panel hat ein eigenes Script und benutzt einen eigenen Button-Prefab mit jeweils eigenem Script, also P1 -> S1 und PF1 mit PFS1, P2 -> S2 und PF2 mit PFS2. Ich schaffe es, im rechten Teil Drag and Drop zu benutzen, also z.B. die Glühbirne im rechten Teil - rechten Objekt - zu verschieben. Desgleichen funktioniert im linken Teil mit den linken Objekten. Was ich absolut nicht bewerkstelligt bekomme ist ein Bewegen eines Objekts aus der rechten Seite zu der linken oder andersherum. Ich möchte z.B. die stylische Glühbirne rechts nacht links ziehen - das funktioniert - und dort droppen mit dem Effekt, dass das betroffende Feld zu einer Glühbirne wird. Ich weiss, dass ich diese Mutation des Feldes im Script lösen muss und habe auch schon eine entsprechende Funktion nebst Variablen. Mein Problem ist nun, dass auf der linken Seite der IDropHandler nicht aufgerufen wird. Haben Sie eine Idee, woran das liegen könnte? Wonach muss ich suchen?
  21. Sascha

    Handy Google komplett weg

    Nope, kenne keine.
  22. MustafGames

    Handy Google komplett weg

    Handy ist gerooted, alles funktioniert nur die Google Sachen nicht. Kannst du mir ein Android-Forum empfehlen?
  23. ONeillsBude

    Charakter mit Rücken zur Wand drehen

    Das ist genau das was ich will, vielen Dank!
  24. Sascha

    Charakter mit Rücken zur Wand drehen

    Niemals an einem Quaternion selber Werte ändern, das bringt dir nichts, selbst wenn du verstanden hast, wie die Dinger funktionieren Quaternion.FromToRotation bringt dir hier auch nichts. Was du willst, ist eher var horizontalNormal = hit.normal; horizontalNormal.y = 0; transform.forward = horizontalNormal;
  25. malzbie

    Unet oder aufs Neue networking warte

    Ich würde an deiner Stelle jetzt schon mal anfangen, denn dann lernst du auf jeden Fall, worauf es beim Netzwerkspiel ankommt. Da gibt es viele Logik-Hürden, die immer da sind. Egal, wie du die Infos von Rechner zu Rechner bringst.
  26. Hallo, ich habe versucht mit meinen Charakter irgendwie zur Wand zu drehen, habe im Internet auf englischen Seiten schon Tipps gefunden wie das geht und habe mir das Script zusammen gebaut: using System.Collections; using System.Collections.Generic; using UnityEngine; public class WandCheck : MonoBehaviour { public Transform player; RaycastHit hit; // Use this for initialization void Start () { player = GameObject.FindWithTag("PlayerKopf").transform; } // Update is called once per frame void Update () { Debug.DrawRay (player.transform.position, transform.forward, Color.cyan); Vector3 Richtung = Vector3.up - player.transform.position; if (Input.GetKeyDown (KeyCode.B)) { if (Physics.Raycast (player.transform.position, player.transform.forward, out hit, 0.5f)) { var hitRotation = Quaternion.FromToRotation (Richtung, hit.normal); transform.rotation = hitRotation; Debug.Log (hitRotation); } } } } Am Anfang schien es auch zu funktionieren, als ich die erste Wand vor mir ausprobiert hatte, doch irgendwie stellen die anderen Wände meinen Charakter irgendwie schief hin, oder werfen den Charakter komplett auf die Seite. Woran kann es liegen das der Charakter nicht immer zur Wand schaut, wie er soll? Und wie kann ich den Charakter mit dem Rücken zur Wand drehen? Wenn ich versuche die transform.rotation.x und z zu ändern, damit mein Charakter wenigstens gerade steht bekomme ich den Error: error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.rotation'. Consider storing the value in a temporary variable. So sieht das dann in meinem Spiel aus:
  27. jan1267

    Wie beleuchte ich gleichmäßig?

    @Sascha und @malzbie danke für eure Antworten. Tatsächlich war das kein einzelner Cube sondern ein Feld von 64 Cubes von Unity (also nicht importiert). Tatsächlich ist es bei einem Directional Light so ungleichmäßig beleuchtet, obwohl ich dachte das es alle Dinge die der Vektorpfeil trifft gleich beleuchtet. Naja auf jeden Fall habe ich das Problem gelöst in dem ich den Render Mode des Lichts auf Not Important gesetzt habe. Nun sind alle Cubes gleich stark beleuchtet. Bei meinem Projekt werden nämlich 8x8 Pixelbilder projeziert und deswegen sollten alle Pixel vom Licht her gleich aussehen
  28. Sascha

    von PC auf iPad

    Für iOS-Apps braucht man XCode, und dieses darf aus Lizenzgründen nur auf Apple-Systemen laufen. Apple will halt nicht, dass Leute ihr Ökosystem verlassen; ziemlicher Dick Move, wenn du mich fragst. Die Option zum Export für iOS und MacOS hast du auf Windows und Linux trotzdem, weil Unity dir ein XCode-Projekt rausschmeißen kann, das du dann auf einem Apple-System mit XCode kompilieren kannst. Das Apple-System braucht dann kein Unity mehr installiert zu haben.
  29. Sugarbaby

    von PC auf iPad

    Hallo, mein Unity/Vuforia Projekt soll auf das iPad. Kann es sein, das dies nicht funktioniert? Der Ordner, wohin ich exportiere, ist leer. Habe´ irgendwo auf YouTube aufgeschnappt, das man dafür einen Mac bräuchte. Stimmt das? Falls Ja, stellt sich mir die Frage, warum die iOS-Version zum Export im PC zur Verfügung steht? Cheers, SB
  1. Load more activity

Announcements

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

Weiterleitung zum Entwickler "daubit"



×