3D 3rd and 1st person arms

Recommended Posts

I saw a video for start citizen that says they use the same rig/animations for both the 1st and 3rd person view (as opposed to floating arms). I haven't found any details on how they did it though. My initial issues would be a skinny character vs a fat character, where in first person you would have to warp the shoulder and crunch them closer to center of body so they fit in the frame.  I'm very curious how star citizen (or any other games) have implemented this. Most people seem to just chop off the 3rd person somewhere after the legs in first person so that you can see your legs, and then have just the arms in first person floating by the camera.

Share this post

Link to post
Share on other sites

The Arma games have always done this. The first one was almost 20 years ago and was a lot less polished (obviously) so is a good example of a naive approach. Most of the times the arms on screen simply don't look like traditional FPS gun/arms. Their first person "head bob" is also an emergent feature of putting the camera in the 3rd-person-player-model's head! The later ones allow you to disable head-on, which must be modifying the animations so that the head remains stable. 

The traditional way of drawing FPS arms is horribly unrealistic -- as an exercise, strap a GoPro to your face, grab a toy gun, and try to reproduce some footage that looks like an FPS. You have to contort your arms to achieve this task ;)

So one option is to simply produce realistic poses that *don't* look like traditional FPS poses... Show what it would actually look like, even if that means that the gun is off-screen. 

Alternatively, enter the animation hacks. When drawing someone is first person, add hacks that dampen head/neck movements. Disconnect the shoulders and neck from the skeleton and apply arbitrary offsets that result in the hands being in view. Hand craft a completely different set of animations to use for the first person perspective. And so on... 

Share this post

Link to post
Share on other sites
6 hours ago, dpadam450 said:

I saw a video for start citizen that says they use the same rig/animations

They are talking about animation re-targeting.

So they have a arm model for first person but it's animations is a re-target of the arms from the 3rd person. So two 3D models but 1 rig to make the animations.


Some engines like Unreal and Unity have this build in. You can also re-target using a your 3D software and that is what I think they did.

Edited by Scouting Ninja

Share this post

Link to post
Share on other sites

Worst case scenario: Your animations are bad, there's a too agressive compression, and your engine does some kind of destructive retargeting... you end up with noisy and awful stuff. But you can fix part of it using IKs and interpolation/springs... in a very aggresive way if it's first person. Changing IKs and parents on the run. In Arma you can see how there's an IK when the hand is fixed to the gun, and this arm moves in strange ways matching the torso.  

Edited by RnzCpp

Share this post

Link to post
Share on other sites

Look at the way Mirror's Edge handled this. They hand-tailored animations so that they looked good in first-person (and severely twisted in third, you can see some examples on YouTube). You could do something similar - same rig and model, but a separate set of animations tailored for a good looking first person experience.

Edited by Styves

Share this post

Link to post
Share on other sites
9 hours ago, WiredCat said:

Cant you just define one animation for both views, really you just change camera position

The problem with this is that you don't get the same quality you would from making two animation sets, one for First person and 3rd person. But you will save time.

You could also make it from 3rd person. Copy the rig and model. Cut away what you don't need and then fix the animations a bit for first person.


The main problem with having a 3rd person body with a first person view is that the body and camera is in the same place, so you see the inside of the head. If you move the camera out, the arms look shorter.

I also tried it with VR games, placing a camera on they eyes. The forehead and nose blocked out part of the view. In real live our brain filters out things like our noses.

