Jump to content
Sign in to follow this  
Robster

Clutter on infinite terrain

Recommended Posts

Good evening mates!

How can I get clutter over my infinite (outside) terrain ?

Best regards,

:yay:

Share this post


Link to post
Share on other sites

You could try to script clutter around the player like people did it for OFP.

Share this post


Link to post
Share on other sites

Perhaps, I did not explain myself clear enough... I mean, how do i have to do to see some basic clutter over infinite terrain...

I say basic clutter referring to ground texture layer plus some clutter object, i.e.: plants, bushes, stones...

This is very possible, and not implemented as a mission script, since you may see this effect on desert map from A2OA... in the ingame editor... just a single desert bush (in different sizes) and just one texture layer all over the place (this would be the satout_co.paa file plus common texture layer, i.e.: de_polopoust_co.paa etc)...

In fact, I think I did it once in one of my own experiments... but I couldn't tell what was exactly the procedure...

My main layer.cfg file must contain this basic layer as 0,0,0 RGB values?

Or it should be mounted over an alpha channel in the mask???? (which I seriously doubt)

Or be the first mentioned layer in layers.cfg ???

???

Or I have to leave an empty space in surrounding borders, width size of overlapping pixels, specially heading SE ???

and

???

EDIT: Test 1... with no infinite terrain ...309kcuf.jpg

Test2: infiniteeeeeeeee.... 2h8a61j.jpg

Concluding: My next map will have no infinite land and will have plain borders having smooth colors and blur to catch that neverending A2OA desert feeling... BTW it looks like a script surrounding camera solution...

Saludines Saludetes!!!!

Edited by Robster

Share this post


Link to post
Share on other sites

I have grass on infinite terrain on my Scotland project - so it definitely must be possible... no idea how I achieved it though, plus the actual close-up ground textures don't seem to display properly... that's with infinite land "off" - I get the "hole in the sea" effect otherwise... but... "off" or "on", I still get clutter beyond the borders - looks like my basic default "grass" clutter...

LFA_inf.jpg

