Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


need help for centered 3rd person camera view usinng CE

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
totoroose
How do I cheat?
Reputation: 0

Joined: 10 Feb 2023
Posts: 4

PostPosted: Fri Feb 10, 2023 5:39 am    Post subject: need help for centered 3rd person camera view usinng CE Reply with quote

im playing this hogwarts legacy but it has over-the-shoulder third person camera view, in which i will get dizzy after playing for more than 10 minutes.

i was wondering how can i use cheat engine in general to mod it to centered 3rd person camera view?
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Fri Feb 10, 2023 11:22 am    Post subject: Reply with quote

Find the camera entity structure and the player entity structure, see if the camera entity has an instruction that only writes its coordinates and orientation. If so, use that, if not use the instruction that writes every entity's coordinates. Then when writing the camera entity's coordinates and orientation reference the player's and write that instead. You will have to test different Z values to get the best height and may have to put the camera slightly in front of the actual coordinates based on whether the game tries to draw the player over the camera.
Back to top
View user's profile Send private message
totoroose
How do I cheat?
Reputation: 0

Joined: 10 Feb 2023
Posts: 4

PostPosted: Sat Feb 11, 2023 1:11 am    Post subject: Reply with quote

cooleko wrote:
Find the camera entity structure and the player entity structure, see if the camera entity has an instruction that only writes its coordinates and orientation. If so, use that, if not use the instruction that writes every entity's coordinates. Then when writing the camera entity's coordinates and orientation reference the player's and write that instead. You will have to test different Z values to get the best height and may have to put the camera slightly in front of the actual coordinates based on whether the game tries to draw the player over the camera.


i was able to use the ue4 in-game console command toggledebugcamera and found the true address of X Y Z, however when i reattached the camera, its no longer working.

in some CE script i could see that when i set [02BC] - bAttachToPawn to value other than 2, the camera of the 3rd person view will be detached, and any controls on the pawn/actor will be free but without camera moving.

any pointers on how do i go about changing it? the game is written in ue4, in the objectdump i could see thirdpersoncamera, matineecam, springarm cam, but no idea which one to edit. i know they shifted the location of camera to be +60 on Y coordinate.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Sat Feb 11, 2023 5:22 am    Post subject: Reply with quote

Explore all three and more, I'm sure if you google it someone has made the meaning more clear. It's possible that first person view is a default option from some combination of those.

If all else fails, do it the harder way I described above.

Odds are matinecam is all about cutscenes and making the camera follow a path, so possibly ignore it. Springarm settings likely affect how the camera will react when the field of view is obstructed, so another ignore but may offer fine tuning.

Is third person camera a float? Try setting it to 0,1, or some value between. Maybe even experiment with -1 or -2. If it is a byte, try FF. Don't discount that there may be yet another camera related setting that enables first person view.
Back to top
View user's profile Send private message
totoroose
How do I cheat?
Reputation: 0

Joined: 10 Feb 2023
Posts: 4

PostPosted: Sat Feb 11, 2023 6:08 am    Post subject: Reply with quote

cooleko wrote:
Explore all three and more, I'm sure if you google it someone has made the meaning more clear. It's possible that first person view is a default option from some combination of those.

If all else fails, do it the harder way I described above.

Odds are matinecam is all about cutscenes and making the camera follow a path, so possibly ignore it. Springarm settings likely affect how the camera will react when the field of view is obstructed, so another ignore but may offer fine tuning.

Is third person camera a float? Try setting it to 0,1, or some value between. Maybe even experiment with -1 or -2. If it is a byte, try FF. Don't discount that there may be yet another camera related setting that enables first person view.


I have asked couple of table maker but they are busy for that, guess it's not an easy task after all.

The offset shown in dumper when I add the address manually they don't point to the right value, so can't find if it's float. Gonna figure out later when I'm free.

The game forces third person over the shoulder camera. I tried console command first camera, third camera but no effect eventho commands are recognized. I watched couple of video for finding camera coordinates for fly hack but it's not as simple in this game
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Mon Feb 13, 2023 1:57 pm    Post subject: Reply with quote

