You are on page 1of 9

indiCam Manual

Functionality

Controls
Manual mode

Vision modes

General info

Resources
Mod version
Script version
Mission example

Installing indiCam

Script settings

Useful commands

Example scene

Troubleshooting

Changelog
Version 1.32 published 2021-03-24
Version 1.31 published 2020-09-09
Version 1.3 published 2019-08-20
Version 1.2 published 2018-12-27
Version 1.11 published 2018-05-15
Version 1.1 published 2018-05-02:
Version 1.0 published 2018-04-29:
Functionality
indiCam is run completely client-side. Scenes are modular so they are as simple to add and share
as possible.
Controls are hard-coded for now. Mod version will give the user an action menu item along with
keybinds based on squad unit selection. Future version will use CBA keybinds.
From 1.3 there is a scripted scene system that tracks special events. Current special event tracks
units taking out and firing their launchers.

Controls
indiCam main controls are for now contained in the action menu and in the map menu under the
“indiCam” diary entry.
While the camera is running, there are a few control options.
F1 - Start indiCam GUI (since v.1.2)
F2 - Force a new scene
F3 - Force select a new random actor (see below for more)
F4 - Toggle manual mode
F5 - Previous vision mode
F6 - Next vision mode
F9 - Show current scene name in systemchat

Manual mode
This mode is basically just me activating the command {camCommand “manual on”} and then
shutting off some of the script functionality. The rest is up to the regular in-game splendid camera.
It makes use of the Arma “bulldozer” controls. Those keys can be changed in the regular control
options at:
Main menu → Options → Controls → Development keys
L-key - Toggle the camera crosshair

Vision modes
Since version 1.2 it is now possible to use the GUI drop-down to select the preferred vision mode.
While the camera is running, use the F5 and F6 buttons to go back or forth respectively between the
different types of vision mode in the order as listed below.
● 0 - Automatic (as controlled by the script)
● 1 - Night vision
● 2 - White Hot
● 3 - Black Hot
● 4 - Light Green Hot / Darker Green cold
● 5 - Black Hot / Darker Green cold
● 6 - Light Red Hot /Darker Red Cold
● 7 - Black Hot / Darker Red Cold
● 8 - White Hot / Darker Red Cold
● 9 - Thermal (Shade of Red and Green, Bodies are white)
● 10 - Forced Daylight
General info
The core idea for indiCam is to use a separate computer to record secondary
gameplay footage around a player on a multiplayer server without the need to
manually move the camera around.

That stems from me wanting a secondary perspective to mix with my regular


first-person footage in a video editor. No actual recording is done by the script.
For that you will have to use screen recording software like OBS, nVidia Shadowplay
or Radeon ReLive on the machine that is running indiCam.

So it turns the game into an automatic camera robot. Once it has been started,
it will follow your selected unit around while automatically switching between
camera angles depending on situation and visibility of the target.

The target unit can be a player or AI as well as of any faction.


Any player with access to the script can use it, but as of now it is only verified
for The camera will completely take up the screen and the computer running it will
not be able to participate in regular gameplay.

Resources
Bohemia forum link
https://forums.bohemia.net/forums/topic/216403-indicam-independent-camera-script/
The mod version and script version are one package and can be downloaded here:
https://drive.google.com/open?id=1pvVD-zwCXnvWj5zHwPgXfgkvo4MEJ9FL
Steam mod download:
https://steamcommunity.com/sharedfiles/filedetails/?id=1370986330
Test the script version directly in a scenario on the Steam workshop:
https://steamcommunity.com/sharedfiles/filedetails/?id=1371041272
There is a Discord on the subject where you can get in touch and download any beta versions.
https://discord.gg/gM4RyTd

Mod version
Put the @indicam folder into your Arma 3 steam directory.

Script version
Put the folder INDICAM into your mission folder and then initialize it with:
[] execVM “INDICAM\indiCam_init.sqf”;
OR
Just check out how the example mission from the release folder has implemented it.
Mission example
The release package contains an example scenario. It is currently completely identical to the script
version and the mod version. If a player loads into the mission with the mod version loaded, the mod
version will be used.

Installing indiCam
Either use the Steam workshop at:
https://steamcommunity.com/sharedfiles/filedetails/?id=1372800247
OR:
Put the folder "@indiCam" into your Arma 3 Steam directory.
Typically this is at:
..\Steam\Steamapps\Common\ArmA 3\

Script settings
In indiCam_init.sqf, there are some variables you can set to either make the script work in a different
way or to help during development. You’ll find them under the title “settings”.
It is also possible to set these variables during gameplay with the debug console.
● indiCam_devMode = true; // This forces all scripts to run uncompiled with execVM or to
automatically recompile to aid during development. This will slightly slow the script down
overall.
● indiCam_debug = false; // Switch this for debug messages (now also available in GUI)
● indiCam_var_hiddenActorTime = 4; // Seconds to allow the actor to be hidden before
switching scene unless indiCam_var_ignoreHiddenActor is true
● indiCam_var_suspendSceneTimer = false; // True will suspend the timer that
switches scenes automatically. The keypresses to change scene or actor still works.

