Rotating water
Quote from KFredje on February 18, 2013, 3:47 pmHi,
I want to try and make some gravity confusing map. My goal is to make a little room with water on the floor and rotate the entire room including the water so it is on the ceiling. I have been trying to do this but if I make a func_brush out of my water it doesn't work anymore.
What can I do to reach my goal or is this impossible?
Hi,
I want to try and make some gravity confusing map. My goal is to make a little room with water on the floor and rotate the entire room including the water so it is on the ceiling. I have been trying to do this but if I make a func_brush out of my water it doesn't work anymore.
What can I do to reach my goal or is this impossible?
Quote from FelixGriffin on February 18, 2013, 4:06 pmThat's impossible with normal water. You'll have to fake it. Sorry.
That's impossible with normal water. You'll have to fake it. Sorry.

Quote from josepezdj on February 18, 2013, 4:36 pmUse worldportals and make 2 different rooms, thus faking it, as Felix said
Don't think there's other way...
Use worldportals and make 2 different rooms, thus faking it, as Felix said Don't think there's other way...
Quote from lordkerward on February 18, 2013, 6:33 pmNice goal you were seeking sir KFredje, though a little bit hardness for your confusing map...
It could be possible sir,
Nice goal you were seeking sir KFredje, though a little bit hardness for your confusing map...
It could be possible sir,



