Armed-Assault.de Twitter


Editing The world is a Script - write it!

Antwort
 
Themen-Optionen Ansicht
Alt 27.11.2008, 16:48   #1 (permalink)
Newbie
 
Registriert seit: 27.11.2008
Beiträge: 2
Standard Kamera an Person in bewegendem Fahrzeug heften?

Hallo,

bin jetzt ganz neu mit Armed Assault eingestiegen, da ich vor langer Zeit mal OFP angespielt hatte und begeistert war.
Habe mich dann auch recht schnell mit dem Editor auseinandergestetzt und landete schlussendlich beim erstellen eines Intros.
Dazu hab ich eine Frage:

Nach langen suchen bin ich leider immer noch nicht auf eine Lösung des Problems gestoßen, wie ich eine Kamera an eine Person hefte die in einem fahrenden oder fliegenden Vehicle sitzt. Immer wenn ich dies probiere bleibt die Kamera an einem festen Punkt stehen und das Gefährt verschwindet in der Ferne.
Eine Kamera an das Vehicle selbst zu heften ist kein Problem und auch ausreichend erklärt.
Habe schon mit Sachen wie cameraEffect rumgespielt, hatte aber keinen großen Erfolg.
Das erstellen einer neuen Kamera funktionierte auch nicht, da sich das Vehicle bewegt und ich so keine Koordinaten habe. Gebe ich als target den Namen ein lande ich auch sonst irgendwo, aber nicht bei der Einheit die ich im Bild haben will.
Muss man da vieleicht gar nicht den "Anheftbefehl" nehmen, oder hab ich vieleicht einfach nur ein Brett vor dem Kopf?
Mir würde auch reichen bzw. gefallen in der Egoperspktive das Intro vortzusetzen, was beim nutzen der Missionskarte im Editor auch kein Problem darstellt (ist ja auch klar).

Na ja, da das ganze nicht funktionierte, habe ich nach einer anderen Lösung geschaut und wollte dann im sich bewegenden Fahrzeug eine Kamerafahrt realisieren, bzw. eine Kameraeinstellung auf die Person richten. Geht aber auch nicht wirklich, da ja die Kamera auf das Vehicle fixiert ist. Gibt es für dieses Problem eventuell auch eine Lösung?

Ich weiss, dass das eigendlich Sachen sind mit denen man nicht beginnt, möchte das aber trotzdem realisieren wenn das möglich ist.

Muss übrigens noch sagen, das man auch als Leihe Aufgrund der verschiedensten Tutorials, Anleitungen und nicht zu vergessen des Guides "leicht" einsteigen kann und so schon einiges realisieren kann. Finde ich sehr gut und habe großen Respekt vor den Erstellern solcher Hilfsmittel.

Gruß
RADEKs_Katze ist offline   Mit Zitat antworten
Alt 27.11.2008, 20:23   #2 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Hier ein Beispiel, wie die Kamera einen Hilikopter folgt.

Die Kamera verfolgt aber jedes Objekt, welches du in die globale Varialble Kamera1ZielObjekt eingibst.

z.B. Kamera1ZielObjekt = player


Der Abstand der Kamera zum Objekt ist einstellbar im Skirpt:

kamera1.sqf
Code:
_Px =   0; //Position der Kamera neben  dem Objekt
_Py = -40; //Position der Kamera hinter dem Objekt (negativer Wert)
_Pz =   2; //Position der Kamera über   dem Objekt
Angehängte Dateien
Dateityp: zip Verfolger_Kamera.Intro.zip (17,5 KB, 99x aufgerufen)
Vienna ist offline   Mit Zitat antworten
Alt 27.11.2008, 20:37   #3 (permalink)
500 Beiträge
 
Benutzerbild von Mr-Murray
 
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Mr-Murray eine Nachricht über ICQ schicken Mr-Murray eine Nachricht über Skype™ schicken
Standard

Mach´s wie Vienna vorschlägt.
Im Editing Guide stehts ähnlich!

