Page 1 of 2

Wavesets in shells

PostPosted: Sat May 15, 2010 3:31 pm
by Robert The Rebuilder
Some shell owners wanted to use wavesets. If these are added as part of the paged-in shell, it will not look correct. That's because the waveset object has to be statically loaded, i.e. when the age itself is loaded.

To solve this problem, sign up for a static page on the Static Pages table. Then assign your waveset object to that page number. Modify your .age file to add a page for your static page. For example, if your static page number was 14 and you had shell 315, you would add the following line:
Code: Select all
Page=Shell315Static,14


The next time you export your shell, copy both the shell page and the static page into your URU's dat folder. Then try out your shell - the waveset should look fine.

---

However, sometimes there are issues with the wavesets even after doing this. For example, Andy Legate has done all of the above; but the avatar splash ripples appear messed up. Also, whenever the view includes the waveset, the frame rate goes way down.

Has anyone that worked with wavesets encountered these issues? How did you solve them?

Re: Wavesets in shells

PostPosted: Sat May 15, 2010 4:44 pm
by Nadnerb
This is another thing that would be made unnecessary if we switched to visRegions instead of dynamic paging.

Re: Wavesets in shells

PostPosted: Sun May 16, 2010 4:26 pm
by Jojon
Hmm, I've been assuming that visregions will be there in any case and that the paging scheme was more to reduce the momentary memory footprint of the age?

Re: Wavesets in shells

PostPosted: Sun May 16, 2010 5:12 pm
by Paradox
At the moment, nothing is using visRegions. With proper visRegions, Occluders, spaceTrees, and relevanceRegions, the Age should be playable without causing Python scripts to break and special objects to go in special pages.

Re: Wavesets in shells

PostPosted: Sun May 16, 2010 5:26 pm
by andylegate
Tell you what.....let me slap a visregion on my waveset in my Shell.

I did notice that when I removed the page swapping for even just my shell, load time was a LOT longer when linking into Pahts. I'll try again only have a visregion and see if the load time goes back to being shorter like when page swapping is being used.

Still wonder why page swapping like that causes the waveset to break.....

Oh, and I think I know at least why the footprint spashes are messed up. I think I have to include that in the static prp too.

Re: Wavesets in shells

PostPosted: Sun May 16, 2010 11:34 pm
by diafero
Jonnee reported that putting Wavesets in VIsRegions is also causing trouble: They don't re-appear correctly after they disappeared once. He said that also anything that is clickable had to be removed from the VisRegion.

Re: Wavesets in shells

PostPosted: Mon May 17, 2010 7:57 am
by Paradox
diafero wrote:Jonnee reported that putting Wavesets in VIsRegions is also causing trouble: They don't re-appear correctly after they disappeared once. He said that also anything that is clickable had to be removed from the VisRegion.


That should not be happening. I've had no problems with wavesets being hidden and shown based on visRegion, and visRegions definitely do not affect clickability. :\

Re: Wavesets in shells

PostPosted: Mon May 17, 2010 9:54 am
by diafero
Weird - I'll email him about that.

Re: Wavesets in shells

PostPosted: Mon May 17, 2010 10:10 am
by Robert The Rebuilder
Andy made some discoveries since the initial post that has helped take care of some problems with the waveset. I'll recap them below [Andy, feel free to clarify or correct]:

  • Since the geometry that the static waveset reflects is dynamically loaded, make sure to set the waveset's refresh rate to something non-zero.
  • He fixed the footprint ripple problem by including the plane (and its material and texture) in the static page.
  • The lag was due to running multiple graphics applications at the same time as URU, so it wasn't related to the static/dynamic nature of the shell.

I believe the only remaining issue is to take care of some odd artifacts in the reflection. He's currently looking into the proper choice of reference object for the dynamic environment map.

On a related note, I made a new Ahra Pahts release that has all of his shell's objects in a static page - see this post.

Re: Wavesets in shells

PostPosted: Mon May 17, 2010 11:05 am
by andylegate
Something I have not tried yet, but might get rid of the strange shading of the waveset, if it's placed in a static prp:

Anything that is referenced to the waveset, or the waveset is referenced to, MUST be included in the static prp file.
What I mean is, I fixed the footstep ripples by making sure the plane with the footstep ripples texture was included with the static prp. That fixed it just fine.
However, I noticed that my edge ripples looked strange also. I believe that they also will have to go into the static prp file.
Last is the reference object.....the nearest object to the waveset that you reference for your reflections.

I'm thinking that you can place an Empty (or Dummy as it's called in Max) and use it as your reference. I have not tested this yet however.
The reason you may want to do this (if it works) is that it will also have to be included in the static prp file. If your waveset is close to the wall of your shell, and it's the closest object, then you would have to put it in the static prp. Placing large objects in the static prp is defeating the purpose of page swapping in the first place, heh.

I don't see why a empty would not work, as referencing the object is merely telling the waveset a specific center coordinate. But, of course, as with all things in Age Creation, I could be completely wrong. Won't know until I test it.