Quote from josepezdj on February 19, 2013, 12:57 amBenVlodgi wrote:shouldn't water stay at the bottom anyway?Yes, I meant 2 rooms, one with the water at the bottom of course; the worldportals at the ceiling of both rooms and connected. This way there could be the 'illusion' of water at the ceiling. The rotation effect is the difficult part, maybe this idea should be changed...
EDIT
I thought of a solution for the rotation effectIt can be faked with a point_viewcontrol tied to a func_door_rotating (or maybe a func_rotating) this way:
1. You have the "normal" room (brushes, props, details, and whatever water at the bottom)
2. You have the 2 alternate rooms connected by worldportals. These rooms should be like this:- room 1 is half the 'normal' room of point 1, for example the upper half, but turned 180 degrees (what's on the ceiling in the normal room will be here at the floor level)
- room 2 is the bottom half of the 'normal' room of point 1, and of course it keeps the orientation.
- each of these 2 rooms will have a linked_portal_door at their ceilings linked together, and their width and height values will be the size of the rooms' ceiling.3. A point_viewcontrol entity at the entry to the normal room or wherever. This will be triggered as soon as the player enters the room and will become the player's eyes. It will also be triggered the func_door_rotating that the viewcontrol is tied to and the player "will see" the room rotating 180 degrees.
4. The player, in the meantime the rotation is having place, could be teleported to the fake couple of rooms. Specifically to the one which is now the bottom part, that is, room 1. This way the player will be in a room where he'll see at the floor level all stuff of first "normal" room's ceiling, and above him there will be water, the water of the "normal" room
*NOTE: the point_viewcontrol can only be parented to certain entities; I haven't tried the func_door_rotating but I tried a func_door and it works. In the case of any issue, try parenting the viewcontrol to the func_door and then this latter one to the func_door_rotating
Yes, I meant 2 rooms, one with the water at the bottom of course; the worldportals at the ceiling of both rooms and connected. This way there could be the 'illusion' of water at the ceiling. The rotation effect is the difficult part, maybe this idea should be changed...
EDIT
I thought of a solution for the rotation effect It can be faked with a point_viewcontrol tied to a func_door_rotating (or maybe a func_rotating) this way:
1. You have the "normal" room (brushes, props, details, and whatever water at the bottom)
2. You have the 2 alternate rooms connected by worldportals. These rooms should be like this:
- room 1 is half the 'normal' room of point 1, for example the upper half, but turned 180 degrees (what's on the ceiling in the normal room will be here at the floor level)
- room 2 is the bottom half of the 'normal' room of point 1, and of course it keeps the orientation.
- each of these 2 rooms will have a linked_portal_door at their ceilings linked together, and their width and height values will be the size of the rooms' ceiling.
3. A point_viewcontrol entity at the entry to the normal room or wherever. This will be triggered as soon as the player enters the room and will become the player's eyes. It will also be triggered the func_door_rotating that the viewcontrol is tied to and the player "will see" the room rotating 180 degrees.
4. The player, in the meantime the rotation is having place, could be teleported to the fake couple of rooms. Specifically to the one which is now the bottom part, that is, room 1. This way the player will be in a room where he'll see at the floor level all stuff of first "normal" room's ceiling, and above him there will be water, the water of the "normal" room
*NOTE: the point_viewcontrol can only be parented to certain entities; I haven't tried the func_door_rotating but I tried a func_door and it works. In the case of any issue, try parenting the viewcontrol to the func_door and then this latter one to the func_door_rotating
Quote from KFredje on February 19, 2013, 12:23 pmQuote josepezdj
[spoiler]josepezdj wrote:BenVlodgi wrote:shouldn't water stay at the bottom anyway?Yes, I meant 2 rooms, one with the water at the bottom of course; the worldportals at the ceiling of both rooms and connected. This way there could be the 'illusion' of water at the ceiling. The rotation effect is the difficult part, maybe this idea should be changed...
EDIT
I thought of a solution for the rotation effectIt can be faked with a point_viewcontrol tied to a func_door_rotating (or maybe a func_rotating) this way:
1. You have the "normal" room (brushes, props, details, and whatever water at the bottom)
2. You have the 2 alternate rooms connected by worldportals. These rooms should be like this:- room 1 is half the 'normal' room of point 1, for example the upper half, but turned 180 degrees (what's on the ceiling in the normal room will be here at the floor level)
- room 2 is the bottom half of the 'normal' room of point 1, and of course it keeps the orientation.
- each of these 2 rooms will have a linked_portal_door at their ceilings linked together, and their width and height values will be the size of the rooms' ceiling.3. A point_viewcontrol entity at the entry to the normal room or wherever. This will be triggered as soon as the player enters the room and will become the player's eyes. It will also be triggered the func_door_rotating that the viewcontrol is tied to and the player "will see" the room rotating 180 degrees.
4. The player, in the meantime the rotation is having place, could be teleported to the fake couple of rooms. Specifically to the one which is now the bottom part, that is, room 1. This way the player will be in a room where he'll see at the floor level all stuff of first "normal" room's ceiling, and above him there will be water, the water of the "normal" room
*NOTE: the point_viewcontrol can only be parented to certain entities; I haven't tried the func_door_rotating but I tried a func_door and it works. In the case of any issue, try parenting the viewcontrol to the func_door and then this latter one to the func_door_rotating
[/spoiler]Thank you for the detailed description. I might try this out somewhere this week. I'm also having another problem when compiling the map if my water is on the ground:
- Code: Select all
error: material WATER/WATER_WELL_BENEATH doesn't have a $bottommaterial
This is a transparent water texture and I don't know how to get this one fixed and the texture appears black in the map.
Quote josepezdj
Yes, I meant 2 rooms, one with the water at the bottom of course; the worldportals at the ceiling of both rooms and connected. This way there could be the 'illusion' of water at the ceiling. The rotation effect is the difficult part, maybe this idea should be changed...
EDIT
I thought of a solution for the rotation effect It can be faked with a point_viewcontrol tied to a func_door_rotating (or maybe a func_rotating) this way:
1. You have the "normal" room (brushes, props, details, and whatever water at the bottom)
2. You have the 2 alternate rooms connected by worldportals. These rooms should be like this:
- room 1 is half the 'normal' room of point 1, for example the upper half, but turned 180 degrees (what's on the ceiling in the normal room will be here at the floor level)
- room 2 is the bottom half of the 'normal' room of point 1, and of course it keeps the orientation.
- each of these 2 rooms will have a linked_portal_door at their ceilings linked together, and their width and height values will be the size of the rooms' ceiling.
3. A point_viewcontrol entity at the entry to the normal room or wherever. This will be triggered as soon as the player enters the room and will become the player's eyes. It will also be triggered the func_door_rotating that the viewcontrol is tied to and the player "will see" the room rotating 180 degrees.
4. The player, in the meantime the rotation is having place, could be teleported to the fake couple of rooms. Specifically to the one which is now the bottom part, that is, room 1. This way the player will be in a room where he'll see at the floor level all stuff of first "normal" room's ceiling, and above him there will be water, the water of the "normal" room
*NOTE: the point_viewcontrol can only be parented to certain entities; I haven't tried the func_door_rotating but I tried a func_door and it works. In the case of any issue, try parenting the viewcontrol to the func_door and then this latter one to the func_door_rotating
- Code: Select all
error: material WATER/WATER_WELL_BENEATH doesn't have a $bottommaterial
This is a transparent water texture and I don't know how to get this one fixed and the texture appears black in the map.

Quote from josepezdj on February 19, 2013, 2:58 pmThat means that your water material hasn't got a bottom material
LOL
Check one of the simple stock water textures:
- Code: Select all
Water
{
$forceexpensive 1
$normalmap "liquids/water_river_normal_sharp"
$flowmap "liquids/toxic_rep_flowmapr"
$flow_normaluvscale 160.0
$flow_worlduvscale 4
$flow_timeintervalinseconds 0.63
$flow_uvscrolldistance 0.1
$flow_bumpstrength 1.0
$flow_noise_texture "liquids/water_noise"
$flow_noise_scale 0.00082
$flow_debug 0
$basetexture "liquids/toxicslime_color"
$color_flow_uvscale 276
$color_flow_timeintervalinseconds 4.0
$color_flow_uvscrolldistance 0.11
$color_flow_lerpexp 0.98
$color_flow_displacebynormalstrength 0.007
$reflecttexture _rt_WaterReflection
$reflectamount "0.1"
$reflecttint "{ 190 205 205 }"
$reflectskyboxonly 0
$reflectonlymarkedentities 1$abovewater 1
$bottommaterial "nature/toxicslime002a_beneath"
$fogenable 1
$fogstart 0
$fogend 100
$lightmapwaterfog 1$fogcolor "{ 58 35 20 }"
$flashlighttint 1
"%compilewater" 1
"%tooltexture" "nature/water_frame01_normal"
$surfaceprop slime
}There's a line with that parameter:
$bottommaterial "nature/toxicslime002a_beneath"
It's a required one. Put that same one: it's the typical browny fluid you see when you fall into the goo (that's the bottom material, the one that you see underneath the water surface when you sink in
)
Anyway, what's the rest of the content in your .vmt water material? There are required parameters... try to tweak a stock one so you don't miss any.
That means that your water material hasn't got a bottom material LOL
Check one of the simple stock water textures:
- Code: Select all
Water
{
$forceexpensive 1
$normalmap "liquids/water_river_normal_sharp"
$flowmap "liquids/toxic_rep_flowmapr"
$flow_normaluvscale 160.0
$flow_worlduvscale 4
$flow_timeintervalinseconds 0.63
$flow_uvscrolldistance 0.1
$flow_bumpstrength 1.0
$flow_noise_texture "liquids/water_noise"
$flow_noise_scale 0.00082
$flow_debug 0
$basetexture "liquids/toxicslime_color"
$color_flow_uvscale 276
$color_flow_timeintervalinseconds 4.0
$color_flow_uvscrolldistance 0.11
$color_flow_lerpexp 0.98
$color_flow_displacebynormalstrength 0.007
$reflecttexture _rt_WaterReflection
$reflectamount "0.1"
$reflecttint "{ 190 205 205 }"
$reflectskyboxonly 0
$reflectonlymarkedentities 1$abovewater 1
$bottommaterial "nature/toxicslime002a_beneath"
$fogenable 1
$fogstart 0
$fogend 100
$lightmapwaterfog 1$fogcolor "{ 58 35 20 }"
$flashlighttint 1
"%compilewater" 1
"%tooltexture" "nature/water_frame01_normal"
$surfaceprop slime
}
There's a line with that parameter:
$bottommaterial "nature/toxicslime002a_beneath"
It's a required one. Put that same one: it's the typical browny fluid you see when you fall into the goo (that's the bottom material, the one that you see underneath the water surface when you sink in )
Anyway, what's the rest of the content in your .vmt water material? There are required parameters... try to tweak a stock one so you don't miss any.