playMaker

Author Topic: First person character controller help  (Read 3700 times)

Adam Z

  • Full Member
  • ***
  • Posts: 207
First person character controller help
« on: October 12, 2012, 12:07:39 PM »
First I'd like to say Im new to Playmaker.  

Im using the sample character controller provided which provides movement, but no mouse look.  What Im trying to achieve is a mech style game-play with a torso that rotates.  I would like to have it work like a typical character controller, where you look is where you're going to move, etc.  But if you hold down the middle mouse button, the torso will rotate up to a fixed angle along with the camera. When you un-click the mouse button, it will snap back to the original position with a nice tween. So you're headed in one direction, and when you click and hold the mouse button your torso with the guns and camera will be able to look/shoot in various directions, but continue along the same direction as before you held-down the button.

Right now it sort of works.  I have 5 meshes: a cylinder, legs, torso, gun, head.  The cylinder is the character controller with the sample scripts attached.  That has the forward, back, and strafing movements. That works.

The gun and head is parented to the torso, along with the camera.  Attached to the torso is 'Mouse Look'. So the rotation of the torso is correct.  So now I can move in one direction and look anywhere.  Although the mouse look (Y axis) is inverted, and the only way I can seem to change that is within the input manager.

  • I want to add an action; 'Get Key Down' to allow the torso to move independently when a key is pressed.  How do you link that Action with the 'Mouse Look' Action?
    .
  • And how do you allow 'Mouse Look' to work when you're not pressing the mouse button, so you want to be able to control the direction of the mech?

Any thoughts or suggestions would be much appreciated!  Thanks!!



« Last Edit: October 12, 2012, 12:10:14 PM by adamzeliasz »

Adam Z

  • Full Member
  • ***
  • Posts: 207
Re: First person character controller help
« Reply #1 on: October 12, 2012, 01:46:44 PM »
I was able to solve my first problem, so now Im able to hold down the middle mouse button and look around.  When I release it, I can't look around anymore which is fine, but I would like it to snap back to the original position with a nice tween. Do I need to use a 'Get Axis Vector'?

Right now I have it setup as:

START

LookIndependentOff
Transition Event: MOUSE DOWN
States: Get Mouse Button Down

LookIndependentOn
Transition Event: MOUSE UP
States: Mouse Look, Get Mouse Button Up

What else should I add to have the 'LookIndependentOff' know the camera position, and have the 'LookIndependentOn' snap to that information?

Thanks!
« Last Edit: October 12, 2012, 01:49:01 PM by adamzeliasz »

Adam Z

  • Full Member
  • ***
  • Posts: 207
Re: First person character controller help
« Reply #2 on: October 15, 2012, 09:35:03 AM »
Anyone? :)

kiriri

  • Hero Member
  • *****
  • Posts: 506
Re: First person character controller help
« Reply #3 on: October 15, 2012, 11:23:27 AM »
eh so you first enable and disable the camera look around script on the torso of your character, right? then when it's disabled you want it to snap back to its' original position? I get the x and y rotation (get rotation) of your torso object and use set rotation on every frame. then use ease float to ease the rotation values from whatever the camera look around script made them to 0 . (or whatever it first was. since it's in a hierarchy (hopefully!) it should always be the same local rotation) .

If this doesn't help you could send me a scene file (PM) and I'd do it for you, whatever it is you need :)

EDIT: That came out at least just as mangled as your description... sorry :D
« Last Edit: October 15, 2012, 11:56:41 AM by kiriri »
Best,
Sven

Adam Z

  • Full Member
  • ***
  • Posts: 207
Re: First person character controller help
« Reply #4 on: October 15, 2012, 11:35:11 AM »
eh so you first enable and disable the camera look around script on the torso of your character, right? then when it's disabled you want it to snap back to its' original position? I get the x and y rotation (get rotation) of your torso object and use set rotation on every frame. then use ease float to ease the rotation values from whatever the camera look around script made them to 0 . (or whatever it first was. since it's in a hierarchy (hopefully!) it should always be the same local rotation) .

If this doesn't help you could send me a scene file (PM) and I'd do it for you, whatever it is you need :)

Right now when you click and hold the middle mouse button, you're able to look freely with the torso rotation, allowing you you move forward, backward, and strafe independently of where you're looking.  When I un-click the middle mouse button it stays at the current position. What I would like is that when you release the mouse button, it will snap back to the Z direction, so when you press the forward button you'll be looking in that direction.

Adam Z

  • Full Member
  • ***
  • Posts: 207
Re: First person character controller help
« Reply #5 on: October 15, 2012, 11:39:06 AM »
If you wouldnt mind coding it for me so I can see how you set it up, that would be great! Im still new to scripting, so reverse-engineering what you set up would definitely be helpful! What's the easiest way to package up my scene for a smaller file size?