(satout needs a colourtweak, and what's happening with that groundtexture in the foreground?? - but otherwise... clutter all the way...)

This project dates from back in the days when I didn't really know what I was doing a lot of the time...

In my more recent projects, which all follow the rules much more closely, I get no clutter on infinite terrain - it all looks pretty much the same as Cherno (below)... ground textures displaying properly - but no clutter...

Cherno_inf.jpg

All very puzzling... I don't have an immediate explanation for this one I'm afraid...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

mmm

But are you sure that you have infinite land mode on ??? what your layers.cfg. file says? how many colors your mask_lco.png file have? which is your base texture color in mask? is this default color matching some special RGB value? are you using just one base texture layer? are you using bohemia's default textures?

sorry... if you say that this is possible, then i begin to get obsessed to solve the puzzle and figure all this out...

saludos saludillos!!!

edit: A20A Desert map has only one object...a bush btw... and it does seem your project also has just one type of grass object... would that be the key?

Edited by Robster

Share this post


Link to post
Share on other sites
are you sure that you have infinite land mode on ???

On or off seems to make no difference... if it's "on" I get a "hole in the sea", if it's "off" I don't... clutter on IL itself stays the same

what your layers.cfg. file says?

class Layers

{

class bush_sand

{

texture = "Bush\LFA14\Data\bush_sand_mco.paa";

material= "Bush\LFA14\Data\bush_sand.rvmat";

};

class bush_greengrass

{

texture = "Bush\LFA14\Data\bush_greengrass_mco.paa";

material= "Bush\LFA14\Data\bush_greengrass.rvmat";

};

class bush_roughgrass

{

texture = "Bush\LFA14\Data\bush_roughgrass_mco.paa";

material= "Bush\LFA14\Data\bush_roughgrass.rvmat";

};

class bush_rockgrass

{

texture = "Bush\LFA14\Data\bush_rockgrass_mco.paa";

material= "Bush\LFA14\Data\bush_rockgrass.rvmat";

};

class bush_pineforest

{

texture = "Bush\LFA14\Data\bush_pineforest_mco.paa";

material= "Bush\LFA14\Data\bush_pineforest.rvmat";

};

class bush_greycliff

{

texture = "Bush\LFA14\Data\bush_greycliff_mco.paa";

material= "Bush\LFA14\Data\bush_greycliff.rvmat";

};

class bush_steepcliff

{

texture = "Bush\LFA14\Data\bush_steepcliff_mco.paa";

material= "Bush\LFA14\Data\bush_steepcliff.rvmat";

};

class bush_snow

{

texture = "Bush\LFA14\Data\bush_snow_mco.paa";

material= "Bush\LFA14\Data\bush_snow.rvmat";

};

class bush_urban

{

texture = "Bush\LFA14\Data\bush_urban_mco.paa";

material= "Bush\LFA14\Data\bush_urban.rvmat";

};

};

class Legend

{

picture="Bush\LFA14\Source\mapLegend.png";

class Colors

{

bush_sand[]={{205,114,0}};

bush_greengrass[]={{0,255,0}};

bush_roughgrass[]={{255,255,0}};

bush_rockgrass[]={{0,255,255}};

bush_pineforest[]={{255,0,255}};

bush_greycliff[]={{254,44,47}};

bush_steepcliff[]={{128,128,128}};

bush_snow[]={{255,255,255}};

bush_urban[]={{205,205,205}};

};

};

how many colors your mask_lco.png

Nine so far

color matching some special RGB value?

Just bright primary-type colours for each surface type

are you using just one base texture layer?

Yes - until I find out what a second one actually does, anyway...

are you using bohemia's default textures?

For the grass and outside terrain - yeah - Chernarus textures colourtweaked...

B

Share this post


Link to post
Share on other sites

Thank you bush,

I guess your default layer is that sand texture, i mean, where we see that grassy IL... isn't it? and you didn't add another object in that particular surface character config? If my assumptions are right i'll make some tests based on these guidelines... I assume that you used proper own tagnames so we should be sure enough that there is no "inteference" with former bis configs, textures and objects...

EDIT: I would really appreciate if you copy and paste your config.cpp just as it works with IL, you know, i'll try to replicate your mistakes hahahahah

Edited by Robster

Share this post


Link to post
Share on other sites

Hi again Rob...

Here's the current config... it's a shambles, like all current working configs usually are :D... still...

#define _ARMA_

#define private 0

#define protected 1

#define public 2

#define ReadAndWrite 0

#define ReadAndCreate 1

#define ReadOnly 2

#define ReadOnlyVerified 3

//Class config.bin{

class CfgPatches

{

class LFA14

{

units[] = {"LFA14"};

weapons[] = {};

requiredVersion = 0.1;

requiredAddons[] = {"CAData","CABuildings","CAMisc","CABuildings2","CARoads2","Chernarus","bushplants","bushmodels"};

version = "0.4";

fileName = "LFA14.pbo";

author = "Bushlurker";

mail = "bushlurker@googlemail.com";

};

};

class CfgLocationTypes

{

class Bush_B191

{

name = "";

drawStyle = "icon";

texture = "Bush\LFA14\data\icons\B191_CA.paa";

color[] = {};

font = "Zeppelin32";

size = 30;

shadow = 0;

textSize = 0.2;

importance = 1;

};

};

class CfgEnvSounds

{

class Sea;

class Bush_Sea: Sea

{

sound[] = {"\ca\Sounds\Enviroment\wave_break_01", 0.1, 1, 10};

soundNight[] = {"\ca\Sounds\Enviroment\wave_break_02", 0.177828, 1, 10};

};

};

class CfgWorlds

{

class DefaultWorld

{

class Weather;

};

class CAWorld: DefaultWorld

{

class Grid{};

class DayLightingBrightAlmost;

class DayLightingRainy;

class DefaultClutter;

class Weather: Weather

{

class Lighting;

};

};

class DefaultLighting;

class LFA14: CAWorld

{

access = 3;

worldId = 4;

cutscenes[] = {"LFA14Intro2"};

description = "LFA14 v0.4";

worldName= "Bush\LFA14\LFA14.wrp";

pictureShot = "Bush\LFA14\data\LFA14_menu_pic.paa";

icon = "";

pictureMap = "";

plateFormat = "PT$ - #####";

plateLetters = "ABCDEGHIKLMNOPRSTVXZ";

centerPosition[] = {10240,10240,800};

seagullPos[] = {10240,10240,500};

longitude = 0;

latitude = -57;

startTime = "10:00";

startDate = "05/08/2010";

startWeather = 0.1;

startFog = 0;

forecastWeather = 0.4;

forecastFog = 0;

clutterGrid = 1;

clutterDist = 200;

noDetailDist = 40;

fullDetailDist = 15;

midDetailTexture = "Bush\LFA14\Data\bush_lfa14_middle_mco.paa";

minTreesInForestSquare = 3;

minRocksInRockSquare = 3;

class OutsideTerrain

{

satellite = "Bush\LFA14\Data\bush_satout_co.paa";

enableTerrainSynth = 0;

class Layers

{

class Layer0

{

nopx = "Bush\LFA14\Data\bush_trava1_detail_nopx.paa";

texture = "Bush\LFA14\Data\bush_trava1_detail_co.paa";

};

};

};

ilsPosition[] = {4772,10923,24.7};

ilsDirection[] = {0,0.08,-1};

ilsTaxiOff[] = {4772,10923,4772,11801,4780,11809,4833,11809,4841,11801,4841,11323};

ilsTaxiIn[] = {4841,11323,4841,11018,4833,11010,4780,11010,4772,11028,4772,11073};

class ReplaceObjects{};

class Sounds

{

sounds[] = {};

};

class Animation

{

vehicles[] = {};

};

class Grid: Grid

{

offsetX = 0;

offsetY = 0;

class Zoom1

{

zoomMax = 0.15;

format = "XY";

formatX = "000";

formatY = "000";

stepX = 100;

stepY = 100;

};

class Zoom2

{

zoomMax = 0.85;

format = "XY";

formatX = "00";

formatY = "00";

stepX = 1000;

stepY = 1000;

};

class Zoom3

{

zoomMax = 1e+030;

format = "XY";

formatX = "0";

formatY = "0";

stepX = 10000;

stepY = 10000;

};

};

class Lighting: DefaultLighting

{

groundReflection[] = {0.06,0.06,0.03};

};

class DayLightingBrightAlmost: DayLightingBrightAlmost

{

deepNight[] = {-15,

{ 0.05,0.05,0.06 },

{ 0.001,0.001,0.002 },

{ 0.02,0.02,0.05 },

{ 0.003,0.003,0.003 },

{ 0.0001,0.0001,0.0002 },

{ 0.0001,0.0001,0.0002 },0};

fullNight[] = {-5,

{ 0.05,0.05,0.05 },

{ 0.02,0.02,0.02 },

{ 0.04,0.04,0.04 },

{ 0.04,0.04,0.04 },

{ 0.01,0.01,0.02 },

{ 0.08,0.06,0.06 },0};

sunMoon[] = {-3.75,

{ 0.045,0.04,0.04 },

{ 0.04,0.04,0.04 },

{ 0.045,0.04,0.04 },

{ 0.04,0.04,0.04 },

{ 0.04,0.035,0.04 },

{ 0.1,0.08,0.09 },0.5};

earlySun[] = {-2.5,

{ 0.12,0.1,0.1 },

{ 0.08,0.06,0.07 },

{ 0.12,0.1,0.1 },

{ 0.08,0.06,0.07 },

{ 0.08,0.07,0.08 },

{ 0.1,0.1,0.12 },1};

sunrise[] = {0,

{

{ 0.7,0.45,0.45 },"5.16+(-4)" },

{

{ 0.07,0.09,0.12 },"4.0+(-4)" },

{

{ 0.6,0.47,0.25 },"4.66+(-4)" },

{

{ 0.1,0.09,0.1 },"4.3+(-4)" },

{

{ 0.5,0.4,0.4 },"6.49+(-4)" },

{

{ 0.88,0.51,0.24 },"8.39+(-4)" },1};

earlyMorning[] = {3,

{

{ 0.65,0.55,0.55 },"6.04+(-4)" },

{

{ 0.08,0.09,0.11 },"4.5+(-4)" },

{

{ 0.55,0.47,0.25 },"5.54+(-4)" },

{

{ 0.1,0.09,0.1 },"5.02+(-4)" },

{

{ 0.5,0.4,0.4 },"7.05+(-4)" },

{

{ 0.88,0.51,0.24 },"8.88+(-4)" },1};

midMorning[] = {8,

{

{ 0.98,0.85,0.8 },"8.37+(-4)" },

{

{ 0.08,0.09,0.11 },"6.42+(-4)" },

{

{ 0.87,0.47,0.25 },"7.87+(-4)" },

{

{ 0.09,0.09,0.1 },"6.89+(-4)" },

{

{ 0.5,0.4,0.4 },"8.9+(-4)" },

{

{ 0.88,0.51,0.24 },"10.88+(-4)" },1};

morning[] = {16,

{

{ 1,1,0.9 },"13.17+(-4)" },

{

{ 0.17,0.18,0.19 },"10.26+(-4)" },

{

{ 1,1,0.9 },"12.67+(-4)" },

{

{ 0.17,0.18,0.19 },"11.71+(-4)" },

{

{ 0.15,0.15,0.15 },"12.42+(-4)" },

{

{ 0.17,0.17,0.15 },"14.42+(-4)" },1};

noon[] = {45,

{

{ 1,1,1 },"17+(-4)" },

{

{ 1,1.3,1.55 },"13.5+(-4)" },

{

{ 1,1,1 },"15+(-4)" },

{

{ 0.36,0.37,0.38 },"13.5+(-4)" },

{

{ 1,1,1 },"16+(-4)" },

{

{ 1,1,1 },"17+(-4)" },1};

};

class DayLightingRainy: DayLightingRainy

{

deepNight[] = {-15,

{ 0.0034,0.0034,0.004 },

{ 0.003,0.003,0.003 },

{ 0.0034,0.0034,0.004 },

{ 0.003,0.003,0.003 },

{ 0.001,0.001,0.002 },

{ 0.001,0.001,0.002 },0};

fullNight[] = {-5,

{ 0.023,0.023,0.023 },

{ 0.02,0.02,0.02 },

{ 0.023,0.023,0.023 },

{ 0.02,0.02,0.02 },

{ 0.01,0.01,0.02 },

{ 0.08,0.06,0.06 },0};

sunMoon[] = {-3.75,

{ 0.04,0.04,0.05 },

{ 0.04,0.04,0.05 },

{ 0.04,0.04,0.05 },

{ 0.04,0.04,0.05 },

{ 0.04,0.035,0.04 },

{ 0.11,0.08,0.09 },0.5};

earlySun[] = {-2.5,

{ 0.0689,0.0689,0.0804 },

{ 0.06,0.06,0.07 },

{ 0.0689,0.0689,0.0804 },

{ 0.06,0.06,0.07 },

{ 0.08,0.07,0.08 },

{ 0.14,0.1,0.12 },0.5};

earlyMorning[] = {0,

{

{ 1,1,1 },"(-4)+3.95" },

{

{ 1,1,1 },"(-4)+3.0" },

{

{ 1,1,1 },"(-4)+3.95" },

{

{ 1,1,1 },"(-4)+3.0" },

{

{ 1,1,1 },"(-4)+4" },

{

{ 1,1,1 },"(-4)+5.5" },1};

morning[] = {5,

{

{ 1,1,1 },"(-4)+5.7" },

{

{ 1,1,1 },"(-4)+4.5" },

{

{ 1,1,1 },"(-4)+5.7" },

{

{ 1,1,1 },"(-4)+4.5" },

{

{ 1,1,1 },"(-4)+7" },

{

{ 1,1,1 },"(-4)+8" },1};

lateMorning[] = {25,

{

{ 1,1,1 },"(-4)+10.45" },

{

{ 1,1,1 },"(-4)+9.75" },

{

{ 1,1,1 },"(-4)+10.45" },

{

{ 1,1,1 },"(-4)+9.75" },

{

{ 1,1,1 },"(-4)+12" },

{

{ 1,1,1 },"(-4)+12.75" },1};

noon[] = {70,

{

{ 1,1,1 },"(-4)+12.5" },

{

{ 1,1,1 },"(-4)+11" },

{

{ 1,1,1 },"(-4)+12" },

{

{ 1,1,1 },"(-4)+11" },

{

{ 1,1,1 },"(-4)+13.5" },

{

{ 1,1,1 },"(-4)+14" },1};

};

class Weather: Weather

{

class Lighting: Lighting

{

class BrightAlmost: DayLightingBrightAlmost

{

overcast = 0;

};

class Rainy: DayLightingRainy

{

overcast = 1;

};

};

};

class Ambient

{

class Mammals

{

radius = 200;

cost = "(1 + forest + trees) * (0.5 + (0.5 * night)) * (1 - sea) * (1 - houses)";

class Species

{

class Rabbit

{

probability = 0.2;

cost = 1;

};

};

};

class BigBirds

{

radius = 300;

cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)";

class Species

{

class Hawk

{

probability = 0.2;

cost = 1;

};

};

};

class Birds

{

radius = 170;

cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))";

class Species

{

class Crow

{

probability = 0.1;

cost = 1;

};

};

};

class BigInsects

{

radius = 20;

cost = "(5 - (2 * houses)) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species

{

class DragonFly

{

probability = "0.6 - (meadow * 0.5) + (forest * 0.4)";

cost = 1;

};

class ButterFly

{

probability = "0.4 + (meadow * 0.5) - (forest * 0.4)";

cost = 1;

};

};

};

class BigInsectsAquatic

{

radius = 20;

cost = "(3 * sea) * (1 - night) * (1 - rain) * (1 - windy)";

class Species

{

class DragonFly

{

probability = 1;

cost = 1;

};

};

};

class SmallInsects

{

radius = 3;

cost = "(12 - 8 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy)";

class Species

{

class HouseFly

{

probability = "deadBody + (1 - deadBody) * (0.5 - forest * 0.1 - meadow * 0.2)";

cost = 1;

};

class HoneyBee

{

probability = "(1 - deadBody) * (0.5 - forest * 0.1 + meadow * 0.2)";

cost = 1;

};

class Mosquito

{

probability = "(1 - deadBody) * (0.2 * forest)";

cost = 1;

};

};

};

class NightInsects

{

radius = 3;

cost = "(9 - 8 * hills) * night * (1 - rain) * (1 - sea) * (1 - windy)";

class Species

{

class Mosquito

{

probability = 1;

cost = 1;

};

};

};

class WindClutter

{

radius = 10;

cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)";

class Species

{

class FxWindGrass1

{

probability = "0.4 - 0.2 * hills - 0.2 * trees";

cost = 1;

};

class FxWindGrass2

{

probability = "0.4 - 0.2 * hills - 0.2 * trees";

cost = 1;

};

class FxWindRock1

{

probability = "0.4 * hills";

cost = 1;

};

};

};

