Jump to content
Sign in to follow this  
bhcluster

Clutter not showing up

Recommended Posts

Hi All,

 

I have a bit of a problem with clutter not showing on the map, everything else is OK but no clutter. Any help is greatly appreciated.

 

clutter

class Clutter
{
class bih_GrassGreenGroup: DefaultClutter
{
model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d";
affectedByWind = 0.6;
swLighting = "true";
scaleMin = 0.7;
scaleMax = 1.0;
};
};

 

surfaces

class CfgSurfaces
{
    class Default {};

    class bih_grass_green_Surface : Default
    {
         files = "bih_grass_green*";
         rough = 0.1;
         dust = 0.05;
         maxSpeedCoef = 0.8;
         soundEnviron = "grass";
         character = "bih_grass_green_Character";
          soundHit = "soft_ground";
    };

    class bih_concrete_Surface : Default
    {
        files = "concrete*";
        character = "Empty";
        soundEnviron = "concrete";
        soundHit = "concrete";
        rough = 0.05;
        maxSpeedCoef = 1;
        dust = 0.15;
        lucidity = 0.3;
        grassCover = 0.0;
        impact = "hitConcrete";
    };
    class bih_rock_Surface : Default
        {
            files = "bih_concrete*";
            character = "Empty";
            soundEnviron = "concrete";
            soundHit = "concrete";
            rough = 0.05;
            maxSpeedCoef = 1;
            dust = 0.15;
            lucidity = 0.3;
            grassCover = 0.0;
            impact = "hitConcrete";
    };
    class bih_beach_Surface : Default
        {
             files = "bih_beach*";
             rough = 0.09;
             maxSpeedCoef = 0.9;
             dust = 0.5;
             soundEnviron = "dirt";
             character = "Empty";
             soundHit = "soft_ground";
             lucidity = 1;
             grassCover = 0.03;
    };
    class bih_dry_grass_Surface : Default
        {
             files = "bih_dry_grass*";
             rough = 0.09;
             maxSpeedCoef = 0.9;
             dust = 0.5;
             soundEnviron = "dirt";
             character = "Empty";
             soundHit = "soft_ground";
             lucidity = 1;
             grassCover = 0.03;
    };
    class bih_forest_pine_Surface : Default
        {
             files = "bih_forest_pine*";
             rough = 0.09;
             maxSpeedCoef = 0.9;
             dust = 0.5;
             soundEnviron = "dirt";
             character = "Empty";
             soundHit = "soft_ground";
             lucidity = 1;
             grassCover = 0.03;
    };
    class bih_water2_Surface : Default
        {
             files = "bih_water2*";
             rough = 0.09;
             maxSpeedCoef = 0.9;
             dust = 0.5;
             soundEnviron = "dirt";
             character = "Empty";
             soundHit = "soft_ground";
             lucidity = 1;
             grassCover = 0.03;
    };
};

class CfgSurfaceCharacters
{
    class bih_grass_green_Character
      {
            probability[] = {0.92,0.07};
            names[]={"bih_gass_green"};
      };
};

 

layers

class Layers
{
  class bih_grass_green
  {
    texture = #(rgb,1,1,1)color(0.5,0.5,0.5,

1,cdt);
    material = "CLUSTER\ZD1\data\bih_grass_green.rvmat";
  };
  class bih_concrete
    {
      texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
      material = "CLUSTER\ZD1\data\bih_concrete.rvmat";
  };
  class bih_forest_pine
      {
        texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
        material = "CLUSTER\ZD1\data\bih_forest_pine.rvmat";
  };
  class bih_water2
        {
          texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
          material = "CLUSTER\ZD1\data\bih_water2.rvmat";
  };
    class bih_grass_dry
          {
            texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
            material = "CLUSTER\ZD1\data\bih_dry_grass.rvmat";
  };
  class bih_beach
            {
              texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
              material = "CLUSTER\ZD1\data\bih_beach.rvmat";
  };
   class bih_rock
              {
                texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);
                material = "CLUSTER\ZD1\data\bih_rock.rvmat";
  };
};
class Legend
{
  picture="CLUSTER\ZD1\sourcemapLegend.png";
  class Colors
  {
    bih_grass_green[]={{248, 251, 6}};
    bih_concrete[]={{255, 0, 255}};
    bih_water2[]={{0, 0, 0}};
    bih_beach[]={{202, 105, 0}};
    bih_rock[]={{0, 103, 254}};
  };
};

 

 

