Deliverator
Graphical Hackificator
Nexus Buddy 2 is a tool for importing and altering 3D Graphics in Civ 5 and Beyond Earth. It allows new textures to assigned to existing models and for completely new 3D models to be imported from FBX and/or BR2 format files.
Installation
In order to run Nexus Buddy 2 you need to perform the following steps:
1) Create a folder called "Dummy" somewhere on your hard drive. Within it create two folders one called "Assets" (plural) and one "Resource" (singular).
2) Now using Regedit create an entry under HKEY_CURRENT_USER\Software\Firaxis\Tools called "ToolAssetPath". Set the value to the location of your Dummy directory. You will need to create the ..\Firaxis\Tools folder if it does not exist.
3) Now you should be able to run the Nexus Buddy 2 executable from wherever you have unzipped it.
User Guide by @Protok St (relevant for both Civ V and Beyond Earth): link
Latest Version: Nexus Buddy 2 versions
Latest Blender Scripts for Nexus Buddy 2: download here
Both Blender 2.7+ and Blender 2.49 are supported.
Latest Source Code - source code available on Github.
Latest Changelog: 2.5.2 - 5th March 2019
* Can now open and export all models including for example marine.gr2 which wouldn't open previously.
* Can Export to CN6 format for import into Blender 2.7+. Make sure to use the latest Blender scripts to do this.
Changelog: 2.3.3 - 23rd April 2016
* Bugfix: The SREFMap is no longer overwritten with blacksref_sref.dds. The defaulting is now properly implemented without unwanted side effects!
* Bugfix: The options in the Axis dropdown for inserting a rotation bone are now properly labelled.
Changelog: 2.3.2 - 1st April 2016
* Improved stability of animation export by catching memory access violations and attempting to retry. This seems to allow almost all .gr2 animations to be successfully exported to NA2 format. Start and end time are automatically determined so they don't need to be manually entered (although they can still be over-ridden).
* Re-added Open BR2 under Additional Actions for full import of skeleton and mesh from BR2 format.
* When importing models from FBX or BR2 the Right Vector, Up Vector, Back Vector under ArtToolInfo are now set to the same values as for vanilla models. This corrects for the fact that different axes represent Up in Blender and CiV .gr2 - in Blender Z is Up but in CiV .gr2 Y is Up. The upshot of this is that models that appear upright in Blender will now appear upright in CiV .gr2 when imported from FBX (or full non-overwrite BR2).
Changelog: 2.3 - 25th March 2016
* Export Animations! You can now export animation data from Civ V and Civ BE and import it into Blender via the NA2 format. For more on this see the tutorial here.
* Insert Rescale Bone has been replaced by Insert Adjustment Bone which can alter the rotation of the model as well as the scale. This can be used to fix the orientation of your model after conversion to GR2. To insert a rotation bone just select an axis and a rotation angle in degrees. This should be stackable if you need to apply two or more rotations.
* Reorder FTSXML Triggers now also resets all the trigger ids to ensure they are unique beginning from 1. For FTimedTriggerTransfer entries the assumption is that the FTimedTriggerEffect that is referenced by the refid is the previous row; if this is not the case you may have to manually fix up the ids and refids.
* The SREFMap texture for UnitShader_Skinned now defaults to blacksref_sref.dds (an all black texture from the Civ V texture set).
Changelog: Nexus Buddy 2.2.4 - 7th March 2016
A set of new Additional Actions to support working with animation and effects.
* Reorder FTSXML Triggers - this will load any .ftsxml file and reorder the triggers rows by event code and also add in comment rows with a string description of the event code. The resulting file will be saved in the same directory with an underscore appended to the filename i.e. bob.ftsxml -> bob_.ftsxml.
Sample block:
This is to make it easier to see and edit the sounds and visual effects that are triggered with each animation.
* Convert all FBX Files in Directory to GR2 Animations - this is useful when you have exported a collection of FBXs from Blender with animation data and you simply want to batch convert them to GR2 format.
* Remove Animations and Save - useful if you have imported from FBX with Animation data but you want to make a clean Model and Mesh .gr2 file. This will remove all animation data leaving everything else intact.
* Insert Rescale Bone and Save - this will add a new bone to the top of the Skeleton bone hierarchy called NB2_RESCALE_BONE that will rescale the entire model. The scale must be specified in the Rescale Factor text box. The purpose of this is to provide a way of rescaling models without affecting the scale of the effects. See here for more. Warning: this is not designed to be repeatable and will overwrite your current file so make a copy first.
* Add Scaled FX Bone and Save - This is an experimental feature! This will add a new child bone to the bone specified in the Parent Bone dropdown list. This new bone will have the scale specified in the Rescale Factor text box. The new bone will have the name of the parent bone with the suffix "_FX". The idea with this was to see how effects alter when they are attached to a rescaled bone. So far I think that using the Art Defines <Scale> to get the right scale for effects then using the Insert Rescale Bone options is going to be more useful.
Old Changelogs
Changelog: Nexus Buddy 2.2.3 - 25th January 2016
* Added support for editing Leader background scenes - Leader_Transparent_Matte shader type and new Scene_Template for use with BR2 overwrite.
* Force Materials to have unique names which fixes a few issues with editing them.
* Some other small fixes and tidy up.
Changelog: Nexus Buddy 2.2.2 - 19th July 2015 - Bugfix Release
* Replaced flakey code for converting from float to half-precision floating point. This was causing issues when importing with binormal/tangents for Leaders.
Changelog: Nexus Buddy 2.2.1 - 6th July 2015 - Bugfix Release
* Occasional crash when clicking Save should now be fixed
* Fixed multiple file dialog issue when using "Resave All Files in Directory"
Changelog: Nexus Buddy 2.2 - 8th June 2015
Changes to support 3D Leader modding:
* Added support for reading in vertex binormals and tangents from .BR2 (see latest Blender 2.7x scripts) - in order to create meshes than have binormal and tangent data you need to check the 'Leader Format for Overwrite from BR2" checkbox before performing the overwrite. The purpose of this is so that the normal texture layers appear correctly in game for Leaders - see here.
* Texture file paths are now automatically pruned to just the filename.
* Fixed issue where you couldn't assign a material when there were multiple materials with the exact same name e.g. Alexander.
* Can no longer open a BR2 file directly. Added Ovwr. BR2 button to the header - this is the only reliable way to import mesh data.
* Remove several old redundant features.
If you are having problems getting Nexus Buddy 2 to run, then there are some things that have worked for others further down this thread, particularly at this post, this post and this post.
Latest Changelog: Nexus Buddy 2.1 - 28th October 2014
Changes to support working with Beyond Earth 3D Assets
+ Added facility to load .gsd string database files so that .gr2 3D models can be re-united with their string data. Once saved the results .gr2 files may be used in Civ 5 or Civ BE without the string database being required.
+ Added facility that will automatically load and resave all .gr2 files in directory in a subdirectory called /resaveBatch. This is helpful in batch resaving .gr2 files so that they can be used in either Civ 5 or Civ Beyond Earth.
+ Minor bug fixes and tweaks
Tutorial on working with Beyond Earth models to follow, but for now read this post.
The key point is that you need to load the relevant string database first using Load String Database under Advanced Actions before loading the Civ BE .gr2 file.
Civ Beyond Earth unit exported via NB2 to Blender 2.49:
Latest Changelog: Beta 9 - 11th February 2014
+ Save Animation now saves Art Tool and Exporter info into the .gr2 - the lack of this was causing animations to appear twisted.
+ A new function called Export Model and Animation will separate a .gr2 file containing both a model and animation into two separate files. These will be written to a new folder /export.
Changelog: Beta 8 - 20th January 2014
Changes to support the modding of Wonders, Buildings, Citystyles, Improvements, etc.
+ Added the ability to select a current Model within .gr2 files that contain multiple Models.
+ The Mesh/Material assignment window is now filtered to show only Meshes belonging to the current model.
+ Overwrite Meshes from BR2 will now overwritten meshes for the currently selected Model.
+ Can now export only the currently selected model to NB2 from which it can be imported into Blender.
+ Added more warnings to prevent crashes when attempting to use View when either no file is loaded or a vanilla .gr2 has not yet been saved.
Changelog: Beta 7 - 17th September 2013
+ Reverted NB2 Export to use 6 decimal places for values rather than 8. This change was causing skeletons to be incorrect when imported to Blender.
+ Also added a check box allow NB2 export to use the old C++ code - no one should really need to use this - it's just for my own testing.
Changelog: Beta 6 - 27th June 2013
The instability of the FBX import has been made creating custom 3D art for Civ 5 frustrating so far. I now create a new file format, BR2, that can be exported from Blender and imported to GR2. So far direct import from BR2 is only tested for Units - otherwise it is experimental! However, the format can also be used to overwrite meshes in an existing GR2 allowing new custom Leader graphics to make use of existing animations.
Other changes/improvements in this version:
+ View and Export to NB2 no longer automatically save you current GR2 - you will need to do this manually again.
+ NB2 export no longer relies on a separate C++ executable - it is all now written in C# code
+ Several functions have been removed as they have been superseded by BR2 import/overwriting.
+ Floating point decimal places in both NB2 export from Nexus Buddy and BR2 export from Blender is now 8 digits rather than 6.
+ Globalisation issues with export files being created with commas for decimal points should now be fixed.
+ Mesh and Bone names that are too long for Blender 2.49 are stored in the Armature Object by the NB2 Import and retrieved by the BR2 Export Script.
A customized Wu made using the Overwrite Meshes feature:
Changelog: Beta 5 - 9th June 2013
+ New NB2 export allowing most 3D GR2 assets, including leaders, to be extracted into Blender without a glitch.
+ Added FBX > GR2 x5 and FBX > GR2 x20 functions to the existing FBX > GR2 x10.
+ Warning: View (open in Granny Viewer) and Export to NB2 will now automatically save your current file first. This is to eliminate errors when first opening the original game GR2 files.
Features
Improvements over old versions of Nexus Buddy:
+ Import from BR2 provides a way of successfully getting models with multiple meshes into the game. There is no longer any need to combine meshes and textures which is good news for Civ 4 conversions. See mini tutorial below. *
+ Support for all known Leader shader types - allowing for Leader textures to replaced/switched. **
+ Support for SimpleShader - the shader used by Features and some other things.
+ View button will open Granny Viewer for the current file.
+ Save Animation will save only the animation from your current GR2 into a new gr2 file. Handy for when you are creating brand new animations or porting from Civ 4.
+ Export to NB2 will export your GR2 into NB2 format. NB2 files can be simply imported into Blender using the latest import script. See also tutorial.
* FBX to Granny GR2 conversion generally mangles multi mesh objects.
** Leader textures can now be extracted using this tool.
User Guide
Open
Open a GR2 file or import a BR2 or FBX file.
Open FBX
Open an FBX file.
Save/Save As
Saves the current GR2 file.
Save Animation
Saves only the animation from your current GR2 into a new GR2 file.
View
Opens the current GR2 file in Granny Viewer.
Advanced Tab:
Export to NB2
Will export your GR2 into NB2 format. NB2 files can be simply imported into Blender using the latest import script. See also tutorial.
If the GrannyFile contains multiple Models, for example, Wonders and some Leaders, then each model will be exported as a separate NB2 file with the suffix _model0.nb2, _model1.nb2, etc.
Overwrite Meshes from BR2
This is a very useful function which will overwrite the meshes in the currently open GR2 with the mesh data from a BR2 file that has been exported from Blender. This can be used when you want to customise the meshes an existing 3D Leader or create a new 3D Leader that uses the animations of an existing one. See this post.
Load String Database
This allows you to load the data from string database .gsd files. For Civ BE .gr2 files loading the relevant string database needs to be done first before loading the .gr2 so that the string names (Mesh Names, Material Names, Texture Paths, etc) are all populated. Using Save As to resave the file will create a .gr2 that includes all the missing string data.
Resave All GR2 Files in Directory
This will load and resave all the .gr2s files in a directory in a new subdirectory called resaveBatch.
If you have first loaded a string database, the Resave All Files in Directory provides a batch facility for apply the string names to all .gr2 files in a directory. This will create a new copy of every .gr2 with the string names populated so I haven't used it for all the units at once - it will take a while and create a shedload of data. What I've done the model .gr2 and all animation .gr2 files to a directory and then used Resave All Files on that after loading the string database.
This facility can also be used simply to allow all .gr2 models and animations in Granny Viewer as files need to be resaved before this is possible.
Tutorials on 3D Graphics in Civ 5 and using Nexus Buddy 2
Civ5 Modding 3D Graphics for Absolute Beginners
Performing a simple unit reskin
Extract GR2 to Blender with mesh and skeleton and re-export to GR2
Getting Civ 4 Units into Civ 5 - Full Conversion
Converting Civ 4 Units to Civ 5 - using Civ 5 animations - with Blender 2.7x
Modding 3D graphics for Wonders, Buildings, Citystyles, etc
Using Existing Unit Effects to Create Custom Units
Civilization V: Leader Graphics Modding Guide
Extract GR2 Animations into Blender and Re-Import to Civ V/Civ BE
Animation Tweaks of Existing Civ 5 Units
Known Issues/Tips
1. It is best to use Load String Database to load the relevant .gsd file first (e.g. expansion1models_stringdatabase.gsd) before opening and re-saving .gr2 files so they can be viewed and exported.
2. Sometimes BR2 export has zeros for all normals and will cause normals to be incorrect after import. This seems be resolved by switching on display normals in Blender.
3. Some models don't export all meshes to NB2 because some meshes are not in the Model's Mesh Bindings. e.g. Indian Elephant.
4. Some models' skeletons are not correctly imported to Blender via NB2 when using the Blender 2.49 scripts e.g. Spearman, Siamese Elephant. The solution is to use the newer Blender 2.7x scripts - you can save a .blend file using Legacy Mesh Format to get the model into Blender 2.49.
5. You may need to split up your meshes when your model has more than 32 bones - see this post.
6. You also need to ensure every separate mesh in your model is rigged to at least two bones. This is commonly an issue for weapons and human units. Duplicating and hiding a triangle is one solution or joining any unseen triangle from the body to the weapon mesh ensuring that it is rigged to a different bone from the weapon - a hand or foot etc. See here for more on this top tip!
Future Plans and Ideas
1. Extend Leader shader support to allow float and integer parameters to be viewed and edited.
Credits
@lemmy101 and @CaptainBinky for the original Nexus Buddy code.
@S3rgeus for decompiling the Nexus Buddy source and fixing it up so it could be recompiled.
Installation
In order to run Nexus Buddy 2 you need to perform the following steps:
1) Create a folder called "Dummy" somewhere on your hard drive. Within it create two folders one called "Assets" (plural) and one "Resource" (singular).
2) Now using Regedit create an entry under HKEY_CURRENT_USER\Software\Firaxis\Tools called "ToolAssetPath". Set the value to the location of your Dummy directory. You will need to create the ..\Firaxis\Tools folder if it does not exist.
3) Now you should be able to run the Nexus Buddy 2 executable from wherever you have unzipped it.
User Guide by @Protok St (relevant for both Civ V and Beyond Earth): link
Latest Version: Nexus Buddy 2 versions
Latest Blender Scripts for Nexus Buddy 2: download here
Both Blender 2.7+ and Blender 2.49 are supported.
Latest Source Code - source code available on Github.
Latest Changelog: 2.5.2 - 5th March 2019
* Can now open and export all models including for example marine.gr2 which wouldn't open previously.
* Can Export to CN6 format for import into Blender 2.7+. Make sure to use the latest Blender scripts to do this.
Changelog: 2.3.3 - 23rd April 2016
* Bugfix: The SREFMap is no longer overwritten with blacksref_sref.dds. The defaulting is now properly implemented without unwanted side effects!
* Bugfix: The options in the Axis dropdown for inserting a rotation bone are now properly labelled.
Changelog: 2.3.2 - 1st April 2016
* Improved stability of animation export by catching memory access violations and attempting to retry. This seems to allow almost all .gr2 animations to be successfully exported to NA2 format. Start and end time are automatically determined so they don't need to be manually entered (although they can still be over-ridden).
* Re-added Open BR2 under Additional Actions for full import of skeleton and mesh from BR2 format.
* When importing models from FBX or BR2 the Right Vector, Up Vector, Back Vector under ArtToolInfo are now set to the same values as for vanilla models. This corrects for the fact that different axes represent Up in Blender and CiV .gr2 - in Blender Z is Up but in CiV .gr2 Y is Up. The upshot of this is that models that appear upright in Blender will now appear upright in CiV .gr2 when imported from FBX (or full non-overwrite BR2).
Changelog: 2.3 - 25th March 2016
* Export Animations! You can now export animation data from Civ V and Civ BE and import it into Blender via the NA2 format. For more on this see the tutorial here.
* Insert Rescale Bone has been replaced by Insert Adjustment Bone which can alter the rotation of the model as well as the scale. This can be used to fix the orientation of your model after conversion to GR2. To insert a rotation bone just select an axis and a rotation angle in degrees. This should be stackable if you need to apply two or more rotations.
* Reorder FTSXML Triggers now also resets all the trigger ids to ensure they are unique beginning from 1. For FTimedTriggerTransfer entries the assumption is that the FTimedTriggerEffect that is referenced by the refid is the previous row; if this is not the case you may have to manually fix up the ids and refids.
* The SREFMap texture for UnitShader_Skinned now defaults to blacksref_sref.dds (an all black texture from the Civ V texture set).
Changelog: Nexus Buddy 2.2.4 - 7th March 2016
A set of new Additional Actions to support working with animation and effects.
* Reorder FTSXML Triggers - this will load any .ftsxml file and reorder the triggers rows by event code and also add in comment rows with a string description of the event code. The resulting file will be saved in the same directory with an underscore appended to the filename i.e. bob.ftsxml -> bob_.ftsxml.
Sample block:
Spoiler :
Code:
<triggers>
<!-- 1100 AttackA -->
<trigger type="FTimedTriggerSound" id="100" time="0" duration="1" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BATTLE_AMB_VOX_T1" bone="" tier="1" />
<trigger type="FTimedTriggerSound" id="100" time="0" duration="1" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BATTLE_AMB_VOX_T2" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="27" time="0.298148245" duration="0" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_ATTACK_VOX_H" bone="" tier="-1" />
<trigger type="FTimedTriggerSound" id="28" time="0.00370370364" duration="1" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BAT_AMB_T2_$(WEAPON)" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="29" time="0.266667068" duration="0" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_SWORD_SWING" bone="" tier="-1" />
<trigger type="FTimedTriggerSound" id="31" time="0" duration="1" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BATTLE_AMB_VOX_T2" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="36" time="0" duration="1" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BAT_AMB_T1_$(WEAPON)" bone="" tier="1" />
<trigger type="FTimedTriggerSound" id="77" time="0.2558064" duration="0" repeat="0" ec="1100" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_ARMOUR_MOVE" bone="" tier="-1" />
<trigger type="FTimedTriggerEffect" id="10" time="0.237037" duration="0.233333" repeat="0" ec="1100" track="2" event="ART_DEF_VEFFECT_UNIT_SWORD_TRAIL_01" bone="Sword" />
<trigger type="FTimedTriggerAction" id="103" time="0.303704" duration="0" repeat="0" ec="1100" track="4" action="1" />
<!-- 1120 Charge_Run -->
<trigger type="FTimedTriggerSound" id="47" time="0" duration="0" repeat="0" ec="1120" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_RUN_CHRG_VOX_T2" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="47" time="0" duration="0" repeat="0" ec="1120" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_RUN_CHRG_VOX_T1" bone="" tier="1" />
<trigger type="FTimedTriggerSound" id="63" time="0.02963" duration="0" repeat="0" ec="1120" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_HORSE_RUN_$(TERRAIN)" bone="" tier="-1" />
<trigger type="FTimedTriggerSound" id="73" time="0.096296" duration="0" repeat="0" ec="1120" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_ARMOUR_MOVE" bone="" tier="-1" />
<trigger type="FTimedTriggerEffect" id="6" time="0" duration="0.533333" repeat="0" ec="1120" track="2" event="ART_DEF_VEFFECT_DUST_TRAIL_MD" bone="Horse" />
<!-- 1140 Charge_Attack -->
<trigger type="FTimedTriggerSound" id="26" time="0.511111" duration="0" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_HORSE_RUN_$(TERRAIN)" bone="" tier="-1" />
<trigger type="FTimedTriggerSound" id="33" time="0" duration="1" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BATTLE_AMB_VOX_T1" bone="" tier="1" />
<trigger type="FTimedTriggerSound" id="34" time="0" duration="1" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BATTLE_AMB_VOX_T2" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="37" time="0" duration="1" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BAT_AMB_T1_$(WEAPON)" bone="" tier="1" />
<trigger type="FTimedTriggerSound" id="38" time="0" duration="1" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_BAT_AMB_T2_$(WEAPON)" bone="" tier="2" />
<trigger type="FTimedTriggerSound" id="58" time="0.029629" duration="0" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_HORSE_RUN_$(TERRAIN)" bone="" tier="-1" />
<trigger type="FTimedTriggerSound" id="81" time="0.315129" duration="0" repeat="0" ec="1140" track="1" event="AS3D_UNIT_U_POLISH_WINGED_HUSSAR_ATTACK_VOX_H" bone="" tier="-1" />
....
This is to make it easier to see and edit the sounds and visual effects that are triggered with each animation.
* Convert all FBX Files in Directory to GR2 Animations - this is useful when you have exported a collection of FBXs from Blender with animation data and you simply want to batch convert them to GR2 format.
* Remove Animations and Save - useful if you have imported from FBX with Animation data but you want to make a clean Model and Mesh .gr2 file. This will remove all animation data leaving everything else intact.
* Insert Rescale Bone and Save - this will add a new bone to the top of the Skeleton bone hierarchy called NB2_RESCALE_BONE that will rescale the entire model. The scale must be specified in the Rescale Factor text box. The purpose of this is to provide a way of rescaling models without affecting the scale of the effects. See here for more. Warning: this is not designed to be repeatable and will overwrite your current file so make a copy first.
* Add Scaled FX Bone and Save - This is an experimental feature! This will add a new child bone to the bone specified in the Parent Bone dropdown list. This new bone will have the scale specified in the Rescale Factor text box. The new bone will have the name of the parent bone with the suffix "_FX". The idea with this was to see how effects alter when they are attached to a rescaled bone. So far I think that using the Art Defines <Scale> to get the right scale for effects then using the Insert Rescale Bone options is going to be more useful.
Old Changelogs
Changelog: Nexus Buddy 2.2.3 - 25th January 2016
* Added support for editing Leader background scenes - Leader_Transparent_Matte shader type and new Scene_Template for use with BR2 overwrite.
* Force Materials to have unique names which fixes a few issues with editing them.
* Some other small fixes and tidy up.
Spoiler :
Changelog: Nexus Buddy 2.2.2 - 19th July 2015 - Bugfix Release
* Replaced flakey code for converting from float to half-precision floating point. This was causing issues when importing with binormal/tangents for Leaders.
Changelog: Nexus Buddy 2.2.1 - 6th July 2015 - Bugfix Release
* Occasional crash when clicking Save should now be fixed
* Fixed multiple file dialog issue when using "Resave All Files in Directory"
Changelog: Nexus Buddy 2.2 - 8th June 2015
Changes to support 3D Leader modding:
* Added support for reading in vertex binormals and tangents from .BR2 (see latest Blender 2.7x scripts) - in order to create meshes than have binormal and tangent data you need to check the 'Leader Format for Overwrite from BR2" checkbox before performing the overwrite. The purpose of this is so that the normal texture layers appear correctly in game for Leaders - see here.
* Texture file paths are now automatically pruned to just the filename.
* Fixed issue where you couldn't assign a material when there were multiple materials with the exact same name e.g. Alexander.
* Can no longer open a BR2 file directly. Added Ovwr. BR2 button to the header - this is the only reliable way to import mesh data.
* Remove several old redundant features.
If you are having problems getting Nexus Buddy 2 to run, then there are some things that have worked for others further down this thread, particularly at this post, this post and this post.
Spoiler :
Latest Changelog: Nexus Buddy 2.1 - 28th October 2014
Changes to support working with Beyond Earth 3D Assets
+ Added facility to load .gsd string database files so that .gr2 3D models can be re-united with their string data. Once saved the results .gr2 files may be used in Civ 5 or Civ BE without the string database being required.
+ Added facility that will automatically load and resave all .gr2 files in directory in a subdirectory called /resaveBatch. This is helpful in batch resaving .gr2 files so that they can be used in either Civ 5 or Civ Beyond Earth.
+ Minor bug fixes and tweaks
Tutorial on working with Beyond Earth models to follow, but for now read this post.
The key point is that you need to load the relevant string database first using Load String Database under Advanced Actions before loading the Civ BE .gr2 file.
Civ Beyond Earth unit exported via NB2 to Blender 2.49:
Latest Changelog: Beta 9 - 11th February 2014
+ Save Animation now saves Art Tool and Exporter info into the .gr2 - the lack of this was causing animations to appear twisted.
+ A new function called Export Model and Animation will separate a .gr2 file containing both a model and animation into two separate files. These will be written to a new folder /export.
Changelog: Beta 8 - 20th January 2014
Changes to support the modding of Wonders, Buildings, Citystyles, Improvements, etc.
+ Added the ability to select a current Model within .gr2 files that contain multiple Models.
+ The Mesh/Material assignment window is now filtered to show only Meshes belonging to the current model.
+ Overwrite Meshes from BR2 will now overwritten meshes for the currently selected Model.
+ Can now export only the currently selected model to NB2 from which it can be imported into Blender.
+ Added more warnings to prevent crashes when attempting to use View when either no file is loaded or a vanilla .gr2 has not yet been saved.
Changelog: Beta 7 - 17th September 2013
+ Reverted NB2 Export to use 6 decimal places for values rather than 8. This change was causing skeletons to be incorrect when imported to Blender.
+ Also added a check box allow NB2 export to use the old C++ code - no one should really need to use this - it's just for my own testing.
Changelog: Beta 6 - 27th June 2013
The instability of the FBX import has been made creating custom 3D art for Civ 5 frustrating so far. I now create a new file format, BR2, that can be exported from Blender and imported to GR2. So far direct import from BR2 is only tested for Units - otherwise it is experimental! However, the format can also be used to overwrite meshes in an existing GR2 allowing new custom Leader graphics to make use of existing animations.
Other changes/improvements in this version:
+ View and Export to NB2 no longer automatically save you current GR2 - you will need to do this manually again.
+ NB2 export no longer relies on a separate C++ executable - it is all now written in C# code
+ Several functions have been removed as they have been superseded by BR2 import/overwriting.
+ Floating point decimal places in both NB2 export from Nexus Buddy and BR2 export from Blender is now 8 digits rather than 6.
+ Globalisation issues with export files being created with commas for decimal points should now be fixed.
+ Mesh and Bone names that are too long for Blender 2.49 are stored in the Armature Object by the NB2 Import and retrieved by the BR2 Export Script.
A customized Wu made using the Overwrite Meshes feature:
Changelog: Beta 5 - 9th June 2013
+ New NB2 export allowing most 3D GR2 assets, including leaders, to be extracted into Blender without a glitch.
+ Added FBX > GR2 x5 and FBX > GR2 x20 functions to the existing FBX > GR2 x10.
+ Warning: View (open in Granny Viewer) and Export to NB2 will now automatically save your current file first. This is to eliminate errors when first opening the original game GR2 files.
Features
Improvements over old versions of Nexus Buddy:
+ Import from BR2 provides a way of successfully getting models with multiple meshes into the game. There is no longer any need to combine meshes and textures which is good news for Civ 4 conversions. See mini tutorial below. *
+ Support for all known Leader shader types - allowing for Leader textures to replaced/switched. **
+ Support for SimpleShader - the shader used by Features and some other things.
+ View button will open Granny Viewer for the current file.
+ Save Animation will save only the animation from your current GR2 into a new gr2 file. Handy for when you are creating brand new animations or porting from Civ 4.
+ Export to NB2 will export your GR2 into NB2 format. NB2 files can be simply imported into Blender using the latest import script. See also tutorial.
* FBX to Granny GR2 conversion generally mangles multi mesh objects.
** Leader textures can now be extracted using this tool.
User Guide
Open
Open a GR2 file or import a BR2 or FBX file.
Open FBX
Open an FBX file.
Save/Save As
Saves the current GR2 file.
Save Animation
Saves only the animation from your current GR2 into a new GR2 file.
View
Opens the current GR2 file in Granny Viewer.
Advanced Tab:
Export to NB2
Will export your GR2 into NB2 format. NB2 files can be simply imported into Blender using the latest import script. See also tutorial.
If the GrannyFile contains multiple Models, for example, Wonders and some Leaders, then each model will be exported as a separate NB2 file with the suffix _model0.nb2, _model1.nb2, etc.
Overwrite Meshes from BR2
This is a very useful function which will overwrite the meshes in the currently open GR2 with the mesh data from a BR2 file that has been exported from Blender. This can be used when you want to customise the meshes an existing 3D Leader or create a new 3D Leader that uses the animations of an existing one. See this post.
Load String Database
This allows you to load the data from string database .gsd files. For Civ BE .gr2 files loading the relevant string database needs to be done first before loading the .gr2 so that the string names (Mesh Names, Material Names, Texture Paths, etc) are all populated. Using Save As to resave the file will create a .gr2 that includes all the missing string data.
Resave All GR2 Files in Directory
This will load and resave all the .gr2s files in a directory in a new subdirectory called resaveBatch.
If you have first loaded a string database, the Resave All Files in Directory provides a batch facility for apply the string names to all .gr2 files in a directory. This will create a new copy of every .gr2 with the string names populated so I haven't used it for all the units at once - it will take a while and create a shedload of data. What I've done the model .gr2 and all animation .gr2 files to a directory and then used Resave All Files on that after loading the string database.
This facility can also be used simply to allow all .gr2 models and animations in Granny Viewer as files need to be resaved before this is possible.
Tutorials on 3D Graphics in Civ 5 and using Nexus Buddy 2
Civ5 Modding 3D Graphics for Absolute Beginners
Performing a simple unit reskin
Extract GR2 to Blender with mesh and skeleton and re-export to GR2
Getting Civ 4 Units into Civ 5 - Full Conversion
Converting Civ 4 Units to Civ 5 - using Civ 5 animations - with Blender 2.7x
Modding 3D graphics for Wonders, Buildings, Citystyles, etc
Using Existing Unit Effects to Create Custom Units
Civilization V: Leader Graphics Modding Guide
Extract GR2 Animations into Blender and Re-Import to Civ V/Civ BE
Animation Tweaks of Existing Civ 5 Units
Known Issues/Tips
1. It is best to use Load String Database to load the relevant .gsd file first (e.g. expansion1models_stringdatabase.gsd) before opening and re-saving .gr2 files so they can be viewed and exported.
2. Sometimes BR2 export has zeros for all normals and will cause normals to be incorrect after import. This seems be resolved by switching on display normals in Blender.
3. Some models don't export all meshes to NB2 because some meshes are not in the Model's Mesh Bindings. e.g. Indian Elephant.
4. Some models' skeletons are not correctly imported to Blender via NB2 when using the Blender 2.49 scripts e.g. Spearman, Siamese Elephant. The solution is to use the newer Blender 2.7x scripts - you can save a .blend file using Legacy Mesh Format to get the model into Blender 2.49.
5. You may need to split up your meshes when your model has more than 32 bones - see this post.
6. You also need to ensure every separate mesh in your model is rigged to at least two bones. This is commonly an issue for weapons and human units. Duplicating and hiding a triangle is one solution or joining any unseen triangle from the body to the weapon mesh ensuring that it is rigged to a different bone from the weapon - a hand or foot etc. See here for more on this top tip!
Future Plans and Ideas
1. Extend Leader shader support to allow float and integer parameters to be viewed and edited.
Credits
@lemmy101 and @CaptainBinky for the original Nexus Buddy code.
@S3rgeus for decompiling the Nexus Buddy source and fixing it up so it could be recompiled.
Attachments
-
nexus_buddy_2_bb1.jpg103.6 KB · Views: 27,883
-
nexus_buddy_2_bb_neb.jpg200.8 KB · Views: 1,527
-
nexus_buddy_2_bb_feature.jpg75.2 KB · Views: 1,281
-
nexus_buddy_2_bb_leader.jpg109.4 KB · Views: 1,337
-
stoneskin.jpg105 KB · Views: 28,137
-
nb2_beta6.jpg49.2 KB · Views: 26,802
-
wonder11.png127 KB · Views: 24,169
-
wonder12.jpg142.3 KB · Views: 24,513
Last edited: