Jump to content
Unity Insider Forum

Leaderboard


Popular Content

Showing content with the highest reputation since 07/06/2020 in all areas

  1. 2 points
  2. 2 points
    So alle Demos sind fertig. Ich habe mir jetzt noch einen Shader in Blender gebaut um Decals in die Texturen zu baken. Mit dem kann ich diesen Dirt-Effekt erzeugen und sie dann mit dem UV-Editor platzieren. Da muss ich jetzt noch ein paar von machen und dann ab in den Store.
  3. 2 points
    Ein paar Vibro Schwerter die ich für denn Nahkampf erstellt habe https://sketchfab.com/3d-models/star-wars-vibro-swords-92ba8bd901f34d7ea2a9348e837e940a
  4. 1 point
    https://docs.unity3d.com/Manual/ProfilerWindow.html Damit du weißt, wie du anfangen kannst
  5. 1 point
    Hallo Unity hat ja einen eingebauten Profiler. Damit kann man mit etwas Übung sehr genau erkennen, was Zeit kostet. Wenn du aber nix in der Szene hast, hilft vielleicht auch einfach ein Neustart oder ähnliches. Christoph
  6. 1 point
  7. 1 point
    Ja, weil's bei beiden Halbsätzen relevant war... hust
  8. 1 point
    Hab das Video jetzt mal nicht geschaut, gehe darauf also nicht ein. ScriptableObjects sind super dafür, um statische Daten, die nicht Teil einer Szene sein sollen, im Editor einzustellen und ins Spiel zu bringen. Sie sind auch noch dafür gut, statischen Code Dependency Injection-fähig zu machen (hust). Dafür muss man aber ein bisschen initiale Arbeit reinstecken (hust hust). Wofür sie weniger gut sind, ist Datenverwaltung zur Laufzeit. Wenn du dir ein beliebiges RPG vorstellst, wo eine Waffe auf dem Boden erscheint, nachdem ein Gegner besiegt wurde, dann ist es nicht sinnvoll, für dieses Schwert ein neues SO zu erzeugen. Da du die Eigenschaften des SOs zur Laufzeit generierst und nicht im Editor einstellst, ist ein ganz normales Objekt genauso sinnvoll - alles, was dir ScriptableObjects über normale Objekte hinaus anbieten (Serialisierung von Werten und Dependency Injection im Editor), nutzt du in diesem Moment nicht mehr. Dafür hast du dann aber leider ein UnityEngine.Object, welches (auch) in der C++-Welt existiert und manuell mit Destroy zerstört werden muss. Letztenendes machst du mit ScriptableObjects am besten nichts anderes, als du auch mit einer XML-/Json-/Sonstwas-Datei oder SQL-Dingen gemacht hättest: Eine Datenbank erstellen. Diese Datenbank besteht aber aus einer Datei pro Zeile/Objekt, die du im Editor editieren und per Drag and Drop irgendwo zuweisen kannst, und das ist sehr geil Wenn du also eine Item-Klasse hast, z.B. "Holzschwert", und der Gegner lässt davon eins fallen, dann machst du am besten keine Kopie deines Holzschwert-SOs, sondern erstellst lieber ein neues Objekt einer Item-Instanz-Klasse, die ihr Item-Klasse-Objekt (also das "Holzschwert"-SO) referenziert. So als simples Codebeispiel: public class TreasureChest : MonoBehaviour { [SerializeField] private ItemClass containedItemClass = default; // ItemClass ist eine ScriptableObject-Klasse public void Open(Player player) { player.inventory.AddItem(new Item(containedItemClass)); } } Kann man natürlich hübscher oder ganz anders machen, aber so als Idee. Wovon ich auf jeden Fall abraten würde, wenn du dafür nicht gute Gründe hast (und die gibt es allerdings), ist das: Solange du die Möglichkeit hast, mit Referenzen zu arbeiten, solltest du keine IDs, egal ob int oder String oder sonst etwas, nehmen. Beim Schatzkisten-Script da oben ziehst du das Apfel-SO in die Schatzkiste. Dann wird ein neuer Apfel erzeugt und dem Spieler gegeben, wenn man die Kiste öffnet. Da gibt's keine Möglichkeit, sich zu vertippen oder versehentlich die falsche ID einzutragen.
  9. 1 point
    Vor ein paar Jahren hatte ich glorreiche Idee mein ganz eigenes 3D RPG zu entwickeln.... Nach meiner Abschlussprüfung habe ich zwei Jahre lang an einem C# Projekt gearbeitet. Hier habe ich schwere Techniken von einem Kollegen übernommen, bei denen ich verdammt lange gebraucht habe, um sie zu verstehen und gleichzeitig zu akzeptieren, dass man manche Magie einfach nicht verstehen kann, weil sie zu sehr versteckt ist. Ich habe jeden kleinen Schritt praktisch alleine lernen müssen, weil wir nicht wirklich C# Entwickler im Unternehmen hatten und mir alle nur halb helfen konnten. Am Ende hat das aber dazu geführt, dass ich wusste, dass ich NIEMALS mit einem 3D RPG fertig werden würde. Denn selbst, wenn ich die Programmierung schaffen würde, bliebe noch der Rest. Objekte, Animationen, Multiplayer.... Ohne Team klappt es nicht und da ich selber nie weiß, wann ich wie viel mache, macht es auch keinen Sinn eins zusammen zu stellen. Am Ende ist mir also genau das passiert, was vielen Anderen, die sich übernehmen auch immer gesagt wird... Ich habe mich übernommen! Aber ich will den Traum vom eigenen Spiel nicht aufgeben. Wenn ich etwas im Programmierer-Alltag gelernt habe, dann, dass man eh nie alles wissen kann und einfach anfangen muss. Ich weiß nun wo meine Stärken und Schwächen sind, weil ich die Basics nun besser beherrsche. Nur das Ziel muss kleiner gesteckt werden, damit ich zum Erfolg komme. Auf Minispiele habe ich zwar trotz dem keine Lust, dafür aber auf eine Simulation in 2D. Assets lade ich mir erstmal runter und gucke mir alles ganz in Ruhe an. Ich denke es ist vor allem wichtig nicht komplett aufzugeben, wenn man von der Realität eingeholt wird...
  10. 1 point
    Also wenn du es es kürzlich gekauft hast, ohne nachzuschauen wann das letzte Update war, dann ist es schon ein wenig deine Schuld. Aber im Store kann sowas immer mal wieder vor kommen. Ich hatte selber mal ein kleines Helferlein für AA gekauft (bevor unity selbst bessere AA Möglichkeiten geboten hatten). Nach einem Update von unity hat das Tool nicht mehr funktioniert und auch ich hatte den Entwickler kontaktiert. Der wollte sich zwar kümmern, aber es ist nie was draus geworden. Klar, ich kann das Tool bis zu einer gewissen Unityversion nutzen, trotzdem ist es ärgerlich. Also wenn du das Asset erst kürzlich erworben hast, dann melde dich bei Unity. Wenn du das Asset schon länger hast, dann wirds nichts werden. Du kannst aber auch die veralteten Codeteile selber korrigieren, falls du die Fehlermeldungen verstehst. Ich gehe davon aus, dass einfach nur gewisse Codeteile durch neuere Varianten ersetzt werden müssen.
  11. 1 point
    https://support.unity3d.com/hc/en-us/articles/205060439-How-do-I-request-a-refund-on-an-asset- Wenn der dir Müll verkauft hat musst du dich nicht auf den Publisher verlassen. Wenn du allerdings irgendetwas überlesen hast (z.B. dass das Asset für Unity 5 ist oder so), dann ist's deine Schuld. Ansonsten kannst du direkt zu Unity gehen und da Bescheid sagen.
  12. 1 point
    Hallo Also ich nutze hub und habe dann für die verschiedenenen Versionen auch verschiedene Ordner. Alles ohne eigenes Zutun. Christoph
  13. 1 point
    Hallo, ich bin es mal wieder.🤗 Ich bin fast fertig mit meinem neuen Asset. Dieses mal werden es Lampen. Das Asset enthält 40 verschiedene Lampen, u.a. Bodenlampen, Wandlampen, Straßenlampen, Deckenlampen, Tischlampen, Baustellenlampen, Gartenlampen, LEDs und Leuchtstoffröhren. Einige davon sind in 5 verschiedenen Farben vorhanden. Damit sind es insgesamt 111 Prefabs für alle 3 Render Pipelines (Builtin, URP und HDRP). Hier schon mal ein paar HDRP Screenshots. Ich würde mich über eure Meinung freuen, egal ob positiv oder negativ. Details müssen sein auch wenn sie in einem Spiel sowieso keine beachtet. 🙂 So, genug Bilder Spam. Ich freue mich auf eure Kommentare. Dirk
  14. 1 point
    Hallo Ich finde, das sieht toll aus. Christoph
  15. 1 point
    Benutzt du wirklich UNet oder Mirror (nachfolger)? UNet ist nämlich veraltet. Würde empfehlen Mirror zu benutzen, weil es wirklich gut verbessert wurde. Daher kann nun sein, dass ich paar Dinge sage, die vllt bei UNet nicht gibt. UNet ist so aufgebaut, dass jedes Client seine eigene Variable verändern kann, allerdings über den Server. Diese Variablen werden über das Netzwerk synchronisiert (also auch andere Clients können das mitbekommen, wenn so eingestellt ist). Das wäre eine Möglichkeit um damit zu arbeiten. Der andere Spieler könnte nun einfach diesen Wert lesen. Möglichkeit zwei. Wenn es nur zwei Clients sein sollen, dann ist das leichter. Du führst ein Command aus. Beispiel CmdSendIntegerToOtherPlayer(int intValue) In der Funktion wird nun der Server den ändern Spieler (ich sage bewusst Spieler und nicht client) finden sein Wert aktualisieren. Wenn es syncvar ist, dann geht es automatisch und wenn normale Variable ist, dann kann man zusätzlich TargetRpc benutzen. Damit kann man gezielt an ein Spieler senden. Es gibt auch kompliziertere Wege mit dem MessageSystem.
  16. 1 point
    Hallo, danke für Deine Antwort. ich habe sämtliche Dokumentationen durch. Selbstverständlich habe ich auch danach gegoogelt. Ich verstehe nur nicht wo ich nach den Classen suchen soll.
  17. 1 point
    Was du schreibst, klingt alles richtig. Was macht das Time-Script denn? Je nach dem, was es macht (und wie!), wäre eine Umstellung auf static sinnvoll oder eher weniger.
  18. 1 point
    5378 Tris 2048 Texture auflösung Albedo, Metallic, Roughness, normal und AO maps sind drauf :). Erstellt in Blender und Substance Painter.
  19. 1 point
    Sieht wie alles super aus. Mich als Modellierer würde interessieren wie viele Tris das Modell hat und wie groß die Textur ist und welche Map drauf sind (Normal, ecc.) Lg Ricky-W
  20. 1 point
    kommt immer auf die komplexität de modells an und wie viel Zeit man sich nimmt, ich habe heute ein Stun Baton Modelliert und texturiert und das ganze hat nur knapp 2 stunden gedauert https://sketchfab.com/3d-models/star-wars-stun-baton-7ad65674c6894171a9ffa6ad58b716ba
  21. 1 point
    Das sieht echt super aus. Ich möchte nicht wissen wieviele Stunden das gedauert hat. 🙂
  22. 1 point
    Moin. Das sieht echt cool aus. Hast du die ganzen Modelle alleine erstellt und texturiert?
  23. 1 point
    Ohh man hab den Fehler gefunden. Bevor ich den Code schicken wollte ist mir aufgefallen das ich rb.MovePosition(....); in Update calle. Naja was soll ich sagen man sollte Physic Based Code in Fixed Update callen. Danke Leute
  24. 1 point
    @Ricky-W hat höchstwahrscheinlich Recht - das Problem ist nicht direkt die Auflösung, sondern die damit verbundene Änderung in der Framerate. Wenn man sein Spiel nicht von vorne bis hinten framerate-unabhängig baut, dann passiert so etwas. Keine Sorge, passiert auch den besten Für komplett lineare Vorgänge Time.deltaTime draufmultiplizieren, für alles andere (was hinreichend wichtig für dein Gameplay ist) FixedUpdate (Unitys oder ein eigenes) benutzen.
  25. 1 point
    Hallöchen, probier beim Game-Fenster, wo du Vollbild klickst, daneben bei Stats zu drücken, dann wirst du wahrscheinlich sehen das bei großen Bild die FPS runter gehen.
  26. 1 point
    https://docs.unity3d.com/Manual/IL2CPP.html Naja so wie ichs verstanden habe ist das ne alternative zu mono. Kannst dir ja mal die Doku anschuauen aber ich sehe jetzt nicht was für Probleme das verursachen würde es zu deaktivieren. Korrigiere mich ruhig wenn ich falsch liege. Gruß Peanut.
  27. 1 point
    Die Projekt-Settings sind im Projekt im Folder "ProjectSettings" gespeichert. Mach am besten ein Backup vom gesamten Projekt wenn du sicher gehen willst das du nichts verlierst (den Library-Folder kannst du aussparen) Was macht Unity wenn du "No" drückst, bricht er dann das Laden des Projektes einfach ab oder läd er deinen lokalen Projektstand? Collab ist ein Sourcecode-Repository und wenn der Stand auf dem Server mit deinem lokalen Stand nicht identisch ist dann macht er normalerweise einen Abgleich mit dem Stand auf dem Server und deinem lokalen Stand (daher kommt diese Abfrage). Ich kenne aber diese Stände nicht, es kann sein das jemand der ebenfalls auf das Projekt zugreift ein oder mehrere Projektsettings geändert hat und diese Änderung wird nun bei dir "nachgezogen" wenn du nun "Yes" drückst, das wäre ganz normal. Es kann auch sein das Unity komplette Settings-Dateien nachzieht und nicht nur ein einzelnes Setting, das wäre aber auch in Ordnung. Wenn du also "Yes" drückst dann ist es gut möglich das du einige Änderungen deiner lokalen Projektsettings verlierst, wenn jemand die gleichen Settings bereits auf dem Server geändert hat. Es kann auch gut sein, dass wenn du jetzt "No" drückst er deinen lokalen Projektstand erst einmal läd und du die Änderungen des Server auch noch nachträglich nachziehen kannst (damit verlierst du erst einmal nichts). Schau dir am besten einmal dazu die entsprechende Dokumentation von Collab an, ich denke dort ist es erklärt. Eine Differenz zwischen deinem lokalen Stand und dem Stand auf dem Server kann zu einem Konflikt führen. Ich vermute Collab bringt dieses Fenster weil es einen Konflikt bei den Projekt-Settings erkannt hat und diesen nicht automatisch lösen kann. Hier ist beschrieben wie du Konflikte auch nachträglich lösen kannst: https://docs.unity3d.com/Manual/UnityCollaborateResolvingConflicts.html Solltest du diesen Konflikt nicht lösen, dann wird Collab diese Meldung vermutlich immer wieder bringen, wenn Unity versucht deinen lokalen Stand mit dem Stand auf dem Server abzugleichen.
  28. 1 point
    Du kannst das globale Grid verwenden, einfach dieses Icon dort aktivieren. Man kann hier die Grid-Size auch anpassen (default ist 1.0 1.0 1.0) , wenn du mal die Kachel-Größe des Tilemap-Grids verstellen solltest.
  29. 1 point
    Das ist kein Problem, die Grid-Klasse ist nicht dafür da, Linien anzuzeigen. Dass du in der Scene View Linien siehst ist nur zur Veranschaulichung. So, wie du eine grüne Form siehst, wenn du einen Collider anklickst.
  30. 1 point
    Hab mal schnell einen Projektor gebastelt: Vergleich Projektor und Terrain Brush: Ist also denke ich kein "normaler Projektor". Ein Projektor wandert nicht mal eben zur Spitze es Meshes rauf
  31. 1 point
    Hi, ich habe die Schrauben mal in Surforge als Detail Modelle eingebaut und das ganze funktioniert echt gut. Das Asset wird dann auch gleich ein Icon Set haben für alle die auch Surforge nutzen. Mit Surforge kann man viele Details sehr einfach zu Objekten hinzufügen ohne das es auf die Performance geht, da alles in Texturen gebacken wird. Das sind dann keine echten Modelle mehr aber perfekt für Mobile oder Details die der Spieler sowieso nicht erreichen kann. Wer das nicht kennt hier mal der Link. Surforge Asset Store
  32. 1 point
    Gerne! Und das ist ganz normal beim Programmieren, dass man da manchmal Stunden oder sogar Tage oder Wochen keine Lösung für etwas bestimmtes findet. Die Kunst ist es glaube ich durchzuhalten, bis man bei den meisten Problemen die Lösung für selbstverständlich hält.
  33. 1 point
    Der Fortschritt dieser Woche. Fusiongeneratorsupplytank Sketchfab: https://sketchfab.com/models/69caaf6197fd45d080514bb92cbab464 V-35 Courier Landspeeder Sketchfab: https://sketchfab.com/models/3699273b284e4bbc8e150221d444bbaa
  34. 1 point
    Khetanna heißt das Werk der letzten 3 tage :). Jabbas persöhnliche luxus Jacht. Details wie bewaffnung werde ich später nochmal extra machen :).

Announcements

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

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...