class NoWindClutter

{

radius = 15;

cost = 8;

class Species

{

class FxWindPollen1

{

probability = 1;

cost = 1;

};

};

};

};

class Clutter

{

#include "cfgClutter.hpp"

};

class Names

{

#include "LFA14.hpp"

};

};

};

class CfgWorldList

{

class LFA14 {};

};

class CfgMissions

{

class Cutscenes

{

class LFA14Intro

{

directory = "Bush\LFA14\data\scenes\theme1.LFA14";

};

class LFA14Intro2

{

directory = "Bush\LFA14\data\scenes\theme2.LFA14";

};

};

};

//SURFACES

#include "cfgSurfaces.hpp"

class CfgVehicles

{

class Thing;

class GrassCutter: Thing

{

model="Bush\LFA14\obj\ClutterCutter.p3d";

displayName="Grass Cutter";

vehicleClass="Misc";

icon="\ca\data\data\Unknown_object.paa";

scope=2;

simulation="thing";

nameSound="";

transportFuel=0;

mapSize=0.700000;

accuracy=0.200000;

cost=0;

armor=200000;

};

};

and cfgSurfaces...

class CfgSurfaces

{

class Default {};

class Water{};

class Bush_GreengrassSurface : Default

{

files = "bush_greengrass_*";

rough = 0.11;

dust = 0.1;

soundEnviron = "grass";

character = "Bush_GreengrassClutter";

soundHit = "soft_ground";

};

class Bush_RoughgrassSurface : Default

{

files = "bush_roughgrass_*";

rough = 0.11;

dust = 0.1;

soundEnviron = "grass";

character = "Bush_RoughgrassClutter";

soundHit = "soft_ground";

};

class Bush_RockgrassSurface : Default

{

files = "bush_rockgrass_*";

rough = 0.11;

dust = 0.1;

soundEnviron = "grass";

character = "Bush_RockgrassClutter";

soundHit = "soft_ground";

};

class Bush_PineForestSurface: Default

{

files = "bush_pineforest_*";

rough = 0.3;

dust = 0.4;

soundEnviron = "forest";

character = "Bush_PineforestClutter";

soundHit = "soft_ground";

};

class Bush_GreycliffSurface : Default

{

files = "bush_greycliff_*";

rough = 0.2;

dust = 0.07;

soundEnviron = "rock";

character = "Empty";

soundHit = "hard_ground";

};

class Bush_SteepcliffSurface : Default

{

files = "bush_steepcliff_*";

rough = 0.2;

dust = 0.07;

soundEnviron = "rock";

character = "Empty";

soundHit = "hard_ground";

};

class Bush_SnowSurface : Default

{

files = "bush_snow_*";

rough = 0.11;

dust = 0.25;

soundEnviron = "gravel";

character = "Empty";

soundHit = "soft_ground";

};

class Bush_UrbanSurface : Default

{

files = "bush_urban_*";

rough = 0.15;

dust = 0.4;

soundEnviron = "gravel";

character = "Empty";

soundHit = "hard_ground";

};

};

