Friday, 7 December 2012

character rig and weights



the original proportions of the model are back now ive learnt to move the rig correctly


controls were added and moved around before it was weighted to get an idea of how it looks




weighted to some extent


weighted poses


comparison between weighted and none-weighted

Thursday, 6 December 2012

Videos


Pictures






Code used


class AIRandom2 extends GameAIController;

//declaring variables here means
//they may be used throughout this script
var Vector MyTarget;

//at the start of the level
simulated event PostBeginPlay()
{
    super.PostBeginPlay();

   //start the brain going at half second intervals
   SetTimer(0.5, true, 'BrainTimer');
}

function BrainTimer()
{
  //local variables are only used in this function
  local Pawn P;
  local float Distance;

  //check if theres another pawn, the pawn belongning to this controller isnt counted
  foreach WorldInfo.AllPawns(class'Pawn', P)
    {
          if (P != None)  //if there is one
          {

            //get the distance
            Distance = VSize2D(Pawn.Location - P.Location);

              //if its closer than 500
            if (Distance <= 500)
            {
             //make its location MyTarget
             MyTarget = P.Location;
             //so it doesnt fly up n down
             MyTarget.Z = P.Location.Z;
             //MoveTo the pawn
             GoToState('MoveAbout');
            }
            else  //if its too far away
            {
            //do whats in the function called MoveRandom()
            MoveRandom();
            }

          }
          else  //if there isnt another pawn
          {
            //call the function MoveRandom()
            MoveRandom();
          }
        }
}

function MoveRandom()

 local int OffsetX;
  local int OffsetY;

  //make a random number
  OffsetX = Rand(500)-Rand(500);
  OffsetY = Rand(500)-Rand(500);

       //some distance left or right and some distance in front or behind
    MyTarget.X = Pawn.Location.X + OffsetX;
    MyTarget.Y = Pawn.Location.Y + OffsetY;
       //so it doesnt fly up n down
       MyTarget.Z = Pawn.Location.Z;

    //move to the random location
    GoToState('MoveAbout');
}

state MoveAbout
{
Begin:
    //MoveTo makes it move to a location (vector)
    MoveTo(MyTarget);
}

defaultproperties
{

}

By Dean