Anndi 0 Posted January 1, 2018 Report Share Posted January 1, 2018 Zitat Ich habe die Camera mit den Charakter verbunden.Ist es möglich , dass ich durch eine Script den Charakter rotiere, ohne das die Camera sich mitrotiert. Ich hoffe jemand kann mir helfen. Link to post Share on other sites
Zer0Cool 416 Posted January 1, 2018 Report Share Posted January 1, 2018 Zieh die Kamera aus deinem Charakter heraus (die Kamera liegt dann auf der gleichen Ebene wie dein Monster) und dann hängst du dieses Skript hier an deine Kamera: using UnityEngine; using System.Collections; public class CompleteCameraController : MonoBehaviour { public GameObject player; //Public variable to store a reference to the player game object private Vector3 offset; //Private variable to store the offset distance between the player and camera // Use this for initialization void Start () { //Calculate and store the offset value by getting the distance between the player's position and camera's position. offset = transform.position - player.transform.position; } // LateUpdate is called after Update each frame void LateUpdate () { // Set the position of the camera's transform to be the same as the player's, but offset by the calculated offset distance. transform.position = player.transform.position + offset; } } Dem Slot "player" weißt du dein Monster zu. Jetzt schiebst du die Kamera in deiner Szene noch an die Position die sie auch später in Relation zu deinem Monster halten soll. Der Abstand der Kamera zu deinem Monster wird so festgelegt. Jetzt folgt die Kamera deinem Monster und wenn sich dein Monster drehen sollte, dreht sich die Kamera nicht mit! Hier noch das Tutorial wo es kurz erklärt wird:https://unity3d.com/de/learn/tutorials/projects/2d-ufo-tutorial/following-player-camera Link to post Share on other sites
Anndi 0 Posted January 1, 2018 Author Report Share Posted January 1, 2018 Danke! Link to post Share on other sites
Anndi 0 Posted January 7, 2018 Author Report Share Posted January 7, 2018 Ich habe alles gemacht und es hat bei mir auch geklapt, doch eigentlich hatte ich vor , dass es nur wenn z.B. Bool Rotate true; ist , rotieren darf. Link to post Share on other sites
Zer0Cool 416 Posted January 7, 2018 Report Share Posted January 7, 2018 Dann hier noch eine andere Version. Hier bleibt die Kamera entweder in Position oder dreht sich mit der Achse des Spielers mit ("Rotate with Player"). Ein Problem ist, daß keine weicher Übergang zwischen beiden Kameraeinstellungen möglich ist (ohne hier extra eine Coroutine zu schreiben), aber vielleicht reicht es ja so (die Kamera richtet sich nun auch immer auf den Spieler aus): using System.Collections; using System.Collections.Generic; using UnityEngine; public class CompleteCameraController : MonoBehaviour { public GameObject player; //Public variable to store a reference to the player game object public bool rotateWithPlayer = false; private Vector3 offset; //Private variable to store the offset distance between the player and camera private Vector3 offset2; // Use this for initialization void Start() { //Calculate and store the offset value by getting the distance between the player's position and camera's position. offset = transform.position - player.transform.position; offset2 = transform.position - (player.transform.position + player.transform.forward * offset.z); } // LateUpdate is called after Update each frame void LateUpdate() { // Set the position of the camera's transform to be the same as the player's, but offset by the calculated offset distance. if (rotateWithPlayer) { transform.position = player.transform.position + player.transform.forward * offset.z + offset2; transform.LookAt(player.transform); } else { transform.position = player.transform.position + offset; transform.LookAt(player.transform); } } } Link to post Share on other sites
Recommended Posts
Archived
This topic is now archived and is closed to further replies.