Main Menu – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 11: Line 11:
The scene should meet following criteria:
The scene should meet following criteria:
* '''High FPS is important!''' Lower performance makes navigating the menu uncomfortable.
* '''High FPS is important!''' Lower performance makes navigating the menu uncomfortable.
** Low [[setViewDistance]]view distance]] (~200 m) is recommended.
** Low [[setViewDistance|view distance]] (~200 m) is recommended.
** Camera looking down or towards sloped terrain, so the view distance is not as apparent.
** Camera looking down or towards sloped terrain, so the view distance is not as apparent.
* All content of the scenario should be placed in the ''Intro'' [[Eden_Editor:_Scenario_Phases|phase]].
* All content of the scenario should be placed in the ''Intro'' [[Eden_Editor:_Scenario_Phases|phase]].
Line 40: Line 40:
};
};
</syntaxhighlight>
</syntaxhighlight>
<!--
=== Scenario ===
# Open [[Eden Editor]] on the desired terrain
# Switch to ''Intro'' [[Eden_Editor:_Scenario_Phases|phase]]
# Place a character
# Save the scenario, use the name defined by by ''directory'' property in config (''MyScene.MyWorld'' in our example)
# Open scenario folder (''Scenario > Open Scenario Folder'')
# Create ''initIntro.sqf'' file
# Copy the code below to the file
#* Replace scenes in ''_variants'' [[Array|array]] with your scenes captured by [[Splendid Camera]]
# Move the scenario folder to your addon folder (as defined by ''directory'' property in config; ''\MyAddon\MyScene.MyWorld'' in our example)
'''initIntro.sqf'''
<syntaxhighlight lang="cpp">
[
//--- Underwater plane
{
["InitDummy",["Stratis",[1445.92,4802.16,-4.05235],140.191,0.27,[-9.09091,-10.4773],2.74605,0,1049.08,0.00329716,1,1.10852,-0.157568,1.23792]] call bis_fnc_camera;
setviewdistance 200;
},
//--- Aegis
{
["InitDummy",["Stratis",[2622.76,580.76,16.5994],25.2349,0.53,[-44.4346,0],0,0,526.374,0.00669019,1,1,0,1]] call bis_fnc_camera;
}
] call BIS_fnc_initWorldScene;</syntaxhighlight>
-->


== Spotlight ==
== Spotlight ==

Revision as of 13:17, 15 June 2016

Arma 3 Apex introduces new main menu.

a3 mainMenu.jpg

World Scene

World scene is a scenario shown behind main menu when a specific terrain is loaded. If you're playing on Altis and leave to main menu, Altis scene will be used.

The scene is configured with the terrain and is responsibility of a terrain creator.

Guidelines

The scene should meet following criteria:

  • High FPS is important! Lower performance makes navigating the menu uncomfortable.
    • Low view distance (~200 m) is recommended.
    • Camera looking down or towards sloped terrain, so the view distance is not as apparent.
  • All content of the scenario should be placed in the Intro phase.
  • Camera is static, all the movement should be in the scene (e.g., vegetation in the wind, sea, wildlife, etc.)
    • Avoid following settings (not mandatory, it may work in some cases):
      • Unlit night scenes (dark menus on dark scene don't look well).
      • Bad weather (hides shadows).
    • The scene should work on 16:9 screen. Multiple monitors doesn't need to be considered, as the main menu shows a grey background there.

Configuration

class CfgWorlds
{
	// Class of your terrain
	class MyWorld
	{
		cutscenes[] = {"MyWorldScene"}; // Class names of used scenes. When more than one is present, the system will pick one randomly.
	};
};
class CfgMissions
{
	class Cutscenes
	{
		class MyWorldScene // Class referenced in 'cutscenes' property in CfgWorlds
		{
			directory = "\MyAddon\MyScene.MyWorld"; // Path to scenario with the scene
		};
	};
};


Spotlight

class RscStandardDisplay;
class RscDisplayMain: RscStandardDisplay
{
	class Spotlight
	{
		class CoopCampaign
		{
			text = "Coop Campaign"; // Text displayed on the square button, converted to upper-case
			picture = "\a3\Ui_f\Data\GUI\Rsc\RscDisplayMain\spotlight_1_apex_ca.paa"; // Square picture, ideally 512x512
			video = "\a3\Ui_f\Video\spotlight_1_Apex.ogv"; // Video played on mouse hover
			action = "ctrlactivate ((ctrlparent (_this select 0)) displayctrl 101);"; // Code called upon clicking, passed arguments are [<button:Control>]
			actionText = $STR_A3_RscDisplayMain_Spotlight_Play; // Text displayed in top left corner of on-hover white frame
			condition = "true"; // Condition for showing the spotlight
		};
		class AnotherCoopCampaign
		{
			text = "Another Coop Campaign";
			picture = "\a3\Ui_f\Data\GUI\Rsc\RscDisplayMain\spotlight_1_eastwind_ca.paa";
			action = "ctrlactivate ((ctrlparent (_this select 0)) displayctrl 149);";
			actionText = $STR_A3_RscDisplayMain_Spotlight_Play;
			condition = "isKeyActive 'FinishedCoopCampaign';";
		};
	};
};