Editing Blender To Zero-K
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 12: | Line 12: | ||
Blender comes with several add-ons and scripts, not all of which are enabled by default. While there are many additional ones you might have to pay for that could prove useful (meshmachine, decalmachine and hard ops are probably the most well known three) there are a few free add-ons you may wish to consider. You should absolutely go to the Edit->Preferences->Add-ons submenu and enable Node Wrangler, and Looptools. | Blender comes with several add-ons and scripts, not all of which are enabled by default. While there are many additional ones you might have to pay for that could prove useful (meshmachine, decalmachine and hard ops are probably the most well known three) there are a few free add-ons you may wish to consider. You should absolutely go to the Edit->Preferences->Add-ons submenu and enable Node Wrangler, and Looptools. | ||
− | To import s3o models from spring, you will need an addon which can be found [https://github.com/sanguinariojoe/blender_s3o_import here]. You need to download the python (.py) file and then use the Install button inside blender's add-ons submenu, pointing it at that .py file, so that blender knows how to import .s3o models | + | To import s3o models from spring, you will need an addon which can be found [https://github.com/sanguinariojoe/blender_s3o_import|here]. You need to download the python (.py) file and then use the Install button inside blender's add-ons submenu, pointing it at that .py file, so that blender knows how to import .s3o models. |
− | If you want to export animations, you will also need [https://github.com/Anarchid/blender2lus this] animation exporter, though the output it produces will likely still require manual adjustment and will not be covered by this tutorial. | + | If you want to export animations, you will also need [https://github.com/Anarchid/blender2lus|this] animation exporter, though the output it produces will likely still require manual adjustment and will not be covered by this tutorial. |
=== Importing a model (optional) === | === Importing a model (optional) === | ||
− | |||
− | |||
− | |||
− | |||
=== Importing textures === | === Importing textures === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Modelling for Zero-K === | === Modelling for Zero-K === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Texturing for Zero-K, and Spring texture oddities === | === Texturing for Zero-K, and Spring texture oddities === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Export the model to .dae format == | == Export the model to .dae format == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== A note on animation === | === A note on animation === | ||
− | |||
− | |||
== Set up texture associations and .dae.lua metadata == | == Set up texture associations and .dae.lua metadata == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Set up Zero-K mod that contains and uses your files == | == Set up Zero-K mod that contains and uses your files == | ||
− | |||
− | |||
− | == | + | == Run Zero-K and point at your mod == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == Fix whatever isn't right == |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== The other bits == | == The other bits == | ||
Line 155: | Line 68: | ||
Next, go to the world tab [[File:Blender_world_tab.png]] and activate Ambient Occlusion. Factor should be 1.0, and the distance parameter depends on how large your model is. You may have to tweak this value until the resulting bake looks correct, but start with a distance parameter somewhere around 25% to 50% of the width of your model, turning it up if this is not sufficient. | Next, go to the world tab [[File:Blender_world_tab.png]] and activate Ambient Occlusion. Factor should be 1.0, and the distance parameter depends on how large your model is. You may have to tweak this value until the resulting bake looks correct, but start with a distance parameter somewhere around 25% to 50% of the width of your model, turning it up if this is not sufficient. | ||
− | To properly bake, we need somewhere to put the texture - so open up a shader node window somewhere, select the ground plane and make sure that it is using a new material and that material is using nodes. Connect a texture node using the Ctrl-T shortcut. Press New to make a new texture, and set it to the appropriate size - typically 512px square for something the size of a factory or 128px square for smaller buildings. Set the image | + | To properly bake, we need somewhere to put the texture - so open up a shader node window somewhere, select the ground plane and make sure that it is using a new material and that material is using nodes. Connect a texture node using the Ctrl-T shortcut. Press New to make a new texture, and set it to the appropriate size - typically 512px square for something the size of a factory or 128px square for smaller buildings. Set the image colorspace to non-color data to prevent shading artefacts later. Make sure this texture node has been clicked on and is selected, because it's the last selected texture for each relevant object that receives the bake. |
Finally we're almost ready to do the baking! Return to the render tab [[File:Blender_render_tab.png]] and scroll down to the Bake section. From the Bake Type dropdown select Ambient Occlusion. Make sure that Selected to Active is OFF, as that is intended to transfer high poly modelling data to low poly objects and we actually do want just a general scene-wide bake of ambient occlusion, it's just we only care about the result on this one ground plane object. Margin can be adjusted but the default of 16px is probably fine. | Finally we're almost ready to do the baking! Return to the render tab [[File:Blender_render_tab.png]] and scroll down to the Bake section. From the Bake Type dropdown select Ambient Occlusion. Make sure that Selected to Active is OFF, as that is intended to transfer high poly modelling data to low poly objects and we actually do want just a general scene-wide bake of ambient occlusion, it's just we only care about the result on this one ground plane object. Margin can be adjusted but the default of 16px is probably fine. | ||
Line 178: | Line 91: | ||
<pre> | <pre> | ||
− | buildingGroundDecalDecaySpeed = 30, --Seconds decal | + | buildingGroundDecalDecaySpeed = 30, --Seconds decal fades in or out of existence? |
− | buildingGroundDecalSizeX = 12, --Size of | + | buildingGroundDecalSizeX = 12, --Size of decal X axis in footprint units |
− | buildingGroundDecalSizeY = 12, --Size of | + | buildingGroundDecalSizeY = 12, --Size of decal Y axis in footprint units |
buildingGroundDecalType = [[unitname_aoplane.dds]], --filename of decal | buildingGroundDecalType = [[unitname_aoplane.dds]], --filename of decal | ||
Line 192: | Line 105: | ||
=== unitpic === | === unitpic === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |