Jump to content
Unity Insider Forum
Sign in to follow this  
STU

Werte der CinemachineVirtualCamera per Skript ändern

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

grafik.png.a811565bdf017acabad7893a81a5c32d.png

Ich hätte jetzt so angefangen. Nur komme ich da jetzt nicht weiter.

gameObject.GetComponent<CinemachineVirtualCamera>()

Gruß

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

😲

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...