Wavesets not appearing

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 not appearing

Postby Sirius » Sat Mar 17, 2012 1:44 pm

Hi all, I'm trying to build a small Age, and I wanted to try using Wavesets.
And, of course, it doesn't work. My wavesets are not showing, while they appear to be set correctly in the PRP.
I attached a picture showing most of its settings and AlcScript. The water mesh has no UV layer, and I didn't add vertex color.
blender_water.jpg
blender_water.jpg (271.21 KiB) Viewed 4233 times

And here is the export log.
Code: Select all
Exporting C:\Program Files\Uru\dat\Water.age ...
Args are e_age
['e', 'age']
Exporting age Water
[AlcScript Parser]
{'DayLength': 24.0, 'LingerTime': 180, 'MaxCapacity': 10, 'StartDateTime': 0, 'SequencePrefix': 100}
{'AgeSDLHook': True}
[]
{'DayLength': 24.0, 'LingerTime': 180, 'MaxCapacity': 10, 'StartDateTime': 0, 'SequencePrefix': 100}
#########################################
##
## => Exporting page Textures -1 <=
##
#########################################
#########################################
##
## => Exporting page BuiltIn -2 <=
##
#########################################
>>> Added AgeSDLHook scene object and python file mod
#########################################
##
## => Exporting page mainRoom 0 <=
##
#########################################

[Point WindDir]
 [Coordinate Interface WindDir]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None

[Point SunMaster]
Exporting IPO DayRotation
   [ATCAnimation DayRotation]
 [Coordinate Interface SunMaster]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None

[Lamp DefaultSun]
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> !kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [Coordinate Interface DefaultSun]

[SpawnPoint LinkInPointDefault]
 [Coordinate Interface LinkInPointDefault]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None

[WaveSet water]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None
 [Draw Interface water]
  [Material Wavesets]
  [DrawableSpans 40000000_0]
   Processing Faces per Material - Totalling 1 materials
   Material Wavesets
    Appending Light DefaultSun as lightobject to object water

[Visual Object skylow]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None
 [Draw Interface skylow]
  [Material skydome]
   [Layer skydome-sky]
    -> Using UV map ''
    -> Err, Using first UV map
    [MipMap Sky_horiz_5.jpg]
     MipMapInfo:
---------------
Imagename:Sky_horiz_5.jpg
Resize Image: True
Make MipMaps: True
Calculate Alpha:False
MipMap Gauss:False
Mipmap AlphaMult:1.0
CompressionType: DXT
---------------

     Reading mipmap Sky_horiz_5.jpg.tex from cache
   [LayerAnimation skydome-sky]
  [DrawableSpans 00000000_0]
   Processing Faces per Material - Totalling 1 materials
   Material skydome
    Object is Shadeless, not appending any lamps

[Visual Object skyhight]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None
 [Draw Interface skyhight]
  [DrawableSpans 00000000_0]
   Processing Faces per Material - Totalling 1 materials
   Material skydome
    Object is Shadeless, not appending any lamps

[Visual Object Cube]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None
 [Draw Interface Cube]
  [Material Material]
  [DrawableSpans 00000000_0]
   Processing Faces per Material - Totalling 1 materials
   Material Material
    Appending Light DefaultSun as lightobject to object Cube
 [Physical]
  ProxyBounds export
   Exporting 8 (8) vertices
   Exporting 6 (6) faces
  No Mass
  No Friction, disabling frictive setting
  No Elasticity set
  Camera blocking enabled
  Object is Static

[Camera Camera]
 [Coordinate Interface Camera]
 [LogicHelper]
   No actions in list
None
   Exporting modifiers
   No modifiers
None
Exporting Camera Modifier Object
Calculating FOV for lens is 35 mm
 Camera Brain: fixed
Exporting CameraBrain1
  No camera flags list, setting default
Exporting CameraBrain1_Fixed

@ Saving page Textures -1
@ Saving page BuiltIn -2
@ Saving page mainRoom 0
Writing Water.fni
Computing Checksums...
Writing Water.sum
done in 1.25 seconds


I'm 99% sure it's something obvious I missed, but I've been looking for it for most of the day and still couldn't find :( .
I even tried comparing it with an example file from DenDwaler, it doesn't work. I can export his wavesets fine, though.
That's why I usually avoid Age building.
I would appreciate any help :)
User avatar
Sirius
 
Posts: 1508
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Wavesets not appearing

Postby dendwaler » Sat Mar 17, 2012 2:02 pm

I can not see it very well, but are you sure that the center of your wavesetmesh is a bit higher then the mesh itself.
the waveset will be seen at the hight of the centerpoint.
so place the mesh abit lower and raise its center to the height of the wished waterlevel.
(Or in edit mode only lower the mesh)

edit: and to be sure you can see it make below the wave setmesh a large BLACK plane , only one face will do fine.
Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.



Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
User avatar
dendwaler
 
Posts: 936
Joined: Mon Jun 22, 2009 10:49 am
Location: Nederland

Re: Wavesets not appearing

Postby D'Lanor » Sat Mar 17, 2012 2:37 pm

And make sure you set values for geostate. Don't let PyPRP use its default zero values for that. Wavesets without geostate have a tendency to become invisible, depending on the video card (older / low end) or operating system (Linux).
"It is in self-limitation that a master first shows himself." - Goethe
User avatar
D'Lanor
 
Posts: 1980
Joined: Sat Sep 29, 2007 4:24 am

