Friday, 21 December 2012

2 different type of rock we should be looking at for the beach area,

Limestone:


And sandstone:


Different types of archways from limestone and sandstone.







Thursday, 20 December 2012

High Quality - Low polygon assests


In your 2D textures within hypershade, use your normal maps as "Tangent Space Normals" instead of bump, it will keep most of your rendered high poly model details. 


Although there is a couple of problems with UDK it doesn't seem to like the normal maps very much (maybe because i didn't unwrap my UV's). Although it will look better with a correct texture as it keeps most of it's detail.



Pretty good techniques for rocks alone: http://vimeo.com/6332832

Saturday, 8 December 2012

Friday, 7 December 2012

Landscape



Videos of latest mechanics

 
 
Static moving cams
 
 
 
 
Level Loading
 
 
 
 
More added cameras to temple

character animation

http://www.youtube.com/watch?v=tBATPHtyLAY&feature=youtu.be

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