- Home /
2.5D Shmup, how to create bullets on "camera plane"?
Sine Mora is the perfect example of what I exactly want, you can see how everything is in 3D but of course you can only move on a 2D plane, but even if the camera rotates, the bullets still go forward on that invisible plane. Also the bullets can hit anything from the background. The first 3 minutes are full of examples but it looks best here, 1:20 for camera rotation and 2:40 for the whole no-depth thing.
https://www.youtube.com/watch?v=ii9h_c9f5bg
I was thinking about making a 2D invisible plane at a fixed distance to the camera, the same where the spaceship moves on, and then instantiating all the bullets on that plane, making them to rotate with the camera, not even sure if this is the best approach, but then the other question.
How to make ONLY the bullets look at the camera and hit objects no matter how close or far away from the camera/bullet itself they are. The idea would be to make the bullets like if they were part of the UI, it doesn't matter how far away the camera is from an object, the UI elements are always the same size and looking at the camera, therefore the bullet should always look as big/small as it was created and then somehow, hit the enemy if its magical hitbox hits the 3D hitbox of the enemy.
Raycast+lookAt(camera) could work I assume but I don't know if it would be overkill. I simply want something like Sine Mora, I have no idea how they made it but am sure a million other games use something like that and it can't be either hard nor expensive cpu-wise.
Hard mode: if there is an object between the player/bullet plane and the camera, a tower or whatever, the bullets should be created behind it, the only exception to the whole "like part of the UI".
tl;dr: How to create bullets like they were part of the UI, always facing the camera, rotating if the camera rotates and being able to hit enemies from the background, like in the video.