Given that the iPhone doesn’t support bump mapping and the Unity Water shaders don’t work on iPhone, can anyone offer some suggestions on alternative techniques for creating a realistic water surface for the iPhone in Unity?
A good example of the effect I’m looking for would be the Koi Pond App for the iPhone. The camera will look directly down at the water’s surface, everything below the surface needs to be visible and undistorted.
For the most part, the shimmering at the surface should be sufficient to create the illusion. No need for big waves or heavy sub-surface distortion.
Yeah, like dreamora said, two texture maps one for displaying the ripples the other that contains the height maps of the ripples. There is a simple calculation that generates the ripple effect. You would have to do this at the pixel level, using Read and Set pixel calls. I don’t know if the iPhone is fast enough to allow the effect to run smooth (frames per second).
ScreenFlow is the best screen-capture tool I’ve ever seen on any platform. I used it yesterday to make a demo movie of an iPhone app. It’s pricey, but there is a free demo, and you can learn to ignore the watermark!
There is no way to grab video from the phone itself, at least not that I know of. There’s doubtless a dozen jailbreak VNC servers you can run and that would probably work well enough.
ReJ: I hereby request AOT compilation to i386 so we can run in the simulator and make demo movies.
Sorry, I have no actual useful input on water rendering.
But here we are talking about simple Shimmering effect on the water or a tinny wave on the water. As we are not allowed to use refraction in iPhone, then we have to use texture technique. Also bump is not supported in iPhone :(.
You wont be able to achieve actual reflections on a moving surface, but you can use a really low resolution dynamic spheremap to get the shimmering effect on an animated surface.
As I said, it looks amazing, do you mind sharing your method? I know you used some ASM on it, but what’s the technique? Any papers, tutorials, links or your own explanation? I’m really curious to know how to achieve that, it looks pretty realistic.