jens198
-
Content Count
331 -
Joined
-
Last visited
-
Medals
Posts posted by jens198
-
-
Hi guys,
some images from my Ft. Benning / Malone Rifle Ranges map.
Jens
-
Hi guys,
the Ft. Benning is entering it's final stage. All firing ranges are completed. The only major thing left, is a small Mout training area in the south.
I tried to make my own buildings ( i suck woth O2) and tried to retexure the sample BIS buidlings (sucked too). So my simple questions is: does anyone know if there are some kind of MOUT buildings out there (made by some other mod)?
I have something in mind that is a) enterable and b)looking like MOUT, but I will take anything that is suitablefor a decent MOUT area.
Any hints and help welcome.
Jens
-
I remember the OFP-pictures of your Luchs on the old BW-Mod boards some years ago. I presume this a new model? Looks great. I used to be a forward driver on the Luchs back in the 80s. Really looking forward to this boy...
Jens
-
If I remember correctly, you could fly through your own (Sim City)-cities.
Jens
-
Does anybody knows of any tutorial regarding clutters or would like to share some ideas and infos on that? Its a great feature, very helpful but somewhat hard to work with.cheers
http://tactical.nekromantix.com/tactical/wiki/doku.php?id=arma:terrain:ground_clutter
Jens
-
As far as I know, there is no way to preview your clutter in buldolzer itself. You have to pack your complete map with config.cpp (including the clutter settings and values), load the map in ArmA and check your clutter ingame.
Jens
BTW: nice looking map!
-
And V2 dont use buldozer?:confused:As far as I know, "buldozer" is basicly either the ofp.exe, arma.exe or arma2.exe, depending on what you use.
Jens
-
jens198:
-
Ft. Benning - US Army Infantry School
Represents the Malone Rifle Ranges. Forest, Roads, Buildings completed.
Recently I started a custom building set for the local MOUT area. -
Ft. Irwin - US Army National Training Center (NTC)
Basics of map complete. Awaits road network, several MOUT sites. -
Ft. Knox - US Army Armor School
Basics of map complete. Currently not in work.
-
Ft. Benning - US Army Infantry School
-
Hi guys,
I#m trying to follow Mondkalbs' steps through this (nicley done tutorial). I'm currently stuck with the UV-map chapter.
According to MK tutorial (Step 4), I should "hit the „Simple Unwrap“-Button () and it'll look like this:"
But instead I get something like this:
I'm pretty sure I mixed something up while selecting the correct faces in the preceding step.
@Mondkalb: Can you describe it a little bit more in detail which faces/vertices must be selected to get the same results as in you tutorial pictures. A little bit of background information what we are exactly doing here would also be very much appriciated.Switch back to O2, again... select using the „Vertice-Selection tool“ in your „Top“-view the upper side of the whole Doorframe (Excluding the door!). Now switch to the „Touch Faces modus“ (). Select the other side of your wallsegment (You've already selected the back of it, now the front has to be selected) while holding the "Ctrl"-key in the "3D"-View. If everything went well, it shoud look in the "Top"-view like this:Thanks a lot in advance,
Jens
-
Hi folks,
I have two types of road networks on my map. One with asf1*.p3d and the other one with asf3*.p3d.
Every now and then I have this really annoying problem:
I place a single terminator on the map and finish the four step wizard till I can see the terminator on the map. Under normal circumstances I can click on the terminator again to add new pieces or import a road network. But there's my problem. No matter what I try to do, I can't get the terminator selected again. Every time I click on this piece the wizard that starts new roadnetworks comes up instead of the "addnewpieceswizard".
Anyone seen this?
Jens
-
Well, this time it wasn't the configs but my personal stupidity.
Somehow the destination path in binPBO pointed to g:\arma2\addons and not to g:\arma2\@test\addons. That way I alway packed my new map in the regular arma2 addons directory while an old version of the map (with only one clutter) sit still in the @test-folder.
And when I noticed that the island won't binarize correctly if I use OA-clutter (just like IceBreakr did).
Oh well sometimes map-making for ArmA can be a painful experience...
Jens
-
Hi guys,
once more, a problem with my clutter *sigh*.
Currently I only got one clutter working: "j198_ntc_lgreenClutter"
The lgreenClutter covers the whole map and it makes no difference what I define in the CfgSurfaceCharacters class, every time, the map is completly covered with the lgreenClutter.
I already double and tripple checked the RGB values of the mask_lco.png with the values in the layers.cfg. Everything is fine.
I'm so desperate ... :confused:
Any help appreciated.
Jens
P.S. I updated my first post with the actual cfg.files.
-
Thanks Beton. Seems like you were right. After your hint I rewrote my configs from scratch, found some other bugs as well and now I got my clutter. Thanks guys!
Jens
-
Thanks for your reply Bushlurker, but no joy so far. I have another map with basically the same configs (other texture files) and got clutter as far as I can see. :(
Jens
-
Hi folks,
I'm updating one of my long time projects with textures from OA. Recently all the island's clutter worked without any problems. After I reworked my config files I don't get any clutter ingame. Maybe someone can take a look at my files. The simplification I only configured a single clutter "SAND" with two p3d-files on it "deadGrassBunch, GrassAutumnBrown".
BTW, the new OA textures show up fine ingame.
Jens
layers.cfg
class Layers { class j198_ntc_dgreen { texture="j198\j198_ntc\Data\j198_ntc_dgreen_tk_trava_mco.paa"; material="j198\j198_ntc\Data\j198_ntc_dgreen_tk_trava.rvmat"; }; class j198_ntc_lgreen { texture="j198\j198_ntc\Data\j198_ntc_lgreen_tk_hlina_mco.paa"; material="j198\j198_ntc\Data\j198_ntc_lgreen_tk_hlina.rvmat"; }; class j198_ntc_lbrown { texture="j198\j198_ntc\Data\j198_ntc_lbrown_tk_valouny_mco.paa"; material="j198\j198_ntc\Data\j198_ntc_lbrown_tk_valouny.rvmat"; }; class j198_ntc_white { texture="j198\j198_ntc\Data\j198_ntc_white_tk_polopoust_mco.paa"; material="j198\j198_ntc\Data\j198_ntc_white_tk_polopoust.rvmat"; }; }; class Legend { picture="j198\j198_ntc\source\mapLegend.png"; class Colors { j198_ntc_dgreen[]={{88,107,103}}; j198_ntc_lgreen[]={{153,174,154}}; j198_ntc_white[]={{232,237,231}}; j198_ntc_lbrown[]={{208,204,167}}; }; }; satelliteMap="sat_lco.png"; layerMask="mask_lco.png"; rvmatBinary=true;
cfgSurfaces.hpp
class CfgSurfaces { class Default {}; class j198_ntc_whiteSurface : Default { files = "j198_ntc_white_*"; rough = 0.1; dust = 0.1; soundEnviron = "sand"; character = "j198_ntc_whiteClutter"; }; class j198_ntc_lgreenSurface : Default { files = "j198_ntc_lgreen_*"; rough = 0.1; dust = 0.8; soundEnviron = "sand"; character = "j198_ntc_lgreenClutter"; }; class j198_ntc_dgreenSurface : Default { files = "j198_ntc_dgreen_*"; rough = 0.2; dust = 0.3; soundEnviron = "sand"; character = "j198_ntc_dgreenClutter"; }; class j198_ntc_lbrownSurface : Default { files = "j198_ntc_lbrown_*"; rough = 0.1; dust = 0.1; soundEnviron = "sand"; character = "j198_ntc_lbrownClutter"; }; }; class CfgSurfaceCharacters { class j198_ntc_whiteClutter { probability[]={}; names[]={}; }; class j198_ntc_lgreenClutter { probability[]={0.5}; names[]={"j198_ntc_PlantsViolet"}; }; class j198_ntc_dgreenClutter { probability[]={}; names[]={}; }; class j198_ntc_lbrownClutter { probability[]={}; names[]={}; }; }; // probability[]={0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.02, 0.002}; // names[]={"j198_ntc_GrassDry", "j198_ntc_GrassDryLong", "j198_ntc_GrassGreen", "j198_ntc_GrassGreenLong", "j198_ntc_BrushHard", "j198_ntc_BrushSoft", "j198_ntc_Weed1", "j198_ntc_WeedThistle", "j198_ntc_prunus"};
cfgClutter.hpp
class j198_ntc_GrassDry: DefaultClutter { model = "ca\plants_E\Clutter\c_GrassDesert_GroupSoft_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_GrassDryLong: DefaultClutter { model = "ca\plants_E\Clutter\c_GrassDryLong_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_GrassGreen: DefaultClutter { model = "ca\plants_E\Clutter\c_GrassGreen_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_GrassGreenLong: DefaultClutter { model = "ca\plants_E\Clutter\c_GrassGreenLong_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_BrushHard: DefaultClutter { model = "ca\plants_E\Clutter\c_Brush_Hard_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_BrushSoft: DefaultClutter { model = "ca\plants_E\Clutter\c_Brush_Soft_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_PlantsViolet: DefaultClutter { model = "ca\plants_E\Clutter\c_Plants_Violet_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_PlantsWhite: DefaultClutter { model = "ca\plants_E\Clutter\c_Plants_White_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_Weed1: DefaultClutter { model = "ca\plants_E\Clutter\c_Weed_1_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_WeedThistle: DefaultClutter { model = "ca\plants_E\Clutter\c_Weed_Thistle_EP1.p3d"; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.5; }; class j198_ntc_prunus: DefaultClutter { model=ca\plants2\bush\b_prunus.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.8; scaleMax = 1.6; }; class j198_ntc_canina2s: DefaultClutter { model=ca\plants2\bush\b_canina2s.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.3; scaleMax = 0.7; }; class j198_ntc_craet1: DefaultClutter { model=ca\plants2\bush\b_craet1.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.2; scaleMax = 0.5; }; class j198_ntc_betulaHumilis: DefaultClutter { model=ca\plants2\bush\b_betulaHumilis.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.2; scaleMax = 0.8; }; class j198_ntc_salix2s: DefaultClutter { model=ca\plants2\bush\b_salix2s.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.2; scaleMax = 0.9; }; // //
config.cpp
class CfgPatches { class j198_ntc { units[] = {j198_ntc}; weapons[] = {}; requiredVersion = 1.03; requiredAddons[] = {"Utes"}; version = "2010-05-28"; fileName = "j198_ntc.pbo"; author = "j198"; mail = "j198@googlemail.com"; }; }; class CfgWorlds { class CAWorld; class Utes: CAWorld { class Grid; //clutterDist = 400; //clutterGrid = 1.25; noDetailDist = 40; fullDetailDist = 15; class DefaultClutter { // scaleMin = 0.9; // scaleMax = 1.4; }; }; class j198_ntc: Utes { description = "Ft. Irwin - US Army National Training Center (NTC)"; worldName= "\j198\j198_ntc\j198_ntc.wrp"; pictureShot = "\j198\j198_ntc\data\j198_ntc_Picture_ca.paa"; centerPosition[] = {2720,2462,500}; seagullPos[] = {2720,2462,500}; longitude = 30; // positive is east, in degrees? latitude = -45; // positive is south, in degrees? drawTaxiway=false; // startTime = 10:30; // startDate = 01/05/1985; // startWeather = 0.1; // startFog = 0.0; // forecastWeather = 0.3; // forecastFog = 0.0; class Clutter { #include "cfgClutter.hpp" }; class Names { //#include "j198_ntc.hpp" }; }; }; class CfgWorldList { class j198_ntc {}; }; class CfgMissions { class Cutscenes { class j198_ntcIntro { directory = "j198\j198_ntc\data\scenes\Intro.j198_ntc"; }; }; }; #include "cfgSurfaces.hpp"
-
Crap, I got the newest patch (1.52), the newest version of CBA, ACE, ACEX, ACE_SM, Combined Ops and I can't play it, because when I launch the game .exe, it loads up and then shows "Include file"x\cba\addons\main\script_macros_common.hpp not found" What the hell?I used the Combined Ops pack from the SIX updater. No other mods.
I got the same message when I forgot to include the CBA folder in my shortcut.
Jens
-
What's the map size (km x km)? What's the sat_lco.png file size?
Jens
BTW: Nice to see you make some progress :o
-
everything shows in buldozer,i save it , bin it ,thats all fine, but when i put the pbo in addons . then i load game ,the map shows up ,when i go in to game arma crashes ...........help lolPlease comment out these lines and try it again
clutterDist=200; noDetailDist=40; fullDetailDist=15;
If I set a clutterDist > 60 all my maps crash while loading ingame.
Jens
-
Can you post your files here on the forum?
Jens
-
thanks for that, but is there one with middle textures in the cofigs ?:)every time i load my game with my map, i get this error saying .........ca\plants\clutter_grass_grass_general.p3d; needed ,any idea, ive looked in plants 2 and there is no sign of this p3d.
OK, sorry.
I took my actual config.cpp and renamed my project folder and map name inside the file accordingly. You might give them a try. For me, they work fine. I excluded the configuration of the clutter into two extra files.
CONFIG.CPP
class CfgPatches { class YOUR_ISLAND { units[] = {YOUR_ISLAND}; weapons[] = {}; requiredVersion = 1.03; requiredAddons[] = {"Utes"}; version = "2010-05-28"; fileName = "YOUR_ISLAND.pbo"; author = "YOUR_PROJECT_FOLDER"; mail = "YOUR_PROJECT_FOLDER@googlemail.com"; }; }; class CfgWorlds { class CAWorld; class Utes: CAWorld { class Grid; //clutterDist = 100; class DefaultClutter { // scaleMin = 0.9; // scaleMax = 1.4; }; }; class YOUR_ISLAND: Utes { description = "YOUR ISLAND"; worldName= "\YOUR_PROJECT_FOLDER\YOUR_ISLAND\YOUR_ISLAND.wrp"; pictureShot = "\YOUR_PROJECT_FOLDER\YOUR_ISLAND\data\SM_Picture_ca.paa"; centerPosition[] = {2720,2462,500}; seagullPos[] = {2720,2462,500}; longitude = 30; // positive is east, in degrees? latitude = -45; // positive is south, in degrees? drawTaxiway=false; // startTime = 10:30; // startDate = 01/05/1985; // startWeather = 0.1; // startFog = 0.0; // forecastWeather = 0.3; // forecastFog = 0.0; class Clutter { #include "cfgClutter.hpp" }; class Names { #include "YOUR_ISLAND.hpp" }; }; }; class CfgWorldList { class YOUR_ISLAND {}; }; class CfgMissions { class Cutscenes { class YOUR_ISLANDIntro { directory = "YOUR_PROJECT_FOLDER\YOUR_ISLAND\data\scenes\Intro.YOUR_ISLAND"; }; }; }; #include "cfgSurfaces.hpp"
CFGSURFACES.HPP
class CfgSurfaces { class Default {}; class SMgrassSurface : Default { files = "sm_grass_*"; rough = 0.1; dust = 0.1; soundEnviron = "grass"; character = "sm_grassClutter"; }; class SMsandSurface : Default { files = "sm_sand_*"; rough = 0.5; dust = 0.8; soundEnviron = "gravel"; character = "sm_sandClutter"; }; class SMforestSurface : Default { files = "sm_forest_*"; rough = 0.1; dust = 0.1; soundEnviron = "grass"; character = "sm_forestClutter"; }; class SMgravelSurface : Default { files = "sm_gravel_*"; rough = 0.1; dust = 0.1; soundEnviron = "grass"; character = "sm_gravelClutter"; }; }; class CfgSurfaceCharacters { class sm_grassClutter { probability[]={0.9,0.8}; names[]={sm_GrassCrookedForest,sm_grasscrookedgreen}; }; class sm_sandClutter { probability[]={}; names[]={}; }; class sm_forestClutter { probability[]={0.2}; names[]={ForestFern}; }; class sm_gravelClutter { probability[]={}; names[]={}; }; };
CFGCLUTTER.HPP
class sm_AutumnFlowers: DefaultClutter { model=ca\plants2\clutter\c_autumn_flowers.p3d; affectedByWind = 0.4; swLighting = true; scaleMin = 0.7; scaleMax = 1.0; }; class sm_GrassCrooked: DefaultClutter { model=ca\plants2\clutter\c_GrassCrooked.p3d; affectedByWind = 0.3; swLighting = true; scaleMin = 0.3; scaleMax = 0.7; }; class sm_GrassCrookedGreen: DefaultClutter { model=ca\plants2\clutter\c_GrassCrookedGreen.p3d; affectedByWind = 0.3; swLighting = true; scaleMin = 0.3; scaleMax = 0.6; }; class sm_WeedDead: DefaultClutter { model=ca\plants2\clutter\c_WeedDead.p3d; affectedByWind = 0.3; swLighting = true; scaleMin = 0.75; scaleMax = 1.1; }; class ForestFern: DefaultClutter { model=ca\plants2\clutter\c_fern.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.1; }; class GrassDryLong: DefaultClutter { model=ca\plants2\clutter\c_GrassDryLong.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.1; }; class Picea: DefaultClutter { model=ca\plants2\clutter\c_picea.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.1; }; class GrassTall: DefaultClutter { model=ca\plants2\clutter\c_GrassTall.p3d; affectedByWind = 0.1; swLighting = true; scaleMin = 0.6; scaleMax = 1.1; };
-
config.cpp of the BIS sample map.
#define TEast 0 #define TWest 1 #define TGuerrila 2 #define TCivilian 3 #define TSideUnknown 4 #define true 1 #define false 0 // type scope #define private 0 #define protected 1 #define public 2 #define ReadAndWrite 0 //! any modifications enabled #define ReadAndCreate 1 //! only adding new class members is allowed #define ReadOnly 2 //! no modifications enabled #define ReadOnlyVerified 3 //! no modifications enabled, CRC test applied class CfgPatches { class SampleMap { units[] = {SampleMap}; weapons[] = {}; requiredVersion = 0.10; requiredAddons[] = {CAData,CABuildings,CAMisc,CAPlants,CARoads,CARocks}; }; }; class DefaultLighting; class DefaultLighting_CA : DefaultLighting {}; class CfgWorlds { class DefaultClutter { scaleMin = 0.9; scaleMax = 1.4; }; class DefaultWorld; class CAWorld : DefaultWorld { class Grid {}; }; class SampleMap: CAWorld { access = ReadOnlyVerified; worldId=3; cutscenes[] = {SampleMapIntro1}; description = "Sample Rahmadi Map"; icon=""; worldName=\ca\SampleMap\SampleMap.wrp; pictureMap = ""; pictureShot = ""; plateFormat="ML$ - #####"; plateLetters="ABCDEGHIKLMNOPRSTVXZ"; longitude = -40; // positive is east latitude = -40; // positive is south // landRange is stored directly in WRP file class Grid : Grid { offsetX = 0; offsetY = -15360; class Zoom1 { zoomMax = 0.5; format = "XY"; formatX = "Aa"; formatY = "00"; stepX = 200; stepY = 200; }; class Zoom2 { zoomMax = 1e30; format = "XY"; formatX = "A"; formatY = "0"; stepX = 2000; stepY = 2000; }; }; startTime = 8:30; startDate = 01/05/1985; startWeather = 0.1; startFog = 0.0; forecastWeather = 0.3; forecastFog = 0.0; seagullPos[] = {1272.842,150.000,14034.962}; //default center position centerPosition[] = {2500,2500,300}; // landing place - airport ilsPosition[] ={2545,3000}; ilsDirection[] ={0,0.08,1}; ilsTaxiIn[]= {2495,2725, 2495,2850, 2508,2860, 2508,3000, 2520,3010, 2545,3000}; ilsTaxiOff[]= {2545,2445,2520,2425,2495,2445,2495,2725}; drawTaxiway=false; class ReplaceObjects {}; // sound sources class Sounds { sounds[]={}; }; class Animation { vehicles[]={}; }; // default - no film class Lighting : DefaultLighting {}; clutterGrid = 1.11;//pred demem to bylo 1.5 /// how far clutters are visible clutterDist = 55; noDetailDist = 40; /// where ground detail texture is fully visible (begin fading out) fullDetailDist = 5; minTreesInForestSquare = 3; minRocksInRockSquare = 4; class clutter { class GrassGeneral: DefaultClutter { model=ca\plants\clutter_grass_general.p3d; affectedByWind = 0.3; swLighting = true; //relativeColor[]={0.8,0.8,0.8,0}; //colorByGround=0.9; scaleMin = 0.75; scaleMax = 1.0; }; class GrassFlowers: GrassGeneral { model=ca\plants\clutter_grass_flowers.p3d; }; class GrassLong: GrassGeneral { model=ca\plants\clutter_grass_long.p3d; affectedByWind = 0.6; scaleMin = 0.60; scaleMax = 1.10; }; class GrassSevenbeauty: GrassGeneral { model=ca\plants\clutter_grass_sevenbaeuty.p3d; affectedByWind = 0.2; scaleMin = 0.70; scaleMax = 1.10; }; class GrassYellow: GrassGeneral { model=ca\plants\clutter_grass_yellow.p3d; affectedByWind = 0.2; scaleMin = 0.70; scaleMax = 1.10; }; class GrassDesert: GrassGeneral { model=ca\plants\clutter_grass_desert.p3d; }; class ForestFern: GrassGeneral { model=ca\plants\clutter_forest_fern.p3d; affectedByWind = 0.1; scaleMin = 0.90; scaleMax = 1.10; }; class SmallRocks: GrassGeneral { model=ca\rocks\clutter_stone_small.p3d; affectedByWind = 0; scaleMin = 0.90; scaleMax = 1.10; }; class FlowersColor: GrassGeneral { model=ca\plants\clutter_smetanka.p3d; }; class FlowersWhite: GrassGeneral { model=ca\plants\clutter_white_flower.p3d; }; class MushroomsHorcak: GrassGeneral { model=ca\plants\clutter_horcak.p3d; affectedByWind = 0; scaleMin = 0.85; scaleMax = 1.25; }; class MushroomsPrasivka: MushroomsHorcak { model=ca\plants\clutter_prasivky.p3d; }; class MushroomsBabka: MushroomsHorcak { model=ca\plants\clutter_babka.p3d; }; class MushroomsMuchomurka: MushroomsHorcak { model=ca\plants\clutter_muchomurka.p3d; }; }; class Subdivision { // fractal component of subdivision // changes are smaller for smaller rectangles class Fractal { // texture roughness factor rougness = 5; // max. value for squares containing road maxRoad = 0.02; // max. value for squares containing track maxTrack = 0.50; // max. coeficient depending on slope maxSlopeFactor = 0.05; }; // white noise component of subdivision // change size is independent on rectangle size class WhiteNoise { rougness = 2; // max. value for squares containing road maxRoad = 0.01; // max. value for squares containing track maxTrack = 0.05; // max. coeficient depending on slope maxSlopeFactor = 0.0025; }; // do not divide surfaces that are under given limit minY = -0.0; // do not divide flat surfaces minSlope = 0.02; }; class Ambient { /* Layer cost and species probability use expressions. Variables which can be used inside of expressions: rain: rain intensity. night: 1 during night, 0 during day. hills: 0 at 150 ASL, 1 at 400 ASL. windy: 0 at 0 m/s, 1 at 20 m/s. trees: tree density. sea: distance to sea. houses: house density. meadow: meadow character. forest: 1 in the forest. Any values are continuous/interpolated in the range of 0 to 1. Values they are independent unless notes otherwise (meaning meadow and forest can be 1 at the same time). You can observe these values in real-time using: diag_toggle "ambient" */ class BigBirds { //Container radius: //Species are normally spawned at the edges of the circle defined by this radius. //One exception to this is the initial start of the simulation, where the whole //circle will be filled. radius = 300; //Points allowed for this container: //Xbox: 1 * (1 - night) * (1 - sea) cost = "((1 + forest + trees) - ((2 * rain)) - houses) * (1 - night) * (1 - sea)"; //Classname in Species corresponds to type name: class Species { class Hawk { probability = 0.2; cost = 1; }; }; }; class Birds { radius = 170; //Xbox: (1 - night) * (2 + 8 * sea) cost = "(1 - night) * ((1 + (3 * sea)) - (2 * rain))"; class Species { class Seagull { probability = 0.2; cost = 1; }; }; }; class BigInsects { radius = 20; //Xbox: 1 * (1 - night) * (1 - rain) * (1 - sea) 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; }; }; }; //The wind is blowing various particles around: class WindClutter { radius = 10; //Xbox: (10 - 5 * rain) * (1 - sea) * (windy factor [0.2, 0.5]) cost = "((20 - 5 * rain) * (3 * (windy factor [0.2, 0.5]))) * (1 - sea)"; class Species { class FxWindGrass1 //Dark green grass. { probability = "0.4 - 0.2 * hills - 0.2 * trees"; cost = 1; }; class FxWindGrass2 //Dry grass. { probability = "0.4 - 0.2 * hills - 0.2 * trees"; cost = 1; }; class FxWindRock1 //Dust. { probability="0.4 * hills"; cost = 1; }; class FxWindLeaf1 //Green leaf. { probability = "0.2 * trees"; cost = 1; }; class FxWindLeaf2 //Dry leaf. { probability = "0.1 * trees + 0.2"; cost = 1; }; class FxWindLeaf3 //Green leaf with a dry spot. { probability = "0.1 * trees"; cost = 1; }; }; }; class NoWindClutter { //Xbox: 10 radius = 15; //Xbox: 1 * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses) * (1 - (windy factor [0.1, 0.2])) cost = "(20 * (windy factor [0.1, 0.2])) * meadow * (1 - rain) * (1 - sea) * (1 - forest) * (1 - houses)"; class Species { class FxWindPollen1 { probability = 1; cost = 1; }; }; }; class SmallInsects { radius = 3; //Xbox: (9 - 5 * hills) * (1 - night) * (1 - rain) * (1 - sea) * (1 - windy) 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 Names { #include "SampleMap.hpp" }; }; }; class CfgWorldList { class SampleMap {}; }; class CfgMissions { class Cutscenes { class SampleMapIntro1 { directory = "ca\SampleMap\data\scenes\intro.SampleMap"; }; }; };
Another good place to start is the map tutorial here http://community.bistudio.com/wiki/ArmA_2_Terrain_Tutorial
It has a Tutorial map as well: Config.cpp here:
class CfgPatches { class TUT_SampleMap { units[] = {TUT_SampleMap}; weapons[] = {}; requiredVersion = 1.03; requiredAddons[] = {"Utes"}; version = "2009-9-1"; fileName = "TUT_SampleMap.pbo"; author = "SgtAce"; mail = "Sgt.Ace@web.de"; }; }; class CfgWorlds { class CAWorld; class Utes: CAWorld { class Grid; class DefaultClutter; }; class TUT_SampleMap: Utes { description = "Tutorial Sample Map"; worldName= "\TUT\TUT_SampleMap\TUT_SampleMap.wrp"; pictureShot = "\TUT\TUT_SampleMap\data\SM_Picture_ca.paa"; centerPosition[] = {2720,2462,500}; seagullPos[] = {2720,2462,500}; longitude = 30; // positive is east, in degrees? latitude = -45; // positive is south, in degrees? class Clutter { #include "cfgClutter.hpp" }; class Names { #include "TUT_SampleMap.hpp" }; }; }; class CfgWorldList { class TUT_SampleMap {}; }; class CfgMissions { class Cutscenes { class TUT_SampleMapIntro { directory = "TUT\TUT_SampleMap\data\scenes\Intro.TUT_SampleMap"; }; }; }; //SURFACES #include "cfgSurfaces.hpp"
Let me know if you have any problems
Jens
-
"ISAF - apparently you are not allowed to use this addon in Takistan!!! (thx to TeRp for advice!)"Why not?
"The International Security Assistance Force (ISAF) is a NATO-led security mission in Afghanistan" (Wikipedia)Afghanistan! Not Takistan! :p
Jens
-
Great :)I wonder how performance goes with 1.6 millions trees on a single map.
In case you have placed too much trees you can reduce them by acting on maximum objects per pixel and placement probability on single colors.
did you have an ingame screenshot of your results? will be very interesting!
Well, performance is not a problem. I run ArmA2 on a QuadCore, GeForce 8800GT , Win7 and 4GB RAM. Viewdistance is 3700m. No stutter or anything.
Jens
-
Ok, here I used the forest generator on a larger map (10km x 10km). I used a sat image from Google earth (reduced the number of colors down to 4) as mask-image for the generator. The area I choose has a lot of trees, so in the end Worldtool generated 1.6 mio single trees (wow).
I had some problems importing the exp file in a single process. Importing files with more than 200.000 objects in a single row always crashed V3.
So I split the file up into single files with about 200.000 trees each. That worked pretty good.
Well, it took me about two hours for the whole process. The result is simply stunning.
It would've taken me weeks to place this amount of objects by hand (basically impossible).
Thanks for this great tool!!
Jens
ArmA X: Anniversary Edition
in ARMA 2 & OA - GENERAL
Posted
Can anyone already give us some details on the bonus content?
Thanks!
Jens