Hey guys, a little update for now.
I've made both zones and volumes with configurable gravity. If the player is in a normal map (or isnt in either an escher zone or volume), theyll just fall wherever their feet are pointing. If theyre' in a zone only, they fall in which direction the zone tells them to. If theyre in both a zone and volume, they use the volume gravity.
This should make things easy - you can use zones to set the gravity roughly for a large area and then add volumes inside it to give you the finer control you need.
For the zones, you simply rotate them in the direction you want gravity to be going. For volumes, you first add the volume, then add a special actor inside it which you rotate to point in the direction of gravity (i thought this was much easier than setting up the vectors yourself). If you accidentally put 0 or more than 1 of these actors into a volume youll get log warnings letting you know.
The volumes also have a toggle for point/field gravity. So by default, the actor you stick in there gives the direction of gravity in that zone. If you set the volume as a point source, that actor will instead be the center of gravity for that zone. This just makes things a lot easier for stuff like walking around the outside of a sphere - instead of having to use heaps of volumes all around it, you can just have one with a point gravity actor in the middle.
Oh, one more thing - the volumes also respect priority, so you can have, say, a large volume enclosing a sphere to make people stick to the outside, and a bunch of smaller volumes with higher priority inside it to force people to walk on the inside surface.
I've made both zones and volumes with configurable gravity. If the player is in a normal map (or isnt in either an escher zone or volume), theyll just fall wherever their feet are pointing. If theyre' in a zone only, they fall in which direction the zone tells them to. If theyre in both a zone and volume, they use the volume gravity.
This should make things easy - you can use zones to set the gravity roughly for a large area and then add volumes inside it to give you the finer control you need.
For the zones, you simply rotate them in the direction you want gravity to be going. For volumes, you first add the volume, then add a special actor inside it which you rotate to point in the direction of gravity (i thought this was much easier than setting up the vectors yourself). If you accidentally put 0 or more than 1 of these actors into a volume youll get log warnings letting you know.
The volumes also have a toggle for point/field gravity. So by default, the actor you stick in there gives the direction of gravity in that zone. If you set the volume as a point source, that actor will instead be the center of gravity for that zone. This just makes things a lot easier for stuff like walking around the outside of a sphere - instead of having to use heaps of volumes all around it, you can just have one with a point gravity actor in the middle.
Oh, one more thing - the volumes also respect priority, so you can have, say, a large volume enclosing a sphere to make people stick to the outside, and a bunch of smaller volumes with higher priority inside it to force people to walk on the inside surface.
Comment