class CfgSurfaceCharacters

{

class Bush_GreengrassClutter

{

probability[]={0.32,0.32,0.01,0.01,0.32,0.01};

names[]={"Bush_GrassAutumn","Bush_GrassCrookedGreen","Bush_Heather2","Bush_GrassBunch","Bush_GrassCrooked","Bush_SmallLeafPlant"};

};

class Bush_RoughgrassClutter

{

probability[] = {0.5,0.2,0.01,0.22,0.01,0.03,0.01,0.01};

names[] = {"Bush_DryGrassRough","Bush_GrassCrooked","Bush_DryGrassBunch","Bush_GrassDryLong","Bush_Heather2","Bush_WeedSedge","Bush_GrassBunch","Bush_SmallLeafPlant"};

};

class Bush_RockgrassClutter

{

probability[] = {0.02,0.2,0.2,0.2,0.15,0.03,0.01,0.07};

names[] = {"Bush_DryGrassRock","Bush_HeatherBrush","Bush_Heather2","Bush_HeatherBrush2","Bush_Heather2Brown","Bush_FernAutumn","Bush_FernAutumnTall","Bush_SmallLeafPlant"};

};

class Bush_PineforestClutter

{

probability[] = {0.04,0.15,0.4,0.25,0.1,0.02,0.001,0.003,0.01};

names[] = {"Bush_SmallPicea","Bush_GrassCrookedForest","Bush_FernAutumn","Bush_FernAutumnTall","Bush_GrassAutumn","Bush_BlueBerry","Bush_MushroomsHorcak","Bush_MushroomsPrasivka","Bush_SmallLeafPlant"};

};

};

