Tuesday, July 11, 2017

unity - How do I recreate this 3D "flying through space" effect resembling a tunnel?


On the "Final Destination" stage. in "Super Smash Bros. Brawl" and "Super Smash Bros. Melee", the players fight on a platform that is seemingly moving through space.


During the


I see particle effects, but I don't understand how they made the clouds, or the rest of it. I'm currently working on a breakout-clone in Unity3D, and would like to create a similar background for my game.


How can this effect be produced? How can a texture be made to fly towards the camera endlessly / seamlessly like that?



Answer



This effect is called Tunnel effect and has been popular in Demoscene. Basically it's a texture mapped infinite cylinder. The camera is moving inside the cylinder or the camera stays still and the cylinder is moving. Here is a video of this effect without alpha blending to make it more obvious and the source code for it.


Basic idea was to raytrace the cylinder into a look-up table, which can be used to render it very fast with arbitrary texture, where the offset can be animated. This technique is not limited to just cylinders, but is more generally called Plane deformations.



With current GPUs you can easily calculate the effect also in real-time without the pregenerated look-up table. Here is one such example using WebGL.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...