Kamerabweegung

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    ich schaffe es nicht die Kamera von der aktuellen Position zu einer anderen zu bewegen.
    Mein Code:


    if (strcmp("/info", cmdtext, true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,681.6730,-474.0680,16.5363))
    {
    new Float:x,Float:y,Float:z;
    new Float:x1,Float:y1,Float:z1;
    GetPlayerCameraPos(playerid,x,y,z);
    GetPlayerCameraFrontVector(playerid,x1,y1,z1);
    InterpolateCameraPos(playerid,x,y,z,664.4217, -491.6463, 27.1711,2000,CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,x1,y1,z1,664.9736, -490.8073, 26.8960,2000,CAMERA_MOVE);
    return 1;
    }
    }


    Wie muss der Code richtig aussehen?
    Die Koordinaten habe ich übrigens vom SAMP Map Editor.

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Bei InterpolateCameraLookAt musst du die Position benutzen, wo der Spieler hinschauen soll.


    Das ist genauso wie bei SetPlayerCmaeraLookAt, du verwendest jedoch die Vektorposition.


    //edit funktionieren sollte dein code nur hast du wahrscheinlich eine drehung drinne die du nicht möchtest ?

  • Ich hab's jetzt getestet:
    new Float:x,Float:y,Float:z;
    GetPlayerCameraPos(playerid,x,y,z);
    InterpolateCameraPos(playerid,x,y,z,664.4217, -491.6463, 27.1711,2000,CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,x,y,z,664.9736, -490.8073, 26.8960,2000,CAMERA_MOVE);


    Ich schätze so willst du es, dass es sich zurück bewegt.



    IPrototypeI: Es hat sich im Kreis gedreht und dann hat's nen Ruck gemacht, an die richtige Position.

  • Das funktioniert leider auch nicht so wie ich es will.


    //edit:
    Ich möchte dass die Kamera sich von der aktuellen Position zur vorgegebenen bewegt.
    Am Ende ist das Gebäude zu sehen, allerdings spackt die Kamera.
    Sie verdreht sich, nachdem der Befehl ausgeführt wurde.

  • Sorry, hätte ich gleich dazuschreiben sollen :D


    //edit:
    Nochmal etwas genauer:
    Am Ende schau ich genau da hin wo ich will - das klappt also.
    Allerdings finde ich die drei Koordinaten (FromX, FromY und FromZ) nicht heraus,
    die ich bei InterpolateCameraLookAt einfügen muss.

    Einmal editiert, zuletzt von Pille ()

  • Jetzt haste erst nicht geschrieben wie du es haben willst, nur was du nicht weißt.


    Jetzt ist es ja so, mit dem Code den ich dir gegeben habe, dass die Kamera grade nach hinten oben geht, wenn man die Türe anstarrt. Wie soll es deinem Wunsch nach sein, wie soll sich die Kamera bewegen, wenn das Ergebnis schonmal stimmt?

  • Ich habs herausgefunden:


    stock GetPlayerCameraLookAt(playerid,&Float:x,&Float:y,&Float:z)
    {
    new Float:Campos[3];
    GetPlayerCameraFrontVector(playerid,x,y,z);
    GetPlayerCameraPos(playerid,Campos[0],Campos[1],Campos[2]);
    x+=Campos[0];
    y+=Campos[1];
    z+=Campos[2];
    return 1;
    }


    Verwendung für meinen Code also:


    if (strcmp("/info", cmdtext, true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0,681.6730,-474.0680,16.5363))
    {
    new Float:x,Float:y,Float:z;
    new Float:x1,Float:y1,Float:z1;
    GetPlayerCameraPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,x1,y1,z1);
    InterpolateCameraPos(playerid,x,y,z,664.4217, -491.6463, 27.1711,2000,CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,x1,y1,z1,664.9736, -490.8073, 26.8960,2000,CAMERA_MOVE);
    return 1;
    }
    }


    Danke trotzdem :thumbup:


  • Kleiner Tipp an dich, nutze doch den Cameditor, einfach zu bedienen.
    http://forum.sa-mp.com/showthread.php?t=330879



    Gruß

  • Mit dem Cameditor kann ich die Kamera von Position A zu Position B bewegen.
    Wenn die Position A aber nich fest sein soll, sondern sich, je nachdem wo der Spieler ist bzw. wo der Spieler hinschaut,
    nützt mir ein Kameraeditor nichts.