Jump to content

WrinkleysRule

Wrinkley
  • Posts

    242
  • Joined

  • Last visited

  • Days Won

    55

Everything posted by WrinkleysRule

  1. You can try this original Easy Fence script from Modeleicher, link to video tutorials are in the script at the top. Unzip and place in C:\Users\YOUR COMPUTer NAME\AppData\Local\GIANTS Editor 64bit 8.2.2\scripts easyFence.zip
  2. Could just be the way that the foliage is painted by giants Editor, like the texture paint it never paints exactly where you want it. The only other suggestion is to ask on the creators forum https://ls-modcompany.com/forum/thread/9448-fs22-ge-script-foliagecreator/
  3. Glad you sorted it out, though if you are working on a 4k x 4k map the dem image should be 2048 x 2048 and all others weight/grle should be double the size of a 2k maps image.
  4. The simplest way to get 5 sections with your particular request is (using the Paint Terrain By Spline Panel script) to first set the Centre WIdth to the overall width you want the outside Grass layer to cover for example 12m Set the Centre Texture to the required texture and select Paint You then set the Centre width to the width of your Centre grass texture( i.e 4 m )and the Edge WIdth (i.e.2m) to the distance required for your gravel texture with the required textures set select paint This will give you | -------------------------12m ---------------------------| | 2m Grass | 2m Gravel | 4m Grass | 2m Gravel | 2m Grass| When painting multiple textures you should always work from the outside in Another variation with different Edge Textures Starting with 1. | 2m GrassGravel | 8m Grass | 2m Concrete | working with only the centre 6m section 2. |2m Gravel | 4m Asphalt | 2m GrassMoss| Giving you | --------------------------------12m--------------------------------------| | 2m GrassGravel | 2m Gravel | 4m Asphalt | 2m GrassMoss | 2m Concrete | Edit: This method also works if you are using the Paint Foliage by Spline script.
  5. Apologise for any confusion but the tutorial was written for previous versions on Farming Simulator your dem file should now be named map.dem.png and placed in the mapUS/data folder replacing any exsisting image.. Overlays (i.e. grass01_weight.png) are also put in this mapUS/data folder. I will either update the tutorial or add a new section detailing the changes for FS 22
  6. No, new snow meshes can only be created in Blender/Maya. However you may be able to use exsiting snow roof mesh i3ds if they fit the roof/building you have made in Blender/Maya
  7. Create FieldDimensions script. A problem entering decimal numbers into the field angle attribute has arisen A simple fix is in Giants Editor open the script in the SCript Editor, navigate to line 139 and change setUserAttribute(field, "fieldAngle", "Integer", 0) to setUserAttribute(field, "fieldAngle", "Float", 0) and save the script The main zip files will be updated in due course. There is no need to redo any exsisting field dimensions All that is required is to open the map.i3d in notepad ++and useing the Search function place the following in the Find what panel name="fieldAngle" type="integer" value="90"/> and selecting the Replace tab place in that panel name="fieldAngle" type="float" value="90"/> then Select Find Next and replace for each exsisting field Dimension. You can just select Replace All but that sometimes can replace other items if you do want to use that Option make sure that Search Mode is set to Normal and Match Whole Word Only is selected. Pay particular attention to the upper Lower Case in the script it has to be ' Float' but in the i3d it is 'float' otherwise you will get errors in the GE console Log
  8. Script updated 08/10/2023 Fixed error when "Select Random Wire/Board Placement" deselected
  9. The script is deseigned that way to allow you to vary the distance between the textures , you can adjust the distance bewteen textures (and consequently the number of loops) --Set Distance between Textures "mSplinePiecePoint is defined as the current percentage of the length of the spline " incorrect mSplinePiecePoint is defined as fraction(decimal) of the length of the spline, full length of the spline is mSplinePiecePoint = 1 For reference check the GE version script --Window --Script Editor - Select Editor Utils -- scroll to line 490 (lines 443 to 503 show the complete script)
  10. Is this the script from ls-modcompany ? Edit: Just found your identical post on the ls-modcompany websie https://ls-modcompany.com/forum/thread/9448-fs22-ge-script-foliagecreator/?pageNo=9
  11. Heres a little extra when placing power lines, after placing select the Spline Paint Panel script and in the settings, Set Centre Width -- 2 Set Edge Width -- 0.5 Set Edge Texture Left -- Select --Rough Grass Set Centre Texture -- Select -- Gravel Set Edge Texture Right -- Select --Rough Grass Set Texture Distance -- to the distance between your post Select Paint button Grass gravel will be placed at the base of each of your poles, due to the way the terrain segments are painted in GE some may be placed slightly to one side of the pole Note: If the distance between your poles is more than 50m then you will need to adjusy the texsDistance value at line 127 in the script from 50 to a suitable larger setting eg 150 (150m) Spline Paint Panel script available at the end of this tutorial https://farmerboysmodding.com/index.php?/topic/2439-new-spline-paint-height-csv-field-creationdimension-panel-scripts You can also use the Paint Foliage by spline script in the same way The Fence_Power_Placement script has also been updated (08/10/2023)
  12. This script can be used to easily place fences/power lines on a map using a spline. It consists of a basic spline placement script and a modified easyFence script (by modelleicher) combined with some extra enhancements. The script works by first placing posts/poles aligned to the terrain along a spline, it then places fence boards/wires on these posts/poles scaling them to match the distance to the next post/pole. To install download the script (available at the end of this tutorial) unzip the fencePowerPlacement.zip and Copy/Paste the script into C:\Users\Your Computer Name\AppData\Local\GIANTS Editor 64bit 9.0.4\scripts. Once installed, to initiate the script select the Fence Power Placement script in the GE Scripts tab. A panel will pop up somewhere on the screen. The image below shows the Panel, together with a brief description of the Inputs/Parameters Points to Note before using this script. All posts/poles/wires/boards Must be scaled at 0,0,0 before use in the script Items to be placed Must be aligned along their ‘Z’ axis with the point of origin at one end. Number of Wire/Board alignment nodes Must be the same on all posts/poles used and in the same order top to bottom otherwise you will have crossovers between the posts. The post/pole transform group hierarchy must always start with the post mesh followed by the wire/board alignment nodes it can then be followed by any other meshes although I think best practice would be to have a single mesh for the pole/post including all the parts. The following image shows the transform group hierarchy and the telegraphPost placed using the script Above Telegraph pole taken from the FS19_telegraph pole kit by Robbie available on modhub Placing a Simple Fence Simple post, fence board creation For this example I will create a simple post/board using the Create- Primitive - Cube in GE The finished fence will consist of square posts and three fence boards If you already have a suitably aligned post and fence board then skip the next section, import post and fence wire/board into GE and go to Adding the alignment nodes to a post. section. If not continue with the following, In GE Create - Primitive - cube In the attributes panel Translate 'Y' enter 0.5 also rename this post_1 Select Edit - Freeze Transformations and select Translate - this will move the cubes point of origin to the base of the cube In the attributes panel enter the following into the Scale transforms 'X' 0.15 , ‘Y’ 1.5, 'Z' 0.15 and Freeze transformation Scale (only Scale ensure all others boxes are deselected) In the material panel in Albedo Colour enter 0.4, 0.2, 0.2 this will give a brownish colour to the post Create a second cube In the attributes panel Translate 'Z' enter 0.5 and rename this to board_1. Select Edit - Freeze Transformations and select Translate - this will move the cubes point of origin to edge of the cube In the attributes panel enter the following into the Scale transforms Scale 'X' 0.1, 'Y 0.2 'Z' 4 and Freeze Transformation Scale (only Scale ensure all others boxes are deselected) Because this second cube still uses the material name ‘Unnamed material’ it will be the same colour as the post. Create a new transform group and name this fencePowerItems Select post_1 with the middle mouse button and keeping the middle mouse button pressed move post_1 into the fencePowerItems transform group, do the same with board_1. The reason for this is to keep the transforms all set to 0,0,0, which will prevent any unseen conflicts with translation positions. With the fencePowerItems transform selected on the keyboard select Ctrl B to place it in your current view port for reference. Adding the alignment nodes to a post. Create a new transform group –Create – Transform Group Select the new transform group with the middle mouse button and keeping the middle mouse button pressed move the new transform group into the post_1 transform. If you do not have a middle mouse button then cut/paste the new transform into the post transform. Next move the new transform up to where you want the lowest board to be With the new transform selected on the keyboard select Ctrl D to duplicate then move this second transform to the centre board position, repeat this step for the third transform placing it where the top board will be. Your post_1 alignment transforms should look like the post in the alignment image above. Your post transform should look like the following image Open your map in GE Create a spline – Create- Spline rename to spline_1 and align it along the route you want to place your fence. Select Scripts – Fence Power placement to initiate the script. In the Scenegraph a new transform group ‘fence_powerObjects’ will have been created consisting of three transform groups wire_fenceNode – place the fence board(s), wire(s) in this transform group fencePlacement Transform Group postObject – place your post(s)/ pole(s) in this group placedObjects – your complete fence/power line will be placed in this group when the script has been executed (select Create Fence/Power Line) The spline has to be placed in the fencePlacement Transform Group For those familiar with the original Spline Placement script this fencePlacement Transform Group works in the same way as the Spline Placement script. I have renamed the post_1 and board_1 meshes to post1S1,board_1S1 (S1 being spline_1) respectively. Unfortunately GE will scale all objects of the same name throughout the map so I have done this so that I can easily freeze the scale transformations on the completed fence/power line without affecting any other mesh in the map. Copy/Paste board_1 into the wire_fenceNode transform (rename if you want to). Copy/Paste post_1 into the postObject transform. (rename if you want to). Cut/Paste the spline into the fencePlacement transform Set Post Distance – 4 – posts will be set 4m apart Stay Upright – Selected – this will ensure the posts remain upright regardless of terrain contour Select Random Spline Order – Deselected – this will be used in a later section of the tutorial Select Random Wire/Board Placement – Deselected -- this will be used in a later section of the tutorial No of Wire/Board Nodes – 3 – this is the number of transform nodes on the post Maximum Posts – 0 – Default setting means all post will be used Start Post – 0 – default setting script will start at first post Remove Current Fence/Power Placement – Deselected With the fencePlacement transform Selected, Select the Create Fence/ Power Line button The fencePlacement transform must be selected for the script to run. In following image ‘Image 1’ shows the renamed post_1 and board_1 in their correct transform groups together with the spline in its correct position and the Fence/Power Placement Panel ready for input. Image 2 shows the Fence/Power Placement Panel with all the relevant data entered and the script executed by selecting Create Fence/ Power Line button Image 3 shows another view of the placed fence and the two other insets shoe the difference between Selecting/Deselecting the Stay Upright parameter You can check out the difference between the Stay Upright modes by, Remove Current Fence/Power Placement –Select – this will delete the current fence placement Stay Upright – Deselected Remove Current Fence/Power Placement –Deselect – Important step otherwise new placement will not take place Select -- Create Fence/ Power Line button – this will create the same fence placement but with the posts following the terrain contour To return to the original placement, Remove Current Fence/Power Placement –Select Stay Upright – Selected Remove Current Fence/Power Placement –Deselect – Important step otherwise new placement will not take place Select -- Create Fence/ Power Line button The Remove Current Fence/Power Placement selection can be used to delete an existing placement and add/change any parameter then execute the script with the new settings. For wire placement the alignment method is slightly different in that the transform nodes are placed on the outside of the post on the ‘X’ face. Although normally a fence post created for wire would already have the staples (the staples would have to be on the ‘X’ face of the post) as an integral part of the post mesh. Random Post/Board Placement For this example I have created a shiny round post by, Create – Primitive – Cylinder Rename – post_2 Translate ‘Y’ – 0.5 Freeze Transform Translate Scale X 0.2, Y 2, Z 0.2 Freeze Transform Scale Albedo Color 0.8,0.8,0.8, Smoothness 1 Metalness 1 Cut Paste into fencePowerItems Transform For the boards I have just duplicated board_1 twice renamed board _2, board _3 respectively and scaled X,Y values (not Z as this is the distance between posts) then Freeze Transformed scale on the new boards Ctrl B the new fencePower Items to your map location The alignment nodes on the post are set up the same way as for the post_1 (must be the same number) Copy/Paste board_2,3 into wire_fenceNodes Copy/Paste post_2 – into the postObject transform Using the same spline the script set up is as follows Set Post Distance – 4 – posts will be set 4m apart Stay Upright – Selected Select Random Spline Order –Selected Select Random Wire/Board Placement – Selected No of Wire/Board Nodes – 3 – this is the number of transform nodes on the post Maximum Posts – 0 – Default setting means all post will be used Start Post – 0 – default setting script will start at first post Remove Current Fence/Power Placement – Deselected With the fencePlacement transform Selected, Select the Create Fence/ Power Line button The image below shows the Script parameters and random placement of both the posts and boards If you want to create some missing fence boards add another empty transform group to the wire_FenceNode transform group. The odd posts are deliberate to highlight the effect of the random spline placement Power Lines I will be using some premade power pole and wires for this example An example of a power pole with multiple objects is shown in the Points to Note before using this script section at the beginning of this tutorial The alignment node set up method is slightly different for the power poles. Create a transform group and Select the new transform group with the middle mouse button and keeping the middle mouse button pressed move the new transform group into the powerPole transform group. With the new transform node selected, hover the mouse over the insulator you want to hold one of the wires, then Ctrl B left click twice to place it on the insulator Do the same for all the other insulators Image below shows the placement of Power Lines together with the relevant script settings, inset gives a clearer picture of the placement Below Power Placement using the Select Random Wire/Board Placement with an extra saggy wire (wireSag2) randomly placed again inset shows clearer placement Finally using the script twice to place power Lines and a damaged barbed wire fence Further Notes Wire_FenceNode objects must be single meshes and not part of any transform group. There is no limit on the no of items that can be placed in either the wire_FenceNode or the postObject node the only stipulation on extra posts is that they must all have the same number of alignment nodes. Post/poles must also be single meshes and not part of any transform group. The alignment nodes on any post/pole must be the first children of that mesh, however other meshes can be placed after the alignment nodes for example Though currently if using a tree it will only be placed in one rotation and LOD1 is not supported. You can of course manually place a tree in place of a post by first selecting the post in the viewport and then in the scenegraph copy the three transform nodes of that post. Using the replace function select the post as the Target and the tree in the Replace With section and select Replace, align the tree with the end of the previous posts wires and with the tree transform group selected paste the original 3 transform copied previously into it The following image shows the result of this method Error Messages Error messages will appear in the console log if, Nothing is in the wire_FenceNode transform group Nothing is in the postObjects transform group Incorrect number of transform alignment nodes on a postObject item error message and name object will be printed in the log Spline is in the wrong transform group or not present in the fencePlacement transform Group When the script has finished the following will be printed in the log Finished! Enjoy the fence 🙂 Spline Name: (name of spline) As normal I suggest you try this script out on a test map before using on any WIP map also this script is still being developed so may change at a later date. Original Easy Fence script available here select all and paste into new notepad++ file and save as easyFence.lua. https://pastebin.com/1DR6qDcE Damaged barbed wire/poles taken from FS 19 Barbed wire fence kit by Robbie https://www.farming-simulator.com/mod.php?mod_id=105801 Fence_Power_Placement.zip
  13. Not as far as I'm aware if you look at the base game placeables (mapUs-farmbuildings-farmBarn02.xml) the snow mesh is not even listed in the i3dMappings, have you tried setting the snow mesh above your building in case the smaller mesh is not showing above the roof when testing in game (not sufficient snowfall). I test my buildings in a copy of the Alpine map set up for a december start (not using the add snow command) using the EDC speed controls to get to the best snowfall Also does it work correctly when tested in Blender in the viewport shading
  14. I've had something like that before and all that was the visibilty tag deselected, tag must be selected for the transform group and the mesh/icicles Normal setup Winter TG -- Visibilty Condition --Use Parent visibilty tag checked snowRoof --Visibility Condition --Weather Required Mask (Hex) 400 --visibilty tag checked icicles (if used) --Visibility Condition --Weather Required Mask (Hex) 400 --visibilty tag checked
  15. This is the way I do it in Blender 3.2 using the plugins by Red Phoenix Create snow roofs First create the large snow mesh Add first shape key (called the Basis) select Bake Delta to vertex colour -- creates the 2nd shape key (Delta Shapekey) Relative +vertexColours -Delta vector colors scale mesh down to minium size with Delta shapekey selected toggle to object (only edit mode shows reduced mesh) load material Preview matt into shading make sure Delta vector colour set (vertex colour) back into layout select Bake Delta to Vertex colours again -(-paints the vertex colours to the mesh) to test into viewport shading and adjust Volume Add texture to mesh as normal Export Note the smaller snow mask must not be lower than the bottom of the larger mask Visibilty Condition must be set on the snow mesh--Weather Required Mask (Hex) 400 Not forgetting to assign the snowHeapShader.xml
  16. Just as aside I personally don't use Spline Street Constructer as I prefer the Blender method as it is much more flexible and allows creation of custom junctions. I believe Bauer Brown has recently done a 30min video using this method Further tutorial available here https://farmerboysmodding.com/index.php?/topic/2413-export-a-spline-from-giants-editor-into-blender-to-create-roadsrailways-updated/
  17. That particulsr script has csv at 1m intervals (same as Spline Strret Constuctor) which is not recommended for road building a csv of 5m is normally sufficient
  18. If I read the Spline street constructor correctly you have a road width of 16m and verge widths of 5m making am overall width of 26m and 1km long, this along with a csv setting of 1m it is no wonder the script is taking a time to finish. As I said in the previous post I suggest you use the default GE Set Terrain Height Script Scripts -- Terrain -- Set Terrain Height by Spline and just set the width and smoothing distance Or the Spline Height Panel script available here https://farmerboysmodding.com/index.php?/topic/2439-new-spline-paint-height-csv-field-creationdimension-panel-scripts/
  19. It would appear from your image you are using Spline Street Constructor and not the terrainHeightSetup/terrainHeight scripts from the Updated Spline Scripts zip, they are completely different scripts and cannot be used together. I suggest you use the default GE Set Terrain Height Script Scripts -- Terrain -- Set Terrain Height by Spline and just set the width and smoothing distance
  20. There are several reasons for slow script operation, length of spline, width of area to be transformed, number of vertices Can you post an image of your spline and also which version of the script are you using
  21. Then the only way I can think of doing something like that is by animation and setting the scale to go from small to large (also adjusting thge height at the same time) I beleive something along those lines was done in previous FS versions but I can't remeber which at the moment. Just thought of another method using the vertex paint system, much like the snow density on roofs going from small to large, though whether this can be implemented without extra scripting I don't know
  22. You can make the food planes any shape/size you want in Blender and import back into GE as an i3d. Height is then adjusted in the relevant xml e.g. extract from lizard cowBarn small -- <foodPlane node="foodPlane" minY="0.025" maxY="0.177" changeVisibility="true" defaultFillType="FORAGE"/> Regarding densityMapHeights heaps, I think you will find that they are also planes, albeit generated by script , to see in action ingame press F4 (wireframe) and tip a crop to ground. In FS19 when tipping to ground I am almost sure it was the actual terrain that was used to create the heap by reducing the terrain size from unitsPerPixel="2" to unitsPerPixel="0.5" around the tip area
  23. I cannot help with this as I prefer the Blender method as it is a lot more flexible, but I think there are a couple of members on here that do use the Spline street Constructor and may be able to help
  24. SNOW MASK This is just a follow on from a previous post regarding the Scripts -Generate Mask script that automatically creates an indoor snow mask (infoLayer_indoorMask.grle) by mapping the collision footprint of objects in the map roads, buildings etc (placeables should have their own mask already created in the i3d). The Generate Mask script originally worked by using the water plane height (inputted manually into the script)as a base for calculations as this was normally the lowest point on the map, however this is sometimes no longer the case. The problem highlighted by Dickieboy in his post (https://farmerboysmodding.com/index.php?/topic/2446-indoor-mask/) was that the script had a preset height of 47.5m which when executed without any change caused unwanted blocks to appear in the finished grle image. I have now edited the original script and renamed it (to avoid confusion with the original) so that it now allows the mask height to be set. The updated script is available at the end of this post, to install download the Create Snow Mask.zip and unzip, copy/paste the Create Snow Mask folder into C:\Users\Your Computer Name\AppData\Local\GIANTS Editor 64bit 9.0.4\scripts To use In Giants Editor Select Scripts – Snow Mask – Create Snow Mask the following pop up panel will appear Height Setting The height needs to set at the terrains lowest point, if you are unsure of the lowest point then a simple method to find this out is to Create -_Primitives – Plane and adjust the X and Z scales so the plane fits the size of your map (2048 for a normal size map) and just lower the plane until it is no longer visible in the map. Once happy with your height settings enter the figure into the Set Mask Height panel and select Generate Snow Mask the button will turn blue to show the script is working. WARNING – The script can take a couple of minutes to work (depending on how many collisions are in the map) during this time DO NOT try and do anything else in Giants Editor as it will freeze/crash. When the script has finished the Generate Snow Mask button will turn white and the following information will be printed in the console log, in this case, Saving mask map to C:/Users/Your Computer Name/Documents/My FS 22 Mods/Mod_Map_Alpine/maps/mapAlpine/map.i3d.indoorMask.grle Snow Height Set to: 5.0 You can of course leave the height setting at 0 (zero) but, although this will work it will take a bit longer for the script to finish. The new map.i3d.indoorMask.grle will probably need to be edited as items like rocks/boulders meshes will be clear of snow. This can be done in an image editor or in Giants Editor, I prefer doing any editing in Giants Editor as I then have a reference for adjusting the edit (such as lanes and by roads which if created with a mesh will not have any snow cover) and will not have to reconvert from png to grle. To edit in GE first you will need to rename/delete the original infoLayer_indoorMask.grle in the data folder and rename the map.i3d.indoorMask.grle to infoLayer_indoorMask.grle and copy/paste into the data folder . Open your map in GE and Select the Terrain info layer paint mode then in the Terrain Editing panel –Info Layer Painting –info layer dropdown select indoorMask the State Panel will change to Outdoor and the map area will turn white (snow) with pink areas (no snow). Select Info Channel 0 map will then change to white (no snow) and partially transparent black (snow) Right click paints a no snow area Left click deletes a no snow area When finished editing save the map the new snow mask will be saved in the infoLayer_indoorMask.grle Below are some examples of the new snow masks compared with existing in game versions ALPINE Map - height set at 5 -- original in game image on the right USA Map - height set at 65 -- original ingame image on the right Another thing to note is if you have both a infoLayer_indoorMask.grle and infoLayer_indoorMask.png in your data folder at the same time Giants Editor may crash on loading. Create Snow Mask.zip
  25. I have seen something similar to this way back in FS13 and it was pointed out then that it was quicker and easier to fill in the details directly into the xml given that you could easily copy/paste complete animation sections, plus notepad++ has a built in xml checker to check syntax etc All you are doing is adding another input layer to do the same job, you will still need to edit and test any xml's created as any manual input is still prone to errors whether accidental or not. Given the latest Blender i3d exporters are now creating xml's and adding some data directly into them on export, maybe in the not to distant future they will be able to export xml's with all the details required. As this is a topic for "Terrain Height, Paint Terrain and Spline Placement Scripts" and not for general scripting matters I suggest you create a topic in the Scripting section should you wish further discussion/input on the subject