Haven't worked on this terrain in months - I've completely forgotten what stage I was at or what I was doing last... I just vaguely remembered it having "infinite grass", then I checked my "Faffindale" terrain and - it doesn't...

B

Edited by Bushlurker

Share this post


Link to post
Share on other sites

very interesting findings...

I see that you didn't use any layer as defined on layers.cfg file...

{

satellite = "Bush\LFA14\Data\bush_satout_co.paa";

enableTerrainSynth = 0;

class Layers

{

class Layer0

{

nopx = "Bush\LFA14\Data\bush_trava1_detail_nopx.paa";

texture = "Bush\LFA14\Data\bush_trava1_detail_co.paa";

};

};

}

And i do not see any reference to surface clutter regarding that trava1 texture... how should the engine know which clutter object must be displayed on IL ????? Would it take surface character definition from default ingame settings????

EDIT: What does it say in your "cfgClutter.hpp" ????

Edited by Robster

Share this post


Link to post
Share on other sites

The "trava1" textures are just copied from Cherno - cr_trava1 or something I think...

cfgClutter

class Bush_SmallLeafPlant: DefaultClutter

{

model = "ca\plants2\clutter\C_SmallLeafPlant.p3d";

affectedByWind = 0;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.1;

};

class Bush_DryGrassRough: DefaultClutter

