Jump to content
Sign in to follow this  
Jezuro

Custom VR courses

Recommended Posts

Here's a basic guide on how to configure your own VR training courses:

On biki: https://community.bistudio.com/wiki/Arma3:_Virtual_Reality_Custom_Courses

If there are some community Courses configured, a new selector will appear with a list of the Courses. This selector will have different colour than the official ones.

Config

class CfgVRCourses
{
class Default;
class MyCourse1: Default
{
	title = "Course Name";
	icon = "\A3\Structures_F_Bootcamp\VR\Helpers\Data\VR_Symbol_default_CA.paa";
	class Stages
	{
		class Stage1
		{
			title = "Stage 1 Name";
			function = "BIS_fnc_VRFunctionName1";
		};
		class Stage2
		{
			title = "Stage 2 Name";
			function = "BIS_fnc_VRFunctionName2";
		};
		class Stage3
		{
			title = "Stage 3 Name";
			function = "BIS_fnc_VRFunctionName3";
		};
	};
};
};

icon: Path to icon that will be shown on a billboard throughout the Course.

title: Text that will be shown ingame during Course selection or when loading a Stage.

function: Function to run for each Stage. Must be defined in cfgFunctions (see https://community.bistudio.com/wiki/Functions_Library_%28Arma_3%29#Adding_a_Function, VR functions are usually defined in category "VR").

Functions

Stage functions are typically FSMs (you can get the FM editor here: https://community.bistudio.com/wiki/BI_Tools_2.5). There are certain guidelines to follow:

- player's starting coordinates are always markerPos "BIS_center"

--- you should use coordinates relative to this one for spawning your assets

- there is a brief timeout before player gains control in a Stage - you can spawn all your assets during this period

--- you can determinate the moment player gains control by checking variable BIS_interruptable for TRUE

--- any mission tasks or hints should be created after this period, once player is actually ingame

- there is a logic unit used for icon helper (group icon) - BIS_icon and its group, BIS_iconGrp

--- do not delete these!

--- example of use:

BIS_icon attachTo [bIS_UAV, [0,0,-3.5]]; BIS_iconGrp setGroupIconParams [bIS_TT_colorWarning, "", 1, TRUE];

- if player wanders too far away from his starting position, he is automatically moved back - default allowed radius is 100m

--- this can be changed via variable BIS_stageArea in a Stage function

--- example of use:

BIS_stageArea = 150;

- any assets you spawn will be deleted automatically when the Stage ends

- a Stage is completed by using this code:

call BIS_fnc_VR_stageDone;

- always make sure you've properly terminated your function upon Stage end; keep in mind player can fail a Stage too

--- for Stage failure, use code before you terminate the function:

[] spawn BIS_fnc_VR_stageFailed;

--- condition to check player's "death" or him leaving the Stage:

damage player > 0.015 || !BIS_interruptable

--- you don't need to call any code in this case, just make sure to properly terminate the function

Stage function example

To help you understand how a typical Stage FSM may look like, here's a link to a basic Stage function (it's a slightly tweaked Stage 2 of the Launchers Course): https://www.dropbox.com/s/5429wbhsl4f0sky/fn_VRCourseExample.fsm

The End

I hope I covered everything here. Have fun creating your own VR Courses!

Edited by Jezuro

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×