Jump to content

Joy of Perspective style 1st person body


mejoff

Recommended Posts

Hi All,

What do we think the chances are of someone being able to make the player's body visible in 1st person, like the Enhanced 1st Person/joy of Perspective type mods for Oblivion/skyrim/fallout3 etc?

Also, while we're at it, something to keep the camera in 1st person when sitting down or stepping up to a workbench?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Chances are very low. One wouldn't only need to make an SFSE plugin that disables several parts of the vanilla code and comes with a custom anim manager, they'd also need to make over a hundred first person animations which is quite difficult especially if they don't have access to professional animation equipment and software. A mod to exit / enter furnitures in first person is much more easier.

Link to comment
Share on other sites

38 minutes ago, LarannKiar said:

Chances are very low. One wouldn't only need to make an SFSE plugin that disables several parts of the vanilla code and comes with a custom anim manager, they'd also need to make over a hundred first person animations which is quite difficult especially if they don't have access to professional animation equipment and software. A mod to exit / enter furnitures in first person is much more easier.

For Oblivion, (i think it was...) They did a 'fake first person', and just put the third person camera right behind the eyes of the body. That actually worked reasonably well.

Link to comment
Share on other sites

  • 3 weeks later...
Posted (edited)

"For Oblivion, (i think it was...) They did a 'fake first person', and just put the third person camera right behind the eyes of the body. That actually worked reasonably well."

 

 

Yes, that's literally all any of the previous mods have been. they exist for Oblivion and Skyrim and Fallout 3 expressly because they just used the 3rd person models and animations.

 

Nobody is suggesting completely re-animating the entire game. This is something that has been achieved before.

Edited by mejoff
Link to comment
Share on other sites

  • 3 weeks later...
On 8/27/2024 at 2:20 PM, mejoff said:

"For Oblivion, (i think it was...) They did a 'fake first person', and just put the third person camera right behind the eyes of the body. That actually worked reasonably well."

 

 

Yes, that's literally all any of the previous mods have been. they exist for Oblivion and Skyrim and Fallout 3 expressly because they just used the 3rd person models and animations.

 

Nobody is suggesting completely re-animating the entire game. This is something that has been achieved before.

You're correct and completely agree about the non-request for reanimating the entire game.

So, I started on something like this a little while ago between work and reached out to @LarannKiar to pick his brain about some things related to reversing SF and the components needed from SFSE to get this off the ground; basically after some investigation it appears we just need to figure out a clean way to disable first person mode when translating the third person camera into the third person body, because having a body to begin with is really the primary here.  We were able to identify the Get3D method in order to get the body node here

virtual uintptr_t* Get3D(uintptr_t* object3DOut, bool bFirstPerson);		// basically both object3DOut and the return value are RE::BSFadeNode*

And the overall approach I had planned for was this:

  1.     Force the third person camera enabled
  2.     Scale up the third person body to account for clipping
  3.     Translate the third person camera position into the player head/eyes node position
  4.     Handle each camera state to either block first person cameras or restore the forced third person camera
  5.     Handle player translation and rotation events to sync camera position to the player head node position
  6.     Optionally hide third person arms and/or third person head and optionally show first person arms 

I'm guessing the hidden first-person states that Larann encountered is what needs to be dealt with first, and then some progress can be made.  Essentially those states need to be completely suppressed/disabled, when attempting this approach, otherwise the view is broken.

Edited by Billybish0p
Link to comment
Share on other sites

I haven't made progress since Immersive Driving (land vehicle SFSE mod that adds a few engine features to driving like visible player's body) but any objects' 3D rendered state can now be toggled in Papyrus, if needed. I added these to Cassiopeia Papyrus Extender:

   ;
   ; #  changes the visibility ( i.e. rendered ) state of this reference's 3D
Bool Function SetModelVisible(ObjectReference akReference, bool abVisible) native global
   ;
   ; # returns true if this reference is 3D loaded and has fully initialized Anim Graph
Bool Function HasAnimGraphManager(ObjectReference akReference) native global

SetModelVisible may be suitable for enabling the player's body while sitting in a furniture but as it doesn't enable 3D person mode animation processing, movements would look weird.. I may look into those later.. (I found the eye and headtracking processing earlier though they likely aren't needed). Enabling 3rd person animations and maybe setting the player head invisible (to avoid clipping) could be the next step. Then, tweaking the player camera positions/angles until all animations are tested for clipping (this might take even more time than reverse engineering these).

  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...

@LarannKiarSo bro, can we hope on your skills and knowledge?
I was wanted to try to make this mod by myself, but im such a dumbo in all this tools(
If we able to do this (something like this technically, a parody) through the console commands, can you please give an advice "HowTo', will be very grateful, thanks for your work, very appreciate that

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...