{

model = "bushplants\clutter\Bush_GrassRough.p3d";

affectedByWind = 0.15;

swLighting = 1;

scaleMin = 0.8;

scaleMax = 1.2;

};

class Bush_DryGrassRock: DefaultClutter

{

model = "bushplants\clutter\Bush_GrassRough.p3d";

affectedByWind = 0.03;

swLighting = 1;

scaleMin = 0.4;

scaleMax = 0.7;

};

class Bush_DryGrassBunch: DefaultClutter

{

model = "ca\plants2\clutter\c_grassDryLongBunch.p3d";

affectedByWind = 0.15;

swLighting = 1;

scaleMin = 0.6;

scaleMax = 0.9;

};

class Bush_GrassDryLong: DefaultClutter

{

model = "ca\plants2\clutter\c_GrassDryLong.p3d";

affectedByWind = 0.15;

swLighting = 1;

scaleMin = 0.9;

scaleMax = 1.3;

};

class Bush_GrassTall: DefaultClutter

{

model = "ca\plants2\clutter\c_GrassTall.p3d";

affectedByWind = 0.4;

swLighting = 1;

scaleMin = 0.6;

scaleMax = 0.9;

};

class Bush_GrassAutumn: DefaultClutter

{

model = "ca\plants2\clutter\c_GrassAutumn.p3d";

affectedByWind = 0.2;

swLighting = 1;

scaleMin = 0.8;

scaleMax = 1.2;

};

class Bush_StubbleClutter: DefaultClutter

{

model = "ca\plants2\clutter\c_stubble.p3d";

affectedByWind = 0.1;

swLighting = 1;

scaleMin = 0.9;

scaleMax = 1.1;

};

class Bush_AutumnFlowers: DefaultClutter

{

model = "ca\plants2\clutter\c_autumn_flowers.p3d";

affectedByWind = 0.4;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1;

};

class Bush_GrassBunch: DefaultClutter

{

model = "ca\plants2\clutter\c_GrassBunch.p3d";

affectedByWind = 0.35;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.1;

};

class Bush_GrassCrooked: DefaultClutter

{

model = "bushplants\clutter\Bush_GrassCrooked.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.1;

};

class Bush_GrassCrookedGreen: DefaultClutter

{

model = "bushplants\clutter\Bush_GrassCrookedGreen.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.1;

};

class Bush_GrassCrookedForest: DefaultClutter

{

model = "ca\plants2\clutter\c_GrassCrookedForest.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.2;

};

class Bush_WeedDead: DefaultClutter

{

model = "ca\plants2\clutter\c_WeedDead.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.4;

scaleMax = 0.6;

};

class Bush_WeedDeadSmall: DefaultClutter

{

model = "ca\plants2\clutter\c_WeedDead2.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.4;

scaleMax = 0.6;

};

class Bush_HeatherBrush: DefaultClutter

{

model = "ca\plants2\clutter\c_caluna.p3d";

affectedByWind = 0.1;

swLighting = 1;

scaleMin = 0.7;

scaleMax = 1.1;

surfaceColor[] = {0.93,0.9,0.77,1};

};

class Bush_Heather2: DefaultClutter

{

model = "bushplants\clutter\Bush_c_caluna.p3d";

affectedByWind = 0.1;

swLighting = 1;

scaleMin = 0.9;

scaleMax = 1.2;

};

class Bush_Heather2Brown: DefaultClutter

