FEEDBACK REQUEST: Player Viewmodel

Lark

Epic Adventurer
MSC Developer
MSR Developer
Lead MSR Developer
Dec 30, 2009
75
59
Oregon
See the video below. I'm attempting to do a "True First Person View" which allows the Player to see their actual Character (with equipment) when looking down. The traditional approach is to separate the First Person viewmodel from the model all other Players see (a la MS:C). There are pros and cons to my approach:

PROS:
- Animator-friendly: You only have to animate an item/action (like a sword swing) once. However, see the first CON below.
- Immersion. Just my personal opinion, but I think it helps put the Player into the game by being able to look down and see your character moving around with all its equipment.
- VR-friendly (if we choose to go down that road...).

CONS:
- Care must be taken not to annoy the Player with objects/animations that obscure their view, but still make it look good for other players looking at them.
- Hasn't been network-tested yet. The Player's Character is supposed to be replicated autonomously (instead of a simulated prediction) which IN THEORY eliminates this concern, but again... hasn't been tested. If it turns out there's a delay between Player actions/movement and what happens on-screen, well, that's a deal-killer.

EDIT: On a related note, I want to separate Player turn speed from the character model and animations. This means you can spin your camera in circles at 800 rpm if you want, and your Character model's animation will adjust to match your camera's forward-facing vector every second or so. But to other players, it won't look like you're a spinning top. For the purposes of Block/Parry/Attack, it will trust your view. It might irritate other players in PvP who don't think you can turn fast enough to block them, though.

View attachment viewmodel.mp4
 
Last edited:

Jelly

Adventurer
MSC Developer
RiP
Nov 25, 2005
1,900
11
28
You are here --> X
I doubt you can make it smooth without clientside prediction when the latency is at 50ms or above, but I hope to be proven wrong. I am definitely for this! I feel it can improve immersion when done right.
 

Jelly

Adventurer
MSC Developer
RiP
Nov 25, 2005
1,900
11
28
You are here --> X
As for the placement of the camera, I think you may have to may have to attach it to a socket in the model, for when running/crouching or maybe "spring" it to a position based on the head position of the character model.
 

Lark

Epic Adventurer
MSC Developer
MSR Developer
Lead MSR Developer
Dec 30, 2009
75
59
Oregon
As for the placement of the camera, I think you may have to may have to attach it to a socket in the model, for when running/crouching or maybe "spring" it to a position based on the head position of the character model.
Thanks Jelly, I was thinking of having it "spring" while moving. I tried the socket approach, but the camera wobble was terrible. I could modify the animations, or dampen the rotation code-side, but both those approaches are unfavorable. I think the spring idea might work better, but I hope it doesn't come out awkward.
 

Jelly

Adventurer
MSC Developer
RiP
Nov 25, 2005
1,900
11
28
You are here --> X
I think it's one of those cases where you just have to try out a couple of different options. Maybe even have multiple options implemented and have them switchable from options/console.

I think Dark Messiah og Might and Magic nailed the first person feel with the camera. They had a quite high amount of bobbing, but iirc they smoothed the movement. Not sure what the smoothing algorithm was, but I'd think either a spring or an ease-out function.

It's tinkering work though. It might also be beneficial to have the camera slightly forward vs where a persons head would physically be, to have block the view less.
 

Lark

Epic Adventurer
MSC Developer
MSR Developer
Lead MSR Developer
Dec 30, 2009
75
59
Oregon
"Old" from 2018, haha, I must be ancient! But good find - it's actually one of the main articles I've been using for guidance, especially with the Additive poses. However, I'm not much of an animator, so I do what I can for now and hope an up-and-coming animator will want to contribute and do better (with an actual model and not the UE4 Mannequin).
 

Kermit

Adventurer
MSS Developer
MSC Developer
MSR Developer
Feb 8, 2010
57
7
You're doing great work man. Cheers for keeping us updated
 
Top