Development:Tools:UnitConverter

From VsWiki
Revision as of 14:54, 4 November 2008 by Pyramid (talk | contribs) (Textures)
Jump to: navigation, search

Introduction

Raising from the stone age of workflows, in which every task, from texture conversion to editing of unit stats, had to be accomplished manually and only by quite knowledgeable magistrates who new the alchemy of units.csv columns, xmesh files, and had a magic with meshers. Now, UnitConverter shines upon us, still in the distance, but unmovable like a beacon on solid rock, to be the church of the artists, to accommodate the apostles of Blender, CineMut, and LaGrande, to bring the holy spirit of salvation to this compassionate universe of ours.

Quick Start Guide

Configuration

You must first configure the paths under Config including the application in the path:

  • path\data (to edit unit stats)
  • path\vegastrike.exe (to view model in Vega Strike)
  • path\mesher.exe (to convert model to bfxm)
  • path\nvcompress (to compress textures)

(There is no need to set the working dir, as this field is purely informational)

Integrating Models

Assuming you have exported:

  • ship mesh to Ship.obj
  • shield to Ship-Shield.obj
  • helpers to Ship-Mounts.obj

... the steps to convert your model are:

  • In UnitConverter, under "Model" add all three obj files to workspace.
  • Then select the main Ship model in the drop down.
  • Under "Textures" you add the ones you have provided.
  • Press "Save and Convert"
  • Press "Convert Textures"
  • Press "Copy Data"
  • Under "Unit" press "Save"
  • Under "View" press "View"

This will call vegastrike and the modelview.mission with your new unit enabled.

Converting Hud Image

Under "HUDImage":

  • Open the "Ship-hud.png" image using the "..." button
  • Press "Convert Image"
  • Press "Copy Data"
  • Under "Unit" press "Save"
  • Under "View" press "View"

Using Uncompressed Images

  • Under "Config" check the "Bypass compression" option.
  • Under "Textures" press "Save and Convert"
  • Press "Copy Data"
  • Under "View" press "View"

Adding Thruster, Docks, Mounts

  • Under "Model" press "Add Model"
  • Select the "Ship-Mounts.obj" file with your mount markers.
  • Under "Unit" and "Unit2" review the stats
  • Under "Unit" press "Save"
  • Under "View" press "View"

Editing Stats

  • Under "Unit", in "Unit name" write the units.csv key (e.g. Llama.begin)
  • Press "Load"
  • Edit fields under "Unit" and "Unit2"
  • Under "Unit" press "Save"

Getting Help

In case of problems, please report to the Unit Converter thread.

UnitConverter Tool

Requirements, Installation and Starting

The only requirement to run UnitConverter on your system is to have Python 2.5 installed on your system. No additional libraries are required.

You can download the latest version of UnitConverter from the Vega Strike svn repository trunk/modtools/UnitConverter.

To install, copy all files to a directory of your choice.

To run UnitConverter, open command line/shell, change to the installation directory, and depending your operating system type (without the ">" which denotes the command line prompt:

Windows:
> uc
Linux:
> ./uc
Other:
> python unitconverter.py

First thing you'll need to do is to configure the paths for Vega Strike data directory, mesher and nvcompress.

Models Workspace

Models Workspace Screen:

UnitConverter_f1_workspace.jpg

The following operations are available:

  • Clear Workspace - to start a new model integration
  • Add Model - to add a new model to workspace. The following files are accepted:
    • .obj file containing the model mesh
    • ?-Shield.obj file containing the shield mesh
    • ?-Marker.obj file containing the marker objects as described in the objects marker modeling section
    • .bfxm files to backward convert meshes to obj files
  • Clear Model - to remove the selected model from the workspace
  • Load Workspace - to load an .ini configuration file of the workspace
  • Active Model - change active model on the dropdown to edit its textures

It is important that your first model in workspace should be the main model, as further information like directory name and units.csv entry name will be derived from the main model name.

Under Model/Files the .obj and .mtl files for the active model will be displayed. Under Material Info you can find information on the .obj file's material library and material names.

To edit texture assignments, proceed to the Textures tab on the left.

Textures

Textures Screen:

UnitConverter_f2_textures.jpg

In this tab you can assign textures to model submeshes:

  • Under Submodels select the submesh you'd like to assign textures to. By default the first submesh is selected when the model is activated.
  • Add the available Textures 0-5 by pressing the ... buttons between the Input Texture and Output Texture columns and browse to the appropriate file. The output texture name will be set (naming convention: tex_model_submodel_texture.texture)
  • Select the appropriate Technique, i.e. leave it empty for conventional shading approach or choose e.g. cinemut_opaque if your input textures are provided with CineMut shader family compatible packing.
  • Select Blend mode.
    • For main meshes leave it at ONE ZERO
    • For shield mesh and blink light submeshes choose ONE ONE

Once you have assigned textures to all your submeshes, you can now start the conversion:

  • Press Save and Convert to save the texture assignment information and convert your model to Vega Strike compatible bfxm format.
  • You may Compress Textures using nvcompress if you have configured the command path previously
  • Finally, 'Copy Data will copy textures and bfxm files to the unit directory

To add the HUD image, proceed to the HUDImage tab on the left.

Advanced Usage - Converting faction textures

Faction textures must follow the naming of the default textures with prefixed faction name. When your default diffuse texture is dif.png and tex_000.texture, the faction input and output textures for the Uln faction will be uln_dif.png and uln_tex_000.texture and so on for all the other textures and factions.

Unit converter can assist you with DDS conversion of the input textures provided the naming convention is followed. To convert a faction texture:

  • Select the Faction from the drop down, then
  • Compress Textures, and when done
  • Cope Data to put the faction textures into the unit data directory

HUD Image

main.php?g2_view=core.DownloadItem&g2_itemId=10614&g2_serialNumber=2&ext=.jpg


Unit Editor

main.php?g2_view=core.DownloadItem&g2_itemId=10618&g2_serialNumber=2&ext=.jpg

main.php?g2_view=core.DownloadItem&g2_itemId=10620&g2_serialNumber=2&ext=.jpg


Configuration

main.php?g2_view=core.DownloadItem&g2_itemId=10612&g2_serialNumber=2&ext=.jpg


About

main.php?g2_view=core.DownloadItem&g2_itemId=10610&g2_serialNumber=2&ext=.jpg


Code Reference