Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Today
  3. Yesterday
  4. Ah Thanks, I have got it translated, but never read it. The Video told me what i needed, but might be other things you can do. I always use Wireless Keyboard & Mouse, but you have to remember Batteries, sometimes last little time, especially as on Computer all the time.
  5. Last week
  6. Yes, I am going to have to get rid of this wireless keyboard and go back to a wired one, have edited the relevant post misspellings now. On the subject of the Spline Street Constructor here is an English translation I created a while ago that might also help. https://www.dropbox.com/s/7kyazyahq9towe5/SplineStreetConstructor English Translation by W_R.zip?dl=0
  7. Thanks. Actually I think that tool you mean is splinestreetconstructor, I downloaded v1.64 yesterday and it works great in GE 9.0.3. Easy to use though in German, but a British Youtube Video was easy to follow by David Brown. Got the Paint and Spline Placement script worked out too. Still playing about at present, to get best out Scripts. Seems FS22 has its own problems for Map builders, FS17 was brilliant, had so many mods.
  8. First in answer to your question about keys, simply click on the Help in GE and select Keyboard Shortcuts and it will give a list of all the keyboard commands Secondly, no in its current form the Spline Placement script only places objects, for it to work in placing road sections it would need to be able to distort the mesh for the corners and adjust any texture(s) accordingly. If I remeber right there was a script that could do that around FS17 time but it was never released, I notice that the fence placement in game allows for deformation so maybe there may be a script coming in future updates of GE. There are several ways of creating road layoute, one of which is detailed in the Export a Spline from Giants Editor into Blender to Create Roads/Railways (Updated) tutorial another is the Spline Strret Constructor by TracMax a Quick Google search should provide several othyers.
  9. Right one Question. Sorry just found a Problem. Can you use this to place roads? as problem is corners do not align. ???
  10. Just an update a few seconds after I remembered after days trying lol.
  11. Hey Colin I am having a dumb moment, and forgot what keys you use. I am doing the Spline Placement, I can move E, but forgot how to set a point, before carrying on, like round corners. Any help would be great
  12. Earlier
  13. Glad to see this. Apologies that site issues were hindering this update. Great thanks to @WrinkleysRulefor pushing through.
  14. Thank you for telling me I apologise profusely, with all the problems getting stuff uploaded I forgot to add the zip file, now corrected and zip added
  15. Am I missing something here? I actually can't see the Updated Spline Scripts.Zip at the bottom. And Wrinkley, Thank you very much for these amazing tutorials 🥳
  16. New scripts and tutorials now posted and available in the Modding Tutorials and Guides -Mapping Section, problem solved thanks to bdbssb's efforts
  17. I have updated and added some extra functions to the Terrain Height, Spline Placement and Paint Terrain scripts. All these scripts together with installation instructions are available here See Updated Spline, CSV, Height, Paint, Place, Scripts – Installation Link to installation post https://farmerboysmodding.com/index.php?/topic/2412-updated-spline-csv-height-paint-place-scripts/ Splines The spline can now be given any name as long as it includes the name ' spline ' in any part of it i.e. road1_Spline or roadspline01 etc. Problems will occur if the spline transform or the spline itself does not have the correct rotation, whether in the transform group of the spline or the spline itself . The rotation has to be set at 0,0,0 for any of the scripts to work correctly. There are a couple of ways of ensuring this, one is to set up your spline in the position you want and freeze transform only the rotation, the other is to select the S cv of the spline and delete it, this brings S to the centre (rotating point) of the spline, then just use the E cv to create the rest of the spline so lessening the chance of inadvertently rotating the start of the spline. Spline Paint Script. Using the Spline Paint script is fairly straight forward although it requires the Terrain layer script by Stegei to be executed first to provide the necessary Layer texture numbers for reference in the GE Console log. Open map in Giants Editor and select Window --Script Editor and in the left hand panel of the Script Editor select Terrain Layers and execute the script , this will then print all the Terrain Layers of your map in numerical order to the GE console log i.e. Texture No :0:Texture Name : animalMud01 for individual texture selection Texture No :88:Texture Name : ANIMALMUD for Combined texture selection The texture number is the one referenced by the Spline Paint script when painting the terrain, texture name is for reference only. Note: Texture numbers/name will vary according to the Layer Texture setup of the map you are using After printing a prompt "Open Spline Paint script to continue" will appear in the console log Select the Spline Paint script and check that you have your computer name in place of the XXX in the "source" line Example: Using the print out from the Terrain Layers script for texture numbers Centre Width = 8 -- Width of the Centre Texture Edge Width = 4 --The desired width of the left and right hand textures Texture Left = 91 --Left Hand texture number Texture Centre = 96 --Centre texture number Texture Right = 99 --Right Hand texture number Texture Distance = 0.5 --Texture Distance -how far apart the textures are painted along the spline (default is 0.5) Entry in Spline Paint -- paintTerrain( 8 , 4 , 91 , 96 , 99 , 0.5 ) After executing the script the area painted along the spline will have, 8m GRAVEL -- Centre section, 4m DIRT --Left hand side 4m GRAVELGRASS --Right hand side 0.5m --Between textures. A print out in the GE console log will also detail these settings for reference Spline name: Texture Left: no, name Texture Centre: no, name Texture Right: no, name Centre Width :(m), Edge Width: (m), Texture Distance: (m) If the Edge Width is set to zero only the Spline Name, Texture Centre no, Centre Width and Texture Distance will be shown in the log Should you require only the Centre Texture then set the Edge Width to zero (0) and adjust your Centre Width settings accordingly The image below shows the result with various texture settings using the above values, with a print out of the Texture No and Name showing in the console log on the left of the picture. The following image shows how the texture distance setting can be used to create a pothole effect The first settings were paintTerrain( 16, 91, 83 (waterPuddle01), 99, 0.5) which painted the waterpuddle texture over the 16m width. Second settings were paintTerrain( 8, 91, 96 , 99, 1.1) which then painted the DIRT/GRAVEL/GRAVELGRASS texture over the water puddle texture but because the texture distance was set to 1.1 it left holes in the textures so allowing the waterPuddle texture to show through. Potholes.png ---------------------------------------------------------------------------------------------------------------------------------------------------------- Spline Height Script This script is an enhancement of the normal terrain height script which uses a spline to guide the terrain deformation it also allows the setting of a distance value for Edge Width (value applies to both sides) and Height / Smoothness values to be entered in the terranHeight variable allowing independent control of the height and smoothing on either edges. Any Edge Width/Height/Smoothness (L/R) adjustment will have no effect on the Centre Width setting whose height setting is dependent on the actual spline height or SplineHeight settings Settings Centre Width -- The desired width of the centre section in metres Spline Height -- Height of the start deformation from the spline, can be a negative figure, default is 0, ( actual spline position ) Offset Height -- "True" Edge Width deformation raises/lowers edges, "False" no edge deformation, only Centre Width deformation Edge Width -- Width of edge deformation on both sides Height Left -- Left hand side of road on the uphill side --Height/Depth of Left Hand deformation Height Right -- Right hand side of road on the downhill slope –Height/Depth of Right Hand deformation Smoothing Left -- Number is used to factor the amount of smoothing -- lower number less smoothing, Higher number greater smoothing (optimal 10) Smoothing Right -- As smoothing Left Example Centre Width = 8m --width of the centre deformation Spline Height = 0m Offset Height = true Edge Width = 4m Height Left = -3m -- Left hand side 4m edge lowered by 3m Height Right = 3m --Right Hand side 4m edge raised by 3m Smoothing Left = 1 Smoothing Right = 1 Layout Guide: terrainHeight(Centre Width, Spline Height, Offset Height, Edge Width, Height Left, Height Right, Smoothing Left, Smoothing Right) Script entry: terrainHeight( 8 , 0 , true , 4 , -3 , 3 , 1 , 1 ); Once the script has been executed a print out will appear in the GE console log detailing these settings for reference Spline name Offset setting Spline Height Centre Width : Edge Width: Height Left : Height Right : Smoothing Left: Smoothing Right: If the Offset Setting is set to false only the following will be printed Spline name Offset setting Spline Height Centre Width Smoothing is carried out much the same way as using the terrain sculpt tool in that it smooth’s the area down in height. Below is an image showing the terrain profiles with various settings (Spline Height set to 4m for clarity). Further Example; Road is on the side of a hill and requires a road width of 8 metres, and a verge width of 4 metres with the left hand verge raised and right hand lowered to match the hills slope Final overall width of the transformation will be 8m + ( Edge Width x 2) = 16m Centre Width = 8m -- The desired overall width of the centre section in metres Spline Height = 0 Offset Height = true -- Allows edge deformation Edge Width = 4m -- Width of edge deformation on both sides Height Left = 4m -- Left hand side of road on the uphill side Height Right = -4m -- Right hand side of road on the downhill slope Smoothing Left = 1 -- Number is used to factor the amount of smoothing -- lower number less smoothing, Higher number greater smoothing (optimal 10) Smoothing Right = 1 -- Details as smoothing Left The above settings were used as a base for the road in the image below. To get the desired effect required 4 executions of the script as smoothing was carried out by simply reducing the edge width and heights by one each time the script was executed and finally on the last execution (where Edge Widths and Heights equalled 1, -1 for the right hand edge) by increasing the smoothing factor to 5 for both left and right edges. Start settings terrainHeight( 8 , 0 , true , 4 , 4 , -4 , 1 , 1 ) End Settings terrainHeight( 8 , 0 , true , 4 , 1 , -1 , 5 , 5 ) Spline Placement With this script objects can be placed at various fixed, preset distances, random distances and locations away from or along the spline depending on settings in the script. The objects will be placed at terrain height along the spline (using their individual point of origin location) from the 'S' cv to the ‘E’ cv and aligned to the to the spline along their "Z" axis (unless random location selected). e.g. if you have a hedge that is 4m long and 1m wide ensure the longest section (4m)is aligned to the 'Z' axis otherwise rotate it in GE until is aligned along the 'Z' axis and freeze transform rotation also ensure that the point of origin (where the gizmo shows when object is selected) is at the correct point For best results, open any objects you intend to place in GE and adjust axis, origin accordingly, when done , freeze transform all scale/rotation settings (DO NOT freeze transform translations unless point of origin is relocated) on all the relevant objects. This script first requires the execution of the Spline Placement Transform script which will create the correct Transform Group (splineObjects) and the relevant sub groups (objectsTo Place and placedObjects). All that is then required is to add a spline (Create-Spline) CUT/pasted into the splinePlacement transform group and add required objects to the objectsToPlace transform group Creating splines for use with this script. Whilst this step is optional (depending on your spline layout) if used will help in creating a spline aligned to the terrain with a large number of cv’s ensuring accurate placement of any object. As the script works by placing object(s) at their point of origin at set distances along or around the spline, aligned to the terrain height and spline rotation at that particular point, for accurate placement it means the spline must have a large number of cv’s (in this case suggest one every metre) to ensure correct alignment to the terrain. Obviously this would be very time consuming, a quick way is to roughly create the spline path as required without paying much attention to height settings (in fact it can go underground without affecting the final created spline). When satisfied open the Spline CSV script in the Script Editor and change the splineCSV value to ‘ 1 ‘ With the spline selected execute the script, the new i3d data will appear in the GE Console log, there will be no new spline shown until after completion of the next step. Next open a new blank file in Notepad ++ and copy paste the new i3d coding from the editor_log .text (C:\Users\Your Computer name\AppData\Local\GIANTS Editor 64bit 9.0.3\editor_log.txt) from, <?xml version="1.0" encoding="iso-8859-1"?> up to and including </i3D> Save as a suitable name i.e. spline01.i3d (i3d not xml) the suffix _CSV is automatically added to the original shape file name by the script. Finally import the spline into your map , it will appear at the location of your original spline, aligned to the terrain at 1 metre intervals, the spline will have its original name with the suffix _CSV in the Scenegraph Image below shows the original spline01 (as just a straight line) and the new spline01_CSV with the cv’s aligned to the terrain at 1 metre intervals. Note: the new spline translations will have been reset to zero. Script Parameters Explanation DistanceTable distanceTable = { distance 1, distance 2 etc} Sets a fixed distance between the objects in the objectsToPlace transform when useDistanceTable set to true, number of settings must match number of items in the objectsToPlace transform. The first object in the objectsToPlace transform will always be put at the start of the spline (distance ‘0’), the entries in the distanceTable refer to the distance to the next object from the preceding one. So in the following example; A total of 3 objects in the objectsToPlace transform 1,2 and 3 distanceTable = { 4 , 8 , 20 } value in metres -- object ‘1’ placed at ‘0’ by default so no reference in distanceTable object ‘2 ‘ placed 4m from object ‘1’ object ‘3’ placed 8m from object ‘2’ object ‘1’ placed 20m from object ‘3’ and so on until the end of the spline. A distance of ‘0’ will mean that two objects will be placed at the same location on the spline (e.g lamp post ,hedge ) Other Parameters 1. objectDistance -- sets a fixed distance between objects along the spline in metres. 2. useDistanceTable -- 'true' sets the distance between objects using the settings in the distance Table --'false' uses Object Distance settings 3. distance Table -- user inputted values between objects along the spline, distance has to be set for each object, see explanation in Distance Table section 4. stayUpright ---- 'true' item remains upright, specifically for trees, poles, lights etc --- 'false' reverts to spline 'X'rotation and original object rotation at the placement point. 5. random Scale -- ‘true’ allows random object scale between the parameters set by scaleLow , scaleHigh. If an item is already scaled then it has to be freeze transformed (Scale) for this to work correctly -- 'false' retains original size. 6. scaleLow -- value of the minimum random scale parameter, the value set applies to all scale axis (x, y, z) at the same time 7. scaleHigh -- value of the maximum random scale parameter, the value set applies to all scale axis (x, y, z) at the same time 8. randomYrotation -- 'true' objects randomly rotated on the 'Y'axis -- 'false' Y axis rotation as original object 9. randomOrder -- 'true' allows a random order along the spline -- 'false' retains the order set in the objectsToBePlaced transform group. 10. randomObjectDistance —‘true’ sets a random distance between objects along the spline --‘false’ distance set by Object Distance or Distance Table 11. randomObjectDistanceV -- percentage factor used to calculate randomObjectDistance 11. randomPlacement -- true places the object away from the spline by randomPlacementDistance --false objects placed along the spline. 12. randomPlacementDistance -- maximum displacement distance from the spline, displacement varies between 0 and number chosen. 13. fixedDistance -- Allows a set distance for objects to be placed either to the left or right of the spline depending on value set in Distance Fixed. When activated and distance fixed value set this is also the distance around which random placement will start. 14. distanceFixed -- Distance objects to be placed to the left or right of the spline in metres, positive number to the right negative to the left viewed from 'S' cv. Note: The spline is not moved so the set distance between the objects will increase depending on value set (like the spokes on a bicycle wheel from the hub to the rim). Objects will be placed at 90 degrees to the spline on the ‘Z’ axis at the relevant spline point. Because the objects are placed on the ‘Z’ axis away from the spline, another way of placing objects at a set distance from the first spline and retaining the distance between the objects is to make a copy of the first spline and adjust the ‘Z’ transformation to the required -/+ distance, replacing the first spline in the splineTransform group with the new spline and executing the script, ideal for fences /hedges alongside roads etc. Occasionally alterations to the ‘X’ axis may be required as well on the new spline to get the perfect alignment. This trick can also be used for traffic/AI splines BUT the spline must be ‘freeze transformed Translate’ before use as a traffic /AI spline. The above method will only work satisfactorily if the spline hasn’t been created using the Spline CSV script or ‘Freeze Transformed – Translate’ in other words set to translation X=0, Y=0, Z=0. Example. The images below show examples of the various settings used in the Spline Placement script to achieve different results Should you need to delete the objects in the placedObjects transform (eg. Resetting settings or just adding objects) then with the splinePlacement transform selected execute the Spline Placement Delete script. NOTE: The Spline Placement Delete script will delete ALL objects in the placedObjects transform so if doing multiple runs of the Spline Placement script copy paste the placedObjects transform directly into the Scenegraph. Using a fence from the in game Farm Fence placeable. In the following image the script has been run twice, the first time to place the pole upright and the second to align the rotation of the panel to the terrain, setting used are highlighted in red. There is no need to delete the poles from the placedObjects transform before running the script for a second time the panels will be placed in the same transform. Note; object Distance is used to set the distance in this case Some of the fence panels will need a slight adjustment to align correctly, which can easily be done by selecting the relevant panel and adjusting as necessary. Examples of other settings using the road mesh and splines image from the Blender CSV Road/Rail tutorial Example Image splinePlace_Right To create this particular placement I have first moved the m4m hedge point of origin to the centre of the hedge to allow for better placement on bends, an example of the difference after placement can be seen in inset 2 above. To do this simply select the m4m hedge in the objectsToPlace transform group and set the ‘Z’ translation to -2 and Edit—Freeze Transform—Translation. Creating a 4m fence section Create new transform group copy/paste a pole ( pole02) and duplicate twice so you have three poles copy/paste a panel (panel01)and duplicate once Transform Group should look like this 4mFence pole02 panel01 panel01 pole02 pole02 select second panel01 and translate 'Z' -2 select second pole02 and translate 'Z' -2 select thirdpole02 and translate 'Z' 2 with the first pole02 selected (pole02 Transform group) Edit --Freeze Transformations --Translate now all items in that transform group are aligned at zero with reference to the centre pole to use copy/paste the pole02 transform group into the objectsToPlace transform The 4mFence_Section now has the same point of origin as the hedge. The poly count of this 4m fence section can also be reduced by deleting all the collisions for each item and replacing with a new collision made in the following way Create—Primitive –cube Cut/paste cube into the 4mFence_Section transform and scale to fit when done Freeze Transform –Translate and Scale. Set the Rigid body tab and in the shape tab select Cast Shadowmap, Receive Shadowmap, Non Renderable and Distance Blending. Whilst this only saves a poly count of 48 for each section it can make a large difference over a whole map for example a 400m fence will have a poly count of 80,800 with the new collision as opposed to the original poly count of 85,600 Now with the objectsToPlace transform set up as in the Example Image the Spline Placement script can be set up as follows and executed. local objectDistance = 4 local useDistanceTable = false local stayUpright = false local randomScale = false local randomYrotation = false local randomOrder = true local randomObjectDistance = false local randomPlacement = false local fixedDistance = false All other settings can be left as set To get the desired effect shown in the Example Image using the splinePlace_Left spline the script was executed four times with various settings in the script and replacing the items in the objectsTo Place transform with new ones. splinePlace_Left The image below shows the various objectsToPlace transform entry’s and splinePlacement script settings for each execution/run of the script. The lightPoleLarge01 object on the first run had to be rotated on the ‘Y’ axis by 90 degrees and Edit -Freeze Transform --Rotate to get the correct alignment for placing along the spline and matching the road layout. On completion of the four runs of the script the placedObjects transform group will now have all the above items from the various executions in it, if you are happy with the result then this can then be cut pasted and renamed as another transform group. The distanceFixed value of -15m in the fourth run of the script means that objects will be placed that far away from the spline and random placement will be based on that figure so in order for the trees to not spawn on the road the randomPlacementDistance was set to the lower figure of 10. Note: If you execute the Spline Placement Delete script at any time with the splinePlacement transform selected it will delete ALL items in your placedObjects transform group.
  18. There are two parts to this tutorial, the first part deals with creating a 2D spline in Giants Editor and using the Spline CSV script to create a new spline aligned to the terrain with more cv's at a chosen set distance along it. Also created is a CSV (Comma Separated Variable ) file for use in Blender 2.79 (Only) to create a road spline mesh .i3d aligned to the map terrain. The Terrain Layers, Spline Paint and Spline Height scripts are also used in this section. The second part, the Blender section deals with creating a new mesh from the CSV data and using it to create a road layout i3d aligned to the terrain of your map for import into Giants Editor. Note: Blender 2.79 is only used to create the CSV mesh as no viable updated version of the csv mesh importer script used is available at the moment. Hopefully a Geometry node that accepts CSV inputs will become available in the future or better still Giants Editor allowing export of splines either as Nurbs Curves or Obj mesh. Whilst at first the tutorial may seem a little complicated once run through a couple of times it will seem quite easy. All the scripts used in this tutorial, together with the installation instructions are available here. Link to updated scripts https://farmerboysmodding.com/index.php?/topic/2412-updated-spline-csv-height-paint-place-scripts/ GIANTS EDITOR Spline CSV script Ensure you have installed the script correctly and adjusted the file path accordingly See Updated Spline, CSV, Height, Paint, Place, Scripts – Installation The script creates a new spline aligned to the terrain from an existing one and prints an xml compatible file and a separate CSV file (Comma Selected Variable) in the form of a text file to the Giants Editor Consol and editor.log Located here, (C:\Users\Your Computer name\AppData\Local\GIANTS Editor 64bit 9.0.3\editor_log.txt) It also re-labels the axis to convert the Giants Editor transform axis to the Blender format, X(Z) axis, Y(X) axis, Z(Y) axis, Giants in brackets to use with the csv importer script in Blender 2.79 The script allows for the original spline to be created in 2D with less cv’s and away from the terrain, the new spline created can easily be used in any of the Spline Height/Paint/ Placement scripts. Open map in GE Create a spline and align it to the road/rail network you wish to model. The spline can be called any name as long as it has the word spline in it i.e. road01_spline, spline_2 etc. Open the Script Editor in Giants Editor (Window—Script Editor and select the SplineCSV script and set the required distance between the cv’s by adjusting the splineCSVdistance value, the lower the number the more cv’s and greater accuracy in alignment in Blender or when used with the splinePlacement script In this case it is set to 5, generally a value of 5 for roads and 10 or more for train tracks (gives a smoother incline) should be sufficient, but bear in mind that this distance will be the size of your individual road/rail sections in Blender. In the following image the you can see that a ‘road01_spline’ has been created in 2D above the map surface with minimal cv’s and the new spline cv distance has been set to 5 (m) in the Spline CSV script. Once executed there will be no extra spline created just a print out in the Console log showing the xml and CSV data (section shown on the left hand side of the image). I3d Data Open a new blank file in Notepad ++ and copy paste the new i3d coding from the editor log Available here C:\Users\Your Computer name\AppData\Local\GIANTS Editor 64bit 9.0.3\editor_log.txt from, <?xml version="1.0" encoding="iso-8859-1"?> up to and including </i3D> Save as a suitable name.i3d, in this case its road01_spline_CSV.i3d (not xml), the suffix _CSV is automatically added to the shape file name by the script I3d Example shown on the left in the following image CSV Data Copy/paste the csv data (data only not axis text) into a new blank file in notepad++ and save as with another suitable name, in this case its road01_spline_CSV .csv CSV Example shown on the right in the above image Setting Up the map Navigate to where you saved the i3d file and import the new spline into the map you are creating. The next step is to paint the terrain along the road01_spline_CSV spline. Whilst this is not strictly necessary there are two reasons to do it, the first is to paint the terrain under any road mesh with a high AI value texture such as Asphalt or Gravel, although this probably won’t be seen, it means that an AI spline need not be created along any road mesh route not covered by the main traffic or AI splines, the second is purely for indication of road and edge size when setting the terrain height along this spline (settings should roughly reference to final Blender road width). It can also gives a performance advantage by allowing a lower clip distance on the road mesh without any visual loss when viewed from a distance. First open the Script Editor Window --Window –Script Editor… and select the Spline Paint entry this will open the script in the script editor ready for adjustment. Next execute the Terrain Layers script by selecting Scripts—Terrain Layers, --see top left of example image (no need to open script in the editor it can be executed directly from the Scripts Tab as no further input required) this then prints a numerical list of all the terrain texture layers in the map for use in the Spline Paint script In this example settings have been set as Refer to Console log print out on the right hand side of the image for the numbers CentreWidth 5m Edge width 3m (both edges) Texture Left 93 --see print out in Console Log for GRASS TextureCentre 89 --see print out in Console Log for ASPHALT TextureRight 93 --see print out in Console Log for GRASS Once executed the terrain is painted with the chosen textures the following entry is printed out in the Console log detailing the settings. Spline Name : road01_spline _CSV Texture Left :- 93 -- GRASS Texture Centre :- 89 -- ASPHALT Texture Right :- 93 -- GRASS Centre Width : 5.0 m : Edge Width : 3.0 m : Texture Distance: 0.5 Result shown in following image. To ensure any new road mesh created using this CSV spline as a base fits the terrain it is necessary to provisionally adjust the terrain height along the length of the spline using the Spline Height script. Terrain height may need to be adjusted again when road mesh finally completed due to relaxing/smoothing of csv road mesh. Before executing the Spline Height script ensure that you save the map and make a backup copy of your map_dem.png in case of any problems. In the Script Editor open the Spline Height Script In the image above, the inset shows the original terrain profile with a sharp drop on the right hand side and raised terrain on the left hand side so the settings below have taken this into account this allows easier blending of either edge with GE terrain tools once the script has been executed. CentreWidth 6 (m) size dependant on final mesh size in Blender in this case a 6m roadbed with 2m edges giving a 1m adjustment for final blending in GE after placement. SplineHeight 0 (m) height of deformation start above or below spline. OffsetHeight ‘true’ allows independent height and smoothing to either edge EdgeWidth 3 (m) 3m edge width either side of the CentreWidth Height Left 4 (m) raises the left hand edge by 4m to match left hand terrain. Height Right -4 (m) lowers right hand edge by-4m to match right hand terrain Smoothing Left 10 factors the amount of smoothing on the left hand edge Smoothing Right 10 factors the amount of smoothing on the right hand edge The effects of these values (once the script has been executed) are shown in the main window of the image above also printed in the Console log is a reference detailing the settings used together with the name of the spline, in this case Spline Name : road01_spline _CSV Offset:'True' Spline Height: 0.0 Centre Width: 7.0 m :Edge Width: 4.0 m : Height Left: 4 :Height Right: -4 : Smoothing Left: 8 Smoothing Right:8 Shown top left in the above image Further smoothing of the edge area can be made by reducing the EdgeWidth , HeightLeft and HeightRight by 1 and re executing the script until the EdgeWidth is ‘0’ (CentreWidth value not changed during this operation) Note: Once executed this terrain deformation cannot normally be undone, but provided you haven’t saved the map after executing the script the terrain can be reset back to previous levels by selecting the Reload i3d icon in the toolbar( under the Create tab) then re adjusting script values as required. If the map has been saved then the only way of redoing the terrain is to Copy/Paste your backup map_dem.png into the map data folder. Once happy with the results save the map. BLENDER Unfortunately there doesn’t seem to be a viable alternative available of the csv_mesh_importer, hopefully a Geometry node that allows inputs of CSV data will appear at some point or better still the ability to export a spline either as a Nurbs Curve or Obj mesh from Giants Editor In the meantime, If you haven't got a copy of Blender 2.79 then you can download one from the https://www.blender.org/ select Download-- Previous Versions, in the All Previous versions box select download in next window scroll down till you find Blender2.79/ 29-Jul-2019 13:11 Stand alone Zip version is the better option Download and install the csv_mesh_importer v0_7alpha.zip. Available here https://blenderartists.org/t/a-script-to-import-a-csv-file-and-create-meshes-for-blender-2-5x-or-later/501410 Install Plugin Close Blender if active The script cannot be installed from zip as there is no init file. If using a standalone version then navigate to where you unzipped the Blender file i.e. D:\blender-2.79b-windows-x64\blender-2.79b-windows-x64\2.79\scripts\addons and copy paste the csv_mesh_importer.py into addons. Otherwise navigate to Windows(C:)—Programm Files—Blender Foundation—Blender—2.79 (the script only works with 2.79 version of Blender)—scripts—addons and copy paste the csv_mesh_importer.py into addons. CSV Importer Open Blender --Select File—User Preferences—Import Export, locate and select the checkbox next to CSV Mesh Importer then Save as Default. Select the CSV Mesh Importer panel, and set up as follows Select ‘Point list containing X.Y,Z column’s in File Type menu Select the folder icon at the end of the .csv File Path: selection box and browse to where you saved the .csv txt file and click Accept (top left) Ensure that comma[,] is selected in the Delimiter section Click the Add Button and in the configuration box below Select Create vertices only and in the pop up box select “Create vertices and edges (single line)” The X,Y,Z column details can be left as is (the script has already allowed for the axis labelling). In Object Name put the name of your spline. Select Import The csv Spline mesh will appear in the Scene panel at the top, select this and zoom out till you can see it (it will be at the same world location as it was in your map, hence the high camera clip distance ‘End 10km’ in the view menu). Do not change the location of this mesh as it will cause problems when aligning the finished road in GE. Save the file as a .blend file and close Blender 2.79. The following image shows the setup and final mesh position in Blender Blender 3.2 and above (other versions may differ in Menu’s and settings) Open Blender and in Object Mode, Select File ---Append, navigate to where you have saved the Blender2.79 .blend file and double click on the file, this will open a list of folders contained in that .blend file, double click the Object file, double click the name of your spline mesh, the spline csv mesh will appear in the Collections panel and in the 3D window at the location it is in your map. Do NOT change this location; if it is changed then problems will occur in placement when exporting final road mesh. (Quick way of getting the mesh in view is with the mesh selected, in the Collections panel, select decimal point on the Keypad) In Edit Mode ,with the mesh selected open the Tools Panel ‘N’ and select Edit – Loop Tools – Relax (arrow to left of word Relax) In the dropdown Interpolation –LinearInput Iterations ‘ 1 ‘ Note: High values will result in straightening out of curves Regular –Selected And select Relax This will relax the mesh giving a smoother line along the whole mesh. Change to Object Mode, with the mesh selected –Select , Object—Convert—Curve , this converts the mesh to a curve ready for use with the Curve Tools. Select the Curve Icon in the Scene panel (green semi circle) to open the Curve Tools Panel With the curve still selected change to Edit Mode The new curve first needs to be aligned along the correct axis for the road, to do this you can either select Control Points—Tilt and type 90 or simply (Ctrl ) -- T -- 90 In the Shape panel of the Curve Tools, select 3D, Fill Mode 'Half', Curve Deform 'Radius Selected', all other settings can be left as is. Open the Geometry and Bevel Tabs Geometry Tab Extrude ‘ 3 ‘ ---this equates to a road bed width of 6 metres , half the desired width Offset ‘ 0 ‘ ---value can be left at 0 as this just raises or lowers the mesh by +-1m Bevel Tab Select -- Profile Depth ‘ 2 ’ -- this figure is the width of the road edges in metres, in this case 2 for 2m Resoloution – ‘ 0 ’ --This figure sets the number of subdivisions in the edge mesh should you wish to create your own custom or preset profile. You will note that after entering the figure in the Depth box the curve point of origin is now aligned to the bottom of the edges, this change will need to be catered for when the mesh is finally imported into GE. The following image shows the result of these transformations. Once you are happy with the basic shape, the curve deformations can now be turned into an editable mesh. With the curve selected Object Mode – Object –Convert --- Mesh The mesh can now be edited in the normal way for example adjusting the bends in the road to be smoother and adding white lines (see Enhancements at the end of the tutorial). Texture Add the texture you are going to use in the normal way One quick method I use is in the example below, Edit mode –with all the road bed faces selected UV –Reset -- adjust the UV map to fit the road bed texture (inset 1 shows full road texture ) Do the same for each of the road edges then, Edit Mode—Edge Select – and select both outside road edges and raise to a shallower angle (inset 2) Finally Export as an i3d either using the .blend filename or creating your own in File Location Open your map in GE and import the road mesh i3d (in this case it is road01_splineCSV) Rotate the ‘Y’ axis by -90 and adjust the ‘Y’ Translation of the road mesh to match the flattened terrain. Further adjustments (texturing/terrain height) of the road area can now be carried out. The image below shows the road imported and adjusted, the inset shows a magnified image of the road placement at the indicated location. Note: To enable the AI to work better with the new road mesh, the Collision Mask (Hex) should be set up as follows, Where 0: "DEFAULT: The default bit", 1: "STATIC_WORLD: Collision with terrain, terrainHeight and static objects", 2: "STATIC_WORLD_WITHOUT_DELTA: Deprecated in FS22: Do not use it anymore!", 3: "STATIC_OBJECTS: Collision with static objects", 4: "STATIC_OBJECT: A static object", Deselected is 5: "AI_BLOCKING: Blocks the AI", 6: "TRACTOR: Deprecated in FS22: Do not use it anymore!", 7: "COMBINE: Deprecated in FS22: Do not use it anymore!", 18: "AI_DRIVABLE: AI can drive over this node", The above settings are taken from the base game road mesh , although numbers 2,6, and 7 state that they are no longer used it would be prudent to include them anyway as the collision masks may have changed in later game patches. ENHANCEMENTS Adjusting and smoothing blocky curves/bends Example; Navigate to a curve section you want to adjust in the viewport Edit Mode Select the outer edges of the road sections in the bend (3 in this case) and subdivide, number of subdivisions will be dependent on smoothness required. Open the Tools Panel ‘N’ and select Edit – Loop Tools – Relax (arrow to left of word Relax) In the dropdown Interpolation –Linear- Projects vertices on straight line, Cubic uses a natural cubic spline to project the vertices Input – Parallel (all) --This will also modify any parallel vertices at the same time, if in doubt select, Section, only selected modified. Iterations ‘ 1 ‘ – No of times tool is run, higher number gives smoother results but straightens out the curve Regular –Selected –When selected vertices spread evenly along the loop Select the vertices along the edge of the curve Section, and select Relax Further smoothing can be carried out by repeating the above process on the relevant section Finally select all the vertices along one edge of the whole road mesh and then select Relax This will smooth out the whole road mesh Image below shows the various stages and images 1 and 3 show the before and after result. Adding Custom road markings. Select all the road bed faces (Shift-Alt held - select face) of your finished road mesh, change to Edge select, again with Shift-Alt held deselect left and right hand edges and Subdivide ' 1 '. Select the new centre edge (Shift-Alt held - select edge) and Shift-D to copy ' P ' Selection to separate from main road mesh, with the new edge mesh selected Object mode – Object--Convert--Curve Curve Tools panel --Shape-- Geometry and set Extrude to ‘ 0.2 ‘ (Extrude value dependent on the width of the road marking texture used) Edit mode Ctrl 'T ' -90 to correct the axis. Object mode -- Object--Convert--Mesh Add texture as normal not forgetting alpha channel settings in Blender Edit mode -Face select --select all UV—Reset -- adjust UV mesh to fit texture Texture may need to be adjust on the bends but that is easily done in the UV editing window Finally when satisfied export as i3d. To do the edge markings (if required), select the left hand or right hand edge and Shift-D to copy ' P ' Selection to separate from main road mesh and continue as above, doing the same for the other edge. Example below The previous tutorial showed two ways of creating the road mesh from the CSV mesh but I think the above method is the quickest and easiest way to get the best results. As it is possible to create a spline in Blender 3.2 and export it as an i3d you can create a set of splines aligned to the road mesh to use in the Spline Placement script and also for traffic/railway splines Using the finished road mesh as an example For Spline Placement In Edit mode, Edge Select Shift-Alt select the left or right hand road edge so all the edges are selected. Shift ‘ D ‘ to copy With the edge still selected ‘ P ‘ Selection to separate Object Mode With the edge selected -- Object –Convert—Curve Edit Mode Curve –Set Spline Type – NURBS Object mode Open i3d exporter Export Tab and ensure that Nurbs Curves and Shapes are selected Set up filename and File Location in the Output tab Export the i3d Import into map set ‘ Y ‘ rotation to -90 and Edit-- Freeze Transformation –Rotate Only (leave preserve instances selected) height settings do not matter as objects will be placed on the terrain at their point of origin. Replace any splines in the splinePlacement transform with this new spline and set up the script parameters accordingly. Example before selecting Object mode and exporting For traffic/railway splines Select all the road bed faces (Shift-Alt held - select face) of your finished road mesh, change to Edge select, again with Shift-Alt held deselect left and right hand edges and Subdivide '3 '. If creating a railroad spline then Subdivide ' 1 ' Subdivide ‘ 3’ is necessary to get the correct location for the traffic splines (midway between centre and edge). The centre edge line can be used, if required, as a new roadSpline01_CSV to adjust any terrain height after smoothing of road mesh (slight straightening of bends etc). Shift-Alt select edge to the left of the centre of the road mesh so all the edges are selected and continue as above for the splineUtilsPlace adding a further step after the ‘With the edge still selected ‘ P ‘ Selection to separate’ of renaming the mesh to traffic01_left for clarity and continue the method above. Repeat the procedure for the right hand edge. Image showing both sets of splines. Once the traffic splines are imported the Translation/Rotation needs to be set up as follows Translate ‘ X ‘ and ‘ Z ‘ to‘ 0 ‘ Translate ‘Y ‘ to a suitable value to align it just above the road mesh, in this case -1.9 Rotate ‘ X ‘ and ‘ Z ‘ to ‘ 0 ‘ Rotate ‘Y ‘ to -90 Once done freeze (Edit-Freeze Transformation) the Transformation/Rotation settings. As both traffic splines, after importing are in the same direction, traffic direction can be set by selecting the relevant spline and pressing the ‘ R ‘ key on your keyboard. All the splines once imported into the map can be edited/ expanded in the normal way. Note: Regardless of the filename you have given the spline in Blender the name in the scenegraph of GE will be the name in the Collections Panel of Blender with the suffix.001 in this case road01_splineCSV.001 Below is an example showing the road mesh, markings, together with the various splines and also objects that have been placed using the Spline Placement script (see Terrain Height, Paint Terrain and Spline Placement scripts (Updated) for details of placement).
  19. NOTE: These scripts are personal edits of original scripts by various authors ( Stegei, Evgeny Zaitsev, Nicolas Wrobel,TracMax and W_R ) and posted on the FarmerBoysModding site for members of the FarmerBoysModding community's personal use and not intended for any general public release. Furthermore they are posted on the understanding that NO monetary gain whatsoever,regardless of source can be made from all or parts of them by any person(s). Including but not limited to, Patreon, soliciting for or requiring donations for work done for any purpose, posting on a website that gives any form of remuneration per download. Copyright remains with the original creators of these scripts. Previous versions of these scripts will still work correctly but will lack any new options included in the new scripts Installation First a big thank you to Stegei, Evgeny Zaitsev, Nicolas Wrobel and TracMax the originators of some of these scripts. In this update I have tried to make some of the scripts a bit more user friendly and have also added extra functions to some of them Download and unzip the Updated Spline Scripts.Zip (available at the bottom of this tutorial), and copy/paste the complete contents (as laid out in the zip) directly into the following folder C:\Users\Your Computer name\AppData\Local\GIANTS Editor 64bit 9.0.3\scripts Or the scripts folder of whatever version of Giants Editor you are using The Updated Spline Scripts. contains the following files Spline Scripts folder -- contains the main scripts for the following, Spline CSV --This script creates a new spline aligned to the terrain from an existing one by printing alignments details in the form of an xml compatible layout (i.3d) and a text layout for a CSV file (Comma Selected Variable) in Giants Editor Console log re-labelling the axis to convert the Giants Editor transform axis to the Blender format. For use with the csv_importer script in Blender 2.79(only at the moment) Spline Paint – for painting along a spline using map terrain textures, different textures can be painted for the centre and edges areas, used in conjunction with the terrainLayers script. Spline Height – for setting the terrain height using a spline allows independent height settings for centre width, left and right edge height/width The following scripts are stand alone and need no further adjustment Spline Placement Transform – Creates a splineObjects transform group with the correct hierarchy in the Giants Editor Scenegraph requires the addition of a spline and objects to the objectsToPLace transform Spline Placement –for placing objects along a spline at terrain height at fixed or random distances along/around and either side of the spline Spline Placement Delete –deletes ALL objects in the placedObjects transform group. Terrain Layers – by Steigi, prints a numerical list of all the terrain layers in the map in the Giants Editor log used by the Spline Paint script for correct texture placement. Initial Set Up Open Giants Editor and in the Script Editor window ( Window ---Script Editor) select the Spline CSV script. And replace the XXXX in the following line, Source ("C:/Users/XXXX/AppData/Local/GIANTS Editor 64bit 9.0.3/scripts/splineScripts/splineCsvCreator.lua") with your computer name. If required also change GIANTS Editor version to whatever one you are currently using. Do the same for the following scripts Spline Paint Spline Height Important: Failure to do the above step will result in the scripts not working. The following scripts do not need any adjustment Spline Placement, Spline Placement Transform, Spline Placement Delete Terrain Layers, These scripts can be also be activated directly from the Scripts tab in Giants Editor as no inputs are necessary for their operation. Spline Placement Transform, Spline Placement Delete Terrain Layers, Splines can now be called any name as long as it includes the word ‘spline’ i.e. townSpline01, road01_spline etc Further information on the above scripts and how to use them is available in the relevant tutorial. Please read the tutorials before implementing the scripts 95% of problems are caused by not reading them carefully. Export a Spline from Giants Editor Into Blender to Create Roads/Railways (Updated) Terrain Height, Paint Terrain and Spline Placement scripts (Updated) Note: Before using any of these scripts on a current Work In Progress (WIP) map, it is recommended that a blank starter map is used to experiment and get familiar with the scripts, settings, executions and results. Updated Spline Scripts.zip
  20. This is my first map and waiting to create the roads...😭 Hope this problem can be solved soon. Your tutorials are great.. Thank you very much.
  21. I have updated these scripts together with new tutoirials, unfortunately due to restrictions on lenght of posts on this forum I am unable to post them until this problem can be sorted.
  22. Suggest you post your query here, https://gdn.giants-software.com/
  23. Hello. I come here to ask about a way to make editor use all of my cores? Now he use 100% of one of 6 of my cores and its pain in the ass because i made 121km blank map and any of change of this map is connected to wait ... Saving map takes 140s approx. Use of any script of terrain edit is logarytmic increase time waist. I am making a map for FS17 with GE 7.1.0. Any clues will be useful. Cya
  24. Yes a great asset done by grabby
  25. Hi Guys, what both of you are suggesting can be done. I had a play around with the concept of building a Giga-Factory and in principle it works, although I had some issues with certain products that just didn’t want to play nicely with their new home. Those flaky culprits being wood, planks and cotton bales. During the testing phase all the rest of the products did work as intended. I’m sure that minor issues could be sorted out, but for me it was more a case of “proof of concept”. As for the control of prices we used sell price triggers, just to be sure we were always getting top dollar in our mp sessions. But since production revamp has been released I feel that its a more immersive way to go forward ;)
  26. Great Info bdbssb ;) Just started working on a <motorConfigurations> set today, and was pondering over all these values and how they would interact with one another. You saved me a lot of trial and error, much appreciated bud. Cheers
  27. Blender 2.93 and later Mapping-- Coordinates --Generated---- now part of the Displacement setting Influence --Deselct Color Select –Intensity -- now part of the BSDF shader color/specul;ar etc However I am using another method in Blender 3.1 that seems to give reasonable result Blender 3.1 (make sure the Render Engine is set to Cycles), 8kBorderGE image and 8kBorderDem4096 were both created using the snipping tool in Google Earth both saved as RGB pngs In the first image I have created a mesh (Import Image as Plane) with the 8k RGB border texture and added the 8kBorderDem4096 texture I will use for the displacement Main settings are Mapping -- Extension --Extend --this gives a clean edge to the border by extending the edge pixels Clamp -- Deselected -- this allows the full colour range to be used in the displacement All other settings can be left as default though it may be necessary, depending on the dem to set the Color Space to Linear to get better results. Next the 8k border mesh has been subdivided 20 times and Displacment modifier added, Texture coordinates must be set to UV although no UV map is required. and lastly the final settings for alignment to the terrain In the Item pop out you will notice that the Z Location value is different to the Z value in the Dimensions -134.69 and 138 respectively this is to show the GE border area more clearly otherwise it would be mixed in with the border image. Regarding the Dimension Z value (138 in this case) this is normally the highest point of your terrain over the whole border area but can differ due to monitor colour settings and displacement strengths so it is always best to adjust to imported GE terrain. Highest point can easily be found by running cursor over the area in Google Earth and checking the elev figure in the bottom right Don't forget to set shading to smooth (Object-Shade Smooth) and Ctrl-A (Set Scale and location if mesh reset to 0) before exporting i3d When time permits I will be overhauling/updating all the tutorials to reflect the latest updates to links and software.
  28. i cant find these: on blender 2.93 Mapping-- Coordinates --Generated Influence --Deselct Color Select –Intensity
  29. I have checked with others and they’re not having issues. Like I said above be sure you are lowering it after unfolding.
  1. Load more activity