Toggle-able Crosshair Accurate 3rd Person Camera

After some hard work and determination, and some help from yournamehere (thanks for letting me use your code), finally we have a Crosshair Accurate 3rd Person Camera.

UPDATED TO INCLUDE ECHO
The code is: NEEW4
This is a “refresh” code so the mode doesn’t disappear in 6 months.

This code was created on 1/26/2021.

====FEATURES=====
Press the INTERACT key to toggle 3rd person on and off.

This 3rd Person Camera is, indeed, crosshair accurate. Point your cursor at your enemy and fire away! It even has world collision (though it doesn’t completely remove your ability to see through walls, but it’s better than literally phasing through them).

You can see your character skins in all their unadulterated glory!

====IMPORTANT====
Heroes like Ana, Zarya, Orisa, and Hanzo, to name a few, have visual aspects in 3rd person that ARE NOT representative of what you’re actually shooting. These heroes ARE CROSSHAIR ACCURATE, the 3rd person camera simply makes it look off. You can test this by playing Orisa and trying to shoot world objects using the “visual” bullets rather than the crosshair. You’ll find that the bullets don’t do anything, but aiming with your crosshair results in objects or enemies taking damage. This is a bug that is impossible for me to fix unless somehow I magically end up working at Blizzard. Unlikely.

Note: I did not make any character animations. Any animations you see in this mode of the characters was made by the Overwatch dev team themselves. So, there’s a reason why the camera will be blocked by player models, and why some animations might look “questionable,” and it has everything to do with the fact that OW is designed for a first person perspective; the third person animations are to be viewed from a different player’s first person perspective, and mostly only for reference so players can get an idea of what is going on. The animations were not made to be viewed from an over the shoulder perspective. It is what it is.

====KNOWN BUGS====
The camera will jitter slightly if you are looking from close to far range quickly, whether it be a wall, prop, or enemy player. This is unavoidable, as the “jitter” is what is allowing you to actually hit your targets. It has to do with something known as “Ray Cast Hit Position.”

Reference yournamehere’s post below:

Spamming the INTERACT key may have some unforeseeable effects that I cannot and/or will not change. Currently, the only one I know of is that sometimes the camera will spawn under the map (or some other, arbitrary location that is not next to your character) if you were already in 3rd person and the lobby loads a new map, but hitting the INTERACT key again or switching Heroes tends to get rid of the problem.

====BUGS THAT ARE FEATURES?====
If you activate the third-person camera and perform an emote, the camera will disable for the emote. However, if you activate the third-person camera, emote, and then activate the camera again, you will be able to view your emote from the shoulder perspective. Neat for sitting/dancing emotes.

All “sniper” characters can be played in third person while scoped, resulting in a completely different gameplay experience. It is important to note though that the camera will become stiff while scoped (I’m assuming because the mouse takes the sensitivity properties you have for being scoped). My personal favorite is Widowmaker; it’s like playing with a scope-less railgun, and I find myself being more accurate than not.

====ECHO SPECIFIC QUIRKS====
Echo herself is done, however, due to the nature of her being able to copy enemy heroes, if you are in 3rd person and copy an enemy like, Roadhog, then you will not use Roadhog’s specific 3rd person camera. I have not developed a way for this camera system to figure out how to change Echo’s camera from hers to the hero you copied, and I have an idea, but it’s an idea that’s going to make the camera even heavier on rules, and I don’t want to do that, or go through the headache.

You are warned, if you play Echo and copy a tank, chances are you won’t be able to see much. You can always dis-able the 3rd person camera using the INTERACT key to get around this until your ultimate has worn off. This also applies to Heroes like Bastion and Doomfist.

Most of the Damage Heroes and Healers will look fine with Echo’s camera and will be crosshair accurate. Even the tanks will be crosshair accurate, you’ll just have a hard time seeing what’s ahead of you. My apologies. Anyone here is welcome to try and develop a method, just be sure to hit me up about it.

====Future Plans====
None in the foreseeable future. This camera is finished, through and through. Besides maybe adjusting the “Blend” value, which might still need some work, but from the looks of it, that’s not necessary.

====FOR THOSE WANTING TO INCLUDE THIS CAMERA IN THEIR OWN MODES==
Be advised this camera is quite hefty on rules. It takes 50+ rules to make the camera work (a rule per hero + a rule unique hero ability, like Sigma’s Rock throw, all of Doomfist’s abilities besides Uppercut, and sometimes a rule for certain ultimates). The camera isn’t very hard on variable uses though. The camera’s affect on the server load is unknown (I don’t imagine it’s high considering it’s just a camera).

====PLEASE GIVE CREDIT TO MYSELF AND YOURNAMEHERE====
If you’d like to use this 3rd Person camera, please credit yournamehere (main code) and myself (positioning, debugging, various other code).

====COMMENTS FROM ME====
Overwatch has really fallen out of favor with me. I do not enjoy this game much anymore, in almost every aspect besides Archives events. I apologize if I might not be updating this workshop mode in the future “punctually.” Obviously, I did Echo, and I haven’t actually played Overwatch in a month. So I will do future heroes, but it won’t be like, THE DAY THEY COME OUT.

This camera of will be continuously updated though so it doesn’t magically stop working because the code went defunked.

Have fun!

