[SCRIPT] [RELEASED] On-Foot Cinematic Cam
I thought I would create an ongoing thread for this, so people can get an idea of what's happening, what's coming, what's planned etc... There is a request thread that gave birth to this here: Cinematic Camera on Foot Request Thread
And of course, the latest version of the mod is available here: On-Foot Cinematic Cam Mod Download
I tend to waffle a bit when I'm working on stuff, mainly so that I don't spend as much time talking to myself... the life of a recluse can be pretty silent at times. So expect to see development related chatter as I tackle new ideas and additions. It'll probably get a bit boring at times, but it helps me to keep focused on what I should be doing... so please bear with me.
Anyway, to kick this off, I thought I would post a video of something new I have added, along with some melee attacks that make use of some new features... which are:-
FOV is now selected from a range of values, rather than one pre-set value. This should add a bit more variety to how things play back.
A variable slight rising effect is now present on all playbacks. This is just something else to keep the shot moving, on top of the existing camera shake.
The rest... well I think you'll notice that bit quite easily.
You will notice various bits of debug information popping up throughout the video. This is just stuff that I use to track what happens, when events fire etc...
Anyway, here's the video:
I've got another couple of hours testing to do and then I think this next version will be ready for release.
It's amazing really, you can spend 10 minutes writing a new piece of code, then 6 or 7 hours testing that the piece of code works in as many situations as possible.
The latest test session stemmed from having to make sure that the camera is never positioned below ground, like if you're parked on a slope for instance. The side effect was that if you are parked under a garage or car port, the ground check returned the height of the roof, not the ground... so the camera was suddenly above the roof, which wasn't very cinematic. Or if you were on water, the height was based on the sea bed, not the water height... so a nice pair of flapping legs were in the shot.
I think I have those covered now though, so this should work for any vehicle, on ground or water... hopefully.
good idea the range of FOVs, seems like your camera should either back up some to see more FOV, or center on a point between the attacker and the person who is dying. Right now it seems the camera is centered on the dying PED, so the attacker is sometimes partially occluded from view.
This mod is great, very nice work you are doing. Also you mention in other thread that controls get messed up when in full cinema mode on foot, perhaps you can realease this as an option so that we can at least try it. I personally wouldnt mind having my forward direction be constantly changing relative to the camera position.
@LeeC2202 Looking absolutely awesome, dude! My only qualm right now is the disabled combat ability during cinematic cameras. I had to revert to 1.2 because one of my melee overhaul mods adds many more takedowns etc to melee combat (therefore increasing the amount of cinematic camera cuts overall, making it a very cool experience) but now with 1.3 and how it disables movement, if there's more than one person I get my ass beat everytime in a fight because I can't move. Honestly, what I had said earlier about sometimes running into a wall is 10x better than having to hopelessly watch your character get stabbed. Can't wait for the new update, it looks beautiful bro!
@turtlevan I have to focus on something other than a point in space, otherwise the camera doesn't activate any DOF effects. I was originally calculating a midpoint between the two, but the effects wouldn't work. I pointed it at the target Ped and it immediately worked. It must require something to focus on, to calculate the DOF... much like a real camera.
Actually, that's just got me thinking about whether the 'offset' parameter will allow it to point somewhere else but still use the Ped as focus point to keep the DOF working? A quick try seems to indicate it might. That means that I can generate a midpoint, get that as an offset from the target Ped and then use that offset on the camera. This is why I knew this thread would be useful... I have spent probably 30+ hours just testing this mod and you begin to lose sight of what could be changed/improved. One simple comment can spark an idea... as you have just shown.
I will modify my camera test mod to not use my custom NativeUI and people can try that. Honestly, it is horrible, you think you understand what is happening and then suddenly, it all seems to go pear shaped.
@LeeC2202 If you don't mind, I'm using your mod as an example for a new "View topic on GTA5-Mods.com Forums" button on file pages: https://www.gta5-mods.com/scripts/onfootcinematiccam-leec2202. You can see it at the end of the description
@Zippo-Raid That's totally my fault for testing with the "Everyone ignores the player" option set in a trainer so people don't run away while I am testing. I think I had better turn that off for a while, get myself back into reality.
I was hoping to release the new version tonight because I think the vehicle cinematics are great. (I know... blowing my own trumpet is a bad thing but when I see them, I cannot understand why Rockstar didn't add them). Getting into a vehicle works fine, but getting out is driving me mad. Two hours sleep, a major vertigo attack and tiredness are not helping though, and it's almost 5am again here.
The new slight FOV variations and the subtle camera lift all make it much more active.
@rappo No problem, that's a great idea... it might encourage more people to create threads to discuss what they're doing and get better feedback than the comments allow.
I'm naturally a chatter when it comes to development. 25 years in various dev studios have got me used to being around people, and I don't have that now, so things like this are perfect for me. You just have to get used to (or ignore) the random waffling that goes with it.
I was going to post a comment earlier about a funny experience when I was testing tonight. I ran towards this group of three Hillbilly Peds, all ready to give them a good beating. A little cat was walking through the group and instead of targeting the peds, the player (Trevor as it so happened) ran over and smashed the poor little kitty with a baseball bat. It just made me laugh how it had picked the innocent cat instead of one of the group... but it seemed very Trevor at the same time.
@turtlevan Using the midpoint between player and ped as an offset rather than the target works... and as you can see, it's 6:10am and I'm still not in bed... I just had to try it. Looks like dinner for breakfast again.
haha nice! It's cool you listen to our feedback on your mod. Great work! looking forward to when we have full cinematic for on-foot. Also, the PS3 had various cinema cams that aren't included in the CG PC version. I really like the entering vehicle cinema cam you made, it looks cool
Maybe along with the Offset from the PED target you can have zoom in/out similar to when you crash a vehicle in cinema cam.
For Ray tracing line of sight, maybe it can recognize transparent textures/mesh like tree leaves, although i suspect they left that out so the camera can see targets through chain link fence mesh.
@LeeC2202 That's funny, we had something similar happen where Franklin had been knocking everyone around left and right in this big cinematic battle until he was suddenly stabbed and fell out of the camera's view and to the ground (using another script that allows for ragdoll stumbling from damage), leaving the viewer to watch helplessly as several Vagos members moved slightly off-screen and stabbed downward, followed abruptly by the all-too-familiar WASTED screen. It was like something from a movie, well done already. It can only get better,
Another thing I wanted to mention, is using Xpadder (a program that allows a user to map a keyboard button to a button on the controller, AKA ghetto controller compatibility), I use the D-pad to activate other mods that don't have anything to do with yours. However, because of this D-pad confliction, the timescale of the attacks are being constantly changed (since my D-pad buttons grab and throw peds like a grapple). Maybe you could disable this function, or plan for an ini setting to accommodate disabling that feature for those of us who don't care to use it (as normal 100% timescale is fine for me due to the frequency of cuts from the increased takedown and counter rate from my modded melee combat).
At the end of the day, the Slo-Mo Toggle script I use for bullet time seems to override any timescale changes anyway, meaning even when it says it's playing them in 10% the normal speed everything still plays regularly at 100%. Not a problem for me though, as previously explained..
@Zippo-Raid I will look into adding an ini option to disable the timescale controls. Obviously I can't disable it completely based on one person's preference, because people who don't use the same mods as you might find the feature useful. I do have an issue with another user saying that keys I didn't expect to change the speed are actually doing so, so that's something else I have to look into as well.
One thing I have been thinking about that might fit better into your situation, is being able to switch to different melee attacks but retain the cinematic cam view. So instead of dropping out to normal view, it refocuses the camera on the most recent attack instead... I think that should be fairly easy to set up, so I'll see how that plays out. Maybe I can do it so that if you chain attacks, the camera gradually pulls further out to let you see what might be happening next.
I really want to get the vehicle exit cams sorted first though, so it just means you have to live with the negatives for just a little bit longer. I'm running on just 6 hours sleep in 50 hours at the moment, so I might not get a full day on this... we shall see.
Sigh The perils of coding whilst tired struck today. I changed two simple lines in two separate places and ended up with an hour's work trying to fix it because I couldn't exactly remember what I had changed to put it back.
On the plus side, vehicle cams now seem to work correctly getting in and out... I need to implement the "Jumping out" versions though I suspect, something else to test later.
Fixed another bug in the camera height checking although that needs more testing. Tweaked FOV ranges to hopefully give a better view and altered the subtle camera raise to something less drastic. Still need to implement more extensive visibility checking but that's low on the priority list at the moment.
At this point, some food, some Rizzoli and Isles and some chill time are required before tonight's session.
Okay, so version 1.4 is awaiting approval. All details in the changelog but I'll add them here as well.
Biggest addition is the vehicle cams, that as far as I can see will trigger with every vehicle. This has been the source of so much stress over the last 48 hours but they seem to be getting there. They're certainly at the point where I think people can appreciate how they add to the atmosphere. Like the melee cams, there are occasions when the view gets obscured... once this mod is feature-full, I will dedicate the time to solving that in a far better way. It does create interesting views when you're viewing the scene from inside the car next to the one you're getting into.
As per a request, I have now added an option to the ini file to disable the Left & Right speed controls during playback.
Also from a request, the camera targeting system has been updated, so that it now targets a central point between the two fighters, giving a better overall view of the fight. This was my initial plan but with what I knew at the start, I didn't believe it was possible. As I have learned more, I have been able to add more... The most important part to benefit from that has been the removal of the rather strict "Stealth" requirements.
Slight changes have been made to the camera, for the FOV and position settings. You might not even notice them but they do make a difference to how things look... even if it could be considered a subtle change.
Again from a request, the normal play controls have been re-enabled during playback, so that you can still control the player during a mass brawl. I have plans to further enhance this side of things but as a small addition, when you do a new attack, if the camera is still active, it will reset the timer to keep it active for longer. I will be adding a re-targeting function to that soon, so that the fighters don't drift out of view.
I think that's it... but I could be wrong. As you can see, I am very keen on implementing requested features and I will try to do so in a way that caters for personal needs, whilst not detracting from the wider audience.
@Zippo-Raid I turned off the "Ignore me" option tonight... Wow, what a different ballgame that turned it into. That sparked a whole frenzy of possible ideas... I should have done that sooner.
@LeeC2202 You're a legend, dude! 1.4 is on point all around, really enjoying it. Other instances for a quick cinematic cam could be when climbing obstacles (if it's possible to scan when the player is doing such) and... I don't know where else haha.. it works really well as a non-intrusive artistic flow and too many cuts during different shit might get jarring.. but I haven't come across that yet. Either way beautiful job, my friends and I are all fans. If you want I can assemble some nice reshaded screenshots etc. for you later today as a small sign of gratitude. Shit, I could probably do a video, seeing as how all the hard camera work has been done for me already! Thanks again for all your work man
@Zippo-Raid I can detect climbing and vaulting... along with running and sprinting. Unfortunately, climbing a fence is reported in the same way as climbing a ladder, so unless I can find out what you're climbing and then try and predict that a vault might follow, it's going to be tricky to deal with that.
While I am writing this, another mod has sprung to mind that would be great integrated with this, jedijosh's sitting mod. I've had the idea for a while of a mod like that, where you can sit in a spot and for the game to run in a kind of timelapse mode. Sitting down, cinematic cam, timelapse mode... sounds an ideal combination to me.
I think I am going to spend some time now refining the camera positioning system. I spent a bit of time in cinematic mode whilst driving last night, and their visibility checking works really well, so I want to try and replicate that... if I can. Handling this type of camera system is new for me, so there are all sorts of learning curves going on right now.
My thought is to have some kind of orbital probes that exist around the player raycasting back results. I can then use those probes to determine locations that have a clear line of sight and then switch to one of them. If I get that system working, it will give me the basics for a floating cam that I can use to watch fights, so that I can shift the point-of-view, without having to do a cut.
I must admit, getting involved in fights last night was very different to the usual melee battles I've had in this game... very rewarding. So for that I want to offer my thanks to you and the other commenters, for feeding back information that I feel has really helped this to become what it is. Throughout my development history, I have always had the philosophy that what I produce is for the people who use it, which is why I value feedback so much. It's no good giving the users something that only you like, it has to be as much for them as anyone.
That being said, I really do think that the more general cinematic camera when walking, is going to have to go on a very low back-burner. I don't think that can give the same rewards as this has and it will take much, much longer to produce. So I think I will spend my time really polishing this, with better camera handling and hopefully, more events to watch.
Has anyone reading this had any issues with attacks not being detected. I know there are occasions where it might miss, but that's because the game hasn't registered it as an attack, just an air-punch, air-swing etc... I have a user who said that the vehicle cams are working, but the melee cams are not.
Damnit!! Long days + very little sleep has consequences. Just had to submit a bug fix because whilst my new validation code (that makes sure the camera isn't placed below ground) works great for cars, boats were screwed up.
Careless mistakes that just add more work for me to upload, rappo to approve, then everyone else to download and install... that's not how things should go.
@LeeC2202 Don't sweat it dude, you've made lightyears of progress in a very short span of time, shit like that just happens. The work that's gone into this is more than enough to make up for any troubles you might think you cause for us. Some feedback on 1.4 (haven't tried 1.41 yet), is it seems that camera angles tend to last too long for me still, which doesn't seem to be much of an issue but there's certain moments when all I can think of is how it should've cut away a little bit sooner. Now that overall each angle stays longer due to continuous combo moves keeping it alive (which is a good concept, simply requiring refinement), I don't know how simple it would be to cut the base length of each camera angle down, but I feel like it would help with the pacing issues I seem to be noticing at rare times. I know to get the timing perfect for anything using a simple script might not ever work out on its own (not doubting you, of course), as some things at the end of the day simply require a human hand to make it always perfect.
But I digress, another small bug I noticed is sometimes when entering a vehicle, the initial camera angle (if the player doesn't attempt to move it on his own, which corrects it to the proper cinematic angle intended) zooms out INCREDIBLY far, like almost bird's-eye-view, but almost every time this happens you don't notice it because it normally fixes itself as soon as the camera movement control is activated (normally by moving your mouse around, or right analog on the controller).
Again, the long-lasting angle thing I mentioned only becomes an issue in specific spots, usually during a big group brawl (which is one of my favorite parts of modded GTA) and I'm all about filmography like that too so I could just be being extra anal, but it's some food for thought. I've wanted something like this for so long man, all I do is make videos filmed pretty much exactly how you have them set up here. It's crazy seeing what normally would take hours in Rockstar Editor be created on-the-spot simply from a script.
Most of it looks like straight-up gameplay with your script, even though it was made months ago lol.. Technology's crazy
@Zippo-Raid The base timer for the camera is set to just 2000 milliseconds (2 seconds), which is actually too short for some animations but maybe a bit long for others. What concerns me, is that looking through my code, I seem to have lost part of the function that used to terminate the camera if the ped was dead... maybe it was because they were registering as being dead too soon... will look into that tomorrow... sorry, later. It would be possible to do something by hand, but that would require the identification of every animation being used and calculating a time length table for them all... that's no mean feat.
The camera bug is a concern because that's something I've not seen. Does it do it when you are completely out in the open, or when you are near buildings/structures?
I've had it do something similar when I have been fighting under a canopy but I thought I had got on top of that one.. It's a pain because I have to check the height of the ground at the position of the target and camera to make sure the camera doesn't get placed below ground.
The problem is that when you do the World.GetGroundHeight() function under a canopy or garage roof, the ground height is reported as being on the roof, so it makes the code think the camera is below ground and moves it. If you're at the side of a tall building, then the camera ends up 30 storeys up. So I have to say "Is the ground being registered above the camera, but not that far up that it could be a roof?" and something is obviously not working.
I started my camera probes tonight and if I can get them working quickly, they will help massively in solving this problem. It just annoys me that until then, people are left with something that doesn't work like it should. I really am too tired tonight though, it's 3:30am and I need to catch up on sleep... sleeping and eating are becoming such a chore, I'd skip them if I could.
AAAaaarrrrggghhh. All Rockstar online services are down which means I can't run the game to test stuff. Really is fricking annoying how they crap on single-player gamers by making our play be dictated by their online services. /rantover
@LeeC2202 Howcome? I can. You should know that if you pull out your RJ45 cable and/or disable your WiFi, you'll automatically go into Offline Mode. There's a reason why they call it Offline Mode
Also, if the issue persists, then download a custom game loader. Use it to force you into Offline mode.
If the servers are not online or maintenance is on-going, in theory you should be able to play the game even while having your WiFi on (or Ethernet). I have noticed, however, that sometimes they won't let you play, but if you try a few times to start the game even having prompted you that annoying message, they will budge and let you play in Offline Mode.
Let me know if this helped.
@LeeC2202 Just reporting bugs : P
The enter vehicle cam is great,but the camera angel is bugged for lazer,besra&hydra,the camera stays under the wing or clipped through the wing,meke it impossible to see the player,maybe a fix for that?
And also for bigger planes like the Titan,luxor,shamal,luxury luxor,nimbus,miljet....the camera just shows like for half a second and it jumps right back to the normal camera
And maybe a cinematic cam for jumping off the car?maybe only jets since the cinematic view would make the jump off cool 10 times than original : D
@Hyper-Droid The Social Club launcher used to have an option when it failed to start, to play offline but it seems to have gone. It also decided that it was going to lock my account for too many failed login attempts... again, then to forget my login details altogether. I tried about 8 times and then gave up. I just had a moment of frustration... it annoys me when offline play is dictated by online services.
@Elope, I take it lazer, besra & hydra are planes? I do have a problem with planes that I have to look into further. On the Bi-Plane (one parked on the road in the desert), if you view from the front, the player is hidden. Now it seems there are other planes where viewing from the back is a problem too... I'll have to think about the best way to deal with that.
Also, the way the camera works, is when you start getting into the vehicle (which the game has a native for IS_PED_GETTING_INTO_A_VEHICLE) the camera starts, when the player is sitting in the seat with the engine running (also triggered by the game IS_PED_SITTING_IN_ANY_VEHICLE & _IS_VEHICLE_ENGINE_ON), the camera turns off. Maybe the normal entry process isn't used on those bigger jets. I can only trigger and end the camera when the game gives me messages telling me that those events are happening. I could probably look at adding a delay if the vehicle is a plane, but the delay would affect all planes the same.