8.5 Kamera an ein Fahrzeug/Einheit heften - Seite 260
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
Mr-Murray ist offline   Mit Zitat antworten
Alt 27.11.2008, 21:23   #4 (permalink)
Newbie
 
Registriert seit: 27.11.2008
Beiträge: 2
Standard

vielen Dank,

werde es versuchen,

Gruß
RADEKs_Katze ist offline   Mit Zitat antworten
Alt 26.12.2008, 22:17   #5 (permalink)
50 Beiträge
 
Registriert seit: 11.04.2006
Beiträge: 52
Standard

Und genau da bin ich gerade, auf Seite 260 des Editing Guides, habe das dort aufgeführte kopiert und eingefügt, die relevanten Namen angepasst aber das Spiel zeigt mir eine Fehlermeldung an. Da es nicht schwer ist simples copy and paste zu betreiben habe ich keine Ahnung wo der Fehler liegt.

Das hier steht bei mir in der .sqs Datei:

~3
_camera camSetTarget osprey
_camera camSetPos [0,0,0]
_camera camSetFOV 0.700
_camera camCommit 0
@camCommitted _camera
_camera cameraEffect ["internal","back"]
; Position der Kamera im/am/um das Fahrzeug
_car = osprey
;Position der Kamera längs des Fahrzeugs (vorne/hinten/in)
_dx = -6
;Position der Kamera neben dem Fahrzeug (links/rechts/in)
_dy = 0
;Höhe der Kamera (unter/über/in)
_dz = 2
#LOOP
;Die folgenden zwei Blöcke sind jeweils eine Zeile, was hier nicht möglich ist.
_camera camSetTarget [(10 * sin (getdir _car))+(getpos _ car select 0), 10*cos (getdir _car)+(getpos _car select 1), (getpos _car select 2)]
_camera camSetPos [(getpos _ car select 0) + _dx * sin (getdir _car) - _dy * cos (getdir _car), (getpos _car select 1) + _dx * cos (getdir _car) + _dy * sin (getdir _car), (getpos _car select 2)+_dz]
_camera camSetFOV 0.900
_camera camCommit 0
@camCommitted _camera
;Um das Skript zu beenden, setzen wir eine Bedingung. Hier: Wenn unser Auto
;näher als 50 Meter an die Einheit (P1) kommt, soll die Szene beendet werden.
?P1 distance osprey < 50 : goto "Ende"
goto "LOOP"
#Ende
P1 cameraEffect ["terminate","back"]
camDestroy _camera
exit

Kann mir bitte jemand mitteilen was hier dran falsch ist?
Laut Fehlermeldung steckt der Fehler (eine Klammer fehlt laut Meldung) irgendwo im zweiten Block. Vorschläge?
GAanimal ist offline   Mit Zitat antworten
Alt 27.12.2008, 19:58   #6 (permalink)
500 Beiträge
 
Benutzerbild von Mr-Murray
 
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Mr-Murray eine Nachricht über ICQ schicken Mr-Murray eine Nachricht über Skype™ schicken
Standard

Jop!
Dein Vehicle heißt Osprey. Unten hast du aber _car!

Da musst du dann schon ändern


Viele Grüße

Mr-Murray
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
Mr-Murray ist offline   Mit Zitat antworten
Alt 28.12.2008, 13:05   #7 (permalink)
50 Beiträge
 
Registriert seit: 11.04.2006
Beiträge: 52
Standard

Hallo nochmal,

danke Mr-Murray für deine schnelle Hilfe, jedoch funzt das ganze noch immer nicht. Ich habe alle _car in _osprey umgeschreiben, die Fehlermeldung allerdings die schon vorher kam hat sich nicht geändert, sie zeigt weiterhin an das irgendwo eine Klammer fehlt. Ich poste jetzt nochmal das aktuelle Script in der Hoffnung so den Fehler leichter zu identifizieren.


