Jump to content
Unity Insider Forum

Leaderboard


Popular Content

Showing content with the highest reputation since 09/22/2018 in all areas

  1. 2 points
    Hallo zusammen, ich habe die letzten 10 Monate neben einem Spiel auch an einem Video gearbeitet. Ich dachte mir, dass eventuell einige von euch das Thema interessieren könnten. Es geht um eine relativ stark verallgemeinerte Erklärung, wie eine Game Engine realistische Modelle/Materialien darstellt.
  2. 2 points
    Nur so eine Idee... @jan1267, wo hast du den Cube her... ist das ein Standard-Unity-Cube oder hast du den importiert?
  3. 2 points
    Junge! Schreib doch mal ganze Sätze. Ich weiß echt nicht wovon du redest. Was sind 6 gewesen und von was benutzt man 3???
  4. 2 points
    Tut mir Leid, "that guy" sein zu müssen, aber das ist einfach völlig falsch. Der Fixed Timestep ist dafür da, zwei Dinge auszulösen: Das FixedUpdate-Event und das Physik-Update über PhysX bzw. Box2D. Physics.Raycast ist eine ganz normale Funktion - man ruft sie auf, sie wird ausgeführt, sie gibt etwas zurück, fertig. Das passiert sofort und ansich unabhängig von jeder Art von Timestep. Wovon das Ergebnis in dieser Situation tatsächlich abhängt, ist die Rate, in der das Event passiert, in dem Physics.Raycast durch @jan1267s Code ausgeführt wird. Ich gehe stark davon aus, das der Aufruf in Update passiert. Damit hängt die Genauigkeit von der Framerate des Programms ab, und damit von der Leistungsfähigkeit des Geräts. Dass das keine gute Sache ist, kann man sich vorstellen. @Mr 3d hat daher schon die richtige Richtung vorgeschlagen. Du willst nicht jeden Frame schauen, wo der Finger gerade drüber ist und dann damit etwas machen. Wenn der Finger sich kaum oder gar nicht bewegt, ist das auch unnötige Arbeit, die das Programm da verrichten muss. Stattdessen willst du den Weg anschauen, den der Finger zwischen letztem Frame und jetzigem zurückgelegt hat, und dann mit einem passenden Algorithmus ausrechnen, welche Würfel alle von diesem Weg abgedeckt werden. Es bleibt nur zu bestätigen:
  5. 1 point
    ONIA ist mein erstes Unity Projekt und befindet sich seit gestern in der offenen Beta. Es ist ein infinity runner... weil jeder infinity runner liebt... Hier seht ihr den gewagten versuch dieses Genre mit einer Story zu vereinbaren, die mehr als einen Satz umfasst. Ich hoffe auf diesem Wege vielleicht auch ein paar Tester zu finden und etwas Feedback einzuholen. (Preise, Ballancing, Rechtschreibfehler, Funktionalität auf unterschiedlichen Geräten etc.) Link: https://play.google.com/apps/testing/com.NeuroticPictures.ONIA grüße NeuroticPic PS: Das Spiel gibt es nur in Englisch. Ich hoffe, dass ich das trotzdem hier vorstellen darf
  6. 1 point
  7. 1 point
    Du benötigst eine Höhenmap. Üblicherweise ist das ein einfaches Bild in Graustufen. Darf nur nicht jpg sein! Du bekommst Höhenmaps teilweise gratis im Internet. z.B. NASA hat die ganze Erde in 16k wenn du willst. Edit: Programme die RAW-Dateien erstellen können: Photoshop, Gimp, ...
  8. 1 point
    Ja, jetzt läuft alles soweit. Betrachten wir dieses Problem als gelöst Vielen vielen Dank für die tolle Hilfe 👍👍
  9. 1 point
    Weil du in der Game View eine andere Auflösung hast als im Build. Schau dir mal auf deinem Canvas-GameObject die Komponente "Canvas Scaler" an, die hat Optionen dafür, wie mit unterschiedlichen Auflösungen umgegangen werden kann. Darüber hinaus musst du von deinen Canvas-Objekten Anchor und Pivot vernünftig setzen, damit sie sich auch bei variablen Seitenverhätnissen richtig verhalten.
  10. 1 point
  11. 1 point
    Du hast scheinbar den Slider manuell in den Slot gelegt, deswegen kann ich den ja im Inspector sehen. Im Code willst du aber in der Awake den Slider neu verknüpfen. Somit wird der alte Verweis sofort raus genommen. Ja und da aber in der GameObject Ebene kein Slider zu finden ist, bekommst du deinen Fehler. Der Slider ist in einem Child des Gameobjects. Entweder fügst du den Slider einfach nur im Inspector zu und nimmst die Zeile aus der Awake raus, oder aber du machst GetComponentInChildren<> um den Slider einzubinden.
  12. 1 point
    Also ich gehe mal davon aus, dass ich direkt auf eine Fläche des Würfels schaue. Ja, da ist es in der Mitte etwas heller als außen. Umrisse von Kreisen sehe ich aber nicht. Wenn du bei dir Umrisse von Kreisen siehst, dann könnte es sein, dass deine Grafikkarte nicht die höchste Farbtiefe zeigt. Aber heutzutage ist dass eigentlich gar nicht mehr auswählbar. Jedenfalls kann ich nur 32 Bit auswählen, weil mir gar nichts Anderes vorgeschlagen wird.
  13. 1 point
    Also normalerweise sollte bei einem Directional Light nichts Kreisförmiges entstehen. Geht es dir jetzt wirklich um Beleuchtung oder soll er einfach nur gut sichtbar sein. Wenn letzteres, dann gib ihm doch einfach ein wenig Eigenleuchten. Kannst ja vielleicht mal ein Bild posten, wie es aussieht und nochmal genau beschreiben, was du erreichen willst.
  14. 1 point
    Sieht für mich so aus als ob zwei Objekte sich überlagern. Wenn das der Fall ist hast du sogenanntes Z-Fighting. Du solltest die Objekte so anorden das sie sich nicht überlagern.
  15. 1 point
    Du packst Collider drauf und sorgst dafür, dass deine Spielfigur die auch beachtet. Stichworte sind Rigidbody oder CharacterController. Je nach Gameplay geht auch NavMesh mit NavMeshAgent.
  16. 1 point
    https://github.com/JamesNK/Newtonsoft.Json kann ich empfehlen, wenn auch nicht vergleichsweise. Hab's als erstes ausprobiert und hatte danach nicht das Bedürfnis, weiterzusuchen Aber Unitys JSONUtility ist schön einfach zu bedienen - bleib also dabei, bis es anfängt, damit nicht mehr zu gehen.
  17. 1 point
    Super hat funktioniert. Wieder etwas dazu gelernt, ich Danke dir!
  18. 1 point
    Die zweite Zeile sagt Dir, dass Du den namespace für Listen einbinden musst. Zudem deklarierst Du dein Objekt "gewichte" als Typ double, instanzierst ihn aber als Typ List<double>, das gibt einen Compiler-Fehler. //ungestester Code! //Listen Namensraum einbinden using System.Collections.Generic; //double gewichte = new List<double>(); List<double> gewichte = new List<double>(); //gewichte.Add (86.4); //gewichte.Add (97.8); gewichte.Add (86.4d); gewichte.Add (97.8d); string pGewichte = String.Join(", ", gewichte); Console.WriteLine(pGewichte);
  19. 1 point
    Dann werd ich demnächst wohl mal ein bischen damit rumexperimentieren Dankeschön! Jetzt mal ehrlich, in diesem Gespräch hab ich mehr gelernt als in meinem ganzen studium XD
  20. 1 point
    Grüße an alle! Hiermit möchte ich euch nach mehreren Monaten Arbeit gern mein erstes 3D-Unity-Projekt vorstellen. Gleichzeitig möchte ich mich ganz herzlich bei allen hier bedanken, dir mir so viel weiter geholfen haben. Unter anderem besonders großen Dank an @Zer0Cool , @malzbie und @Sascha ! Wer einen Steam-Key möchte bekommt von mir gern einen! Mummy on the Run ist ein Knobelspiel zum Nachdenken und Schmunzeln in wunderschöner 3D-Umgebung. Du erwachst als Mumie und natürlich denkst du gar nicht daran, in deinem Grab liegen zu bleiben. Auch andere Mumien suchen ihren Weg aus der Pyramide. Rette alle Mumien, aktiviere Teleporter und Sprungbretter, damit du nicht in den Treibsand fällst oder in eine brutale Falle trittst. Kämpfe dich durch alle Räume der Pyramide, kämpfe für die Freiheit der Mumien! Logikspiel mit 40 Leveln genieße ca. 10 Stunden Spielspaß steigender Schwierigkeitsgrad entspannende orientalische Hintergrundmusik 1-6 Mumien pro Spielbrett Jetzt bei: STEAM
  21. 1 point
    Boah! That guy kotzt mich an! Ne, Sascha hat schon recht. Es war gestern wohl etwas zu spät und die Gedanken sind teilweise in die falsch Richtung geflossen.
  22. 1 point
    Für ein 8x8 'Pixel' Feld sollte die Abfragerate zu erhöhen ganz gut funktionieren. Falls du in Zukunft aber auch mit größeren Feldern arbeiten willst, wirst du damit evtl. Performance Probleme bekommen.. Alternativ kannst du dir immer die Fingerposition vom vorherigen Frame merken und dann alle Würfel anmalen, die zwischen der alten und neuen Position liegen. Unter 'line rasterization' solltest du da fündig werden..
  23. 1 point
    Ich bin mir da nicht sicher, ob dein Ray zu selten schießt oder ob deine Fingerposition einfach zu selten abgefragt wird. Du kannst jedenfalls den Fixed Timestep im Time Manager verringern. Der steht wahrscheinlich bei dir auf 0.02. Setz den mal auf 0.01 und schau ob sich etwas verbessert. Der Fixed Timestep ist der Zeitintervall, in dem alles Physikalische berechnet wird und ein Raycast ist auch eine physikalische Berechnung. Jeder Verringerung des Intervalls kostet einiges an Performance und ich weiß nicht, wie weit die Handys da mitspielen. Also geh vorsichtig mit diesen Werten um. Sollte sich durch die Verringerung nichts verbessern, dann wird entweder zu langsam oder zu ungenau die Fingerposition abbgefragt, oder du machst das im Code nicht in der FixedUpdate und somit ist die Abfrage der Position nicht synchron mit der Physik..
  24. 1 point
    Hi Peter, wie gesagt, mir liegt und lag es fern irgend jemanden zu denunzieren. Ich bin eher beeindruckt davon wie ihr euch durch alle Bereiche durchbeißt und euer Content stetig steigt. Klar muss es kein AAA Titel sein und ein gutes Indie Spiel von Hobbyisten das Spaß macht ist mehr wert als jede Grafik. Das ihr ein jährliches Budget von ganzen 15k habt finde ich bemerkenswert, sowas hat auch nicht jeder Hobbyist. Dennoch wäre es denke ich eine Bereicherung jemanden dabei zu haben der ein wenig mehr Erfahrung im Bereich 3D hat. Nicht nur wegen der Optik oder dem Kommerz, sondern auch weil es euer Spiel mehr Performance geben würde und den Mitgliedern eures Teams lerntechnisch sicherlich auch zu gute kommen würde. Ich habe euer Spiel einmal ausprobiert und durch die fehlenden Lightbakes und den wohl zu hohen Polywerte und anderen Kleinigkeiten ruckelt das Spiel doch schon ziemlich auf einen doch recht guten PC. Ich weiß das sowas fast nicht umzusetzen ist was ich hier vorschlage. Erst einmal müsste man jemanden finden der 3D technisch gutes Wissen besitzt und diese Person müsste dann zusammen mit den anderen 3Dlern fast jedes Model nachträglich optimieren, bei der Masse die ihr habt wäre das ein heftiger Zeitaufwand. Andererseits ist es besser so früh wie möglich solch einen Weg einzuschlagen oder wenigstens diesen in betracht zu ziehen denn wenn euer Spiel mal rund werden soll, dann wird aus meiner Sicht daran kein Weg vorbei gehen. Außerdem könnt ihr nur gewinnen. Man lernt etwas, es sieht hübscher aus, es bringt ein besseres Spielgefühl, es motiviert und die Chancen auf kommerziellen Erfolg steigen ebenfalls. Achja , bin schon länger in diesem Forum und verfolge euren Werdegang schon seit einiger Zeit. Hätte zu Beginn nie gedacht das ihr so weit kommt.
  25. 1 point
    Ich hab noch das kleine Beispiel für @HenriChinasky geschrieben. // minimale- und maximale Abweichung (in Grad) public float min = 30.0f, max = 30.0f; public float speed = 0.3f; // t benutzen wir hier zum interpolieren private float t = 0.5f; // Zwischenspeicher für den Startwinkel + min / max Abweichung private float minAngle, maxAngle; private void Start() { var angle = transform.rotation.eulerAngles.y; minAngle = CalcAngle(angle - min); maxAngle = CalcAngle(angle + max); } private void Update() { t += speed * Time.deltaTime; // Kehrt die Drehgeschwindigkeit um, sobald wir eines der Enden (min / max) erreicht haben. if (t > 1.0f || t < 0.0f) speed = -speed; Rotate(); } private void Rotate () { var rot = transform.rotation; var angles = rot.eulerAngles; // Interpoliert linear zwischen unserem min / max Winkel. var y = Mathf.LerpAngle(minAngle, maxAngle, t); rot.eulerAngles = new Vector3(angles.x, y, angles.z); transform.rotation = rot; } // Rechnet den Winkel um, sollte dieser durch min/max ins negative gehen / 360.0f überschreiten. private float CalcAngle (float angle) { return (angle < 0.0f) ? 360.0f + angle : (angle > 360.0f) ? angle - 360.0f : angle; }

Announcements

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

Weiterleitung zum Entwickler "daubit"



×