Hello.
I'm looking for a way to create dynamic character reflections on the floor. Characters are Actor3Ds.
In ideal case, character's reflections must be distorted, dynamic and blurred.
However, simple dynamic reflections (like mirrors) would be fine.
I've already thought about several possible solutions. It looks like none of them can be implemented in current version. Here they are:
1) Mirror actor horizontally, set his material to something like floor's specular color and render.
Problem: no "render 3D object method". In other words, it is impossible to render any object with a user-defined transformation.
2) Render scene to texture, flip the texture. Same problem as in first solution.
3) Make a blurred sprite, attach to the actor's feet.
Problem: sprites doesn't know anything about 3D position, and will not be scaled according to the distance. Anyway, there will be no distortions, a lot of problems with entites blocking\non blocking the sprite, additional artwork is required. Even if implemented, this method may produce ugly visual result on the edges of sprite (where alpha channel drops to zero) because of filtering.
4) (Improved version of solution 3). Store hidden reflection sprite in actor(somehow), store a "normal map" in the entity that is reflective, perform software rendering with distortion to clip the sprite by entity's shape and distort it using "normal map".
Problems: because camera data is not accessible, it will be difficult to scale sprites, possible workarounds include defining copies of camera data in scripts, and that will most certainly lead to serious problems, when changing scene.
Also, this method will probably bring engine to knees due to the CPU load, entities in scene will need great amount of additional artwork, and even if implemented, this method may produce ugly visual result due to the lack of filtering/other reasons.
Is there ANY way to make dynamic character reflections in current version of WME?