_camera camSetTarget osprey
_camera camSetPos [0,0,0]
_camera camSetFOV 0.700
_camera camCommit 0
@camCommitted _camera
_camera cameraEffect ["internal","back"]
; Position der Kamera im/am/um das Fahrzeug
_car = osprey
;Position der Kamera längs des Fahrzeugs (vorne/hinten/in)
_dx = -6
;Position der Kamera neben dem Fahrzeug (links/rechts/in)
_dy = 0
;Höhe der Kamera (unter/über/in)
_dz = 2
#LOOP
;Die folgenden zwei Blöcke sind jeweils eine Zeile, was hier nicht möglich ist.
_camera camSetTarget [(10 * sin (getdir _osprey))+(getpos _ osprey select 0), 10*cos (getdir _osprey)+(getpos _osprey select 1), (getpos _osprey select 2)]
_camera camSetPos [(getpos _ osprey select 0) + _dx * sin (getdir _osprey) - _dy * cos (getdir _osprey), (getpos _osprey select 1) + _dx * cos (getdir _osprey) + _dy * sin (getdir _osprey), (getpos _osprey select 2)+_dz]
_camera camSetFOV 0.900
_camera camCommit 0
@camCommitted _camera
;Um das Skript zu beenden, setzen wir eine Bedingung. Hier: Wenn unser Auto
;näher als 50 Meter an die Einheit (P1) kommt, soll die Szene beendet werden.
?P1 distance osprey < 50 : goto "Ende"
goto "LOOP"
#Ende
P1 cameraEffect ["terminate","back"]
camDestroy _camera
exit

Die Fehlermeldung lautet folgendermaßen:
_camera camSetPos [(getPos _ |#| osprey select 0) + _dx * sin (getdir _os...´_osprey...´
Error Fehlende )

Entschuldigt wenn ich euch mit solchen Belanglosigkeiten nerve =(


EDIT
Hab da noch ein Anliegen: und zwar wieso wird einmal _osprey und ein mal _ osprey geschrieben (also mit Leerzeile dazwischen)? Ich hab experiment um alle _ ospreys ohne leerzeile geschrieben. Tatsächlich verschwand die oben genannte Fehlermeldung, jedoch wurde sie kurz vor dem Eintritt der neuen Kamerasequenz durch eine neue ersetzt -.-

Geändert von GAanimal (28.12.2008 um 13:13 Uhr).
GAanimal ist offline   Mit Zitat antworten
Alt 28.12.2008, 15:28   #8 (permalink)
500 Beiträge
 
Benutzerbild von Mr-Murray
 
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Mr-Murray eine Nachricht über ICQ schicken Mr-Murray eine Nachricht über Skype™ schicken
Standard

Du hast ein ganz anderes Problem! Du kennst den Unterschied zwischen globaler und lokaler Variable nicht!


Wie heißt dein fhz nun? Osprey oder _Osprey???
Also bitte entsprechend anpassen, dann klappt auch
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
Mr-Murray ist offline   Mit Zitat antworten
Alt 28.12.2008, 18:00   #9 (permalink)
50 Beiträge
 
Registriert seit: 11.04.2006
Beiträge: 52
Standard

Ich weiß tatsächlich nicht was der Unterschied ist zwischen globalen und lokalen Variabeln, aber das hab ich auch nie behauptet.

Jetzt, wo ich _car ersetzt hab funktioniert es prima und läuft wunderbar

Danke für die Hilfe
GAanimal ist offline   Mit Zitat antworten
Alt 01.01.2009, 19:36   #10 (permalink)
50 Beiträge
 
Registriert seit: 11.04.2006
Beiträge: 52
Standard

Es ist bei meinem Camscript ein Fehler aufgetaucht der mir völlig suspect erscheint. Ich habe die funktionierende Kamerasequenz kopiert und unter drangehängt, die Kameraposition editiert und mit einer Bedingung verknüpft.
Jedoch ist die zweite Kamerasequenz irgendwie fehlerhaft.

Sie sieht wie folgt aus:

#fortsetzung
;KAMERA AN FAHRZEUG SEQUENZ ZWEI
_camera camSetTarget osprey
_camera camSetPos [0,0,0]
_camera camSetFOV 0.700
_camera camCommit 0
@camCommitted _camera
_camera cameraEffect ["internal","back"]
; Position der Kamera im/am/um das Fahrzeug
_car = osprey
;Position der Kamera längs des Fahrzeugs (vorne/hinten/in)
_dx = 45
;Position der Kamera neben dem Fahrzeug (links/rechts/in)
_dy = -10
;Höhe der Kamera (unter/über/in)
_dz = 5
#LOOOP
;Die folgenden zwei Blöcke sind jeweils eine Zeile, was hier nicht möglich ist.
_camera camSetTarget [(10 * sin (getdir osprey))+(getpos osprey select 0), 10*cos (getdir osprey)+(getpos osprey select 1), (getpos osprey select 2)]
_camera camSetPos [(getpos osprey select 0) + _dx * sin (getdir osprey) - _dy * cos (getdir osprey), (getpos osprey select 1) + _dx * cos (getdir osprey) + _dy * sin (getdir osprey), (getpos osprey select 2)+_dz]
_camera camSetFOV 0.700
_camera camCommit 0
@camCommitted _camera
;Um das Skript zu beenden, setzen wir eine Bedingung. Hier: Wenn unser Auto
;näher als 50 Meter an die Einheit (P1) kommt, soll die Szene beendet werden.
?esgehtweiter : goto "weiter"
goto "LOOOP"
#weiter

Das Problem:
Wenn die gepostete Sequenz beginnt hängt die Kamera nicht am Osprey sondern fixiert irgendeinen Punkt über dem Meer. Sie folgt dem Ding einfach nicht was ja eigendlich aufgrund des _camera camSetTarget osprey garnicht gehen kann. Kann jemand helfen?
Schöne Grüße und frohes neues Jahr
GAanimal ist offline   Mit Zitat antworten
Alt 10.01.2009, 18:11   #11 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Du musst das ordentlich programmieren.

.) die Variablen für das zu verfolgende Objekt und die Positionen der Kamera zum Objekt.
.) die Kamera erstellen.
.) das zu verfolgende Objekt der Kamera zuweisen.
.) die Nachstellungsschleife der Kamera zum zu verfolgenden Objekt.
.) die Kamera entfernen.

