Jump to content
Unity Insider Forum

Jog

Members
  • Posts

    185
  • Joined

  • Last visited

  • Days Won

    9

Jog last won the day on July 17 2021

Jog had the most liked content!

Profile Information

  • Gender
    Male
  • Location
    Saarland (Ich weiß nur, dass ich nichts weiß, aber das weiß ich ganz genau! ))
  • Interests
    Programmieren, Modellieren, Musik machen

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Jog's Achievements

Advanced Member

Advanced Member (3/3)

32

Reputation

  1. Hallo, Eine Idee hätte ich noch, wenn das nichts nutzt ergebe ich mich😉. Geh mal oben in der Menüleiste auf: Edit -> Shortcuts, wähle dort -> 3D Viewport aus und schau mal welche Tasten dort hinterlegt sind. Das sind die Tasten, die für den Flythrough Modus definiert sind, diese kann man dort auch selbst festlegen. Wenn dort nichts eingetragen ist geht auch nichts beziehungsweise, nur die Tasten die dort eingetragen sind. Gruß Jog
  2. Hallo, Mhhhh Seltsam, müsste aber funktionieren habe es gerade mit den Version 2019.4, 2020.3, 2021.3 getestet geht makellos. Wie gesagt funktioniert nur im perspektivischen Modus, aber nicht im 2d Modus und die (Pfeiltasten) funktionieren sowieso nicht. Nur die W A S D Q E Tasten. Wen du die Tasten W A S D Q E benutzt musst du auch weiterhin die Rechte Maustaste im Screen View Gedrückt halten, sonst Funzt es auch nicht. Wenn die max Kamera Geschwindigkeit in den Settings mit 0.001 eingestellt ist und du ein sehr großes Level hast, sieht man die Bewegung fast nicht. Sonst kann ich mir auch keinen Reim darauf machen. Gruß Jog
  3. Hallo, Die Setting for the Scene View Camera sind für den Flythrough mode in der Scene View gedacht. Flythrough mode ‎Verwende den ‎‎Flythrough-Modus‎ (In der Scene View die rechte Maustaste gedrückt halten) ‎Um in der Szenenansicht in der ersten Person herumzufliegen, ähnlich wie du in vielen Spielen navigieren würdest. ‎Klicke mit der rechten Maustaste und halten Sie sie gedrückt.‎ Verwende die Maus, um die Ansicht zu verschieben, die ‎‎WASD-Tasten‎‎, um sich nach links / rechts / vorwärts / rückwärts zu bewegen, und die ‎‎Tasten Q‎‎ und ‎‎E‎‎, um nach oben und unten zu gelangen.‎ Halten Sie ‎‎die Umschalttaste‎‎ gedrückt, um sich schneller zu bewegen.‎ ‎Der Flythrough-Modus ist für ‎‎den perspektivischen Modus‎‎ konzipiert. Wenn du im ‎‎orthographischen Modus‎‎ die rechte Maustaste gedrückt hältst und die Maus bewegst, wird stattdessen die Kamera umkreist.‎ ‎Beachte, dass der Flythrough-Modus im 2D-Modus nicht verfügbar ist. Wenn du stattdessen die rechte Maustaste gedrückt hältst während du die Maus bewegest, schwenkst du um die Szenenansicht.‎ ‎Kamerageschwindigkeit‎: ‎ ‎Im ‎‎Flythrough-Modus‎‎ kannst du die Kamerageschwindigkeit ändern, indem du die rechte Maustaste gedrückt hältst und das Mausrad drehst. Damit kannst du stufenlos zwischen den Min und Max werten für die Kamerageschwindigkeit die du dort eingestellt hast auswählen. Hoffe das hilft dir weiter. Gruß Jog
  4. 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
  5. 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
  6. Hallo, Erst C64 - dann AMIGA - danach PC kommt mir irgendwie bekannt vor 😉 . Auch von mir ein Willkommen ! 😀 Gruß Jog
  7. 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
  8. 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
  9. 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
  10. 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
  11. Hallo, Wünsche euch allen Stressfreie Ostern, und viel Glück beim Eiersuchen. Vielleicht findet ihr ja eine Pro. 🐰 🐰 Gruß Jog
  12. 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
  13. 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
  14. 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
  15. 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() { } }
×
×
  • Create New...