@Volnaiskra thanks, i'd really appreciate it, it's stumped me completely!
Apologies for the bump. But, I'm having a little bit of trouble with volCAMERA and can't pinpoint exactly how to resolve the issue.
The scrolling is fine if I don't switch to full screen. You can see the character will go all the way to the left wall (same with the right wall, floor, ceiling). If I switch to full screen at the title screen and then go to the next frame, there's an issue where the camera won't scroll all the way to the edge as it should. And finally, in the last example, if I switch to full screen while already in the level, the camera scrolling works as expected. How do I fix this problem? Thanks!
Edit: It looks like disabling the 'vC - Boundaries: LERP' group fixed it.
What's probably happening is that the camera boundaries are being incorrectly placed. Where they must be placed depends on your game's resolution, but since I had no way of knowing what your resolution would be, I had write some code that would try and figure it out for itself. So vC tries to read your game's resolution when you first run it, and calculate where the boundaries should be based on that. But it's an imperfect system, and fails if you use a fake fullscreen method (eg. Ultimate Fullscreen, or DX11 mode fullsreen). Because in a 'fake fullscreen' mode, your game (which is, let's say, 640x480) gets scaled up but your monitor's resolution (which is, let's say 2560x1440) remains unchanged.
So, volCAMERA sees that your game is using 2560x1440, so it thinks that your gameworld is 2560x1440. But really, even though your game is now displayed using all 2560x1440 physical pixels of your monitor, your gameworld is still just 640x480, but scaled up. if were to tell your code to move an enemy 640 pixels to the right, it would of course move it all the way across the screen, yet it would traverse 2560 physical pixels to get there. So this confuses volCAMERA, and it places the boundaries in the wrong spot.
Manually enter the dimensions of your game's north, south, east and west edges here:
Ah thank you for the clear explanation on that. I was looking at that event, for whatever reason it didn't even occur to me to manually enter the dimensions in there. DX11 fullscreen seems like its the culprit for me here.
Hey @Volnaiskra , dont know if you are still around but i was curious if you ever made VolCamera work with mouse aiming? For 360 aiming for e.g. a shooter.
I can get it of to kind of work but it has some small jitters making the cursor/crosshair look like its flicking that i cant get rid of.
Hi @Volnaiskra !
I purchased your camera engine and it's fantastic. I was thinking about using since it leagues better than my current camera engine. But I'm wondering, is it possible to make the camera auto scroll a full screens height or width when reaching the visible end of the frame? Just like in the old Mega Man games when entering a boss room on the NES or when switching rooms in games like The Binding of Isaac.
Though thinking about it, it might not be adequate to just point the camera at the mouse. You might want to point it only a certain distance away from the player, so the player remains close to the centre of the screen. In that case, I guess you'd need to use trigonometry (or perhaps the Adv Direction object) to figure out where to place the grey target so that it's always X pixels away from the player, at the same angle from the player as is the mouse.
Thanks for the answer!
If you're interested, I have a short .mp4 from the game I'm working on which has this effect: https://i.imgur.com/OZWUI7l.mp4
I will have to try and replicate it with your camera engine later.
Hi again @Volnaiskra!
I have a very small problem with your engine. I thought it was due to my implementation of the camera into my engine, but it seems that even in your file this problem exists.
If I understand it correctly, the vCcamera should always aim to get the exact same X and Y position as the vCtarget?
The problem for me is that the X position (and calculated Alterable Value for the X position) of the vCcamera is slightly off by a pixel depending on what direction the player faces. In your demo file, the calculated X is off by a pixel when the player faces left, and in my game its off by a pixel when I'm facing right.
The same goes for the Y position and its calculated AV. Whenever I jump and land, its off by a pixel.
It might not sound like a big deal, but as I'm working with relatively low resolution in my game (426x240), that pixel calculation is clearly visible at times and it makes things not pixel perfect anymore.
Do you know any solution for this?
It's caused by a rounding error in the bit that says set X("vCcamera") to Alterable Value X("vCcamera"). By default, I think Fusion 'floors' pixel values, so it will set the camera object to X=49 whether Alterable Value X is 49.01 or 49.99. This tends to bias the numbers by 1 pixel this way or that when going in a certain direction.
It's an easy fix. Just add Round() to the final positioning actions, as shown below (now 49.01 will become 49, while 49.99 will become 50):