Jump to content
Unity Insider Forum

Jog

Members
  • Posts

    182
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Jog

  1. Hallo, In dem ich den Wert z.b. in einer Funktion auswerte. void AuswertFunktion() { farb = tex.GetPixel(x,y); if (farb.a == 0 ) // Alphawert =0 { // Halte die Bewegung an } } Soviel zur Theorie . Dann kahm die Praxis 🙄 Habe das heute mal ausprobiert. Ist sehr kompliziert und Aufwendig dies zu Programmieren (Welt Koordinaten in Pixel Koordinaten umzurechnen usw.) Und beim testen Bäumte sich mein PC auf und viel Tot um.😉 ( Brach auf 8 fps ein ) wahren wohl ein paar Pixelberechnungen zu viel. Aber es hat funktioniert .😁 Also ist dieser Weg leider nicht dafür geeignet. Gruß Jog
  2. Hallo, Du könntest z.b. deinen Border in einer neuen Ebene einzeichnen z.b. Schwarz für nicht begehbar wie ein Alphakanal, und ein neues Bild daraus erstellen. Das Bild legst du dann genau über das Original und schaltest den Sprite Renderer aus, das Bild wird zwar nicht mehr gerendert, aber mit Texture2D.GetPixel kannst du den Farbwert an der X,Y Koordinate auslesen und Color32 übergeben. Ist der Farbwert an der Koordinate z.b. Schwartz dann bleib stehen. Wichtig ist das bei Import Settings Read/Write Enabeld aktiviert ist sonst sonst kannst du das Bild in Unity nicht bearbeiten. Hier mal zur Veranschaulichung ein kleines Script das den Farbwert in der Konsole ausgibt. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Pixel : MonoBehaviour { public Texture2D tex; public Color32 farb; // Start is called before the first frame update void Start() { farb = tex.GetPixel(0, 10); Debug.Log(farb); } // Update is called once per frame void Update() { } } Gruß Jog
  3. Hallo, Erst C64 - dann AMIGA - danach PC kommt mir irgendwie bekannt vor 😉 . Auch von mir ein Willkommen ! 😀 Gruß Jog
  4. Hallo, Hier mal ein Beispiel das eine Parabel beschreibt. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ParabelTest : MonoBehaviour { private Vector3 posA; //PunktVektor Startpunkt private Vector3 posB; // PunktVektor Endpunkt public float height = 10f; // Höhe des Flugbogens public float power = 20f; // Kraft private Rigidbody myrb; // Variable vom Typ Rigidbody // Start is called before the first frame update void Start() { myrb = this.GetComponent<Rigidbody>(); // Den Rigidbody zuweisen myrb.useGravity = false; // Gravity erstmal ausschalten } // Update is called once per frame void Update() { // Taste Space getrückt Starte die Parabel Funktion if (Input.GetKeyDown(KeyCode.Space)) { Parabel(power); // Eine Kraft übergeben } } void Parabel(float power1) { myrb.useGravity = true; // Gravity einschalten posA = transform.position; // Startpunkt zuweisen posB = transform.position + new Vector3(30f, 0,0); // Endpunkt zuweisen Vector3 forceRB = new Vector3(0f,0f,0f); // BewegungsVektor für den Rigidbody erstellen Vector3 dir = posB - posA; // RichtungsVektor erstellen Vector3 mittelpunkt = posA + (dir / 2) ; // Mittelpunkt des RichtunsVektor zuweisen(Startpunkt + (RichtungsVektor / 2) ) mittelpunkt = mittelpunkt + new Vector3(0f,height,0f); // Die Höhe der Parabel zuweisen forceRB = mittelpunkt - posA; // BewegungsVektor für den Rigidbody berechnen. myrb.AddForce(forceRB * power1); // Rigidbody.AddForce den BewegungsVektor und die Kraft übergeben } } Man könnte dies auch z.b. mit einer Sinuskurve bewerkstelligen . Es gibt immer mehrere Wege, das obige soll auch nur eine Anregung sein. Hoffe es hilft weiter. Gruß Jog
  5. Hallo, Man kann dass schon über Animation ändern wenn man z.b. mit ADD Event ein Event setzt, das eine Methode aus einem Script aufruft. Aber die Methode muss ich doch Schreiben. Gruß Jog
  6. Hallo, @Kurumi-chan Für normales Blinken würde dass auch funktionieren . Soll das Objekt beim Blinken z.b. auch die Farbe und Textur je nach Bedingung ändern wird es mit einer Animation schon etwas haarig . Gruß Jog
  7. Hallo, Hier mal ein Beispiel. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjektEinAus : MonoBehaviour { private MeshRenderer myMesh; //Variable vom Typ MeshRenderer erstellen private Coroutine blinkeCoroutine; //Variable vom Typ Coroutine erstellen // Start is called before the first frame update void Start() { myMesh = GetComponent<MeshRenderer>(); //Die Componente Meshrenderer der Variable zuweisen } // Update is called once per frame void Update() { //Wurde Taste B gedrückt ? und Coroutine ist noch nicht gestartet if (Input.GetKeyDown(KeyCode.B) && blinkeCoroutine == null) { blinkeCoroutine = StartCoroutine(Blinke()); } //Coroutine der Variable zuweisen,Coroutine Starten //Wurde Taste S gedrückt ? if (Input.GetKeyDown (KeyCode.S)) { StopBlinken(); } //Methode zum Stoppen der Coroutine Aufrufen } private IEnumerator Blinke() // Coroutine { while (true) //Endlosschleife { myMesh.enabled = false; //Meshrenderer ausschalten yield return new WaitForSeconds(0.5f); // Warte 0.5 Sekunden myMesh.enabled = true; //Meshrenderer einschalten yield return new WaitForSeconds(0.5f); // Warte 0.5 Sekunden } } private void StopBlinken() //Methode zum Stoppen der Coroutine { if (blinkeCoroutine != null) { StopCoroutine(blinkeCoroutine); //Coroutine Stoppen blinkeCoroutine = null; } } } Man hätte auch das GameObject an und aus schalten können, will man aber dass das Object noch etwas ausführt, hätte man keinen zugriff auf das deaktivierte Object. Wenn man den Meshrenderer deaktiviert ist das Object nur unsichtbar aber immer noch aktiv. Vielleicht hilft dir das etwas weiter. Gruß Jog
  8. Hallo, Wünsche euch allen Stressfreie Ostern, und viel Glück beim Eiersuchen. Vielleicht findet ihr ja eine Pro. 🐰 🐰 Gruß Jog
  9. Hallo, @Kojote Ich habe bei mir eine Halbkugel erstellt und mit der selben Textur belegt wie die Skybox. Die Halbkugel habe ich so eingefügt, dass die Kanten vom Terrain verdeckt werden. Für mich war das eine gute Lösung. (siehe Bild). Vielleicht Hilft das dir weiter. Gruß Jog
  10. Hallo, Mit dieser Fehlerbeschreibung kann man nicht wirklich was anfangen, außer das irgend etwas nicht funktioniert. Ich versuche mal einfach ins blaue zu Raten. 1. Vielleicht verwechselst du etwas. Cursor.lockState = CursorLockMode.Locked; bedeutet: Fixiert den Cursor in der Mitte des Spielfensters, Dadurch wird auch der Hardware-Cursor ausgeblendet. Cursor.lockState = CursorLockMode.None; bedeutet: Fixiert den Cursor nicht in der Mitte des Spielfensters, Das Cursorverhalten ist unverändert. 2. Wenn du das Spiel im Game View startest, musst du mal ins Gamefenster mit der Maus klicken, damit das Fenster den Focus hat. Wenn der Editor den Focus hat funktionieren die Cursor Sachen im Game View nicht. Gruß Jog
  11. Hallo, @Kojote Hmm...Genau kann ich es so nicht sagen. Es könnte an dieser Zeile liegen: Quaternion targetRotation = Quaternion.FromToRotation(transform.GetChild(0).GetChild(0).transform.forward, hit.normal) * transform.GetChild(0).GetChild(0).rotation; Hier übergibst du Gedrehte Koordinaten im World Space, brauchst aber wahrscheinlich nicht Gedrehte Koordinaten im Local Space. Wie gesagt, genau sagen kann ich es aber nicht. Gruß Jog
  12. Hallo, @KojoteVielleicht hilft dir das weiter. using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestQuatternion : MonoBehaviour { // Start is called before the first frame update void Start() { Quaternion myrotation; // Variable vom Type Quaternion erzeugen myrotation = transform.rotation; // der Variable myrotation: den Quaternion des GameObject's übergeben Debug.Log(myrotation.eulerAngles); // Euler Ausgeben myrotation.eulerAngles = new Vector3(0f,0f,45f); // neuen Euler von Z erstellen transform.rotation = myrotation; // den neuen Quaternion dem Transform vom Gameobject zuweisen Debug.Log(myrotation.eulerAngles); // neuen Euler ausgeben } // Update is called once per frame void Update() { } }
  13. Hallo, Freut mich wen ich helfen konnte. Mein Maßband ist auch nicht mehr so lang wie es mal war.😇 Sollte auch nur eine Erklärung sein weshalb Continuous mehr CPU Zeit kostet. Außerdem, die Dosis macht das Gift.😉 Gruß Jog
  14. Hallo, @superkerni Versuch mal beim Rigidbody2D von Player Collision Detection von Discrete auf Continuous zu setzen. Hatte mal ein ähnliches Problem, und dieses hatte bei mir geholfen. Discrete: Wenn du die ‎‎Kollisionserkennung‎‎ auf ‎‎Discrete‎‎ setzt, können sich GameObjects mit Rigidbody 2Ds und Collider 2Ds während eines Physik-Updates überlappen oder durchqueren, wenn sie sich schnell genug bewegen. Continuous: Wenn die ‎‎Kollisionserkennung‎‎ auf ‎‎Continuous festgelegt ist, durchlaufen GameObjects mit Rigidbody 2Ds und Collider 2Ds während einer Aktualisierung nicht einander. Stattdessen berechnet Unity den ersten Aufprallpunkt eines der Collider 2Ds und verschiebt das GameObject dorthin. Deshalb kostet Continuous auch mehr CPU-Zeit als ‎‎Discrete‎‎.‎ Gruß Jog
  15. Hallo, Willkommen und viel Spaß !🙂 Gruß Jog
  16. Jog

    Weihnachten 2021

    Hallo, Wünsche allen, geruhsame und Kreative Weihnachten. Vor allem, dass Negativ oder Positiv, nur noch beim Programmieren relevant ist. In diesen Sinne frohe Weihnachten. Gruß Jog
  17. Hallo, @chrische5 Da kann ich aus eigener Erfahrung malzbie zu 100% recht geben. Hab mal ein Spiel vor einiger Zeit mit einer anderen Engine veröffentlicht, und wurde dermaßen kritisiert dass ich nie wieder ein Spiel veröffentlichen wollte. Viele Kritiken waren richtig, viele Übertrieben und verletzend. Aber nach einiger Zeit, keine Ahnung wie und warum, wurde das Spiel in Brasilien auf einem Downloadportal angeboten und dort gespielt und geliebt, das war ein erhabenes Gefühl und Lohn! Dadurch habe ich gelernt: 1. Zieh dein Ding durch und vor allem, beende es. 2. Gehe mit der Kritik konstruktiv um, und lass sie nicht persönlich an Dich ran. 3. Zolle jedem Respekt der sein Projekt beendet, egal wie gut oder schlecht es zu seien scheint. Dein Projekt gefällt mir ganz gut, das mit den Bruch ist halt Geschmackssache. Gruß Jog
  18. Hallo, Lange Rede Kurzer Sinn, ich sage nur 👍 Gruß Jog
  19. Hallo, Du haust ja ein Projekt nach dem anderen raus. Kann es sein das du 10 Arme hast, um 5 Tastaturen gleichzeitig zu bedienen?🤔😉 Sieht Nice aus, gefällt mir, gutes gelingen. Gruß Jog
  20. Hallo, Auch von mir ein Willkommen!🙂 Gruß Jog
  21. Hallo, Auch von mir ein Willkommen!🙂 Gruß Jog
  22. Jog

    Hallo

    Hallo, Auch von mir ein, Willkommen und viel Erfolg.🙂 Gruß Jog
  23. Hallo, Sieht vielversprechend aus, gefällt mir gut, Guter Job.👍 Gruß Jog
  24. Mit public GameObject camera; Kann man im Script nur auf die Eigenschaften und Methoden der Gameobject Klasse zugreifen. z.b. camera.FieldOfView = 60.0f; Funktioniert nicht. Mit public Camera camera; Kann man im Script auf die Eigenschaften und Methoden der Camera Klasse zugreifen. hier kann ich auf camera.FieldOfView = 60.0f; zugreifen. Gruß Jog
  25. Hallo, Hier ein Link zu C# mit Unity in Deutsch, sehr zu empfehlen. https://www.youtube.com/watch?v=Hl1I4Rij2Ys&list=PLf_j4Db1v3RkEknk50NWuOVL96xv6if-7 Gruß Jog
×
×
  • Create New...