Team Fortress 2/Grinders

From Valve Developer Community
Jump to navigation Jump to search

Grinders are an environmental hazard seen most prominently in the MvM map Mannhattan. They resemble a wood shredder, and they are a direct danger to not only humans, but robots as well. Be careful where and how you implement this element, as it may allow for tele-trapping and team killing.

Position of the blades in the 2D Top view.

This article will cover creating the Grinder outside of an MvM map, which means robots will not be affected by it.

Basic Setup

Creation

Create 4 brushes, essentially forming a 192w 288l 96h hole. Next, create two prop_dynamic entities and place them next to eachother. Set the World Model property to props_urban/urban_shredder, match your two models on the grid to make sure they don't clip. Now, flip one model horizontally by selecting it in the 3D view, then pressing right mouse button on it now in the 2D view, hover over the Flip Objects dropdown menu and hit Flip Horizontally. Position the blades as shown in the picture. After you're done, extend the shredder hole to 224 units deep. Create a 48w 48l 64h brush on one of the sides of the pit. Using the Clipping Tool, clip the brush once into a triangular shape, then using the Vertex Tool, grab the top vertice and expand your brush until it's height is 128 units tall, then copy and paste these brushes on each side, clip off anything that goes through the walls of our shredder. Turn the triangular slants into a func_detail entity, as to conserve resources. Now, we can texture our grinder's top faces with metal/ibeam001. Texture the inside faces with metal/ibeam001b. Don't do anything with the bottom yet, we'll cover that soon. After texturing, connect the edges of the grinder's walls using the Vertex Tool. After you're done, make sure the triangles are func_detail and that there are no misaligned brushes/subunits and that your grinders are placed properly. Once that's done, we will now get into making the large pit which items and corpses fall into upon being sucked into the grinder.

Textured grinder

Texturing

Application

Now, we can texture our grinder's top faces with metal/ibeam001. Texture the inside faces with metal/ibeam001b. Don't do anything with the bottom yet, we'll cover that soon. After texturing, connect the edges of the grinder's walls using the Vertex Tool. After you're done, make sure the triangles are func_detail and that there are no misaligned brushes/subunits and that your grinders are placed properly.

The pit of the grinder. Notice that the pit's walls are thinner than the walls of the grinder itself.

Creating The Pit

Grinder Pit

As seen in Mannhattan, the grinder has a black void below to store corpses/things that fall in. This makes respawning someone who fell into this machine impossible. To start, create a 448w 544l 512h hollow box out of several brushes. Now, texture the bottom of the grinder with tools/toolsblack and the inside on the box. If you want to, place a func_illusionary just before the floor of our pit to hide anything that falls in. Congratulations, you just completed the visual part of the grinder! Now, we can begin bringing it to life.

Making Grinders Rotate

Animation

You do not need any func_rotating entities to do this! Infact, the model itself simply has a rotating animation called shredderanim. Set the Default Animation property to this. Make sure your blades rotate inward, not outward! Flip them horizontally if they rotate the wrong way. Set the Collisions property to Not Solid and disable shadows.

Functionality

Scripting

Create two ambient_generic entities. Call the first one grinder_shred_human_snd, call the second one grinder_idle_snd. Give the first one this set of properties: