Thursday, May 17, 2012

Modeling a Colonial Destroyer

I've been busy this past week.  The time I have spent on Battlestar has been devoted to building a new destroyer for Colonial faction.  Having spent very little time creating models before this, it took me awhile to get a good grasp on the process.  After many failed attempts, I finally produced a semi-finished product.  This is the Battlestar Hermes (at least a Hermes class destroyer) after texturing it in 3D Coat:

This model does not include the turrets.  I decided to add those in Unity itself due to my plans on how to get the turrets and ship to interact.  I actually think I did a decent job of building the model...

However, there were issues in importing it into Unity3D.  I still have not resolved these issues.  The problem is that the texture map is not fully porting over to Unity.  The main engine part of the ship is not textured in Unity.  Here are some screen shots of the destroyer in Unity:

I'm done (mostly due to frustration) with importing the destroyer for now.  I decided to move onto creating the scripts to control the destroyer.  The destroyer, which should be like the other capital ships, will need the same scripts involved in defining a fighter craft.  Player data, vehicle data, flight control and damage control should all work on the capital ship.  Fire control will not exist; however, a turret supersivor script will replace it.  The turret supervisor will load each turret with its important data, such as: firing zones, firing rate, turn rate and so on. 

The turrets will also need control scripts.  Each turret will have a player data (I'm still debating this; however, it will probably be included for score tracking purposes), vehicle data and fire control scripts.  Instead of a flight control, it will have a turret control.  This script will be in charge with the task of turning the turret and making sure it does not go into a fire cutout zone (i.e. pointing the turret at part of the ship). 

These are just control scripts.  In addition, the capital ship and the turrets will have dedicated artificial intelligence scripts.  The turret AI script will get inputs from the destroyer's AI script.  The destroyer will pass target information or will toggle the turret to a certain direction for a sustained covering fire. 

The main issue that I forsee is the parent/child relationship between ship and turret.  My goal is to make each turret a destructable object.  A viper (or a cylon raider) could knock out a turret (and some mission objectives will revolve around this).  However, the way Unity handles collisions might make this somewhat problematic.  I might have to write a dedicated damage control script for child game objects.

Once I get the turrets to work (at least in the damage control sense), I will create missile launch silos.  These, like turrets, will be destructable objects.  Cylons will rely on missiles while Colonial forces will rely on turrets.  After the creation of missile silos, I will go back to creating models.  I will need a Cylon destroyer (a smaller ship than the Basestar) to allow adequate testing.  The player will be able to destroy turrets and silos at that point...

No comments:

Post a Comment