Jump to content
Unity Insider Forum

wueschn

Members
  • Content count

    21
  • Joined

  • Last visited

Community Reputation

1 Neutral

About wueschn

  • Rank
    Member

Recent Profile Visitors

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

  1. Hallo Sascha Danke für die Antwort, leider habe ich es trotzdem nicht verstanden, vor allem warum ein Minus davor ist -Input.GetAxis("Mouse Y")
  2. Werte Profis Ich benötige Hilfe bei folgendem funktionierenden Code: public class CameraSwitch : MonoBehaviour { public Camera camera1st; public Camera camera3rd; public float Look = 100.0f; private bool firstCameraOn = false; private Vector3 LookVector = Vector3.zero; void Update() { // Auf und ab schauen LookVector.x = -Input.GetAxis("Mouse Y");// minus dreht Mausbewegung von links/rechts auf oben/unten??? camera1st.transform.Rotate(LookVector * Time.deltaTime * Look); camera3rd.transform.Rotate(LookVector * Time.deltaTime * Look); // 1st oder 3rd Kamera? if (Input.GetKey(KeyCode.Q)) { if (firstCameraOn == true) { camera1st.enabled = true; camera3rd.enabled = false; firstCameraOn = false; } else { camera1st.enabled = false; camera3rd.enabled = true; firstCameraOn = true; } } } } Ich verstehe folgende Zeile nicht, die es ermöglicht, mit der Kamera nach oben und unten zu schwenken.... Es funktioniert, nur verstehen tu ich es nicht ... LookVector.x = -Input.GetAxis("Mouse Y");// minus dreht Mausbewegung von links/rechts auf oben/unten??? a) Warum geht es hier um die X-Achse, denn ich bewege ja den Blick auf und ab bzw. von oben nach untern.. b.) Warum braucht man hier ein Minus bei LookVector.x = -Input.GetAxis("Mouse Y"); Danke vorab wueschn
  3. Hallo Sascha Danke für die Antwort, muss mich somit mal in Blend Trees einlesen ....... lg und danke wueschn
  4. Werte Expertinnen und Experten Ich habe zu Übungszwecken versucht, ein Model mit den Pfeiltasten zu steuern und zugleich zu jeder Richtung auch eine Laufanimation zuzuordnen (mittels Mechanim). Was ich nicht schaffe, ist eine Running Animation rückwärts. Ich habe zwar eine Animation samt Script für rückwärts laufen, weiß aber nicht, wie die Bewegung selbst scripten soll. using System.Collections; using System.Collections.Generic; using UnityEngine; public class AvatarControlling : MonoBehaviour { private Animator anim; public float speed = 3.0f; public float rotationSpeed = 30.0f; void Start() { anim = GetComponent<Animator>(); } void Update() { //moving forward/backward via ArrowKeys float translation = Input.GetAxis("Vertical"); //turning left/right via ArrowKeys float rotation = Input.GetAxis("Horizontal") * rotationSpeed; translation = translation * Time.deltaTime * speed; rotation = rotation * Time.deltaTime; transform.Translate(0, 0, translation); transform.Rotate(0, rotation, 0); //left arrowKey starts a letMovement motion if (Input.GetKeyDown(KeyCode.LeftArrow)) { anim.SetTrigger("isLeft"); } //right arrowKey starts a rightMovement motion if (Input.GetKeyDown(KeyCode.RightArrow)) { anim.SetTrigger("isRight"); } //starts a jumping animation by space key if (Input.GetButtonDown("Jump")) { anim.SetTrigger("isJumping"); } //starts a running animation forwards if(translation != 0) { anim.SetBool("isRunning", true); } else { anim.SetBool("isRunning", false); } //how to start the running back animation via translation?????? } } Hat jemand eine Idee, wie ich meine Rückwärts-Laufen-Animation mit translation scripten kann?? Vielen Dank vorab wueschn
  5. Hallo Sascha, dann hast du mein Problem super gelöst! Vielen Dank!
  6. Hallo nochmals Ah, jetzt verstehe ich langsam die Logik. Die 3rdPerson-Ansicht der ersten Kamera ist ein wenig oberhalb des Character Controlls des Objektes, die 1stPerson-Ansicht der zweiten Kamera genau innerhalb des Objektes, wobei man aufpassen muss, dass man innerhalb des Character Control-Colliders ist. Stimmt das so? Ich meinem Fall habe ich kontrolliert, und meine 1stPerson Kamera war tatsächlich vor dem Character Control Element und dadurch ist die Kamera durch den Terrain gesaust (noch bevor der Character Control gekommen ist). Die 2. Kamera war hinter und oberhalb des Character Controlls (in Laufrichtung) und dadurch hat der Character Controll Collider gewirkt. Klingt das logisch, was ich interpretiere? Danke nochmals wueschn
  7. Hallo Sascha Danke fürs Nachfragen. Das Problem habe ich nur mit dem Terrain. Das ist ein ganz normales 3D-Terrain, wie es standardmäßig von Unity angeboten wird. Ich habe lediglich aus dem Standard Asset darin ein Gras-Material draufgezeichnet und mit dem Raise-Werkzeug die Berge geformt. Und eben durch diese Berge "sause ich durch".Wenn ich andere Objekte einfüge, reagieren diese ganz normal auf ein Kollision. Ich habe das Problem also nur mit den Bergen des Terrains. Ein 2. Skript habe ich auch noch, aber das schaltet nur von 1stMan auf 3thirdMan-Ansicht der Kamera. Hier das Script: using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraSwitch : MonoBehaviour { public Camera camera1st; public Camera camera3rd; public float look = 100.0f; private Vector3 lookVector = Vector3.zero; void Update() { if(Input.GetKey(KeyCode.A)) { camera1st.enabled = true; camera3rd.enabled = false; } if (Input.GetKey(KeyCode.S)) { camera1st.enabled = false; camera3rd.enabled = true; } lookVector.x = -Input.GetAxis("Mouse Y"); camera1st.transform.Rotate(lookVector * Time.deltaTime * look); camera3rd.transform.Rotate(lookVector * Time.deltaTime * look); } } Jetzt habe ich aber aufgrund deiner Fragen gemerkt, dass ich das Problem mit dem "Terrain-Durchsausen" nicht mit der Spielfigur, sondern mit der KAMERA habe. In der 3rdMan-Ansicht (Kamera folgt dem Objekt) habe ich das Problem nicht. Schalte ich in die 1stMan-Ansicht, sause ich durch. Ich vermute, ich habe hier ein Problem mit der Kamera. Was kann ich hier machen .... Ich schicke noch einen Screenshot, der zeigt, dass ich 2 Kameras als Child des Spielobjekts genutzt habe. Vielen Dank vorab wueschn
  8. Ja stimmt, vielen Dank. Noch eine schnelle Frage: An welche Position kann man beim Positionieren der GUI generell halten, damit man das ungefähr einschätzen kann? Danke nochmals Barb.
  9. Hallo Sascha Vielen Dank für deine Antwort, hilft mir sehr!!
  10. Werte Experten/innen Ich habe eine Anfängerfrage. Die Aufbau der Koordinaten in Unity mit mittig den Punkt (0/0/0), rechts davon positive X-Werte, links davon negative X-Werte habe ich verstanden. Vom Nullpunkt die Y-Achse nach oben positive Y-Werte, nach unten negative Y-Werte. Vom Nullpunkt in die Ebene hinein positive z-Werte und heraus negative z-werte. Was ich aber überhaupt nicht verstehen kann ist die Positionsangabe für GUI-Elemente. Ich habe ein Projekt nachgebaut, bei dem ich als X-Position (Top-Left) die Position 100/-30 angeben musste. Meine Frage: wie kommt man auf die Zahl 100 bzw. -30. Meine "Normale Welt" spielt sich zwischen -5 und + 5 auf der X-Achse ab ....... Vielen Dank vorab Barb.
  11. Werte Experten/innen Ich habe eine Basisfrage, bei der ich einfach nicht dahinter komme. Ich möchte einen Billard-Tisch in Unity erstellen mit Untergrund und 4 Teilwänden (rechts, links, oben, unten). Da ich in weiterer Folge den Tisch drehen und neigen will, habe ich als Boden als Parent einen Cube genommen und von den Maßen her optimiert. Die 4 Teilwände sind auch Cubes und sollen Childs vom Parent Boden sein (damit drehen sich mit dem Tisch auch automatisch die Seitenwände mit). Ich habe gelesen, wenn man jetzt RELATIV zum Boden positioniert bzw. skaliert, können die Seitenwände ganz schnell und sauber erstellt werden. Nur verstehe ich nicht, wie ich das machen soll? Im Anhang habe ich den Aufbau samt Maßen des Bodens als Bild gespeichert. Vielen Dank für Eure Hilfe Barb.
  12. wueschn

    In Z-Richtung bewegen

    Hat super geklappt, danke!!
  13. wueschn

    In Z-Richtung bewegen

    Werte Expertinnen und Experten Wie kann ich festlegen, dass ich durch Drücken der Leertaste ein GameObject in die Z-Richtung bewegen kann? Bewegung in die X- und Y-Richtung funktioniert bei mir mit public void MyMoving() { //GetAxis-Variablen erstellen float xController = Input.GetAxis("Horizontal"); float yController = Input.GetAxis("Vertical"); //neue Position bestimmten float xNeu = myTransform.position.x + (xController * speed * Time.deltaTime); float yNeu = myTransform.position.y + (yController * speed * Time.deltaTime); //neue Position ausführen myTransform.position = new Vector3(xNeu, yNeu, 0); } Vielen Dank vorab wueschn
  14. wueschn

    Bewegungsscript

    Ok, danke, super beantwortet!
  15. wueschn

    Bewegungsscript

    Um nochmals sicher zu gehen: float eingabeFaktor = 10; float xEingabe = Input.GetAxis("Horizontal"); float xNeu = transform.position.x + xEingabe * eingabeFaktor * Time.deltaTime; xEingabe ist im Prinzip immer ein Wert zwischen 0 und 1 bzw. 0 und -1 und dieser Wert mal 10 mal die Framezeit Time.deltaTime ergibt die ÄNDERUNG, die zur aktuellen Position dazugezählt wird? Danke nochmals Mario
×