Landing a cube on a cube-shaped button
Quote from OrangePortal on July 24, 2011, 6:37 pmI am trying to get a cube to fall ~6 feet and land on a cube-shaped button. What generally happens is the cube will land spot on, and even activate the button, but then roll or bounce off. I need it to land on the button, and keep it activated until removed by the player. I have tried trigger_push, trigger_catapult, nodraw, and combinations of the three without success (but then again, maybe I am not using them properly). Any help, ideas, or suggestions are appreciated.
I am trying to get a cube to fall ~6 feet and land on a cube-shaped button. What generally happens is the cube will land spot on, and even activate the button, but then roll or bounce off. I need it to land on the button, and keep it activated until removed by the player. I have tried trigger_push, trigger_catapult, nodraw, and combinations of the three without success (but then again, maybe I am not using them properly). Any help, ideas, or suggestions are appreciated.
Quote from ForbiddenDonut on July 24, 2011, 7:06 pmI had a similar puzzle where the player activated a box dropper and the box landed on a corresponding button. What I ended up doing was creating four physics_clip walls around the button from the base to the box dropper that only activated for the 3 seconds the box dropper was initialized for. It worked pretty well.
I had a similar puzzle where the player activated a box dropper and the box landed on a corresponding button. What I ended up doing was creating four physics_clip walls around the button from the base to the box dropper that only activated for the 3 seconds the box dropper was initialized for. It worked pretty well.
Quote from Brainstatic on July 24, 2011, 7:11 pmI was going to say try using trigger_push until I saw that you already tried that. I would try using the invisible tool texture. On four sides around the floor button, surround it with the invisible texture. Since the texture also blocks the player, you will need to be able to disable those brushes (AKA blocks) once the cube is safely on the button.
To do that, select all four of the invisible brushes you made with CTRL and click. Now press CTRL and T to make those brushes into brush entities. Set the entities as func_brush. Set the solidity keyvalue as toggle, set start disabled as yes, and give the brush entities names just like you would name any other entity. Giving all four the same name would probably be best here.
Now set up the button or whatever triggers the cube to drop to also enable the brush entities. This will make them solid, hopefully keeping the cube from going off course. To make the brushes non-solid again, set up an output for the cube button to disable the brushes once the cube button is pressed. You may want to set the delay to 1.0 to make sure the cube remains on the button. I hope that helps.
I was going to say try using trigger_push until I saw that you already tried that. I would try using the invisible tool texture. On four sides around the floor button, surround it with the invisible texture. Since the texture also blocks the player, you will need to be able to disable those brushes (AKA blocks) once the cube is safely on the button.
To do that, select all four of the invisible brushes you made with CTRL and click. Now press CTRL and T to make those brushes into brush entities. Set the entities as func_brush. Set the solidity keyvalue as toggle, set start disabled as yes, and give the brush entities names just like you would name any other entity. Giving all four the same name would probably be best here.
Now set up the button or whatever triggers the cube to drop to also enable the brush entities. This will make them solid, hopefully keeping the cube from going off course. To make the brushes non-solid again, set up an output for the cube button to disable the brushes once the cube button is pressed. You may want to set the delay to 1.0 to make sure the cube remains on the button. I hope that helps.
Quote from OrangePortal on July 24, 2011, 8:03 pmThank you both, I have it working beautifully now!
I tweaked your advice to fit my situation. In the event someone is interested, here is what I did:
1. Made a set of four func_clip_vphysics walls arrayed around the cube-shaped button slot to keep the cube from escaping (slightly larger than it to prevent the cube from possibly getting stuck as it comes in).
2. Inside of those walls I set four trigger_push walls to push the cube into position and diminish unsightly bouncing off vphysics walls (overlapping the space the cube was expected to settle into, set to push inwards and downwards at 2000 power).
3. Set the button to disable both sets of walls 3 seconds after being pressed (to insure the cube has had enough time to get settled into the slot).
4. Set the button to enable both sets of walls 10 seconds after being un-pressed (to insure the cube has enough time to move away, in this case via excursion funnel).
The cube lands in the exact right spot every time I throw it in. Thanks again for the help.
Thank you both, I have it working beautifully now!
I tweaked your advice to fit my situation. In the event someone is interested, here is what I did:
1. Made a set of four func_clip_vphysics walls arrayed around the cube-shaped button slot to keep the cube from escaping (slightly larger than it to prevent the cube from possibly getting stuck as it comes in).
2. Inside of those walls I set four trigger_push walls to push the cube into position and diminish unsightly bouncing off vphysics walls (overlapping the space the cube was expected to settle into, set to push inwards and downwards at 2000 power).
3. Set the button to disable both sets of walls 3 seconds after being pressed (to insure the cube has had enough time to get settled into the slot).
4. Set the button to enable both sets of walls 10 seconds after being un-pressed (to insure the cube has enough time to move away, in this case via excursion funnel).
The cube lands in the exact right spot every time I throw it in. Thanks again for the help.
Quote from Skotty on July 25, 2011, 4:33 amJust for you: The same way Valve used it in one of the SDK maps (sp_a2_trust_fling). Sometimes you can find some solutions in these maps.
Just for you: The same way Valve used it in one of the SDK maps (sp_a2_trust_fling). Sometimes you can find some solutions in these maps.