In diesem Beispiel verfolgt die Kamera 10 Sekunden ein Objekt.

Verfolgerkamera.sqs
Code:
;zu verfolgendes Objekt 
_objekt = <hier Namen des zu verfolgenden Objekts anführen>

; Position der Kamera neben  dem Objekt
_Px =   0
; Position der Kamera hinter dem Objekt (negativer Wert)
_Py = -40
; Position der Kamera über   dem Objekt
_Pz =   2

		
;Kamera erstellen
ShowCinemaBorder false
_camera ="camera" camCreate [0,0,0]
_camera CameraEffect ["internal", "back"]
_camera camSetFOV 1


;von der Kamera zu verfolgendes Objekt festlegen
_camera camSetTarget _objekt;


_zeit = time + 10

;Schleife für die Dauer der Bedingung
#verfolgen

   ;Kamera dem Objekt nachstellen
   _camera camSetPos (_objekt modelToWorld [_Px,_Py,_Pz])
   _camera camCommit 0
   @camCommitted _camera

? time < _zeit : goto "verfolgen"


;Kamera entfernen
_camera CameraEffect ["terminate", "back"]
camDestroy _camera
Anstelle von Sinus und Cosinus wurde der Befehl "modelToWorld" verwendet!

Für eine weitere Verfolgung direkt nach der Schleife eine zweite Schleife einfügen. Es kann zuvor auch ein anderes zu verfolgendes Objekt angeführt werden.
Vienna ist offline   Mit Zitat antworten
Antwort

Stichworte
kamera


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kamera lestatxtc Editing 12 02.06.2008 17:56
kamera Mr.Cleaner Editing 3 09.12.2006 18:02


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119