Useful commands
● [] call indiCam_fnc_compileAll;
This will recompile all functions. Useful when tinkering and you don’t want to restart
● indiCam_var_requestScene = “default”;
This will force the next scene

Example scene
case "standardScene": {

indiCam_var_cameraType = "default"; // Specifies how the camera will be committed

indiCam_var_disqualifyScene = false; // If true, this scene will not be applied and a new one will be
selected

indiCam_var_takeTime = 30; // Duration of scene in seconds

indiCam_var_cameraMovementRate = 0; // Speed of camera to get into position. Zero = instantly.

_posX = random [-40,0,40]; // Specifies the range for the camera position sideways to the actor

_posY = random [-40,0,40]; // Specifies the range for the camera position to the front and back of the actor

_posZ = random [1,3,10]; // Specifies the range for the camera position vertically from the actor

indiCam_var_cameraPos = actor modelToWorld [_posX,_posY,_posZ]; // Position of camera

indiCam_var_cameraTarget = actor; // This is the object the camera will be pointed towards

indiCam_var_cameraAttach = false; // True if scene is using attachTo command


indiCam_var_cameraFov = random [0.5,0.74,1]; // Set FOV, standard Arma FOV is
0.74

indiCam_var_maxDistance = 200; // Distance from actor to camera that forces a scene switch

indiCam_var_ignoreHiddenActor = false; // True means scene will be applied regardless of LOS checks

}; // end of case

Troubleshooting
What do you do if ...
● ...
Changelog
Version 1.32 published 2021-03-24
/* Changelog version 1.32*/
//KNOWN- Issue with map selection in GUI breaking at times. Fix is to close indicam gui then
opening and closing the regular map before going back to the gui.
//ADDED- indiCam clients in a multiplayer game won't be part of the actor selection pool while they
have their indiCam camera running. It is to avoid getting footage of a still player in a field somewhere
(thanks Reggs).
//ADDED- Checkbox in gui for showing chat during camera operation.
//FIXED- Actor switching won't include headless clients anymore.
//FIXED- Situation checks did not work in multiplayer. Eventhandlers are now rewritten to be put onto
the actors' client over the network and comnmunicating to the instance of indiCam that put them
there.
//FIXED- Actor death did not work on players in MP because the death cam eventhandler wasn't
local to their machine
//FIXED- Headless clients and dedicated servers are now more excluded from actor randomizations
(Thanks Gold John King)
//FIXED- Cameradude wasn't excluded from "only players" actor randomization (Thanks Gold John
King)
//FIXED- Current actor wasn't excluded from selection pool in some actor auto switching modes
//FIXED- Unit autoswitching mode within group now switches to another group if all units within the
group dies.
//FIXED- Unit autoswitching mode within group no longer makes dead units the actor.
//FIXED- Chat is now hidden by default during camera operation.
//FIXED- Purged the last bunch of usages of comment command in scripts
//ADDED- New foot scene "stationaryFrontRandom"
//TWEAKED- Foot scenes spend less time high above and more time at low and medium distance
//TWEAKED- Foot scenes at higher action values have shorter scene duration by about a third
//TWEAKED- Helicopter scenes switch earlier when actor moves away from stationary camera
//TWEAKED- Helicopter front facing scenes are shorter by about two thirds
//TWEAKED- Actor was set multiple times when using the mapclick selection method.

Version 1.31 published 2020-09-09


//ADDED- Names of players now show in GUI map.
//FIXED- Manual mode camera no longer resets after scene timer runs out or camera gets too far
away from actor or actor gets hidden.
//ADDED- Added CBA keybinds for when CBA is loaded. Without CBA, the legacy keypresses are
used.
//FIXED- Manual camera now targets the actual actor, not any proxy objects.
//REMOVED- Neither script nor mod version gives the cameraman an
addaction anymore. Use default F1 or set your own key
//ADDED- Added a centralized debug system. Replacement of old system in code will be ongoing.
//ADDED- Various new scenes to each of the vehicle types.
//ADDED- New scenetype "stationaryCameraAbsoluteZ" for absolute altitude instead of relative to
actor.
//FIXED- Switching actor will now reset the automatic actor switch timer
//FIXED- Some slight code optimization
//FIXED- Zero divisor math error in a helicopter scene fixed. Thanks to Damien!
//FIXED- Scene followTight is now used for infantry at action value 1. Thanks to VileAce!
//FIXED- Automatic switching of random unit within distance from current actor always picked the
current actor. Thanks to VileAce!
//FIXED- removeAllEventHandlers was causing issues with other mods running in special scene
atGuy - code fix by VileAce!
//FIXED- Removed some comments used with the comment=""-command (Thanks to Brett)

Version 1.3 published 2019-08-20


