Jump to content
Unity Insider Forum

Mr 3d

Members
  • Content Count

    683
  • Joined

  • Last visited

  • Days Won

    29

Mr 3d last won the day on August 27

Mr 3d had the most liked content!

Community Reputation

150 Excellent

About Mr 3d

  • Rank
    Christian
  • Birthday 12/09/1999

Profile Information

  • Gender
    Male
  • Location
    Bayern

Recent Profile Visitors

7,182 profile views
  1. Mr 3d

    DrawRay

    Wenn DrawLine nicht das macht was du willst, sind wahrscheinlich deine input Parameter falsch. Lass dir doch auch mal eine Kugel an die center Position zeichnen und schau ob die da ist, wo du sie erwartest. Den Vektor von transform.position zu center findest du ganz einfach über 'center - transform.position' raus. Das kannst du mal in DrawRay einsetzen, aber das sollte keinen Unterschied machen.
  2. Mr 3d

    DrawRay

    Ich glaube du willst Gizmos.DrawLine() ? center ist die Position von deinem parent, kein Richtungsvektor
  3. Wenn ich die Beschreibung von Resize richtig verstehe, skaliert die Methode nicht den Inhalt der Textur, sondern setzt einfach die neue Auflösung ohne Farbdaten. https://answers.unity.com/questions/556913/scaling-resizing-an-image-texture2d.html
  4. Schau mal oben mittig im 'Game' Fenster, ob der 'Scale' Slider auf 1x steht..
  5. Hi, ich habe in den letzten zwei Jahren immer wieder an einem Flüssigkeit Simulations Shader gearbeitet und seit Mitte letzten Monats ist er jetzt im AssetStore erhältlich. Mit Fluid Flow kann man in Echtzeit simulieren wie beispielsweise Blut oder Farbe an einer Oberfläche herunter fließt. Es ist keine 100% physikalisch korrekte Simulation, sondern das Asset versucht mit möglichst geringen Performance Einbußen überzeugend Flüssigkeit zu simulieren. Dazu werden die Berechnungen mithilfe eines Compute Shaders auf die Grafikkarte ausgelagert. Compute Shader benötigen allerdings mindestens DirectX 11 oder OpenGL 4.3 support! Zudem sind Android und iOS momentan nicht unterstützt! Fluid Flow Echtzeit Flüssigkeit Simulation dynamisches Anpassen der Flussrichtung unterstützt animierte Objekte Tropfen* * werden asynchron von der GPU zur CPU gelesen. Dieses Feature gibt es erst seit Unity 2018.2, und mit OpenGL wird es nicht unterstützt! Demo (win): https://drive.google.com/drive/folders/1ewcJn2Cc56Pcg3IVXPgvDDYucfRrU2mg Asset Store: https://assetstore.unity.com/packages/vfx/shaders/fluid-flow-143786
  6. Im 'Game' Fenster ist oben ein 'Scale' Slider. Wenn du den auf 1 stellst müsste alles wieder normal sein..
  7. Hi, ich glaube er meinte das etwas anders. Wenn ich dich richtig verstanden habe, willst du, dass sich der Ball die ganze Zeit bewegt und jedes mal, wenn die Leertaste gedrückt wird, sich die Richtung ändert. Das kannst du so umsetzen, dass du immer die aktuelle Richtung speicherst und beim Tastendruck den Wert umkehrst. Also etwa so: int direction = 1; void Update(){ if(Input.GetKeyDown(KeyCode.Space)){ direction *= -1; } if(direction > 0){ //move right } else{ //move left } }
  8. Ich hab mich vor paar Jahren mal etwas mit dem Thema beschäftigt. Das kam dabei raus, falls es dich interessiert (Achtung Werbung ^^) https://assetstore.unity.com/packages/tools/physics/bullet-ballistics-72755 Jede Kugel hat alle wichtigen Daten: Position, Flugrichtung, Geschwindigkeit, Durchmesser, Luftwiderstand etc. Und dann jeden Update unter Einfluss von Gravitation, Luftwiderstand, usw. die neue Position berechnen und mit einem Raycast testen, ob es zu einer Kollision kommt. Je nachdem mit welchen Material kollidiert wird, wird die Kugel gestoppt, prallt ab, oder fliegt auf der anderen Seite gebremst weiter.
  9. Du speicherst die werte unter "theme_name"+i lädst dann aber nur "theme_name" /edit Und 'Themes Count' war oben im screenshot 0, wenn du das noch nicht geändert hast..
  10. Habs kurz gegoogelt und das hier gefunden, falls dich interessiert, warum es kein Cylinder Collider gibt.. https://forum.unity.com/threads/why-cylinder-collider-doesnt-exist.63967/#post-408699
  11. Über eine Millionen Tris sind für ein Smartphone Spiel viel zu viel, erst recht für eine VR Anwendung.. Besonders, weil deine Objekte im Screenshot nicht sehr highpoly aussehen. Ich schätze dein Roboterarm macht davon einen großen Teil aus. Ist nicht ganz mein Gebiet, aber ich glaube ~2,5k Batches sind auch sehr viel. Wenn du mal nach "unity batches reduzieren" googelst, solltest du einiges finden, wie du die reduzieren kannst.
  12. Hi, du kannst dir mit 'Quaternion.Euler(x, y, z)' deine eulerische Rotiation in einen Quaternion umrechnen lassen. Also: GameObject inst = Instantiate(shotGun, shotSpawnGun.position, Quaternion.Euler(0.0f,shotSpawnGun.rotation.y, shotSpawnGun.rotation.z)); Wenn du die drei Komponenten einfach nur in Klammern setzt, bekommst du ein Tripple was soweit ich weiß erst in einer neueren C# Version unterstützt wird (?) Syntaktisch richtig müsstest du schreiben 'new Quaternion(x, y, z, w)', aber da eh niemand Quaternions versteht, würde ich das lieber lassen.. ^^ Wenn du trotzdem wissen willst, was es mit Quaternions auf sich hat, kann ich dir dieses Video empfehlen:
  13. Ich würde fast sagen, dass ein Trigger pro Item unperformanter sein dürfte als ein Raycast pro Frame.. In einem meiner Projekte habe ich hunderte Raycasts pro Frame und selbst auf älterer Hardware habe ich keine Probleme, also sollte dein einzelner Ray nichts ausmachen.. Wenn du trotzdem Bedenken hast, würde ich wie malzbie schon meinte, einfach nur jedes x-te Frame einen Raycast schießen. Dann könntest du noch mit einer LayerMask arbeiten, damit du nur nach Items und Wänden checkst. Und du kannst jedes mal, wenn ein neues Objekt getroffen wird, dein 'IInteractable' cachen. Damit sparst du dir viele GetComponent calls, die wahrscheinlich schlimmer als der Raycast selbst sind.
  14. 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..
  15. Die Syntax von deinem Code ist richtig, nur denkt der Compiler schon einen Schritt weiter.. z.B. '50 > 100' wird immer eine falsche Aussage sein, daher wird die Zeile 'Console.WriteLine("50 ist grösser 100");' unter keinen Umständen ausgeführt werden. Da denkt sich der Compiler, dass das nicht richtig sein kann und gibt dir die Warnung 'Unreachable code detected' . Funktionieren sollte der Code trotzdem..
×
×
  • Create New...