Jump to content
Unity Insider Forum

devandart

Members
  • Content count

    373
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by devandart

  1. devandart

    dynamische Summen bilden mit Linq

    Du iterierst durch alle Parzellen. In jedem Loop nimmst Du dir die aktuelle Parzelle und bildest die Summe aller in der Parzelle befindlichen Elemente. Danach addierst Du zur Gesamtsumme die jeweilige Summe der Parzelle. Du hast dann also "gesamtsumme", wo die... Gesamtsumme aller Parzellen enthalten ist und die parzellenSumme pro Loop, die die Summe deiner Parzelle abbildet. Sollte also so passen.
  2. devandart

    dynamische Summen bilden mit Linq

    Oder man fasst es noch kürzer zusammen... Gib mir die Summe aller Parzellen gebildeten Summen. float gesamtsumme = parzellen1.Sum(parzelle => parzelle.Summebilden()); Debug.Log(gesamtsumme);
  3. devandart

    Rotierende Gondel

    Java nützt Dir nichts, weil Unity Java nicht als Programmiersprache unterstützt. Unity Script, welches Javascript ähnelt, wird wohl auch nicht mehr unterstützt, sondern nur noch C#. Als Beispiel könntest Du Dein drehendes Objekt nehmen und diesem unsichtbare GameObjects unterordnen, welche deine "Ankerpunkte" sind. Nun kannst Du deiner Plattform, welche sich nicht um die Z-Achse rotieren soll eine Komponente geben, welche ungefähr so aussieht [SerializeField] //macht private Felder im Inspector sichtbar private Transform ankerpunkt; //kannst Du dann im Inspector dem Objekt zuweisen void Update() { transform.position = ankerpunkt.position; //das Objekt bekommt die Position von dem zugewiesenen Ankerpunkt, wird aber nicht rotiert } Oder Du lässt Deinen Aufbau wie gehabt mit den Cubes unterhalb des drehendes Objekts und setzt die Rotation auf den Cubes jeden Frame zurück void Update() { transform.rotation = Quaternion.Identity; }
  4. devandart

    Bleib da doch stehen!

    Vielleicht findest Du in diesem, auch recht frischem Thread ein paar Denkanstöße... Wenn Du Rigidbody bzw. Physics benutzt, sind da sicherlich ein paar coole Hinweise drin. Wenn Du eigene Pseudo Physik nutzt für die Steuerung, würde ich @malzbies Tipp beherzigen oder ein Skript schreiben, welches bei Berührung der Plattform die Position des Spielers relativ dazuaddiert. Aber transform.parent ist bestimmt einfacher in dem Fall.
  5. Der einfachste Grund, wieso ein Text nicht angezeigt wird ist, dass die Textbox für den aktuellen Text zu klein ist. Ziehe diesen mal zur Laufzeit größer und schaue, ob dein Text dann sichtbar ist. Wenn ja, musst Du die Laufzeitskalierung anpassen oder in der Text Component zum Testen mal Best Fit anhaken. Ein Prefab kann beim Instanzieren / Hinzufügen zu einem Canvas dennoch manchmal seine Eigenheiten haben.
  6. devandart

    Rigidbody rutscht auf beweglichen Plattformen

    Zu dem Punkt: Genau deswegen solltest Du lieber OnTriggerEnter2D nutzen, statt Stay. Weil dieses Event nur beim Eintritt ausgelöst wird. OnTriggerExit2D dann, wenn Du den Trigger wieder verlässt.
  7. devandart

    Rigidbody rutscht auf beweglichen Plattformen

    Nur Brainstorming: Eine Idee wäre, den Rigidbody vom Charakter bei Kollision auf Kinematic zu setzen und der Plattform als Child unterzuordnen, solange bis ein Player (oder anderer) Input kommt. Eine andere, den Rigidbody über einen Joint mit der Plattform zu "verknoten". Auch bis ein Input oder sonstiges dieses unterbricht. Mal schauen, was noch für schöne Vorschläge kommen oder was Du herausfindest.
  8. Um IK in Unity zu nutzen, musst Du diese nach dem Import des Models einrichten. Da Unity IK (für nicht humanoide Objekte) aber nicht von Haus aus unterstützt, brauchst Du dafür eine externe Lösung, wie z.B. diese hier https://assetstore.unity.com/packages/tools/animation/final-ik-14290 Welche da aber schlechter oder besser ist, kann ich leider nicht beurteilen.
  9. Um den größten Wert in einem int Array zu finden, kannst Du auch LINQ nutzen. Beispiel: //über deiner klasse LINQ einbinden using System.Linq; //irgendwo in deiner Funktion var arr = new int[] { 1, 2, 3, 4, 5, 6 }; //beispiel array var max = arr.Max(x => x); //max wert Wenn Deine 6 Flächen einzelne Objekte sind, kannst Du auch folgendes machen. Achtung, das ist nur Pseudocode, ungetestet. public Transform[] meineFlaechen; //da tust du deine flächen im inspector rein Transform ObereFlaeche { get { return meineFlaechen.Max(t => t.position.y); //die lambda variable t steht für das aktuelle Transform und vergleicht die Y Position aller Elemente. vom höchsten Y Wert wird dann das Transform zurückgegeben. } }
  10. devandart

    Icon von Gameobject erstellen

    Und wenn du es zur Laufzeit machen willst, kannst Du eine Kamera nehmen und dort eine RenderTexture hinterlegen. Von dieser kannst Du dann in Echtzeit die Textur nehmen und z.B. als PNG abspeichern. Ist aber ggf. einfacher, einen Screenshot zu machen und diesen als Bild zu importieren.
  11. Hallo zusammen, wir nutzen in unserem Spiel additives Scene Loading und haben das Problem, dass baked Occlusion Culling nicht additiv dazugeladen wird zur jeweiligen Scene. Bei Dr. Google haben wir bisher auch nur "Grütze" zu diesem Thema gefunden und hier finde ich ebenfalls nichts bisher. Kennt ihr einen Weg, wie man bei dynamisch additiv geladenen Scenes ordentlich das Occlusion Culling Gebäck nutzt oder eine gute, performante Alternative? Es geht vorallem um größere Außenlevel, sofern das eine Rolle spielt. Danke und LG
  12. devandart

    Codeüberprüfung und Feedback gesucht!

    Es gibt Editorskripte, welche den Unity Editor um eigene Werkzeuge erweitern und Custom Inspector, womit Du den Inspector eines Objektes beeinflussen kannst. Ein guter Einstieg ist denke ich diese Seite https://unity3d.com/de/learn/tutorials/topics/scripting/introduction-editor-scripting
  13. devandart

    Unity Cloud Projekt kopieren

    Ich kenne mich mit der Unity Versionierung nicht aus, aber eventuell kannst Du einfach ein neues Projekt anlegen in der Cloud, dieses auschecken und dann dein lokales Spiel in den neuen Ordner kopieren und diesen dann einchecken?
  14. devandart

    Array Größe ändern

    Ganz genau das meinte ich @Sascha Und ich gebe Dir absolut Recht.
  15. devandart

    Static und Nicht Static

    Um das Problem zu lösen, kannst Du z.B. das Singleton Pattern nutzen. In deiner Sprite Klasse deklarierst Du eine statische Referenz auf sich selbst und setzt diese beim Start. Dann kannst Du von überall auf die eine Instanz zugreifen, ohne statische Dinge zu nutzen, bis auf die Referenz zum Objekt selbst. Beispiel //achtung: pseudo code, nicht funktionsfähig! :D //das hier ist in deiner sprite klasse private static DeineKlasse instance; public static DeineKlasse Instance { get { return instance; } } void Awake() { //hier kann man noch prüfen, ob das singleton schon existiert, aber wir gehen mal davon aus, dass du es nur einmal in der szene hast ;) instance = this; } [SerializeField] private Sprite[] sprites; public Sprite MinimapSpriteIcon(int icon) { return sprites[icon]; } //... irgendeine klasse deinSprite = DeineKlasse.Instance.MinimapSpriteIcon(1)
  16. devandart

    Array Größe ändern

    Kann schon, ist aber unschön. https://docs.microsoft.com/de-de/dotnet/api/system.array.resize?view=netframework-4.7.2
  17. devandart

    WALKTHROUGH

    Hi, was bedeutet Walkthrough? Mit den Tasten laufen und der Maus den Kopf bewegen oder Virtual Reality? Aber ich glaube ein paar richtige Suchbegriffe wären hier "first person movement", "fps" oder "fps movement" oder sowas in der Art.
  18. devandart

    Komponenten kopieren inkl Werte

    Das dürfte eben nicht gehen, weil das ein Unity Editor Tool ist, was nur im Editor funktioniert, weil es den UnityEditorInternal namespace nutzt. Das hat @Sascha weiter oben schon beschrieben.
  19. devandart

    Komponenten kopieren inkl Werte

    Ich befürchte, dass Du dafür dann ein eigenes Skript schreiben musst, welches die Parameter übergeben bekommt bzw. die Originalkomponente und diese Parameter dann manuell in die neue Komponente schreiben.
  20. devandart

    13Pixels Pooling

    Liest sich cool, was Du da gebaut hast, Glückwunsch. Ich benötige das Asset zwar nicht, aber aus Interesse: Bekommt man als Käufer auch den Source Code oder nur die DLLs? Viel Erfolg mit dem Produkt im Store, ich drücke die Daumen!
  21. devandart

    Komponenten kopieren inkl Werte

    Ein Ansatz: Mache doch aus der Kamera ein Prefab ohne Steuerungsskript. Dann baust Du einen CameraManager, diesem gibst Du das Prefab über den Inspector und dann instanziert dieser beim Start die erste Kamera und fügt der Kamera das Steuerskript zu. Jede weitere Kamera erzeugst Du auch aus dem Prefab und schon haben diese alle die gleichen Eigenschaften bis auf dein Steuerskript.
  22. devandart

    Komponenten kopieren inkl Werte

    Weil Unity das GameObject in das Property packt bzw. Du und Unity dann automatisch die Camera component als eigentlichen Property Wert übergibt. Du musst also einfach deineCamera.gameObject übergeben statt direkt die Camera component.
  23. devandart

    Apple für Unity?

    Also eigentlich bewegt man die Kamera da auch mit dem Rechtsklick, wenn ich mich nicht irre. Mal von der Magic Mouse abgesehen, da weiß ich es auch nicht, vermutlich mit Control. Das Entwickeln auf OSX ist so ziemlich genau wie auf Windows, wenn man nur Unity und Visual Studio betrachtet, ich habe damals allerdings mit Mono Develop programmiert, da kann VS nur "besser" sein. Das Deployen und Publishen auf Geräte und in den App Store ist im Normalfall einfach, dauert nur etwas im Store alles anzulegen (Grafiken, Videos, Texte). Du musst das Projekt in Unity zu einem XCode Projekt exportieren und dieses dann mit XCode kompilieren. Komplizierter kann es dann werden, wenn z.B. Asset Store Assets die falschen Bibliotheken mitliefern oder veralteten Code haben und Du in XCode noch Handgriffe tätigen musst und noch keine Ahnung hast. Weil manchmal weiß man erstmal nicht wirklich, wo man genau ansetzen soll. Zumindest war das damals so, damals war vor ca. 2-3 Jahren. Achso und programmieren kann man direkt über XCode in Obj-C, C++ und Swift, eine Art Mischung aus C# und anderen Sprachen.
  24. devandart

    Audio Input: LineIn

    Moin, eventuell hilft das Beispiel hier weiter, ein anderer out of the box Weg ist mir nicht bekannt. https://github.com/hallidev/UnityWASAPILoopbackAudio
  25. devandart

    Game ohne code?

    Doch es reicht theoretisch und oft praktisch für ein richtiges Projekt, aber wenn es komplexer wird, muss man ggf. diverse Aspekte doch coden. Da gebe ich Dir absolut Recht. Der Vorteil ist, das man beide Welten perfekt miteinander verschmelzen kann.
×