P.S.

 

I have tried the solutions from the forum but no luck maybe extra pair of eyes will help.

Share this post


Link to post
Share on other sites

Firstly - you have seven ground surfaces defined in cfgSurfaces - and seven matching surface types in layers.cfg - thats good, and correct...

 

But - at the bottom of layers.cfg you only have 5 surface colours specified.... you're missing two - there needs to be 7 in all three of these areas

 

Secondly and more importantly on the clutter front...

 

 

 

material = "CLUSTER\ZD1\data\bih_grass_green.rvmat";

 

Remove all CAPITALS from ALL of these "material=" paths in layers.cfg - lowercase\all\the\way

 

 

B

Share this post


Link to post
Share on other sites

Firstly - you have seven ground surfaces defined in cfgSurfaces - and seven matching surface types in layers.cfg - thats good, and correct...

 

But - at the bottom of layers.cfg you only have 5 surface colours specified.... you're missing two - there needs to be 7 in all three of these areas

 

Secondly and more importantly on the clutter front...

 

 

Remove all CAPITALS from ALL of these "material=" paths in layers.cfg - lowercase\all\the\way

 

 

B

@bushlurker thx for taking interest. I did the changes and I have reduced all of these to 5 just to get something on the map but unfortunately still nothing. Can you please check these re-edited once just to see that  I have did them correctly.

 

Clutter

class Clutter

{

class bih_GrassGreenGroup: DefaultClutter

   {

    model = "A3\plants_f\Clutter\c_StrGrassGreen_group.p3d";

    affectedByWind = 0.6;

    swLighting = "true";

    scaleMin = 0.7;

    scaleMax = 1.0;

   };

 };

 

Surfaces

class CfgSurfaces

{

    class Default {};

    class bih_grass_green_Surface : Default

    {

         files = "bih_grass_green*";

         rough = 0.1;

         dust = 0.05;

         maxSpeedCoef = 0.8;

         soundEnviron = "grass";

         character = "bih_grass_green_Character";

          soundHit = "soft_ground";

    };

    class bih_concrete_Surface : Default

    {

        files = "concrete*";

        character = "Empty";

        soundEnviron = "concrete";

        soundHit = "concrete";

        rough = 0.05;

        maxSpeedCoef = 1;

        dust = 0.15;

        lucidity = 0.3;

        grassCover = 0.0;

        impact = "hitConcrete";

    };

    class bih_rock_Surface : Default

        {

            files = "bih_concrete*";

            character = "Empty";

            soundEnviron = "concrete";

            soundHit = "concrete";

            rough = 0.05;

            maxSpeedCoef = 1;

            dust = 0.15;

            lucidity = 0.3;

            grassCover = 0.0;

            impact = "hitConcrete";

    };

    class bih_beach_Surface : Default

        {

             files = "bih_beach*";

             rough = 0.09;

             maxSpeedCoef = 0.9;

             dust = 0.5;

             soundEnviron = "dirt";

             character = "Empty";

             soundHit = "soft_ground";

             lucidity = 1;

             grassCover = 0.03;

    };

    class bih_water2_Surface : Default

        {

             files = "bih_water2*";

             rough = 0.09;

             maxSpeedCoef = 0.9;

             dust = 0.5;

             soundEnviron = "dirt";

             character = "Empty";

             soundHit = "soft_ground";