12 Likes

I dont have any suggestions as this ismt my forte. But i played your game and it was amazing. Playing Ashe was very fluid.

3 Likes

==UPDATE==

All characters have a camera position perfect for them (besides Bastion. He animates in a way that makes it almost impossible to get a good position). Most of the heroes shots are accurate with the crosshair, projectile heroes excluded (though some Heroes, like Orisa, Symm, Zarya, Pharah, and even Junkrat hardly need adjustments because you can adapt easily to the arc of the projectiles.)

1 Like

Use “eye position event player” rather than “position of event player”
I’ve also made a third person script if you want to crib from it
CZN57

2 Likes

Holy crap! That’s what I’m looking for! You don’t mind if I make adjustments to your code, do you? (I’m not fond of the camera position for most characters, but the crosshair accuracy is to die for).

My code involves having to implement values for each character individually so that their shots are accurate. It’s very tedious.

1 Like

Do whatever you like.

Though, right now there seems to be a bug with zarya bubbles, so keep that in mind.

1 Like

I know how to fix that. You have include NO teams. If you include all teams, the camera will get jittery every time you aim at a teammate and at an enemy. The jitter when aiming at walls can’t be fixed, at least as far as my knowledge is concerned. Also, I’m curious, what do Player Variables A, B, and C mean?

1 Like

I’ve made a version that allows you to edit A and B directly to see the effects. use F + WASD to change A. Emote hello to switch to modifying B. Quickly stated, A is the plane offset for the camera position. If A was 0,0,0, you’d be looking at the back of your character’s head. B is the camera distance.

C is the infinity distance (the distance at which your ray cast stops). For most characters I set that to 200 so it’s sufficiently far away but doesn’t get caught on background geometry, for zarya and symmetra I moved it closer so that their beam would converge to the reticule.

I also use Y, which controls switching between first and third person for junkrat and widowmaker.

here’s the debug version:

YA4CM

1 Like

Thanks for the clarification. I started messing with values and figured out what A and B do before you made your post, but now it’s absolutely clear.

My intention is to adjust the camera position appropriately for all characters so it’s more reminiscent of the “over the shoulder” camera from games like Resident Evil 4. Here’s the code for what I was previously working on (which is basically moot now due to your excellency): GE939

It’s mostly apparent for hit-scan heroes.

2 Likes

I spent a whole day making custom cameras for all players and like you, I gave up on the bastion one. But I still couldn’t make a decent third person camera because of the reticle innacuracy.

Edit: I tried your third person camera and it’s amazingly accurate, but the camera jitters and stutters when you turn left or right. Is there any way to fix that?

1 Like

I don’t know, I tried changing the blend speed higher to counteract that, but I didn’t notice any result or change. Also, you find if I use this third person code in the Star Wars Ground Forces game mode I’m working on?

1 Like

Yes, please anyone use my code for whatever you need. I would just request that you tell me when you do because I want to see people building cool stuff on top of my work.

A bit of stutter is inherent to the method used. As you scan your cursor over objects at different distances, it’s going to appear to jump around. This is due to the difference between what your character can see and what your camera can see.

The way this works, it’s going to move the camera around however it needs to put the thing that you’re actually aiming at in the center of the screen. If this were a ground-up third person game, we could do this the other way around, where you rotate the camera smoothly, and then the character’s aiming direction will do whatever it takes to aim at wherever you put the camera. Unfortunately, I don’t believe it is possible to do this in overwatch presently. At least, not easily.

2 Likes

==UPDATE==

I started working on yournamehere’s code and I have to say whatever I was doing was baloney. Here is the UNFINISHED shoulder of their edited code: N9SSZ

Yes, this one is crosshair accurate (thanks to yournamehere). Still needs debugging. Currently doesn’t like Zarya’s bubble much and the jitter can be adjusted with the blend. I think having the blend really low and then making the chase camera follow faster might be the change necessary to make it smooth. I’ll attempt that later.

EDIT: Okay so after some fiddling around I found that making the camera position above the player model, without changing its X access, removes a whole butt ton of jitter. However, the Y is nigh impossible to remove unless you all want to stare at the insides of your character (I’m pretty sure you don’t). I will be adjusting the camera position for all characters to be comfortably above their heads at a comfortable distance away from them.

3 Likes

I’m working on another approach, in the form of a moving crosshair. So the camera doesn’t jerk, but the crosshair is only really accurate to hitscan as it uses ray casting to determine its position. Still, it’s something.

Using a sphere effect currently, but I want to use a thin ring icon so it looks nicer and doesn’t scale too small when the crosshair gets too far. Unfortunately the icons aren’t centered on a position but over it and I can’t figure out how to get around that.

1 Like

Is there an Xbox version of this mod available somewhere?

I wonder if you could update this code once Echo releases on live servers? This is among my absolute favorite Workshop modes.

1 Like

Any chance this could be updated to include Echo?

Workshop mode has been updated to include Echo. Be sure to read the main post for details about Echo specific quirks. She has her own section.

1 Like

is there any setting that allows the camera to be, like, right on top of the character? i was just in a game called “super smash bros” and it had that type of 3rd person camera.

To be perfectly honest, I did not expect to see this ever getting updated again, so I was overjoyed when I saw a notification.

Thank you for this amazing mode!