Edited by Scouting Ninja

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Forum Statistics

    • Total Topics
    • Total Posts
  • Similar Content

    • By NexusDivision
      Hello people of gamedev.net

      Me and my team have been working on a MMORPG game with Unreal Engine 4 for quite some time now.
      We are seeking beta tester's and have beta key's available to people who sign up on our website.
      Please visit the website https://nexusdivision.com
      Feel free to register on our forums, We can talk about the game and help everyone get a better idea of what type of game it is. 

      Legion is a 3D fantasy MMORPG that has features including massive scale battles, unique characters and monsters, customization of avatars, special equipment and more. Players choose between the starter stats of Warrior, Magician, Archer and character advancement occurs through a mix of questing, PvP, Guild Wars, and hunting, depending upon player preference. In Legion, completely open PvP battles take place between members of the two warring factions.

      We plan to make this game very competitive and exciting 
    • By Matuda
      Trying to create a physics puzzle game in my "free" time.
      So far it's going very steady, but slow.
      Hope to get some feedback from you!

      Area 86 is a physics-based game, that lets you control a robot at a secret place in space.
      From simple item moving to custom imagined solutions with item picking, throwing, combining and activating!
      Explore & examine all possibilities each place has to offer and do your best to get further.
      But remember, each action has consequences and thus could break or make something unexpected.

      Quick overlook of main features:
      Physics-based gameplay with no bugs or whatsoever Tasks that give you more clue on how to do things wrong Controllable robot who can be blamed for all consequences Includes more than 1 level and each level contains less than 12 possible tasks to complete [ not in free version ] Secret places and hidden objects for extra challenge  
      What can you find in the free downloadable version:
      One fully completable level with 6 tasks and 2 hidden special items to discover.
      From the task list, 2 are main tasks which you should complete to get further and then there are 4 other tasks that should challenge your thinking.
      One of the secret items is visible instant, but you need to figure out how to collect it, while the other special item is hiding.
      Another extra feature is visual hints, that should force your thinking of discovering features.

      Download playable version for your system:


    • By Mert Oguz
      well, i have started developing games last year, alone , I made a singleplayer 3d openworld rpg on unity you can look at it on googleplaystore ( kooru stone rpg ) whatever, this year, i wanted to make mmo, which gone really fine until I first try real hosting, I was working on "wamp" until then. The reason i am desperate now is that the way my game works.
      On my pc, using wamp mysql , with localhost as host for my game, i was testing my mmorpg with using andorid emulators, ofcourse no lag no issues no restrictions, beautiful dream... But then, I wanted to get real host from web, so, I rent a basic, cheaphest ever web host ( 10$ year ), and transferred my php files along with sql database. 
      So, I launched the game, still no issues, tried to handle 2-3 players by using my pc, phone, friend's phone...  
      After a while, ( after really short time (3-4mins)) host started not to respond, beacause those web hosting were not fit to handle mmos, i predicted that.
      now what i am explaining is that my game works like this and asking what way should i use to handle it :
      - Creates web request ( like : webhost.com/game/getplayerdata.php?ID=2 )
      -Reads request ( request result be like = "ID2-GoodGuyXx-23-123-4-123-43 )
      -Builds player using result string
      -does similar requests REEAALY FREQUENTLY  ( total requests of 8 - 12 times per seconds )
      With my current ultimate cheap web hosting, i can handle 2 players with low lag ( lol ) but, i want to handle around 20-100 players,
      just need a clear path, i have been struggling with google cloud sql and other vps server dedicated server options, i dont wanna pay much and get ripped off.
    • By Sri Harsha
      I have a triangle,oriented in a 3D Plane i.e. I have my vertices as (x1,y1,z1) ; (x2,y2,z2) and (x3,y3,z3)
      I am trying to convert this triangular facet to voxelised model i.e.
      Along each edge,I am applying Bresenhams 3D Line algorithm and generating intermediate points.After generating intermediate points, I want to fill the inside region.
      I have been searching for some algorithm like flood filling,but did not find anything relevant till now.
      I would be really glad,if some one can provide an algorithm for achieving this.
      I basically have a List of tuple for storing all the (x,y,z) data created along the edges.(generated using Brsenhams 3D Line algorithm).
      Now,I want an algorithm,which creates cubes in the inside region.
    • By DavidMT
      A team has a position open for a 3D artist and/or modeler.
      Excellent opportunity to gain experience working with a team remotely. Great chance to extend your portfolio Candidates, if successful have the chance to join the team permanently with entry-level financial benefits. Revenue Share What they expect
      Excellent communication skills Portfolio of previous work If you are interested please attach a CV and/or relevant works to jobs@iamdavidmt.com
  • Popular Now