{

model = "bushplants\clutter\Bush_2_caluna.p3d";

affectedByWind = 0.1;

swLighting = 1;

scaleMin = 0.9;

scaleMax = 1.2;

};

class Bush_HeatherBrush2: DefaultClutter

{

model = "ca\plants2\clutter\c_caluna.p3d";

affectedByWind = 0.1;

swLighting = 1;

scaleMin = 0.6;

scaleMax = 1.2;

surfaceColor[] = {0.83,0.9,0.67,1};

};

class Bush_WeedSedge: DefaultClutter

{

model = "ca\plants2\clutter\c_weed3.p3d";

affectedByWind = 0.2;

swLighting = 1;

scaleMin = 0.5;

scaleMax = 0.8;

};

class Bush_WeedTall: DefaultClutter

{

model = "ca\plants2\clutter\c_weed2.p3d";

affectedByWind = 0.3;

swLighting = 1;

scaleMin = 0.5;

scaleMax = 1;

};

class Bush_BlueBerry: DefaultClutter

{

model = "ca\plants2\clutter\c_BlueBerry.p3d";

affectedByWind = 0.05;

swLighting = 1;

scaleMin = 0.55;

scaleMax = 1.1;

};

class Bush_RaspBerry: DefaultClutter

{

model = "ca\plants2\clutter\c_raspBerry.p3d";

affectedByWind = 0;

swLighting = 1;

scaleMin = 0.6;

scaleMax = 1;

};

class Bush_FernAutumn: DefaultClutter

{

model = "ca\plants2\clutter\c_fern.p3d";

affectedByWind = 0.1;

scaleMin = 0.4;

scaleMax = 0.7;

};

class Bush_FernAutumnTall: DefaultClutter

{

model = "ca\plants2\clutter\c_fernTall.p3d";

affectedByWind = 0.15;

scaleMin = 0.4;

scaleMax = 0.7;

};

class Bush_SmallPicea: DefaultClutter

{

model = "ca\plants2\clutter\c_picea.p3d";

affectedByWind = 0.01;

scaleMin = 0.55;

scaleMax = 1.25;

};

class Bush_PlantWideLeaf: DefaultClutter

{

model = "ca\plants2\clutter\c_WideLeafPlant.p3d";

affectedByWind = 0.1;

scaleMin = 1;

scaleMax = 1;

};

class Bush_MushroomsHorcak: DefaultClutter

{

model = "ca\plants2\clutter\c_MushroomHorcak.p3d";

affectedByWind = 0;

scaleMin = 0.45;

scaleMax = 1;

};

class Bush_MushroomsPrasivka: Bush_MushroomsHorcak

{

model = "ca\plants2\clutter\c_MushroomPrasivky.p3d";

};

class Bush_MushroomsBabka: Bush_MushroomsHorcak

{

model = "ca\plants2\clutter\c_MushroomBabka.p3d";

};

class Bush_MushroomsMuchomurka: Bush_MushroomsHorcak

{

model = "ca\plants2\clutter\c_MushroomMuchomurka.p3d";

};

Nothing special... most of the grass is custom stuff...

B

Share this post


Link to post
Share on other sites

So, you have this trava1 thing without any definition about its surface or character definition, but, amazingly, it displays grass clutter ... if you just copied this from chernarus, then it might have some rvmat info inside... I mean, trava1 knows that it has to display some clutter object from A2...

Edited by Robster

Share this post


Link to post
Share on other sites

Try to define a clutter class for the bush_satout_co/satellite texture.

Share this post


Link to post
Share on other sites

@PVP: We can do these kind of modifications? Damn! i will have to wait the whole day just to sit in front my machine and continue with trial & error...

Share this post


Link to post
Share on other sites

Something along the lines like this may work:

