Jump to content

anthariel

Member
  • Content Count

    274
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by anthariel


  1. It depends on how the units are added.

     

    If the units are added via the editor of ArmA 3, that is to say when the mission is not loaded, then the data will not be saved in the database because, if the persistence system is defined as active, the system ignores any new entry, it simply goes to the database and retrieves all the information from there. In that case you are going to need to use the PersistenceResetOnStart parameter from the description.ext.

     

    In your case, if you want to add new units while the mission is running, it is possible yes, but only for already loaded sectors.

    If you add a unit with this in his initialization conditions: this setVariable ['UseGrid', True], it will be added to the database once the sector where that unit is, is cached (no player nearby). You can see my message above in relation to the UseGrid variable for more details. I even posted a video demonstrating it :-) https://streamable.com/x5rbyq

     

    Does that anwser your question?

     


  2. @sgtfuzzle17Absolutely, there are two big ways in which the system will check whether the units should be cached or not.

     

    1: Without persistence
    The verification of the units to be cached is only executed when all players have triggered a despawn cell (GCS_VAR_SIZE_UNSPAWN_SQUARES). The verification will be done in the content of the respective cell (GCS_VAR_SIZE_SQUARE_GRID).

     

    2: With persistence
    Same as 1. but the verification is done every n seconds (1s by default with the parameter GCS_VAR_MONITORING_FREQUENCY_SECS). Every n seconds therefore, a check between before and now is made.

    This frequency change is due to the fact that with persistence on, we need to be ready for a system shutdown or mission shutdown and we therefore cannot wait for all players to leave the cells for caching.

     

    In all cases, if a unit is added by a script after the initialization of the mission, it will by default be ignored, it is possible to do it more explicitly with the variable "UseGrid" to false if necessary but it is not required.
    On the other hand, if the unit or vehicle is added with the variable "UseGrid" set to true, then the unit will be taken up in the systematic verification of the system and will be cached.

     

    After some tests, I had some trouble with the following code:

    _newUnit = "O_Soldier_A_F" createUnit [position player, (createGroup east)];
    _newUnit setVariable ["UseGrid", True];

     

    In my case, the setVariable seems to be triggered before the actual unit was intialized (or something else that I didn't understand) and ArmA did not add the variable to the unit. To fix this, you should use the following code:

    _newUnit = "O_Soldier_A_F" createUnit [position player, (createGroup east), "this setVariable ['UseGrid', True]"];

    as described here: https://community.bistudio.com/wiki/createUnit in the alternative syntax paragraph.

     

     

    Demo: https://streamable.com/x5rbyq You can see that the first unit was added without the variable and was not cached, the second one was added with the variable set to true and, was cached once I leaved the cell.

     

     

    • Like 1

  3. YvbCfee.png

     

    Hello, @super-truite and I have made a little piece of script to allows missions maker to make a better use of AIs and vehicles on missions. We are guessing that a similar system already exists but we wanted to have a custom system for some of our projects and thought it would be nice to share it.

    This compilation of script allows a mission make to cache units suchs as vehicles and soldiers with their respective properties (waypoints, stance, direction, position, health, ...). This allows for greater performance and (if chosen) persistence.

     

     

    Features: 

    Grid caching

    GCS allows the mission maker to automatically cache into the memory AIs andvehicles. Waypoints assigned to a group or a unit are also cached and are reapplied when the unit or group is set up.

    The mission creator, if necessary, can also exclude a unit or a vehicle from the cache so that the system does not take it into account.


    Persistence system (optionnal)

    In addition to all the caching made, the mission maker can also integrate a data persistence system via MySQL so that, even with a restart of the mission or the machine, the units and vehicles will still be saved.

     

     

    How it works: 

    GCS will create a virtual grid on the map based on three parameters available in GCS_configServer.sqf :

     

        GCS_VAR_SIZE_SQUARE_GRID                           - Represents the total size of each cell on the grid
        GCS_VAR_SIZE_ACTIVATION_SQUARE_GRID  - Represents the trigger distance where AIs and vehicles will be created in the cell
        GCS_VAR_SIZE_UNSPAWN_SQUARES              - Represents the trigger distance where AIs and vehicles will be cached and removed in the cell

    QpyUlN9.png

     

    Each cell is defined by these three variables, as described, GCS_VAR_SIZE_UNSPAWN_SQUARES will trigger the caching and removal of units for the given cell, GCS_VAR_SIZE_ACTIVATION_SQUARE_GRID will activate a cell, retrieve it's cached content for the memory or database and will spawn the units. GCS_VAR_SIZE_SQUARE_GRID Defines the cell size.

     

    You can disable the caching system on a unit or vehicle by adding the variable "UseGrid" to false on the unit/vehicle init:

    this setVariable ["UseGrid", False]

    In this way, even if no player is near the unit or vehicle, it will never be cached and removed.

     

    The following gif shows a simple example with a single grid cell being cached, unloaded (player leaving the cell) and reloaded with cached data once the player re-enter the cell: https://i.imgur.com/ai7PeLh.mp4 and the picture below demonstrates a more complete case: 

    rnrgOyW.png

     

    Video example: https://streamable.com/jrh43r (4601 units on Stratis)

     

    By default, the persistence system is disabled, you will need to install a MySQL database, have the InterceptDB mod installed aswell with CBA. A full tutorial is available on the readme on Github (https://github.com/Super-truite/arma3_GCS.vr/blob/master/README.md)

     

    Download:

     

    Get the latest release here: https://github.com/Super-truite/arma3_GCS.vr 

    • Like 12
    • Thanks 2

  4. To add to the super-truite comment above, we also have this particle problem. That is, when generating a smoke trail in our case, one or more particles will not be rendered or will be removed (see picture 1).

    We have try to lower the total number of particle rendered (~7500) but this doesn't solves the problem, however when we do an alt-tab to go back to the Windows desktop and then we go back into the game, it solves the problem for previously deleted particles (they reappear)(if we zoom into the missing particle, the particle will also reappear...).

     

    Our second problem is that it is apparently impossible to force the engine to render more than 18,000 particles? Despite the following modification: (see picture 2 and 3 for error)

    		class CfgVideoOptions
    		{
    			class Particles
    			{
    				class High;
    				class Low;
    				class Normal;
    				class UltraTest: High
    				{
    					text="Ultra test";
    					particlesSoftLimit=50000;
    					particlesHardLimit=75000;
    					smokeGenMinDist=300;
    					smokeGenMaxDist=5000;
    					smokeSizeCoef=2;
    					smokeIntervalCoef=1;
    					smokeZoomCoef=1.42857;
    					highQualityShader=1;
    					numFullSizeParticles=120;
    				};
    			};

     

     

    Once the hardLimit had been reached, the next particles following the particle n°18000 will  not been rendered. (Can someone from BI can confirm that please?)

    All of this was tested in dev and stable version (1.68 and 1.70).

     

     

     

    pictures here : 

     
     
    Edit: Tested on the "Arma3LegacyPorts"  branch (ArmA3 1.64) nothing changes.

     

     

    • Like 1

  5. Hello, do you have selected "Convert exported textures into *.paa files" during your satellite / mask / normal map generation ?

     

    Those files are needed because the game engine didn't use png file for that (paa format is way better than png files in term of quality/compression)

     

     

    0K4U8WL.jpg

     

     

    It can also happen when generating those files that some links between some RVMAT and .paa files are missing / buggy (this can happen when you are playing with the satellite/mask titles parameters). In this case I recommend to you to delete the folder "layers" in the "data" source directory and restart a new generation.

     

     

    Edit, for your next posts related to Terrain builder post here please: https://forums.bistudio.com/forum/164-arma-3-terrain-builder/  ;)


  6. All right Soolie  :lol:

     

     

    You can now see the Satellite Imagery in HQ (1px=2m, not the real S.I. Size, Real size is 1px=1m) here: http://anthariel.be/Projects/Tilos/Data/ATP_Tilos_Island_Satellite_Imagery.jpg (if it don't load try CTRL+ F5 or download from here: https://www.dropbox.com/s/fdyryuyhx76apvs/ATP_Tilos_Island_Satellite_Imagery.jpg?dl=0) Ithink that I'll leave that as it is right now, colors are good and I don't see any errors but if you see some glitches, tell me!

    • Like 4

  7. Well, let's do some high level maths here with the intels provided by the lord of the bounce,

     

     

    • Arma 3 was released in 2013 in three phases, Alpha, Beta and Final (ABF) = 3

     

    • Half Life 3 is developed by Valve, however, Valve has 5 letters = 5

     

    • Bohemia Interactive has 18 letters = 18

     

    18 - 5 - 3 = 10

     

     

    Steam says release date for Apex is June, so here you go guys: 10/06/2016

     

    You will thanks me later.

     

     

    :31:

    • Like 8

  8. New screens (again  :P). I am slightly late on my roadmap for the moment so the release of the alpha version will maybe delayed to June due that my GPU is doing crap, sorry for that!

     

    https://imgur.com/a/Vw0tU

     

    New screenshots for new locations (Megalo Chorio (75+ inhabitants little located village on a mountain), Eristos Beach, Eristos Plain, Military camps, Skafi Bay and Limenari Bay)  are coming for may  ;)

    • Like 6

  9. All right so,

     

    First of all, if you don't want custom clutters, don't use a copy of A3 Ground textures.

     

    In your data folder, delete everything related to A3 Texture (beach, grass etc...) and use that : https://www.dropbox.com/s/4q9ivrt7retkfo1/RVMAT.zip?dl=0 just unzip that into your data folder or a subfolder of /data (eg. /data/rvmat/).

     

    And use that as your Clutters.hpp and include it into your config.cpp (#include "Clutters.hpp) just below the Defaultclutter class into your CfgWorld.

    /*
    	- File name        : Clutters.hpp			 -
    	- File type        : C++ header file (.hpp)	         -
    	- File version     : 1.0.0.0                             -
    	- File author      : Bohemia Interactive		 -
    	- File description : Header file for clutters parameters -
    */
    
    
    class Clutter
    {
    	class StrBigFallenBranches_pine : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_bigFallenBranches_pine.p3d";
    		affectedByWind = 0.0;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.7;
    	};
    	class StrBigFallenBranches_pine02 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_bigFallenBranches_pine02.p3d";
    		affectedByWind = 0.0;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.7;
    	};
    	class StrBigFallenBranches_pine03 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_bigFallenBranches_pine03.p3d";
    		affectedByWind = 0.0;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.7;
    	};
    	class StrGrassGreenGroup : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d";
    		affectedByWind = 0.6;
    		swLighting = 1;
    		scaleMin = 0.7;
    		scaleMax = 1.0;
    	};
    	class StrGrassDry : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrGrassDry.p3d";
    		affectedByWind = 0.5;
    		swLighting = 1;
    		scaleMin = 0.8;
    		scaleMax = 1.2;
    	};
    	class StrGrassDryGroup : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrGrassDry_group.p3d";
    		affectedByWind = 0.65;
    		swLighting = 1;
    		scaleMin = 0.65;
    		scaleMax = 1.0;
    	};
    	class StrGrassDryMediumGroup : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrGrassDryMedium_group.p3d";
    		affectedByWind = 0.7;
    		swLighting = 1;
    		scaleMin = 0.8;
    		scaleMax = 1.0;
    	};
    	class StrThornKhakiSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornKhaki.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.5;
    		scaleMax = 0.7;
    	};
    	class StrThornKhakiBig : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornKhaki.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.7;
    		scaleMax = 0.9;
    	};
    	class StrThornGreenSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornGreen.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.5;
    	};
    	class StrThornGreenBig : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornGreen.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.7;
    		scaleMax = 0.9;
    	};
    	class StrThornGraySmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornGray.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.5;
    		scaleMax = 0.7;
    	};
    	class StrThornGrayBig : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThornGray.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.8;
    		scaleMax = 1.2;
    	};
    	class StrPlantGreenShrub : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrPlantGreenShrub.p3d";
    		affectedByWind = 0.5;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.1;
    	};
    	class StrPlantGermaderGroup : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrPlantGermader_group.p3d";
    		affectedByWind = 0.35;
    		swLighting = 1;
    		scaleMin = 0.9;
    		scaleMax = 1.5;
    	};
    	class StrWeedBrownTallGroup : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrWeedBrownTall_group.p3d";
    		affectedByWind = 0.3;
    		swLighting = 1;
    		scaleMin = 0.9;
    		scaleMax = 1.25;
    	};
    	class StrWeedGreenTall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrWeedGreenTall.p3d";
    		affectedByWind = 0.3;
    		swLighting = 1;
    		scaleMin = 0.8;
    		scaleMax = 1.2;
    	};
    	class StrPlantMullein : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrPlantMullein.p3d";
    		affectedByWind = 0.35;
    		swLighting = 1;
    		scaleMin = 0.7;
    		scaleMax = 1.15;
    	};
    	class StrThistlePurpleSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThistlePurple_small.p3d";
    		affectedByWind = 0.1;
    		swLighting = 1;
    		scaleMin = 0.9;
    		scaleMax = 1.4;
    	};
    	class StrThistleSmallYellow : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThistleSmallYellow.p3d";
    		affectedByWind = 0.2;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.4;
    	};
    	class StrThistleYellowShrub : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_StrThistleYellowShrub.p3d";
    		affectedByWind = 0.2;
    		swLighting = 1;
    		scaleMin = 0.7;
    		scaleMax = 1.1;
    	};
    	class GrassTall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Grass_Tall_Dead.p3d";
    		affectedByWind = 1.0;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.0;
    	};
    	class GrassGreen : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Grass_Green.p3d";
    		affectedByWind = 1.0;
    		swLighting = 1;
    		scaleMin = 0.85;
    		scaleMax = 1.0;
    		surfaceColor[] = { 0.431, 0.475, 0.267 };
    	};
    	class GrassDry : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Grass_Dry.p3d";
    		affectedByWind = 1.0;
    		swLighting = 1;
    		scaleMin = 0.3;
    		scaleMax = 0.9;
    	};
    	class GrassBrushHighGreen : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Grass_BrushHigh_Green.p3d";
    		affectedByWind = 0.8;
    		swLighting = 1;
    		scaleMin = 0.5;
    		scaleMax = 0.7;
    	};
    	class GrassBunchSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Grass_Bunch_Small.p3d";
    		affectedByWind = 0.8;
    		swLighting = 1;
    		scaleMin = 0.3;
    		scaleMax = 0.8;
    	};
    	class ThistleHighDead : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_High_Dead.p3d";
    		affectedByWind = 1.0;
    		swLighting = 1;
    		scaleMin = 0.4;
    		scaleMax = 0.8;
    	};
    	class ThistleHigh : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_High.p3d";
    		affectedByWind = 0.6;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.0;
    	};
    	class ThistleSmallYellow : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Small_Yellow.p3d";
    		affectedByWind = 0.3;
    		swLighting = 1;
    		scaleMin = 0.3;
    		scaleMax = 0.9;
    	};
    	class ThistleThornGreen : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Green.p3d";
    		affectedByWind = 0.3;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 1.0;
    	};
    	class ThistleThornGreenSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Green.p3d";
    		affectedByWind = 0.25;
    		swLighting = 0;
    		scaleMin = 0.4;
    		scaleMax = 0.7;
    	};
    	class ThistleThornBrown : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Brown.p3d";
    		affectedByWind = 0.3;
    		swLighting = 0;
    		scaleMin = 0.5;
    		scaleMax = 1.2;
    	};
    	class ThistleThornBrownSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Brown.p3d";
    		affectedByWind = 0.25;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.7;
    	};
    	class ThistleThornGray : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Gray.p3d";
    		affectedByWind = 0.3;
    		swLighting = 0;
    		scaleMin = 1.1;
    		scaleMax = 1.4;
    	};
    	class ThistleThornDesert : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Thistle_Thorn_Desert.p3d";
    		affectedByWind = 0.3;
    		swLighting = 0;
    		scaleMin = 0.4;
    		scaleMax = 1.4;
    	};
    	class PlantGreenSmall : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Plant_Green_Small.p3d";
    		affectedByWind = 0.7;
    		swLighting = 1;
    		scaleMin = 0.5;
    		scaleMax = 1.1;
    	};
    	class FlowerCakile : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Flower_Cakile.p3d";
    		affectedByWind = 0.4;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 0.8;
    	};
    	class FlowerLowYellow2 : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_Flower_Low_Yellow2.p3d";
    		affectedByWind = 0.4;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.0;
    	};
    	class GrassCrookedDead : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_GrassCrooked.p3d";
    		affectedByWind = 0.6;
    		swLighting = 1;
    		scaleMin = 0.8;
    		scaleMax = 1.1;
    	};
    	class GrassTalltwo : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_GrassTall.p3d";
    		affectedByWind = 0.8;
    		swLighting = 1;
    		scaleMin = 0.75;
    		scaleMax = 1.15;
    	};
    	class GrassLong_DryBunch : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_GrassLong_DryBunch.p3d";
    		affectedByWind = 0.8;
    		swLighting = 1;
    		scaleMin = 0.9;
    		scaleMax = 1.2;
    	};
    	class GrassDesertGroupSoft : DefaultClutter
    	{
    		model = "A3\plants_f\Clutter\c_GrassGreen_GroupSoft.p3d";
    		affectedByWind = 1.0;
    		swLighting = 1;
    		scaleMin = 0.6;
    		scaleMax = 1.1;
    	};
    	class SeaWeed1 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_SeaWeed1.p3d";
    		affectedByWind = 0.2;
    		swLighting = 0;
    		scaleMin = 0.4;
    		scaleMax = 1.0;
    	};
    	class SeaWeed2 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_SeaWeed2.p3d";
    		affectedByWind = 0.2;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 1.0;
    	};
    	class Coral1 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_Coral1.p3d";
    		affectedByWind = 0.0;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 1.0;
    	};
    	class Coral2 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_Coral2.p3d";
    		affectedByWind = 0.0;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 1.0;
    	};
    	class Coral3 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_Coral3.p3d";
    		affectedByWind = 0.1;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 0.5;
    	};
    	class Coral4 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_Coral4.p3d";
    		affectedByWind = 0.1;
    		swLighting = 0;
    		scaleMin = 0.3;
    		scaleMax = 1.0;
    	};
    	class Coral5 : DefaultClutter
    	{
    		model = "A3\Plants_F\Clutter\c_Coral5.p3d";
    		affectedByWind = 0.05;
    		swLighting = 0;
    		scaleMin = 0.2;
    		scaleMax = 0.6;
    	};
    };
    

    Then, delete your Surfaces.hpp you don't need it anymore if you use the DefaultWorld & CAWorld worlds for your island. (wich is indeed the case here)

     

    Now you should be able to have ground texture and clutters if, of course your mask and layers.cfg are properly config.

     

    BTW, have spaces in Project name like you have is a very bad Idea, use underscore instead.


  10. Hi,

     

    1 : Try to delete your a3 folder in your P:/ Disk, and then try to run again FuturatoP or Arma3P as Administrator again. Also, to be sure that your Roadslibs.cfg is ok, try to use the Stratis or Altis one.

     

    2 : Well, with patience.

     

    3 : Try to disable Object View (Grey Square on the top menu if I remember), and then drag & select all your polylines.

     

    4 : This might be due to incorrect rvmat parameters (wrong config, wrong path file...) or with your texture file.

     

    5 : No clue, try the same answer for the question 1.

     

    6 : Indeed, you just have to right click on your mask in your layers tab and you will have an option like update or Re-import the file, do that and generate your layers again on your Mapframe parameters & here you go.


  11. The layer.cfg - If I use stock textures How would I go about creating the layer.cfg?

     

    You copy them to your data folder and rename like "rof_kintyre_beach_co.paa"

     

    Unless you want custom clutters, why would you do that if the textures are already located in A3? Save yourself ~75Mb by creating your own RVMAT who refer to the textures that you want and who are in the orginal folder so you don't have to create a copy of those textures.

     

    For example: (gdt_forest_pine.rvmat)

    ambient[] = {1,1,1,1};
    diffuse[] = {0.25,0.25,0.25,1};
    forcedDiffuse[] = {0,0,0,0};
    specular[] = {0.0,0.0,0.0,0};
    specularPower = 1;
    emmisive[] = {0,0,0,0};
    PixelShaderID = "NormalMapDiffuse";
    VertexShaderID = "NormalMapDiffuseAlpha";
    
    class Stage1
    {
    	texture = "a3\map_data\gdt_forest_pine_nopx.paa";
    	uvSource = "tex";
    	class uvTransform
    	{
    		aside[] = {6,0,0};
    		up[] = {0,6,0};
    		dir[] = {0,0,0};
    		pos[] = {0,0,0};
    	};
    };
    class Stage2
    {
    	texture = "a3\map_data\gdt_forest_pine_co.paa";
    	uvSource = "tex";
    	class uvTransform
    	{
    		aside[] = {6,0,0};
    		up[] = {0,6,0};
    		dir[] = {0,0,0};
    		pos[] = {0,0,0};
    	};
    };
    
    • Like 1
×