Jump to content
Unity Insider Forum

devandart

Members
  • Content count

    376
  • Joined

  • Last visited

  • Days Won

    14

devandart last won the day on January 25

devandart had the most liked content!

Community Reputation

91 Excellent

About devandart

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Location
    Hamburg
  • Interests
    Motorradfahren, Programmieren, Musizieren, 3D Design/Animation

Recent Profile Visitors

3,343 profile views
  1. devandart

    Array durch festglegten toggle befüllen

    Ich denke schon, ja.
  2. devandart

    Array durch festglegten toggle befüllen

    Du könntest eine Komponente schreiben, welche Du auf jedes Toggle Objekt (wo die Toggle Komponente drauf liegt) legst. using UnityEngine.UI; [RequiredComponent(typeof(Toggle))] public StringToggle : MonoBehaviour { [SerializeField] private string character; private Toggle toggle; void Start() { toggle = GetComponent<Toggle>(); } public bool IsOn { get { return toggle.isOn; } } public string Character { get { return character; } } } Nun könntest Du in deiner Komponente statt Characters ein Array zur Verfügung stellen, wo Du im Inspector diese Toggle Objekte reinziehst [SerializeField] private StringToggle[] toggles; Und nun packst Du je nach dem, was Du vorhast, in Deine Komponente noch diese Eigenschaft, um alle aktivierten Toggle Buchstaben zu erhalten public List<string> Characters //oder char[], wenn Du nur einzelne Zeichen hast { get { var list = new List<string>(); foreach(var t in toggles) { if(t.IsOn) { list.Add(t.Character); } } return list; } }
  3. devandart

    C# - GetComponent oder allgemein Objekte in einer if

    Etwas mehr Erklärung oder Beispielcode wäre hilfreich. So kann man irgendwie nicht viel mit der Erklärung anfangen geschweige denn Tipps geben.
  4. 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.
  5. 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);
  6. 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; }
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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. } }
  13. 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.
  14. 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
  15. 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
×