Wavesets & Reflections

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Wavesets & Reflections

Postby jkcui1687 » Tue Jul 21, 2020 7:59 pm

I have got reflections down pretty good. But I can't seem to get reflections to show up after I apply the basic water wave mod to my plane.

This is basically what I'm doing:
The plane has a basic material. Under textures I have the world environment map I created as an image cubemap (using 6 images).
This gives me a mirror finish cubemap reflection in game. All good.
Now I add the basic plasma wave mod, which gives me a pretty good wave at default settings. I put the same cubemap texture that I created in the EnvMap slot.
When I hop into the game, the wave is there, but no reflection.

I have tested this with both Static and Animated environment types, as well as both cube and plane mapping methods (using the visibility control empty object), and have even tried removing the environment texture from the plane and only keeping it in the EnvMap slot under the wave mod settings. Still giving me issues.

Any thoughts on this?

Image
~JKC
jkcui1687
 
Posts: 12
Joined: Tue Mar 12, 2013 1:30 am
Location: New Hampshire

Re: Wavesets & Reflections

Postby Tsar Hoikas » Wed Jul 22, 2020 8:05 pm

You're going to have to use an "animated" cube (read: dynamic) environment map for your wave modifier. The engine does all kinds of bespoke things around waves and only supports that particular environment map type. If you don't supply one at all or specify the wrong type, the engine makes one for you. Unfortunately, the default environment map is unable to reflect anything at all.
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 2047
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Wavesets & Reflections

Postby jkcui1687 » Thu Jul 23, 2020 8:59 am

Thanks Tsar, this narrows things down a bit. Will do more tests with this and see what happens.
~JKC
jkcui1687
 
Posts: 12
Joined: Tue Mar 12, 2013 1:30 am
Location: New Hampshire

Re: Wavesets & Reflections

Postby jkcui1687 » Sat Jul 25, 2020 8:40 pm

Unfortunately, I've not gotten this to work at all. Can anybody confirm they have this working with the latest Korman (0.10)? If so could you give me a hand with this?

Thanks

Here's my settings for the EnvMap.
Image
~JKC
jkcui1687
 
Posts: 12
Joined: Tue Mar 12, 2013 1:30 am
Location: New Hampshire

Re: Wavesets & Reflections

Postby Tsar Hoikas » Sun Jul 26, 2020 7:52 pm

Can you share the settings for the viewpoint object's modifiers and the water modifiers?
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 2047
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Wavesets & Reflections

Postby jkcui1687 » Mon Jul 27, 2020 4:07 pm

Sure, settings are below. I also uploaded the test scene on db https://www.dropbox.com/sh/wclocd9g7hydnjj/AABgMrq3XbybxBE5u2-vMehka?dl=0

Some more info:
- My water surface has been subdivided and converted to triangles.
- Objects and lights are all plazma objects
- Applied rotation & scale to meshes
- Viewpoint object has the same z value as my water plane

I've messed around with the environment sphere & reflection settings on the Basic Water modifier a bit, but no luck.

Also, I thought maybe it could be because I am using the Steam version of Uru:CC as my offline uru, however I am able to view other ages using water reflections just fine (i.e. the fountain in Semjay's Tovaht age). I installed my physical copy of the game just to be safe, but same results.


Appreciate any help you can provide on this :)

Image
~JKC
jkcui1687
 
Posts: 12
Joined: Tue Mar 12, 2013 1:30 am
Location: New Hampshire

Re: Wavesets & Reflections

Postby Tsar Hoikas » Tue Jul 28, 2020 6:16 pm

I think there are two things preventing the reflection from working. I haven't actually tested any of this, so hopefully my recollections are all correct.

Uru expects for water to be non-flat so that it can use the depth information for culling and opacity of the reflection. IIRC as the water becomes deeper, the reflection should become more opaque. Since your water is flat, that might be causing us some issues. As a guess, I think turning down the "Reflection: End" value should help. Also, you may need to increase the "Environment Sphere Radius" to make sure more distant objects are reflected.

While our wiki is not exactly bursting with information on the topic, Cyan's former lead graphics programmer wrote an article about how the water shaders in Uru work. You can read about it GPU Gems.
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 2047
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Wavesets & Reflections

Postby Sirius » Wed Jul 29, 2020 10:29 am

I did a few tests, and lowering the water's vertices (to about ground height) will definitely help as Hoikas said. Don't move the object's origin though (it is used to determine the water's mean level). You will see the water mesh have actual waves instead of being distorted side-to-side.

(On a side note Hoikas, it seems the water is being culled when nearing the lower edge of the screen due to the bounding box being computed on the original mesh. If that's not too much bother, it might be worth making it slightly taller for objects with a waveset modifier, to account for both water height and wave heights... this is not critical though)

I did everything I could (including increasing the DCM's distance, removing visregions, and copying settings from other Ages), but didn't get the reflections working though. For some reason the avatar is correctly picked up by the reflection (even from farther away), but the wall isn't at all. Strange, I have absolutely no idea why :?


Tsar Hoikas wrote:While our wiki is not exactly bursting with information on the topic, Cyan's former lead graphics programmer wrote an article about how the water shaders in Uru work. You can read about it GPU Gems.

I would like to add this topic, in which I've tried to summarize the most important points as best I could. The Denkasen test Age is also useful to test each param in real time. It's available on Deep Island/Drizzle, find a rock with a turtle drawing on it, and you will be able to tweak the water mesh in real time (you can still move around, just right-click the edge of your screen).
This was from a while ago when PyPRP/AlcScript was the norm, so some parameters might not be named correctly, and it might not be as clear as other articles from the wiki, but might still be helpful to some...
User avatar
Sirius
 
Posts: 1303
Joined: Mon Jul 26, 2010 4:46 am
Location: France


Return to Building

Who is online

Users browsing this forum: No registered users and 5 guests