STU Geschrieben 1. August 2020 Melden Share Geschrieben 1. August 2020 Hi zusammen, ich möchte dass sich die Einstellungen meiner Cinemachine bei bestimmten erreignissen ändert. Leider funktioniert das irgendwie nicht. Wie müsste das aussehen wenn ich z.B. den Skreen X Wert ändern möchte, wenn mich eine Person anspricht. if (talk == true) { ... Vielen Dank Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 1. August 2020 Melden Share Geschrieben 1. August 2020 Hallo Ich weiß nicht, was der "Skreen X" Wert ist, aber die orthographische Größe kann man beispielsweise so ändern: _camera.m_Lens.OrthographicSize = _newOrthographicSize; vorher scheibst du noch: [SerializeField] private CinemachineVirtualCamera _camera = default; und weißt es im editor entsprechend zu. Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 1. August 2020 Autor Melden Share Geschrieben 1. August 2020 Hi, danke erstmal für die Antwort. Leider kommt bei mir immer wieder dieser Fehler wenn ich versuche die Cinemachine ein zu binden. Assets\Skript\CameraManager.cs(9,30): error CS0246: The type or namespace name 'CinemachineVirtualCamera' could not be found (are you missing a using directive or an assembly reference?) Viele Grüße Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 1. August 2020 Melden Share Geschrieben 1. August 2020 Joa, wie die Fehlermeldung sagt: Dir fehlt vermutlich eine using-Direktive oder ein Assembly-Verweis. Hast du die using-Direktive? Müsste so aussehen, glaube ich: using Cinemachine; Einen Assembly-Verweis bräuchtest du nur, wenn du im Projekt Assembly Definitions benutzt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 1. August 2020 Autor Melden Share Geschrieben 1. August 2020 SUPER!!! das hat schon mal funktioniert. Ich bin noch ziemlicher Anfänger Jetzt würde ich gerne wie oben beschrieben den "Screen X" Wert ändern. Ich hätte jetzt so angefangen. Nur komme ich da jetzt nicht weiter. gameObject.GetComponent<CinemachineVirtualCamera>() Gruß Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 12. August 2020 Autor Melden Share Geschrieben 12. August 2020 Hi, das mit OrthographicSize funktioniert schon mal ganz gut. Ich würde dazu gerne die Kamera noch in X verschieben. Habe es über transform.position probiert. Das funktioniert aber leider nicht. Ich vermute mal da die Cinemachine meinen Charakter ja mittig ausrichtet und ich immer noch keine Variante gefunden habe wie ich diesen ScreenX Wert per Skript ändern kann. Gibt es noch irgend eine andere Möglichkeit? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 13. August 2020 Melden Share Geschrieben 13. August 2020 Hab mit dem Teil noch nie was gemacht aber probier mal so: CinemachineVirtualCamera virtualCamera = GetComponent<CinemachineVirtualCamera>(); CinemachineFramingTransposer framingTransposer = virtualCamera.GetCinemachineComponent<CinemachineFramingTransposer>(); framingTransposer.m_ScreenX = 0.5f; siehe https://docs.unity3d.com/Packages/com.unity.cinemachine@2.1/api/Cinemachine.CinemachineFramingTransposer.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 14. August 2020 Autor Melden Share Geschrieben 14. August 2020 😲 vielen vielen Dank. Das hat mich schon die ganze Zeit genervt. Vielleicht kannst du mir auch noch bei einem anderen Problem helfen? Ich habe ein Objekt mir einem Boxcollider. Wenn ich darauf springe kann ich von dort aus weiter springen. Wenn ich nun diese Objekt mit Strg + D kopiere, dann sollte es doch komplett gleich sein? Ist es aber anscheined nicht. Ich kann darauf springen und laufen, wenn ich aber von dort wegsprinngen möchte geht das nicht. Ich bleibe auf der Stelle und die animation Springen beginnt und läuft dann die ganze Zeit über weiter. Woran kann das liegen? Vor allem hat es vorher schonmal funktioniert. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 14. August 2020 Melden Share Geschrieben 14. August 2020 Schwer zu sagen, tausch das Original (+ Ausblenden) mal mit der Kopie aus und setze es an die exakt gleiche Transform-Position und an die gleiche Position in der Hierarchie in der Szene. Wenn es sich dann gleich wie das Original verhält liegt es ggf. daran. Ansonsten kann das Objekt natürlich auch irgendwo in deiner Szene referenziert sein (Parameter von einem Skript) und wenn du eine Kopie machst fehlt diese Referenz dann. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
STU Geschrieben 15. August 2020 Autor Melden Share Geschrieben 15. August 2020 hab den fehler gefunden. Es wurde in meinem Skript nicht als Ground erkannt. Was mich nur wundert, dass das erste Objekt funktioniert hat. Egal, jetzt gehts 😄 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.