UnrealScript Game Programming Cookbook

(Chris Devlin) #1

Scripting a Camera System


80

Furthermore, it allows the camera to clip beneath the ground and turn it invisible.
If we continue to use the WeaponSocket socket, the camera pulls itself in, towards
the pawn, as we get closer to the ground. Use the one that best suits your needs.


  1. Finally, we change our hardcoded default properties:
    /* Hardcoded vector & rotator values for our camera /
    defaultproperties
    {
    CamOffset=(x=-340,y=70,z=0)
    CamOffsetRotation=(Yaw=53000)
    }


Again, this is purely a matter of preference. Adjust it accordingly.


  1. There is one final change to make, and that's in our TutorialPawn class. We
    need to change our GetBaseAimRotation method. This function is called by
    GetAdjustedAimFor in the player controller, which is the rotator for where the
    pawn will be aiming its shots. Essentially, we are telling the game to use the direction
    the pawn is facing for firing shots, and not the camera's. Add the following code:
    /*****
    USED FOR SIDE SCROLLING

    • Forces the weapon to use the pawn's direction for aiming,
      and not the camera's.

    • shots will be fired in the direction the gun is pointed.
      Used by PlayerController

    • Comment this out if you are not using the Side Scrolling
      Camera.

    • @return POVRot.
      *****/
      simulated singular event Rotator GetBaseAimRotation()
      {
      local rotator POVRot;




/** We simply use our rotation */
POVRot = Rotation;

/** If our Pitch is 0, then use RemoveViewPitch */
if( POVRot.Pitch == 0 )
{
POVRot.Pitch = RemoteViewPitch << 8;
}
return POVRot;
}


  1. Compile the project and take a look at your results!

Free download pdf