             lucidity = 1;

             grassCover = 0.03;

    };

};

class CfgSurfaceCharacters

{

    class bih_grass_green_Character

      {

            probability[] = {0.92,0.07};

            names[]={"bih_gass_green"};

      };

};

 

Layers

class Layers

{

  class bih_grass_green

  {

    texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);

    material = "cluster\zd1\data\bih_grass_green.rvmat";

  };

  class bih_concrete

    {

      texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);

      material = "cluster\zd1\data\bih_concrete.rvmat";

  };

  class bih_water2

        {

          texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);

          material = "cluster\zd1\data\bih_water2.rvmat";

  };

  class bih_beach

            {

              texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);

              material = "cluster\zd1\data\bih_beach.rvmat";

  };

   class bih_rock

              {

                texture = #(rgb,1,1,1)color(0.5,0.5,0.5,1,cdt);

                material = "cluster\zd1\data\bih_rock.rvmat";

  };

};

class Legend

{

  picture="cluster\zd1\sourcemapLegend.png";

  class Colors

  {

    bih_grass_green[]={{248, 251, 6}};

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

    bih_water2[]={{0, 0, 0}};

    bih_beach[]={{202, 105, 0}};

    bih_rock[]={{0, 103, 254}};

  };

};

Share this post


Link to post
Share on other sites

Hi again...

 

Well done! That all looks much neater!

 

Lets look at all three of your files in turn and see what we can spot...

 

Firstly - cfgClutter...

This is great - you've got one clutter item correctly defined and it's classname is "bih_GrassGreenGroup" - you'll need to remember that name later when you want to call on this model as part of a "surface Character" or "ClutterMix"

 

On to cfgSurfaces...

 

The top "surfaces section" is fine. Adding that "_Surface" suffix to the end of the classname is a great idea - it labels the class clearly as a surface definition and it allows you to use the same name - without the "_Surface" part - in your layers.cfg classes. That makes it easy to check you're being consistent in both files.

In one of your classes you've correctly referenced a "surface character", or "clutterMix" - character = "bih_grass_green_Character";and down below in the Surface Characters section is where that cluttermix should be defined... It's there, where it should be, and it's mostly OK, but lets take a closer look at it...

 

class CfgSurfaceCharacters
{
    class bih_grass_green_Character
      {
            probability[] = {0.92,0.07};
            names[]={"bih_gass_green"};
      };
};

 

 

The classname is fine - it corresponds to the definition you made above, so this is the surface character definition which wil be used for that surface... but...

 

in the "probability=" line there's TWO numbers - there should be one number here for each clutter item named below, and since you only have one item named below, there should only be one number... maximum of 0.99...

 

Worse still is the item mentioned in the "names=~" section... each name in here should be the classname of one of your cfgClutter definitions... you can have as many different clutter items piled on to a surface as you want, separated by commas, with each having a "percentage" specified by the probability number above, but the "name" MUST be one of the previously defined cfgClutter classnames... You've got your only clutter item defined as "bih_GrassGreenGroup", so that's the name which has to go here.

 

Finally - Layers.cfg

 

This also looks fine - 5 texture types specified - the paths to the materials in lowercase - great... Sometimes lowercase in a path doesn't matter, sometimes it definitely does, like here in Layers.cfg, so I usually try to make a habit of always using lowercase in all paths everywhere - even if the folders themselves actually have names with caps, the paths will still work, and that way you never get caught out...

 

picture="cluster\zd1\sourcemapLegend.png";

 

There's a "\" missing from this path.... ;)

 

Otherwise, Layers.cfg looks fine...

 

Tweak those few problems and give things another go - regenerate layers, re-export .wrp and repack - get it in game and see if you have grass...

 

 

B

Share this post


Link to post
Share on other sites

Hello :) Thank you for this thread xD Just one additional question, can i use more than 5 textures for my layers? I think(it might be just my tired brain playing tricks on me) i heard in tutorial that i cant/shouldnt use more than 5.

