Mapping:Adding a camera to your map
A portal consists of 3 to 4 objects.
First you have an object is a brush you want to be the "viewer".
Then you have 2 entities, the misc_portal_surface and the misc_portal_camera.
This tutorial also uses an entity of target_position which is used to aim your camera, although you can give your misc_portal_camera an angle to aim instead.
Images
Download the following zip file Images it contains 2 images. Extract them tore these in your images folder.
Shader
Add the following shader to your shader file, you should change the paths to match your map.
textures/myfirstmap/tvscreen
{
qer_editorimage textures/myfirstmap/monitor.tga
q3map_lightimage textures/myfirstmap/monitor_colour.tga
q3map_surfacelight 1200
portal
{
map textures/myfirstmap/monitor_colour.tga
blendFunc filter
depthWrite
}
{
map textures/myfirstmap/monitor_colour.tga
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
alphagen portal 256
rgbGen identityLighting
}
{
map textures/myfirstmap/monitor.tga
blendfunc blend
}
{
map $lightmap
blendfunc filter
}
}
Create a TV screen
|
Create a simple (detail) brush in your map where you'd like your TV to be. Texture the top and sides, perhaps the bottom if anyone is likely to look there.
|
Create the entities
|
First of all create an entity of misc_portal_surface and place it within 64 units of your "tv scren" surface. Open the entity inspector with the misc_portal_surface selected (Press N) and enter key : target value : screen1
Then create a misc_portal_camera and place it in the other room. Again, with this selected press N to open the entity inspector and enter key : targetname value : screen1 key : target value : camera1 I am also going to us a target_position to tell the camera where to point. It is also possible to just give the misc_portal_camera an angle, but I find it easier to point it at a target. Create a target_position where you'd like the camera to point, the values for this entity should be key : targetname value : camera1
|