cameraEffect: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>") |
Lou Montana (talk | contribs) m (Text replacement - "{{HashLink" to "{{Link") |
||
(2 intermediate revisions by the same user not shown) | |||
Line 30: | Line 30: | ||
|descr= Sets the given effect on the given camera. If you want to switch the screen directly to the first-person, aiming, third-person or group view of an object, use [[switchCamera]] instead. The effect type "Terminate" is used to exit the current camera view and switch back to the player's view. Does not need [[camCommit]]. | |descr= Sets the given effect on the given camera. If you want to switch the screen directly to the first-person, aiming, third-person or group view of an object, use [[switchCamera]] instead. The effect type "Terminate" is used to exit the current camera view and switch back to the player's view. Does not need [[camCommit]]. | ||
<br><br> | <br><br> | ||
Since | Since {{GVI|arma3|1.74}}, it is possible to terminate individual r2t source. For example: | ||
< | <sqf> | ||
cam cameraEffect ["terminate", "back"]; // would terminate all r2t sources</ | cam cameraEffect ["terminate", "back", "rtt1"]; // would terminate "rtt1" r2t source | ||
{{Feature | important | One cannot mix and match [[cameraEffect]] and can either have multiple [[r2t]] cameras or a single camera for the whole screen. If one needs a background stream overlayed with [[r2t]] streams, this could be achieved by creating an object and using [[switchCamera]] to switch to it for background image, while using [[cameraEffect]] for [[r2t]] overlay (see Example 4)}} | cam cameraEffect ["terminate", "back"]; // would terminate all r2t sources | ||
</sqf> | |||
{{Feature|important| | |||
One cannot mix and match [[cameraEffect]] and can either have multiple [[r2t]] cameras or a single camera for the whole screen. | |||
If one needs a background stream overlayed with [[r2t]] streams, this could be achieved by creating an object and using [[switchCamera]] to switch to it for background image, while using [[cameraEffect]] for [[r2t]] overlay (see {{Link|#Example 4}}). | |||
}} | |||
|s1= camera [[cameraEffect]] [effectName, effectPosition, r2tName] | |s1= camera [[cameraEffect]] [effectName, effectPosition, r2tName] | ||
Line 39: | Line 44: | ||
|p1= camera: [[Object]] - object of type "camera" | |p1= camera: [[Object]] - object of type "camera" | ||
|p2= [ | |p2= effectName: [[String]] - the effect type (defined in main config or [[Description.ext#CfgCameraEffects|CfgCameraEffects]] >> Array). Defaults are: {{hl|"Internal"}}, {{hl|"External"}}, {{hl|"Fixed"}}, {{hl|"FixedWithZoom"}}, {{hl|"Terminate"}} | ||
|p3= | |p3= effectPosition: [[String]] - position of the effect. Can be one of: | ||
{{Columns|5| | |||
* {{hl|"TOP"}} | |||
* {{hl|"LEFT"}} | |||
* {{hl|"RIGHT"}} | |||
* {{hl|"FRONT"}} | |||
* {{hl|"BACK"}} | |||
* {{hl|"LEFT FRONT"}} | |||
* {{hl|"RIGHT FRONT"}} | |||
* {{hl|"LEFT BACK"}} | |||
* {{hl|"RIGHT BACK"}} | |||
* {{hl|"LEFT TOP"}} | |||
* {{hl|"RIGHT TOP"}} | |||
* {{hl|"FRONT TOP"}} | |||
* {{hl|"BACK TOP"}} | |||
* {{hl|"BOTTOM"}} | |||
}} | |||
These are usually used with "Fixed" and "FixedWithZoom" effect types. If not sure which position to use, set it to {{hl|"BACK"}}. | |||
|p4= | |p4= r2tName: [[String]] - (Optional) [[Procedural_Textures#Render_To_Texture|Render To Texture]] surface reference | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|x1= <sqf>_cam cameraEffect ["internal", "BACK"];</sqf> | |x1= <sqf>_cam cameraEffect ["internal", "BACK"];</sqf> | ||
|x2= <sqf>_cam cameraEffect ["internal", "back", "rendersurface"];</sqf> | |x2= <sqf>_cam cameraEffect ["internal", "back", "rendersurface"];</sqf> | ||
|x3= <sqf>cam = "seagull" camCreate (player modelToWorld [0,0,100]); | |||
|x3= <sqf> | |||
cam = "seagull" camCreate (player modelToWorld [0,0,100]); | |||
cam cameraEffect ["FIXED", "LEFT TOP"]; | cam cameraEffect ["FIXED", "LEFT TOP"]; | ||
cam camCommand "MANUAL ON";</sqf> | cam camCommand "MANUAL ON"; | ||
|x4= <sqf>_ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscPicture", -1]; | </sqf> | ||
|x4= <sqf> | |||
_ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscPicture", -1]; | |||
_ctrl ctrlSetPosition [0.5, 0, 0.5, 0.5]; | _ctrl ctrlSetPosition [0.5, 0, 0.5, 0.5]; | ||
_ctrl ctrlSetText "#(argb,512,512,1)r2t(rtt1,1.0)"; | _ctrl ctrlSetText "#(argb,512,512,1)r2t(rtt1,1.0)"; | ||
_ctrl ctrlCommit 0; | _ctrl ctrlCommit 0; | ||
_cam1 = "camera" camCreate ( | _cam1 = "camera" camCreate (ASLToAGL eyePos player vectorAdd [0, -10, 0]); | ||
_cam1 cameraEffect ["Internal", "Back", "rtt1"]; | _cam1 cameraEffect ["Internal", "Back", "rtt1"]; | ||
_cam2 = "Land_HandyCam_F" createVehicle [0,0,0]; | _cam2 = "Land_HandyCam_F" createVehicle [0,0,0]; | ||
_cam2 enableSimulation false; | _cam2 enableSimulation false; | ||
_cam2 setPos ( | _cam2 setPos (ASLToAGL eyePos player vectorAdd [0, 10, 0]); | ||
_cam2 setDir (_cam2 getDir player); | _cam2 setDir (_cam2 getDir player); | ||
switchCamera _cam2;</sqf> | switchCamera _cam2; | ||
</sqf> | |||
|seealso= [[switchCamera]] [[cameraView]] [[cameraOn]] [[setPiPEffect]] [[camCreate]] [[cameraEffectEnableHUD]] [[camUseNVG]] [[setCamUseTI]] | |seealso= [[switchCamera]] [[cameraView]] [[cameraOn]] [[setPiPEffect]] [[camCreate]] [[cameraEffectEnableHUD]] [[camUseNVG]] [[setCamUseTI]] | ||
}} | }} | ||
{{Note | |||
|user= Killzone_Kid | |||
|timestamp= 20161030164000 | |||
|text= Types of camera for [[Description.ext#CfgCameraEffects|CfgCameraEffects]] config: | |||
* CamExternal (CamInterpolated) {{hl|c= type = 0;}} // linked directly with object | |||
* CamStatic {{hl|c= type = 1;}} // fixed point in space | |||
* CamStaticWithZoom {{hl|c= type = 2;}} // fixed point in space | |||
Types of camera for [[Description.ext#CfgCameraEffects|CfgCameraEffects]] config: | * CamChained {{hl|c= type = 3;}} // chained | ||
* CamExternal (CamInterpolated) {{hl|c= type | * CamTerminate {{hl|c= type = 4;}} // terminate | ||
* CamStatic {{hl|c= type | * CamInternal {{hl|c= type = 5;}} // internal view | ||
* CamStaticWithZoom {{hl|c= type | }} | ||
* CamChained {{hl|c= type | |||
* CamTerminate {{hl|c= type | |||
* CamInternal {{hl|c= type | |||
Latest revision as of 17:43, 4 January 2023
Description
- Description:
- Sets the given effect on the given camera. If you want to switch the screen directly to the first-person, aiming, third-person or group view of an object, use switchCamera instead. The effect type "Terminate" is used to exit the current camera view and switch back to the player's view. Does not need camCommit.
Since 1.74, it is possible to terminate individual r2t source. For example:cam cameraEffect ["terminate", "back", "rtt1"]; // would terminate "rtt1" r2t source cam cameraEffect ["terminate", "back"]; // would terminate all r2t sources - Groups:
- Camera Control
Syntax
- Syntax:
- camera cameraEffect [effectName, effectPosition, r2tName]
- Parameters:
- camera: Object - object of type "camera"
- effectName: String - the effect type (defined in main config or CfgCameraEffects >> Array). Defaults are: "Internal", "External", "Fixed", "FixedWithZoom", "Terminate"
- effectPosition: String - position of the effect. Can be one of:
These are usually used with "Fixed" and "FixedWithZoom" effect types. If not sure which position to use, set it to "BACK".
- "TOP"
- "LEFT"
- "RIGHT"
- "FRONT"
- "BACK"
- "LEFT FRONT"
- "RIGHT FRONT"
- "LEFT BACK"
- "RIGHT BACK"
- "LEFT TOP"
- "RIGHT TOP"
- "FRONT TOP"
- "BACK TOP"
- "BOTTOM"
- r2tName: String - (Optional) Render To Texture surface reference
- Return Value:
- Nothing
Examples
- Example 1:
- _cam cameraEffect ["internal", "BACK"];
- Example 2:
- _cam cameraEffect ["internal", "back", "rendersurface"];
- Example 3:
- cam = "seagull" camCreate (player modelToWorld [0,0,100]); cam cameraEffect ["FIXED", "LEFT TOP"]; cam camCommand "MANUAL ON";
- Example 4:
- _ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscPicture", -1]; _ctrl ctrlSetPosition [0.5, 0, 0.5, 0.5]; _ctrl ctrlSetText "#(argb,512,512,1)r2t(rtt1,1.0)"; _ctrl ctrlCommit 0; _cam1 = "camera" camCreate (ASLToAGL eyePos player vectorAdd [0, -10, 0]); _cam1 cameraEffect ["Internal", "Back", "rtt1"]; _cam2 = "Land_HandyCam_F" createVehicle [0,0,0]; _cam2 enableSimulation false; _cam2 setPos (ASLToAGL eyePos player vectorAdd [0, 10, 0]); _cam2 setDir (_cam2 getDir player); switchCamera _cam2;
Additional Information
- See also:
- switchCamera cameraView cameraOn setPiPEffect camCreate cameraEffectEnableHUD camUseNVG setCamUseTI
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- Posted on Oct 30, 2016 - 16:40 (UTC)
-
Types of camera for CfgCameraEffects config:
- CamExternal (CamInterpolated) type = 0; // linked directly with object
- CamStatic type = 1; // fixed point in space
- CamStaticWithZoom type = 2; // fixed point in space
- CamChained type = 3; // chained
- CamTerminate type = 4; // terminate
- CamInternal type = 5; // internal view
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Camera Control
- Scripting Commands: Local Effect