Share this post


Link to post
Share on other sites

If you choose to use a "Normals Layer" along with your Satellite and Mask layers, then that "uses up a texture slot in the pixelshader", and you can only have 5 colours at once. If you don't bother with a Normals layer - and a lot of people don't - then you can have up to 6 colours.

 

A "Normals Layer" is relatively new tech - they didn't exist in Arma 2 maps, and the tech is borrowed from the Take On Helicopters series... It's perhaps best thought of as a way of adding some additional overall detail to your satellite imagery layer at longer ranges and is probably best suited to larger, aircraft-orientated maps (Like Take On Helicopters ones, in fact ;) ), for smaller mixed-use maps, most terrain guys prefer to have that extra sixth ground surface capability instead, and skip the normals layer.

 

So, in practise, you decide whether you're going to use a Normals layer or not, and, in the Mapframe Properties Processing tab, when you go to generate your layers, either check the "5 colours plus normals" box, or the "six colours" box as appropriate...

 

 

B

  • Like 1

Share this post


Link to post
Share on other sites

Big thanks man! Im locked on with normals version, i had problems to work with version without xD Thanks for clearing that up and very fast response!!

Share this post


Link to post
Share on other sites

Hi again...

 

Well done! That all looks much neater!

 

Lets look at all three of your files in turn and see what we can spot...

 

Firstly - cfgClutter...

This is great - you've got one clutter item correctly defined and it's classname is "bih_GrassGreenGroup" - you'll need to remember that name later when you want to call on this model as part of a "surface Character" or "ClutterMix"

 

On to cfgSurfaces...

 

The top "surfaces section" is fine. Adding that "_Surface" suffix to the end of the classname is a great idea - it labels the class clearly as a surface definition and it allows you to use the same name - without the "_Surface" part - in your layers.cfg classes. That makes it easy to check you're being consistent in both files.

In one of your classes you've correctly referenced a "surface character", or "clutterMix" - character = "bih_grass_green_Character";and down below in the Surface Characters section is where that cluttermix should be defined... It's there, where it should be, and it's mostly OK, but lets take a closer look at it...

 

class CfgSurfaceCharacters

{

    class bih_grass_green_Character

      {

            probability[] = {0.92,0.07};

            names[]={"bih_gass_green"};

      };

};

 

 

The classname is fine - it corresponds to the definition you made above, so this is the surface character definition which wil be used for that surface... but...

 

in the "probability=" line there's TWO numbers - there should be one number here for each clutter item named below, and since you only have one item named below, there should only be one number... maximum of 0.99...

 

Worse still is the item mentioned in the "names=~" section... each name in here should be the classname of one of your cfgClutter definitions... you can have as many different clutter items piled on to a surface as you want, separated by commas, with each having a "percentage" specified by the probability number above, but the "name" MUST be one of the previously defined cfgClutter classnames... You've got your only clutter item defined as "bih_GrassGreenGroup", so that's the name which has to go here.

 

Finally - Layers.cfg

 

This also looks fine - 5 texture types specified - the paths to the materials in lowercase - great... Sometimes lowercase in a path doesn't matter, sometimes it definitely does, like here in Layers.cfg, so I usually try to make a habit of always using lowercase in all paths everywhere - even if the folders themselves actually have names with caps, the paths will still work, and that way you never get caught out...

 

picture="cluster\zd1\sourcemapLegend.png";

 

There's a "\" missing from this path.... ;)

 

Otherwise, Layers.cfg looks fine...

 

Tweak those few problems and give things another go - regenerate layers, re-export .wrp and repack - get it in game and see if you have grass...

 

 

B

@bushlurker that worked perfectly. Thank you so much. Here are few screenshots.

 

http://i.imgur.com/Nmyt34Q.jpg

http://i.imgur.com/vDuJKKW.jpg

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  

×