Main
Tutorials











 

Security Cameras

If you have played DM-Insidious then you probably saw the two television screens above the body in the glass tube and wondered, "How did they do that"? In this tutorial I will show you how to make a simple version of the television screen that you can use in your own levels.

Open the editor and create a room large enough to experiment in. For our television screen, make a 128 unit cube against one of the walls and rotate it towards the center so we'll be able to see it easier. The textures you use do not matter at this point. We need something for our camera to look at, so open the actor browser and add an xWeaponBase at the far end of the room and set it to Rocket Launcher. You should now have something that looks like this:



Now to add our camera and television. Add an Info >> CameraTextureClient to the level. This actor takes whatever our camera sees and turns it into a texture so we can display it. For the camera, we simply add an emitter. Open it's properties and set Advanced >> bDirectional to True. Now it displays an arrow we can use to aim it. Set it high in the room and aim it at the xWeaponBase.



Now we have to create a texture for the engine to use as our screen. Open the texture browser and hit File >> New. Set the Package name to MyLevel (this makes it so we don't have to include another file with the level), leave Group blank, and set its Name to Television. Be sure its Class is at the default, Raw Material. In the Material Class scroll box, find Scripted Texture, then hit New to create our screen texture.



Now a new window pops up with our new texture's properties. Set its UClamp and VClamp values to 256. Now, without closing the window, open the texture browser and highlight Engine >> DefaultTexture. Go back to our texture's properties and hit the Use button in the FallbackMaterial box. It should now say Texture'Engine.DefaultTexture' and you should see it displayed in the upper left corner of the window.



Now close out our texture's property box, and highlight it in the MyLevel package in the texture browser. Apply it to the front of our television screen and align it properly:



Only a few things left! Open the CameraTextureClient's properties and open the CameraTextureClient tab. Hit the Use button next to DestTexture and our texture's name should appear in the box. Set its CameraTag to TVScreen1. Go into the Emitter's properties and set its Event >> Tag to TVScreen1 as well.





Congratulations, if you have followed these instructions you have a working television screen. Don't forget to add a player start, then go in and check it out. The TV should display the rocket launcher spinning in its base. Note that if you aim it in other directions you can see other players and bots but not yourself. This texture can be placed on meshes as well. To get an effect similar to DM-Insidious, open the Mesh pack AbaddonHardware and add a Screen01AB to your level. Open its Display properties and click the Add button next to Skins. Highlight our custom texture in the texture browser and hit Use in the [0] box below Skins. The monitor should now have our custom texture in place of the screen.

In addition, if you know how to use Movers you can set one up that rotates back and forth, then set its Tag to CameraMover1, then set the Emitter's Movement >> AttachTag to CameraMover1. The camera will then rotate back and forth like some are designed to do.







Maabus from the Atari forums has also come up with a solution to getting the cameras to work online. In the Actor browser, right click on the CameraTextureClient and hit New. Give it a name, and set the Package to mylevel. Hit OK and a new window will pop up. Hit the Compile Changed Scripts button (three sheets of paper), then once it's done, close out that window. In the Command line at the bottom of UEd, type editdefault class=mycameratextureclient, or whatever name you gave it. This will pop up the default property window for it. Under None, look for RemoteRole, and change it to ROLE_SimulatedProxy. Close it out, then use this class instead of the normal CameraTextureClient and it will work online. You may have to uncheck Placeable Classes Only in the Actor browser to get it to show up.

Good luck!

Example Map from this Tutorial (12kb zip)