class CfgSurfaces
{
class Default;
class bush_satout: Default
{
	files = "bush_satout*";
};

Share this post


Link to post
Share on other sites

Dammit! You've got me interested in this now too Robster!!

Here's another pic of the transition from Inside terrain to Outside terrain...

IL.jpg

As you can see, the "trava1" texture doesn't seem to display properly - but the clutter continues right across the border and off into Infinite Land..

* the clutter being used over infinite land is my standard "rough grass" clutter - a mix of some BIS Cherno clutter and one dominant custom "dry grass" model... so it can't be somehow "inheriting" some setting from Cherno - like my previous post pic showed - Cherno has no IL clutter...

You can also see from that first pic that it DOES seem to be my "rough grass mix" of clutter being used - not just some single basic model... there's 3 different clutter models poking up thru the "trava1" on the bottom left of the pic - one of which is a custom one...

It's strange how the clutter works but the actual ground-texture sortof semi-doesn't, and looks weird and blurry like that...

It's a weird terrain in other ways too - it's not "landlocked", but it's the opposite of Chernarus - theres sea to the North and West - land to the problematic South and East... well - not quite... there's sea and land to the East and South too......

LFA_Vis.jpg

Sea AND Land on both those East and South borders is asking for trouble... there's known weirdnesses happen with textures on bits of islands that stray too close to the borders in those directions...

Sea present on the map, but land to the East seems to be one of the combinations that can trigger the "Hole in The Sea" problem, and indeed I got that bad on this terrain if I switched IL "on" - with it "off" I don't get the Hole in the sea, and the Outside Terrain looks a little "stretched", but - either way - the "outside ground texture" displays wrongly, but I get my standard grass clutter on it...

Can't think what other factors could be influencing things... Heightmap is 2048x2048 - 10m, Sat & Mask 20480x20480, Texture layer size 40m... Standard terrain in every way

It's got me puzzled...

B

Share this post


Link to post
Share on other sites

Let me put this together...

Since I could notice that IL does display only one single object... your current clutter should be :

class Bush_RoughgrassClutter

{

probability[] = {0.5,0.2,0.01,0.22,0.01,0.03,0.01,0.01};

names[] = {"Bush_DryGrassRough","Bush_GrassCrooked","Bush_Dr yGrassBunch","Bush_GrassDryLong","Bush_Heather2"," Bush_WeedSedge","Bush_GrassBunch","Bush_SmallLeafP lant"};

};

Initially I assumed it has to be the first on layers.cfg or cfgSurfaceCharacter lists... but assuming your info as correct, evidence should point at the most common clutter among CfgSurfaceCharacters (probability=0.5)

I am not so sure that a change like PVP mentioned may produce some effect, mainly cause I do not understand how that change works...

And now I'm going into my lab muahahahaha...

Share this post


Link to post
Share on other sites

clutter is applied to a given HQ texture.

It looks for the file naming. That is now tied to a clutter type class.

That again defines the types of clutter seen it randomly.

Share this post


Link to post
Share on other sites

IT'S ALIVE !!!!

29y5xys.jpg

---------- Post added at 08:31 PM ---------- Previous post was at 08:30 PM ----------

EDIT: Just one little detail... again, I've got no idea what i did XD

---------- Post added at 08:37 PM ---------- Previous post was at 08:31 PM ----------

I made this into config...

class CfgSurfaces {

class Default {};

class cla_wz_satout : Default

{

files = "cla_wz_satout*";

character = "NBgrassClutter";

};

But that second line (NBgrass) didn't have any effect... which is ok since my test mask is completely black for now...

It just took my one and only surface character with all clutter objects present in there...

@PVP: you were right Sir! I still do not understand any sh*t but that really works!!!! alleluya!!!!

EDIT2: Dammit!!! I knew it was possible!!! Now I'm going for clafghan... hehehe

Edited by Robster

Share this post


Link to post
Share on other sites

I don't get any clutter on my "infinite terrain" maps.

But there are " strange areas" on the East and South borders were the _Sat used is already the _satout but the ground texture and clutters are still those of the maps, it can clearly be seen on Brik2.

Share this post


Link to post
Share on other sites

I tried to apply it to the a2 and OA terrains without success..

Here is the pbo: http://www.file-upload.net/download-3731300/ClutterInInfiniteTerrain_Visuals_C_PvPscene.pbo.html

May or may not be related to BI using the same texture naming for it for every terrain:

s_satout_co.paa

However using this sqf command:

surfaceType position player

shows a different surface type like CRGrass1 for Chernarus or GZTrava

for ProvingGrounds - yet no clutter to be drawn for it. :confused:

Share this post


Link to post
Share on other sites

I think clutter is defined by relation to the Material file or >rvmat rather than the texture itself ?

i dont believe there is a material file applied to the Infinite so no clutter maybe , i havent looked at a terrain for sometime but that was my belief anyway.

However if someone makes a terrain and its borders are all land they will get infinte terrain anyway (no variation tho like a configged infinite terrain) , the overlap of the rvmat onto this continued land allows for clutter , its very hard unless a complete border of colour _x is defined in the mask to get a nice even infinte tterrain using this method tho.

Share this post


Link to post
Share on other sites
there are " strange areas" on the East and South borders were the _Sat used is already the _satout but the ground texture and clutters are still those of the maps

OldBear is correct...

I finally dragged myself away from other stuff to take a proper look at this...

There seems to be a "border" - to the East and South - it's One "segment" wide - in most cases that's 512 pixels (NOTE - not "meters" - "satmap pixels") wide...

Technically - this border is part of the Legitimate terrain, not Infinite Land...

In this border the basic ground texture seems to be "blurry", though the "dominant ground surface" clutter still shows... As you progress East or South to the edge of this border - the clutter stops! - but the ground texture abruptly switches to being properly displayed again... from there on, the actual genuine infinite land has no clutter...

So I'm afraid it looks like we were chasing ghosts after all...

B

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  

×