I'd look but I don't really want to buy the game and it's going to be a while before it gets cracked.

I honestly think you will be able to solve it in less than two hours doing the methodology I described in my first response because even though you are doing it for the first time, those steps are relatively easy to follow.

I talked about something similar in this post:
https://forum.cheatengine.org/viewtopic.php?p=5782703&highlight=#5782703

The first steps of figuring out the entity structure will help you along. You can stop at the player and camera if it is the same structure or code a number of solutions from there based on what you find.
Back to top
View user's profile Send private message
totoroose
How do I cheat?
Reputation: 0

Joined: 10 Feb 2023
Posts: 4

PostPosted: Tue Feb 14, 2023 4:06 am    Post subject: Reply with quote

pm me. i can family share the game
Back to top
View user's profile Send private message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 119

PostPosted: Wed Feb 15, 2023 8:11 pm    Post subject: Reply with quote

Not too long ago I was trying to center the player/camera view just like you are in the game Friday the 13th, which is also a UE game.

I remember I was able to find the camera coordinates and disable the instruction that wrote to them, so when I moved my character, the character would move around WITHOUT the camera following it. Sadly, I wasn't ever able to figure out how to actually center the moving camera.

Not sure if this will help, but the way I found that coordinate was by using the in game console command: FOV (field of view)

When I would input fov 50 I'd do a CE scan for a float value of 50, then I'd enter fov 100 and rescan for 100, and so on... and that's how I found the fov address. Browse this memory region, and convert view to float, and a little later I could see the camera xyz coordinates very close to the fov address.

If you happen to get the player centered in camera, please share what the solution was because it's probably very similar since both games are UE4 I believe.
Back to top
View user's profile Send private message
cooleko
Grandmaster Cheater
Reputation: 11

Joined: 04 May 2016
Posts: 717

PostPosted: Wed Feb 22, 2023 4:12 pm    Post subject: Reply with quote

After spending some time with the game, the camera is a springarm camera which resides mostly in the XMM registers.

To find it, I walked the character to a wall and searched increased and decreased values based on how close and far away the camera was from the player.

The value is a float between 10 and 400.

Once found, I looked in the structure, but most values there crashed the game when altered. Then I looked at the other xmm registers and found the X, Y, Z coordinates, and a height modifier.

Because orientation matters, I ignored the X, Y, Z coordinates and just added some height to the camera.

Setting the springarm distance to 0 and height to 30 into the xmm registers at the appropriate places, the camera almost always stays in a natural first person view.

Unfortunately, fresh out of a cutscene or battle the camera code doesn't work, so you need to reclip it. I never looked for anywhere else in the code the camera might reside to affect it when it hasn't clipped. If you found that, and also had the springarm values written there, it very likely would resolve this issue. Otherwise, when the camera stops reverting to first person mode, angle it to hit a wall and it will work again.

Another interesting thing about the game is the code is in the same location every time, so you don't have to use AOB injection to edit it. I still did out of habit.

Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>256</ID>
      <Description>"SpringArm_Depth"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(springarm_depth,HogwartsLegacy.exe,F3 0F 11 8B D8 01 00 00 F3 44) // should be unique
alloc(newmem,$1000,springarm_depth)

label(code)
label(return)

newmem:
code:
{
xmm1 - springarm distance
xmm9 - front to back (changes with orientation)
xmm10 - top to bottom
xmm11 - left to right (changes with orientation)
}

  mov [rbx+000001D8],(float)35
  movss xmm10,[rbx+000001D8]
  {mov [rbx+000001D8],(float)0
  addss xmm9,[rbx+000001D8]
  mov [rbx+000001D8],(float)0
  addss xmm11,[rbx+000001D8]}
  mov [rbx+000001D8],(float)0
  movss xmm1, [rbx+000001D8]
  jmp return

springarm_depth:
  jmp newmem
  nop 3
return:
registersymbol(springarm_depth)

[DISABLE]

springarm_depth:
  db F3 0F 11 8B D8 01 00 00

unregistersymbol(springarm_depth)
dealloc(newmem)
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites