Jump to content
Unity Insider Forum

Thariel

Members
  • Content count

    399
  • Joined

  • Last visited

  • Days Won

    12

Thariel last won the day on February 10 2017

Thariel had the most liked content!

Community Reputation

81 Excellent

About Thariel

  • Rank
    Advanced Member
  • Birthday 11/30/1988

Contact Methods

  • Website URL
    http://www.lost-in-nature.com

Profile Information

  • Gender
    Male
  • Location
    Bern
  • Interests
    Krafttraining, Spieleentwicklung, Studio Fotografie

Recent Profile Visitors

6,378 profile views
  1. Thariel

    FPS Anzeige

    Hier mein Script zur Anzeige der FPS. Einfach der Szene hinzufügen (vorzugsweise auf ein Text Ui) und eine Referenz eines beliebigen Text Ui hinzufügen. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// <summary> /// This script calculate the current fps and show it to a text ui. /// </summary> public class UiDisplayFps : MonoBehaviour { public string formatedString = "{value} FPS"; public Text txtFps; public float updateRateSeconds = 4.0F; int frameCount = 0; float dt = 0.0F; float fps = 0.0F; void Update() { frameCount++; dt += Time.unscaledDeltaTime; if (dt > 1.0 / updateRateSeconds) { fps = frameCount / dt; frameCount = 0; dt -= 1.0F / updateRateSeconds; } txtFps.text = formatedString.Replace("{value}", System.Math.Round(fps, 1).ToString("0.0")); } }
  2. Thariel

    In Konstruktor "null" zurück geben?

    Okay, danke euch
  3. Hi Ich habe ein Objekt in dem ich Daten zum Speicherslot speichere (datum, version, spielzeit, ...) und das Objekt beinhaltet auch eine Funktion SaveToFile() und LoadFromFile(). Ich möchte jetzt das Objekt beim erstellen direkt aus einem File Laden können, falls das File nicht existiert, soll das Objekt gerade erstellende Objekt "null" sein. Ist so etwas möglich? Beispiel: ///irgendwo SaveSlot slot = new SaveSlot(@"c:\slot.xml"); //slot soll jetzt null sein, wenn das file nicht existiert oder ein fehler beim laden entstanden ist public class SaveSlot { public SaveSlot(string file) { //geht natürlich so nicht return LoadFromFile(file); } public bool LoadFromFile(string file) { if(!File.Exist(file) retrun null; } public void SaveToFile(string file) { } }
  4. Gibt es ein Preformance-Verlust, wenn man alle Texturen auf Read/Write setzt?

    1. devandart

      devandart

      Ich denke je nachdem, wie du Performance definierst. Wenn du Read/Write aktivierst, hast du die Textur zweimal im Arbeitsspeicher liegen, das ist denke ich der größte Unterschied.

      Mehr Info findest Du dazu hier: https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity4.html

    2. Thariel

      Thariel

      Es geht halt darum, dass ich eine Wiki Seite zu meinem Spiel erstelle und ich viele Daten wie Items und Icons automatisch exportiere und hochlade. Das geht nur, wenn sie readable sind. Ich frage mich, ob ich den Aufwand betreiben soll, jedes mal vor einem export alle Icons auf readable zu stellen und wieder zurück.

      Wahrscheinlich tu ich das...

      Gut zu wissen, dass sie dann zweimal im Arbeitsspeicher sind, das soll ja nicht sein, da ich das nur im Editor benötige.

    3. devandart

      devandart

      Ich habe es nicht getestet, aber Du solltest zur Design Time das ganze per Code ändern können. Du setzt also die Textur auf readable und danach wieder auf non readable. Die Diskussion und ein Beispiel findest Du hier:

      https://stackoverflow.com/questions/25175864/making-a-texture2d-readable-in-unity-via-code

  5. Hi! Ich habe in Maya 2018 eine komplexe Geometrie und ich möchte sie: Duplizieren Verkleinern Das kleine Modell vom grossen subtrahieren Jetzt sollte das grosse Modell innen hohl sein und überall ein gleich dicker Rand haben. Das Problem: Beim skalieren wird immer Richtung Pivot skaliert, ich möchte aber, dass es überall gleichmässig nach innen skaliert, so wie beim extrudieren. Wer kann mir helfen? Edit: Oder anders gefragt, wie höhlt man ein Modell aus? ^^
  6. Thariel

    OnMouseUp, OnDrag Alternative für Mobile

    OnMouseUp und OnDrag mische ich nicht zusammen. Für ein Drag nehme ich OnBeginDrag OnDrag und OnEndDrag. Vielleicht hilft dir das ja was
  7. Thariel

    Mehrere Canvas-Objekte in Szene

    Ich nutze immer ein Image als Background (z.B. Rot) und ein zweites Child-Image als eigentlichen Balken (z.B Grün). Danach ändere ich die grösse des Childs rectTransform.deltaSize = new Vector2(health, 10) um die Lebenspunkte anzuzeigen. Positionieren tu ich das ganze einfach mit transform.position = Camera.main.WorldToScreenPoint(target.position).
  8. Bei meinem Spiel Lost in Nature verwende ich auch eine Textdatei. Die sieht ungefähr so aus: $BUTTON_OK=Ok $ITEM_NAME_STONE=Stein $ITEM_DESC_STONE=Ein ganz normaler Stein. Davon gibt es für jede Sprache eine eigene Datei. In Unity habe ich dann statt den richtigen Text für den Button $BUTTON_OK genommen. Auf dem Canvas GameObject liegt ein Script das alles automatisch übersetzt indem es alle wichtigen Komponenten durchgeht: void Start() { Text textArray = GetComponentsInChildren<Text>(true); foreach (Text text in textArray) { text.text = Localization.Get(text.text); } } Dann das selbe noch mit Button. Die Funktion Localization.Get ist eine statische Klasse, die vorher die Textdatei gelesen hat (nur einmal beim Spielstart) und den Inhalt in ein Dictionary<string,string>() speichert aus den geforderten Content zurück gibt.
  9. Ja, habs hinbekommen! Hab die Richtung, in die der Npc läuft genommen (target.position - source.position) und diesen Richtungsvektor normalisiert und mit der Geschwindigkeit multipliziert (direction.normalized * speed). Jetzt das ganze noch zur aktuellen position vom Npc addiert und der Pfeil fliegt jetzt an diesen Punkt. Da der Npc einen Pfad entlang läuft, könnte ich auch Richtungswechsel mit einbeziehen. Danke nochmals
  10. Habs jetzt hinbekommen! Hab es jedoch etwas anders gelöst. Hab den "Projectile Helper" aus dem Asset Store gekauft und mit der Funktion "rigidbody2d.velocity = ProjectileHelper.ComputeVelocityToHitTargetAtTime(...)" kann ich dem Pfeil den richtigen Anstoss geben, damit er sicher trifft. Hier habe ich die passenden Informationen gefunden, um die Rotation der Geschwindigkeit anzupassen. Im Video seht ihr, wie die Pfeile sicher treffen, wenn das Monster still steht, aber sobald es losläuft, treffen die Pfeile natürlich nicht mehr. Wie kann man das Problem lösen? Eigentlich muss ich beim abfeuern bereits wissen, wo der Gegner in 1 Sekunde steht (die Pfeile brauchen immer genau 1 Sekunde zum treffen). Die Flugbahn während des Fluges zu korrigieren, würde sicher zu unrealistischem verhalten des Pfeils führen. Gibt es da in Unity bereits eine Lösung?
  11. Hi Wer hat eine Idee, wie man ein Pfeil in einem Bogen auf einen Gegner zu feuern? Ohne Schwerkraft, ohne Collider, ohne Rigidbody oder sonstigen Schnickschnack. Der Pfeil fliegt immer gleich schnell und trifft das Ziel immer.
  12. Hatte komischerweise keine Zugriff auf diese Website in den letzten Tagen Es ist kein Script auf den Jellys, die Bewegung ist animiert. Hier das Screenshot:
  13. Ja, schau hier das GIF. Es geht um die Jump_Up und Jump_Down Animation. Benutze die Reihenfolge umgekehrt, damit es ein normaler Jump wird. Natürlich kann es trotzdem ein Bug in Unity sein
  14. Bringt leider nichts. Hab schon sooo viel ausprobiert. Im Preview passt es immer, nachdem ich wie oben erwähnt etwas ändere, aber In-Game nie. Das ist ein Asset aus dem Store. Kannst du hier kaufen. Auch weil es ein Asset aus dem Store ist und die selbe Animation in einer Demo Szene einwandfrei Funktioniert, denke ich da an einen Bug.
  15. Genau! Das ist der Kern des Problems, wie du in meinem ersten GIF siehst. Hier im GIF siehst du, dass die Jump_Up Animation sehr wohl eine Bewegung nach oben hat. In den ersten Sekunden siehst du, wie sich die Animation auch In-Game verhält (bleibt an Ort und Stelle), dann klicke ich einen Haken, den ich gleich wieder deaktiviere... und schon Stimmt die Animation. Dieses Asset habe ich gekauft und die Animation funktioniert in einer anderen Demo Szene. Dann ist es wohl eher ein Bug...? Wir drehen uns ein wenig im Kreis
×