{"name":"camSetDir","operator":null,"title":"camSetDir","type":"command","url":"https://community.bistudio.com/wiki/camSetDir","revid":377244,"updated":"2026-01-02T04:23:26Z","groups":["Camera Control"],"status":"ok","replaced_by":[],"games":[{"game":"ofp","name":"Operation Flashpoint","version":"1.00"},{"game":"ofpe","name":"Operation Flashpoint: Elite","version":"1.00"},{"game":"arma1","name":"Armed Assault","version":"1.00"},{"game":"arma2","name":"Arma 2","version":"1.00"},{"game":"arma2oa","name":"Arma 2: Operation Arrowhead","version":"1.50"},{"game":"tkoh","name":"Take On Helicopters","version":"1.00"},{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"ofp","name":"Operation Flashpoint","version":"1.00"},"arma3_since":"0.50","branch":null,"locality":{"argument":"local","effect":"local","server_exec":false},"exec":null,"description":"Sets the orientation of the given camera in the direction of the given vector. Needs camCommit. Since Arma 3 v0.50, only the second syntax with a Vector3D is available.","syntaxes":[{"syntax":"camera camSetDir azimuth","since":null,"effect":null,"exec":null,"params":[{"name":"camera","type":"Object","optional":false,"default":null,"description":"object of type \"camera\"","types":["Object"],"since":null,"text":"camera: Object - object of type \"camera\""},{"name":"azimuth","type":"Number","optional":false,"default":null,"description":"camera azimuth","types":["Number"],"since":null,"text":"azimuth: Number - camera azimuth"}],"returns":{"type":"Nothing","types":["Nothing"],"description":null,"text":"Nothing"},"form":"binary","operator":null,"left":{"text":"camera","types":["Object"]},"right":{"text":"azimuth","types":["Number"]}},{"syntax":"camera camSetDir direction","since":"arma3 0.50","effect":null,"exec":null,"params":[{"name":"camera","type":"Object","optional":false,"default":null,"description":"object of type \"camera\"","types":["Object"],"since":null,"text":"camera: Object - object of type \"camera\""},{"name":"direction","type":"Vector3D","optional":false,"default":null,"description":"direction of camera. Must be a valid vector.","types":["Vector3D"],"since":null,"text":"direction: Vector3D - direction of camera. Must be a valid vector."}],"returns":{"type":"Nothing","types":["Nothing"],"description":null,"text":"Nothing"},"form":"binary","operator":null,"left":{"text":"camera","types":["Object"]},"right":{"text":"direction","types":["Vector3D"]}}],"examples":[{"text":"Since Arma 3:\n\n```sqf\nprivate _pos1 = player modelToWorld [0, 5, 5];\nprivate _pos2 = player modelToWorld [0, 50, 50];\n\nprivate _cam = \"camera\" camCreate _pos1;\n_cam cameraEffect [\"INTERNAL\", \"BACK\"];\n\n_cam camSetPos _pos2;\n_cam camSetDir (_pos2 vectorFromTo _pos1);\n_cam camCommit 5;\nwaitUntil { camCommitted _cam };\n\n_cam camSetPos _pos1;\n_cam camCommit 5;\n```","code":["private _pos1 = player modelToWorld [0, 5, 5];\nprivate _pos2 = player modelToWorld [0, 50, 50];\n\nprivate _cam = \"camera\" camCreate _pos1;\n_cam cameraEffect [\"INTERNAL\", \"BACK\"];\n\n_cam camSetPos _pos2;\n_cam camSetDir (_pos2 vectorFromTo _pos1);\n_cam camCommit 5;\nwaitUntil { camCommitted _cam };\n\n_cam camSetPos _pos1;\n_cam camCommit 5;"]},{"text":"Before Arma 3:\n\n```sqf\nprivate _pos1 = player modelToWorld [0, 5, 5];\nprivate _pos2 = player modelToWorld [0, 50, 50];\n\nprivate _cam = \"camera\" camCreate _pos1;\n_cam cameraEffect [\"INTERNAL\", \"BACK\"];\n\n_cam camSetPos _pos2;\n_cam camSetDir 180;\n_cam camCommit 5;\nwaitUntil { camCommitted _cam };\n\n_cam camSetPos _pos1;\n_cam camCommit 5;\n```","code":["private _pos1 = player modelToWorld [0, 5, 5];\nprivate _pos2 = player modelToWorld [0, 50, 50];\n\nprivate _cam = \"camera\" camCreate _pos1;\n_cam cameraEffect [\"INTERNAL\", \"BACK\"];\n\n_cam camSetPos _pos2;\n_cam camSetDir 180;\n_cam camCommit 5;\nwaitUntil { camCommitted _cam };\n\n_cam camSetPos _pos1;\n_cam camCommit 5;"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["direction","setDir","camSetTarget","getCameraViewDirection"],"notes":[{"user":"Killzone_Kid","date":"2016-05-09T19:47:00Z","text":"cameraEffect \"INTERNAL\" works better than \"EXTERNAL\" with this command."}],"categories":["ArmA: Armed Assault: Scripting Commands","Arma 2: Operation Arrowhead: Scripting Commands","Arma 2: Scripting Commands","Arma 3: Scripting Commands","Command Group: Camera Control","Introduced with Operation Flashpoint version 1.00","Operation Flashpoint: Elite: Scripting Commands","Operation Flashpoint: New Scripting Commands","Operation Flashpoint: Scripting Commands","Scripting Commands","Scripting Commands: Local Effect","Take On Helicopters: Scripting Commands"]}