Difference between revisions of "How to make mods"
(20 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
*'''''Unreal Engine 4.27''''' Free to use with a creators license '''Link:'''https://www.unrealengine.com/en-US/eulacheck/creators | *'''''Unreal Engine 4.27''''' Free to use with a creators license '''Link:'''https://www.unrealengine.com/en-US/eulacheck/creators | ||
*'''Blender''' Free to use 3D modeling software '''Link:''' https://www.blender.org/download/ | *'''Blender''' Free to use 3D modeling software '''Link:''' https://www.blender.org/download/ | ||
*'''Example Project''' Needed as a base for the mods '''Link:''' https://drive.google.com/file/d/ | *'''Example Project 1.4''' Needed as a base for the mods '''Link:''' https://drive.google.com/file/d/1IxFqWMGjzFpML3dGe00c7mPgUImbV_Dc/view?usp=sharing | ||
'''Optional Software:''' | '''Optional Software:''' | ||
*'''Substance Painter''' Expensive texturing software '''Link:''' https://store.steampowered.com/app/1454900/Substance_3D_Painter_2021<br /> | *'''Substance Painter''' Expensive texturing software '''Link:''' https://store.steampowered.com/app/1454900/Substance_3D_Painter_2021<br /> | ||
Line 14: | Line 14: | ||
Any 3D software that support '''FBX export''' can be used but we recommend '''Blender.''' | Any 3D software that support '''FBX export''' can be used but we recommend '''Blender.''' | ||
'''USE THESE SCENE SETTINGS IN BLENDER!''' (Or the model will have the wrong scale but not show it and just behave like shit) | |||
[[File:Scene Settings Blender.png|none|frame|Press the "Scene properties" tab (small arrow) and change the Unit Scale to 0.01 ]] | |||
Line 37: | Line 41: | ||
[[File:CutEdge.png|none|frame|Dirt Cut Edge for the Dozer, This is the shape the blade will "cut" in the dirt, Keep the most parts angeled and '''do not Scale this in Unreal''', even a small change makes the cut super wonky.]] | [[File:CutEdge.png|none|frame|Dirt Cut Edge for the Dozer, This is the shape the blade will "cut" in the dirt, Keep the most parts angeled and '''do not Scale this in Unreal''', even a small change makes the cut super wonky.]] | ||
[[File:Fillplanes.png|none|frame|The Fillplane for the dozer, this is the 100% (full blade) one visible, Under this there are one fillplane at 10%, 20%, 30%, 40%, 50%, 60%, 80%, Making it 8 fillplanes in total.]] | [[File:Fillplanes.png|none|frame|The Fillplane for the dozer, this is the 100% (full blade) one visible, Under this there are one fillplane at 10%, 20%, 30%, 40%, 50%, 60%, 80%, Making it 8 fillplanes in total.]] | ||
=== Rigging === | === Rigging === | ||
Rigging is done by having the chassie (where the wheels/engine are mounted) and the rest of the parts as "children" in a chain out from the Chassies | |||
All part that just "Follow" (like hydraulic rams) '''Need to be at 90 Degree angles''' | |||
as they need to point in '''the closest 90 degree direction to where they should be IRL'''. | |||
[[File:RamDirection.png|none|frame|This is the correct ram direction, the closest 90 degrees to where they should be. '''Other pics on this wiki have them in wrong or wierd positions but this is the right way!''']] | |||
[[File:Direction.png|none|frame|Make sure your vehicle or anything is facing this direction along the X axis (or it will be super wierd)]] | [[File:Direction.png|none|frame|Make sure your vehicle or anything is facing this direction along the X axis (or it will be super wierd)]] | ||
[[File:RiggingCentering.png|All your moving parts need to be 100% centered on the axis it should rotate/move around|none|frame]] | [[File:RiggingCentering.png|All your moving parts need to be 100% centered on the axis it should rotate/move around|none|frame]] | ||
Line 53: | Line 65: | ||
Texturing for Bergsbruk is pretty simple, The UV mapping is the same boring thing it always been. | Texturing for Bergsbruk is pretty simple, The UV mapping is the same boring thing it always been. | ||
On the diffuse texture you only '''Paint Red for Wear, Green for Snow, Blue for Dirt,''' The machine/assets colour is in a diffrent place later on.[[File:Diffuse texture.png|thumb|706x706px|The Diffuse mask (right) gives this effect ingame (left)|none]]The diffuse needs to have a '''Solid Black background''' behind the Red Green Blue. | On the diffuse texture you only '''Paint Red for Wear, Green for Snow, Blue for Dirt,''' The machine/assets colour is in a diffrent place later on.[[File:Diffuse texture.png|thumb|706x706px|The Diffuse mask (right) gives this effect ingame (left)|none]] | ||
The diffuse needs to have a '''Solid Black background''' behind the Red Green Blue. | |||
The '''Normal map''' format in Unreal Engine is DirectX. So if you bake normal map in Blender you need to set the green channel to -Y. | |||
[[File:BlenderNormalmap setting.png|thumb|default|Blender Normalmap -Y Influence|none]] | |||
'''AO''' are made just like in any other game. | |||
You can NOT use any '''Roughness or Metallic''' as this changes with Wear/Snow/Dirt | You can NOT use any '''Roughness or Metallic''' as this changes with Wear/Snow/Dirt | ||
Line 62: | Line 80: | ||
Do not use any textures over '''2048x2048''' as this will cause issues, | Do not use any textures over '''2048x2048''' as this will cause issues, | ||
== Importing to Unreal == | == Importing to Unreal == | ||
Line 79: | Line 95: | ||
=== Skeletal Mesh (Rigged) === | === Skeletal Mesh (Rigged) === | ||
[[File:SkeletalMeshImport1.png|none|thumb|1258x1258px|Make sure "Skeletal Mesh" is '''Ticked''' And the "Skeleton" is "'''None'''" then press "'''import'''"]] | |||
[[File:SkeletalMeshImport2.png|none|thumb|1268x1268px|'''Save''' them, then open the '''Skeleton''' asset]] | |||
[[File:SkeletalMeshImport3.png|none|thumb|1268x1268px|Here you can check so everything is in the right place before continuing, When your done open the "'''Physics'''" asset (Red Arrow)]] | |||
[[File:SkeletalMeshImport4.png|none|thumb|1273x1273px|Select all Bodys and '''delete''' them, When your done open the "'''Mesh'''" asset (Red Arrow)]] | |||
[[File:SkeletalMeshImportMaterials.png|none|thumb|1285x1285px|In the Asset Details you set the '''materials''' for the Skeletal mesh]] | |||
[[File:SkeletalMeshImport5.png|none|thumb|1273x1273px|The Skeletal mesh needs a '''Animation Blueprint''' (AnimBP), Press "Create Asset" then "Anim Blueprint"]] | |||
[[File:SkeletalMeshImport6.png|none|thumb|1266x1266px|Press '''Viewport1''' to see the mesh, Then you Create the '''Float Variables''' you need for the mesh, '''Press the Little +''' and then you '''Name it''' and change its type to '''"Float"''' , When your done open the "'''AnimGraph'''" ]] | |||
[[File:SkeletalMeshImport7.png|none|thumb|1342x1342px|In the '''AnimGraph''' you Rightclick, Search for "'''Mesh Space Ref Pose'''" and from that you can connect all types of nodes (Explained in more detail below) for moving the Skeletal mesh, just make sure you '''connect them all''' and end with the "'''Output Pose'''" (it will create the "Component to local" automaticly) ]] | |||
[[File:SkeletalMeshImport8.png|none|thumb|1330x1330px|Transform is used to make bones move, Select a "Bone to Modify" and connect your variable, Compile and test in the Viewport by changing the value of the variable, (If its right and you for example change the value of "Boom" it should move the boom in the Viewport) your gonna have to play around a bit with this or look at an '''example AnimBP''' to get the hang of it.]] | |||
[[File:SkeletalMeshImport9.png|none|thumb|1334x1334px|This node is used to copy the transform of another '''bone''', like if you have 7 under carriage wheels you only need to add rotation to the first and the rest '''copy its rotation''']] | |||
[[File:SkeletalMeshImport10.png|none|thumb|1338x1338px|"Look At" Node is used to make stuff line up or look at something, Most of the time we use it to make the 2 parts of a Hydraulic Ram line up, Make the '''''Hydraulic Ram''''' look at the '''Hydraulic Cylinder''' and the '''Hydraulic Cylinder''' is made to look at the '''''Hydraulic Ram.''''' Use '''"look up axis",''' your gonna have to play around a bit with this or look at an '''example AnimBP''' to get the hang of it.]] | |||
== Creating the Mod == | == Creating the Mod == | ||
Line 111: | Line 138: | ||
* Grader | * Grader | ||
* Crusher | * Crusher | ||
*Dumper | |||
=== Building object === | === Building object === | ||
Line 118: | Line 146: | ||
[[File:PressThedropdown.png|none|frame|Press the dropdown and select your mesh]] | [[File:PressThedropdown.png|none|frame|Press the dropdown and select your mesh]] | ||
=== Vehicle === | |||
Swap out the Vehicle base to your own skeletal mesh or keep it empty if the vehicle has no Skeletal mesh | |||
[[File:SkeletalMeshImport12.png|none|thumb|1341x1341px|Press "'''Vehicle Base'''" so you can swap out the mesh, then change to the '''Animation Blueprint (AnimBP)''' you made for the mesh]] | |||
[[File:SkeletalMeshImport13.png|none|thumb|1338x1338px|Then in the '''Event graph''' you need to Drag out the '''"Return Value"''' right click and search for '''"Cast to YOUR MESH_SKELETON_ANIMBP"''' then you can drag out from that node and search for the '''variables you made''' in the AnimBP, | |||
You want to find the '''"Out" variable''' that matches the '''input''' you want, "'''GET'''" the out variable that fits and connect/drag it to "'''SET'''" the variable from the '''AnimBP''' ]] | |||
These are the other infaces that need editing and are vehicle specific [[File:InterfaceLights.png|none|thumb|1359x1359px|Here you add all the lights you want as standard equipment, Just copy the '''"Set visibility"''' node and connect it to the Light references. | These are the other infaces that need editing and are vehicle specific [[File:InterfaceLights.png|none|thumb|1359x1359px|Here you add all the lights you want as standard equipment, Just copy the '''"Set visibility"''' node and connect it to the Light references. | ||
Line 136: | Line 167: | ||
=== Vehicle Addon === | === Vehicle Addon === | ||
Start by duplicating the example '''Vehicle addon''' | |||
[[File:VehicleAddon1.png|none|thumb|1386x1386px|This is a simple thing to make, Swap "'''Object'''" to your mesh and change the shape of the "'''VisibleLight'''" to fit the light and edit the "'''Spotlight"''' to fit your needs.]] | |||
[[File:VehicleAddon2.png|none|thumb|1394x1394px|And add the '''Visible light''' to the function you want it (No need to ad "Spotlight" since that is the child of "VisibleLight" and "'''Set Visibility'''" includes children)]] | |||
=== Vehicle Attachment === | === Vehicle Attachment === | ||
Start by duplicating the example '''Vehicle attachment''' | |||
[[File:Attachment1.png|none|thumb|1395x1395px|Important to make a somewhat smaller collision for the bucket mesh, Note the '''Transform Scale is 1.3x''' this is becuse we only have one Excavator bucket for every size of machine (only on excavators) so '''all excavator buckets should be modeled/ imported after the 330 Buckets''' (that way you dont have to model one for each size)]] | |||
== Exporting & Uploading == | == Exporting & Uploading == | ||
Open the example project and follow the instructions below | |||
'''Step 1''' | |||
[[File:Make a new Plugin.png|none|thumb|1330x1330px|Open the plugin menu]] | |||
'''Step 2''' | |||
[[File:Make a new Plugin2.png|none|thumb|1339x1339px|Create a new plugin]] | |||
'''Step 3''' | |||
[[File:Make a new Plugin3.png|none|thumb|1339x1339px|Press "Content Only", then name your mod(Name it something uniqe like "Exavator 560 ModTeam"), enter your Name/alias and Desc and press "Create Plugin"]] | |||
'''Step 4''' | |||
[[File:Make a new Plugin4.png|none|thumb|1347x1347px|Now you have a new '''Content Directory''', add all the stuff you want to add here and everything they need like textures and models, sounds etc. You can always scroll up and open the Default Content Directory where the default stuff is and switch between them or drag content between them]] | |||
'''Step 5''' | |||
[[File:Make a new Plugin5.png|none|thumb|1345x1345px|After the content is added and done you open the "Window" & "Project Launcher"]] | |||
'''Step 6''' | |||
[[File:Make a new Plugin11.png|none|thumb|1333x1333px|When doing this for the first time we need to create 2 launch profiles, one for maingame and one for DLC (Both are need to pack the mod) Press the Orange + to add a new profile]] | |||
'''Step 7''' | |||
[[File:Make a new Plugin6.png|none|thumb|1350x1350px|Name the Launch profile something like "MainGame" & check/set so the red ringed settings match ]] | |||
'''Step 8''' | |||
[[File:Make a new Plugin7.png|none|thumb|1350x1350px|check/set so the red ringed settings match and if you want '''you can set a custom''' "Local Directory Path" but '''i would recommed leaving that at default''']] | |||
'''Step 9''' | |||
[[File:Make a new Plugin8.png|none|thumb|1341x1341px|check/set so the red ringed settings match]] | |||
'''Step 10''' | |||
[[File:Make a new Plugin9.png|none|thumb|1331x1331px|Set the Version to 1.0, '''set the "Name of the DLC to build" to the same as the DLC Name in Step 3''' and check so the rest of the red ringed settings match]] | |||
'''Step 11''' | |||
[[File:Make a new Plugin10.png|none|thumb|1333x1333px|Launch the MainGame profile first & then Launch the DLC]] | |||
'''Step 12''' | |||
'''The mod .pak file will be this directory:''' | |||
C:\Users\X\Documents\UnrealProjects\TestProject\Plugins\TestDLC\Saved\StagedBuilds\WindowsNoEditor\TestProject\Plugins\TestDLC\Content\Paks\WindowsNoEditor\TestDLCTestProject-WindowsNoEditor.pak | |||
''Or if you specified something else it will be there'' | |||
'''Step 13''' | |||
Then grab the .pak '''and rename''' it to what you put in '''"Name of the DLC to build"''' MyFirstMod in this example, put it in a zip file and upload it to https://bergsbruk.mod.io/ | |||
'''Your done! Congratulations to your first mod!''' | |||
== Other Tutorials == | == Other Tutorials == | ||
'''If your new to blender we recomend watching this series to learn blender:''' | '''If your new to blender we recomend watching this series to learn blender:''' |
Latest revision as of 23:34, 4 January 2022
Welcome to modding for Bergsbruk! our goal has been to make this as easy as possible to add your own stuff, but remember you can only make stuff you legaly have ALL rights to (And you cant sell mods). Good Luck!
Software
Required Software:
- Unreal Engine 4.27 Free to use with a creators license Link:https://www.unrealengine.com/en-US/eulacheck/creators
- Blender Free to use 3D modeling software Link: https://www.blender.org/download/
- Example Project 1.4 Needed as a base for the mods Link: https://drive.google.com/file/d/1IxFqWMGjzFpML3dGe00c7mPgUImbV_Dc/view?usp=sharing
Optional Software:
- Substance Painter Expensive texturing software Link: https://store.steampowered.com/app/1454900/Substance_3D_Painter_2021
Modeling
Modeling for Bergsbruk is the same as for most games, with 2k-400k polys is recommended as anything above 400K gets tough for lowend users.
Mods in Bergsbruk are "encrypted" (not open to edit like FS) that way only the person with the mod project files can make edits, that also makes most bought models "legal" to use.
Any 3D software that support FBX export can be used but we recommend Blender.
USE THESE SCENE SETTINGS IN BLENDER! (Or the model will have the wrong scale but not show it and just behave like shit)
There are 2 Types of Meshes we use,
Static Meshes: Solid objects like Wheels, trackpads, Building objects lights etc, These do not need Rigging.
Skeletal Meshes: Moving objects like a vehicle with a Crane/Arm, or a tilting bucket etc, These need Rigging to work,
Vehicles are imported to Unreal without Wheels and Tracks, You only need to import one wheel (if all wheels are identical) or one Trackpad
Fillplanes & Cut Edge
All dirt moving Machinery/Attachements need 8 Fillplanes that range from 0 to 100% full and a Dirt Cut Edge that looks like the one in the pic but match the bucket or blade.
Dumpers & Trucks and other stuff that transport dirt only need 8 Fillplanes that range from 0 to 100% full
Loaders & Excavators that only have attachers do not need Fillplanes or the Dirt Cut Edge
Rigging
Rigging is done by having the chassie (where the wheels/engine are mounted) and the rest of the parts as "children" in a chain out from the Chassies
All part that just "Follow" (like hydraulic rams) Need to be at 90 Degree angles
as they need to point in the closest 90 degree direction to where they should be IRL.
Exporting
This is pretty simple, Export as Fbx to your texturing software, Bada bing bada booom almost done!
Texturing
Texturing for Bergsbruk is pretty simple, The UV mapping is the same boring thing it always been.
On the diffuse texture you only Paint Red for Wear, Green for Snow, Blue for Dirt, The machine/assets colour is in a diffrent place later on.
The diffuse needs to have a Solid Black background behind the Red Green Blue.
The Normal map format in Unreal Engine is DirectX. So if you bake normal map in Blender you need to set the green channel to -Y.
AO are made just like in any other game.
You can NOT use any Roughness or Metallic as this changes with Wear/Snow/Dirt
You can add wear to plastic and other stuff aswell, its editable later what the wear shows.
Do not use any textures over 2048x2048 as this will cause issues,
Importing to Unreal
Static Mesh
When importing wheels you want to use a Sphere Simplified Collision
Save & Close & Done! Mesh is imported and ready to be used!
Skeletal Mesh (Rigged)
Creating the Mod
Open the BergsbrukModding project
Find the Template or Example object closest to the thing you want to add (we will add those as we go along)
Duplicate that object and name it something like "MyModteam_BrandedDozer_Model666"
Otherwise the game might get a bit annoyed finding 7 vehicles named "Dozer"
Categories
- Vehicle
- Tool
- Building
- Part
- Misc
Types
- Dozer
- Excavator
- Loader
- Semitruck
- Pickuptruck
- Grader
- Crusher
- Dumper
Building object
In this you can add any static mesh you can think of or build,
you can also add in any effects or stuff as children to the "Build object" but always turn off collsions and never add any Collsions
Vehicle
Swap out the Vehicle base to your own skeletal mesh or keep it empty if the vehicle has no Skeletal mesh
These are the other infaces that need editing and are vehicle specific
Vehicle Addon
Start by duplicating the example Vehicle addon
Vehicle Attachment
Start by duplicating the example Vehicle attachment
Exporting & Uploading
Open the example project and follow the instructions below
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Step 7
Step 8
Step 9
Step 10
Step 11
Step 12
The mod .pak file will be this directory:
C:\Users\X\Documents\UnrealProjects\TestProject\Plugins\TestDLC\Saved\StagedBuilds\WindowsNoEditor\TestProject\Plugins\TestDLC\Content\Paks\WindowsNoEditor\TestDLCTestProject-WindowsNoEditor.pak
Or if you specified something else it will be there
Step 13
Then grab the .pak and rename it to what you put in "Name of the DLC to build" MyFirstMod in this example, put it in a zip file and upload it to https://bergsbruk.mod.io/
Your done! Congratulations to your first mod!
Other Tutorials
If your new to blender we recomend watching this series to learn blender:
- Blender Beginner Tutorial - Part 1: https://www.youtube.com/watch?v=TPrnSACiTJ4
- Blender Beginner Tutorial - Part 2: https://www.youtube.com/watch?v=RaT-uG5wgUw&t=2s
- Blender Beginner Tutorial - Part 3: https://www.youtube.com/watch?v=R2qjqqfkH6E
- Blender Beginner Tutorial - Part 4: https://www.youtube.com/watch?v=jmSgsaNSQ6s
- Blender Beginner Tutorial - Part 5: https://www.youtube.com/watch?v=6OTX3ZdYvEA
- Blender Beginner Tutorial - Part 6: https://www.youtube.com/watch?v=ZTxBrjN1ugA
- Blender Beginner Tutorial - Part 7: https://www.youtube.com/watch?v=5lr8QnR5WWU
Texturing in Blender
- Blender UV Mapping Tutorial: https://www.youtube.com/watch?v=XeBUfMKKZDo
- Blender Surface Texture Painting - Part 1: https://www.youtube.com/watch?v=GxUsg4x3iz8
- Blender Surface Texture Painting - Part 2: https://www.youtube.com/watch?v=4ibLLmoh3oY
- Blender Surface Texture Painting - Part 3: https://www.youtube.com/watch?v=hEH8TsGM78o
- Blender Surface Texture Painting - Part 4: https://www.youtube.com/watch?v=XJ__9yH5IPc
Fixing import issues Unreal
- Unreal Engine 4.27 Scale & Normals: https://www.youtube.com/watch?v=hDeT9tzBYTs