Re: Wavesets not appearing

Postby Paradox » Sat Mar 17, 2012 9:34 pm

Sirius wrote:Hi all, I'm trying to build a small Age, and I wanted to try using Wavesets.
And, of course, it doesn't work. My wavesets are not showing, while they appear to be set correctly in the PRP.
I attached a picture showing most of its settings and AlcScript. The water mesh has no UV layer, and I didn't add vertex color.
blender_water.jpg


That waveset mesh looks flat, and if the object centre is at the same level as the mesh, it will be (almost) invisible.

Your waveset mesh should conform to the bottom of your body of water, with the object centre at the Z position where you want the surface of the water to appear. A larger Z difference causes the water to appear "deeper" than a smaller Z difference.
Paradox
 
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Wavesets not appearing

Postby dendwaler » Sat Mar 17, 2012 11:45 pm

Your waveset mesh should conform to the bottom of your body of water,

No, this is not nessary at all.
None of my wavesets do this , they are all working excellent.
If you look into the age Relltoo on the place where the harvester is making his rounds, there is no bottom at all! only a flat circular waveset.

What concerns is the raise of the center on the z axis as you also indicate, but does not have to follow the bottom shape/curves,which is a common misunderstanding of how it works.
The mesh must have as less paralel lines in the mesh as possible, thats why its circular.
When the line's are paralel there are rows with equal coordinates in one direction.
If the avatar turns around he will see " flashing" wave when he is in line with a row of vertices. the set appears and disapears at a certain point only because of these equal coordinate.
The waveset algorithm only uses x,y vertice coordinates (its pure mathematics!), so this flat circular waveset is optimal, because it can produce a natural looking wavesets with least number of vertices over a large area without any flashing., z is only the height that's why only one centerpoint is needed instead of the z of all vertices.

The bottom is only necessary to get a reflection, in combination with the sky. when there is nothing to reflect there is no lightbreaking, but a simple plane is enough for the effect.
Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.



Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
User avatar
dendwaler
 
Posts: 936
Joined: Mon Jun 22, 2009 10:49 am
Location: Nederland

Re: Wavesets not appearing

Postby Sirius » Sun Mar 18, 2012 3:08 am

Ok, the origin location was the mistake. I understood the water mesh was flattened and displayed at the origin's height, but I didn't realise placing every vertex at this same height could break it. Thank you.
KIimage0001.jpg
KIimage0001.jpg (151.58 KiB) Viewed 4188 times

Well, there is just this avatar reflection in the water, but I already experienced it with other DynamicEnvMaps. I just need to turn off the incCharacters var.
I whish PotS supports Myst V's DynamicCamMap, these are REAL looking reflections.

It works fine with or without defaulting geostate. I tried adding it sooner, but since it didn't solve the problem I removed it.
D'Lanor wrote:Wavesets without geostate have a tendency to become invisible, depending on the video card (older / low end) or operating system (Linux).
I had this effect in most Fan-Ages before (+Er'cana), the water "blinking" each second... with sometimes other really weird bugs I would not want to have again.

dendwaler wrote:
Your waveset mesh should conform to the bottom of your body of water,

No, this is not nessary at all.
Cyan always have flat water meshes in their Ages anyway...
User avatar
Sirius
 
Posts: 1508
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Wavesets not appearing

Postby Paradox » Sun Mar 18, 2012 7:49 am

dendwaler wrote:
Your waveset mesh should conform to the bottom of your body of water,

No, this is not nessary at all.
None of my wavesets do this , they are all working excellent.
If you look into the age Relltoo on the place where the harvester is making his rounds, there is no bottom at all! only a flat circular waveset.


It can work, as long as the object centre is above the waveset, but that is not how it was intended to be used. Mark Finch (the programmer who came up with wavesets) wrote about them in an nVidia GPU Gems book, and it clearly explains that the Z position is meant to indicate the water depth.

If you read the Authoring section of Mark Finch's article (section 1.3 - look for a screenshot of 3DS Max), it says the following:
In our implementation, the mesh data is limited to the tessellation of the mesh, the horizontal positions of each vertex in the mesh, the vertical position of the bottom of the body of water below the vertex, and an RGBA color.

Section 1.3.1 below it describes how the Z position of the vertices affect the water opacity, and reflectivity.
Section 1.3.2 explains how vertex colour channels override the waveset properties.

Sirius wrote:
dendwaler wrote:
Your waveset mesh should conform to the bottom of your body of water,

No, this is not nessary at all.
Cyan always have flat water meshes in their Ages anyway...

Cyan Ages have a flat mesh at the water surface, which has animated layers for computers that cannot support wavesets.
If you have the quality turned up and wavesets enabled, it will use a real waveset, which has depth.
Paradox
 
Posts: 1295
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: Wavesets not appearing

Postby dendwaler » Sun Mar 18, 2012 9:28 am

Thx for this article.
It seems that in theory your are right Paradox.
Only i have never seen the result as intended then.
May be this is , because when you realy want to effect the wavelength on shallow parts to be different from steep parts,
then you need a hughe number of vertices to make a correct calculation, which is in contradiction with the low poly idea.
I wonder what the overall effect on the performance will be in that case.
Definitly i will do some more tests on this to see if i am able to get the intended result.
Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.



Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
User avatar
dendwaler
 
Posts: 936
Joined: Mon Jun 22, 2009 10:49 am
Location: Nederland


Return to Building

Who is online

Users browsing this forum: No registered users and 1 guest