/*
Complete redesign of the core scripts have been made. No script was left untouched and most got
re-written from scratch.

Major redesign of camera movement system has been done as well. It now gets calculated on each
frame to alleviate jitter as much as possible. That means that all the old scenes were wiped and I
have started to create new ones. There is a basic set of scenes in and I will add more as I manage
to get them stable and smooth enough. The upside is that switching scenes and actors are a whole
lot more stable.

The second large addition is the new system that detects special events and cuts to a scene to show
that. The only one implemented just yet is the detection of launcher usage by a unit.
*/

//REMOVED- The number of scenes are now back to only a few due to core rewrite. Future releases
will see more of them added back in the new system.
//ADDED- Actor auto switching added to gui with controls for duration and nine different modes.
//ADDED- If a player is the current actor, that player will be selected in player list upon loading the
gui
//ADDED- Made the player list in gui display what side each player is on. Runs out of space real fast
though.
//ADDED- Automatic night vision will now take terrain and current date into account and turn on half
an hour after sunset and turn off half an hour before sunrise
//ADDED- Made actor deaths handeled by the scripted scene system and more reliable.
//ADDED- Manual mode added to gui.
//ADDED- Slider in GUI: Chance of capture cinematic scenes upon
detection (0-100%). Zero means off.
//ADDED- The initial drop-down selection on map side will be whatever side the player is.
//ADDED- Pressing F9 during camera will now also store the scene name in a list. Going out of the
camera immediately after pressing F9 will list the contents in a hint. Good for finding scenes that
aren't working.
//ADDED- barrelWatch scene which will track barrel direction. Only for tanks for now.
//FIXED- GUI now looks as intended in both the script and the mod version. Thanks Taro!
//FIXED- Actor death now takes actor auto switch setting into account.
//FIXED- Units of any side can now be selected on the gui map.
//FIXED- Scene override timer now works in scripted version without gui.
//FIXED- Eventhandlers weren't removed from non-actor units in a controlled fashion
//FIXED- Changed wording of gui elements and tooltips for some controls.
//FIXED- Updated diary with information on GUI.
//FIXED- Start button could be pressed repeatedly and launch several instances of the camera.
//FIXED- Settings changed in gui will now be applied even if the camera isn't already running.
//FIXED- Culled a whole lot of unused code.
//FIXED- When debug was on it spawned the indicator spheres on every client.
//FIXED- indiCam settings window could be shown ontop of regular map which caused issues with
cursor and markers
//FIXED- If there is only one unit (the player) on a terrain, the camera will not find eligable actors and
try to switch actor indefinitly
//FIXED- An occational CTD when calculating too large or small movement values after switching
actors.

Version 1.2 published 2018-12-27


//ADDED- Automatic switching between players or AI depending on what the current actor is. Cycles
intervals ON-10min/ON-5min/ON-2,5min/ON-1min/OFF
//ADDED- A GUI as a new main way for controlling the script. The keystrokes stays - to help with
easy access over remote desktop during gameplay.
//TWEAKED- Key F1 will now start GUI during camera operation.
//ADDED- Added abilitiy to override scripted scene duration with a fixed timer in the GUI.
//ADDED- Added "Hold switching of scene" checkbox. It makes a sense to use in conjunction with
"force next scene"

Version 1.11 published 2018-05-15


//ADDED- Keypress: F9 - Press during running camera to get the current scene ID name printed on
screen. Good for debug and bug reports.
//ADDED- Camera logic: randomLinear - Plan is to use for random camera panning movement or as
camera shake.
//ADDED- New scene: nonStabilizedCam - Simulated unstable binocular movement using
randomLinear logic on foot mobiles and vics
//FIXED- Some of the top-down scenes have been lowered
somewhat and given more zoom (tip by Kremator and Tankbuster).
//ADDED- New Scene: shakyChasePerson - A hectic third person sene for high action level
//FIXED- The cameraman is now invisible to all unts and can't take damage while the camera is
running (tip by Tankbuster)

Version 1.1 published 2018-05-02:


Some new significant functionality, thus the jump directly to v1.1.
//ADDED- F3 to switch to another random unit that is of the same side and within a certain distance
of the current actor.
//ADDED- A very rudimentary Manual camera mode. Access with F4. For a proper manual camera,
see the gCam mod.
//FIXED- Map selection completely rewritten from scratch and works better now.
//ADDED- It's now possible to differentiate between units within some vehicles while selecting actor
on the map.
//FIXED- Selecting a unit that is in a vehicle as actor no longer makes the actual vehicle the actor
//FIXED- Keypresses no longer stack between restarts of the camera
//FIXED- Camera no longer resets vision mode when restarted
//FIXED- Camera controls stay on the player between remoting with the "Advanced AI command"
mod.
//FIXED- Some diary entries corrected
//ADDED- New scene: Medium and high altitude, medium far, front view with randomization

Version 1.0 published 2018-04-29:


First release.

You might also like