Difference between revisions of "Intruder Editor Tutorial"
(Added Terrain2) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
Once you have a fresh new unity project open, you’re ready to begin making a map! | Once you have a fresh new unity project open, you’re ready to begin making a map! | ||
+ | '''Open the scene called Demo for examples of how to use almost everything in Map Maker!''' | ||
== Navigating Unity == | == Navigating Unity == | ||
+ | |||
+ | [[File:Startup.png|400px]] | ||
+ | |||
+ | This is the basic layout of a Unity project window. Each area highlighted serves a purpose. | ||
+ | The scene view (Green labeled 1) Is the navigation viewport. | ||
+ | The inspector tab (Blue labeled 2) is for object properties for objects placed in the scene view. | ||
+ | The project tab (Purple labeled 5) and project asset navigator (Orange labeled 3) work together for browsing project files. | ||
+ | The project tab is used for navigating the project's folders, while the project asset navigator is used for browsing the contents of the project folders. | ||
+ | The hierarchy tab (Red labeled 4) is used for organizing game objects in the scene view. These are the basics for navigating the unity editor for map making. | ||
=== Scene View === | === Scene View === | ||
Line 26: | Line 36: | ||
[[File:Capture3.PNG|400px]] | [[File:Capture3.PNG|400px]] | ||
− | Listed here are all the objects in your scene. Keeping everything | + | Listed here are all the objects in your scene. Keeping everything organized will make your life much easier. If you drag one object onto another one in the hierarchy, it will become a child. Transforming a parent will also affect all of its children, so you can use this to keep related items together. In complicated scenes, the search box is also very helpful, so make sure you give things informative names. |
===Project Navigator=== | ===Project Navigator=== | ||
Line 86: | Line 96: | ||
===Custom Models=== | ===Custom Models=== | ||
− | + | Custom models can be made and imported with ease using Blender[https://www.blender.org/download/] or other 3d modeling software. When modeling, keep in mind that overly detailed models may have complications in Intruder. It's best to keep models detailed, but not complicated. When modeling in Blender try to keep objects proportional, but keep in mind that custom models made in Blender can be re-scaled in Unity. Once your model has been made you can place textures on it by UV unwrapping it, then mapping your texture to the UVmap. "UV unwrapping" means taking your 3d object and unwrapping its shape flat so that textures can be more easily applied to the shape of the model. Once your model has been completed (modeled, unwrapped, and textured), browse to your Unity project's assets folder, create a new folder, place your model and texture. Restart Unity. Your new folder should now be in the Project folder navigation list, and your custom model should be visible in the asset navigator. The model might not have textures automatically applied, simply create a new material, then apply your texture to the material, and finally apply that material to your model in the scene view and it should map properly if it was unwrapped correctly. | |
+ | One final thing to note is collision data, Your model might not have a collision box or collision mesh. These are necessary so players in-game cannot walk through your custom model. | ||
+ | |||
+ | [[File:collide.PNG|400px]] | ||
+ | |||
+ | To fix this issue, click your custom model in the scene view. Click the inspector tab. Look for Any component in the inspector tab that says collider. If there is none, your object has no collider data. Certain collision mesh types may be better suited for your custom model than others, depending on the custom model's shape. But for the most accurate collision select mesh collider from the Physics tab. The component should be added. In the location bar labeled "Mesh" locate your custom model's mesh. Mesh colliders are more costly for calculating collision but are more accurate, use mesh colliders as least as possible. When you test your custom model's collision it should work properly. | ||
===Manipulating Objects=== | ===Manipulating Objects=== | ||
Line 291: | Line 306: | ||
Kills any player touching the death zone. | Kills any player touching the death zone. | ||
+ | |||
+ | ====Terrain2==== | ||
+ | |||
+ | Renders objects that are too far away from the player. (Riverside and Mountainside have a far beyond terrain, if this layer was not on it, it wouldn't be rendered.) | ||
==Exporting and Publishing== | ==Exporting and Publishing== |
Latest revision as of 19:14, 9 December 2019
Getting the Map Maker
Follow the instructions at the official Map Maker Thread to obtain the map maker. [1]
Once you have a fresh new unity project open, you’re ready to begin making a map!
Open the scene called Demo for examples of how to use almost everything in Map Maker!
This is the basic layout of a Unity project window. Each area highlighted serves a purpose. The scene view (Green labeled 1) Is the navigation viewport. The inspector tab (Blue labeled 2) is for object properties for objects placed in the scene view. The project tab (Purple labeled 5) and project asset navigator (Orange labeled 3) work together for browsing project files. The project tab is used for navigating the project's folders, while the project asset navigator is used for browsing the contents of the project folders. The hierarchy tab (Red labeled 4) is used for organizing game objects in the scene view. These are the basics for navigating the unity editor for map making.
Scene View
The scene view is your main window into the world you are building. Moving your camera can be done in several ways. Middle click will pan. The Right Mouse Button allows you to look around. While holding down RMB, WASD, Q and E will allow you to fly through your scene. Hold shift to increase your speed. With an object selected, pressing F will focus on that object: the camera will fly to it. If you hold Alt, left clicking and dragging will orbit the point your camera is currently looking at.
Click the different axes of this Scene Gizmo to Get Top, Right, Front, etc. views. Disable or Enable perspective by clicking the Persp text underneath it. This can be helpful for lining things up.
Similarly, these settings can be handy, particularly setting the rendering mode to wireframes.
Object Hierarchy
Listed here are all the objects in your scene. Keeping everything organized will make your life much easier. If you drag one object onto another one in the hierarchy, it will become a child. Transforming a parent will also affect all of its children, so you can use this to keep related items together. In complicated scenes, the search box is also very helpful, so make sure you give things informative names.
This is where you’ll find all the prefabs included with the map maker, and any that you create yourself. As above, the search bar is very useful.
Creating Objects
Geometric Objects
Since we are using Unity, many things available in the engine can be used to build levels. Basic objects such as cubes, spheres and cylinders can be created with the GameObject menu.
Lights
Basic Light Settings | |
---|---|
Range | the maximum distance the light will be cast. |
Intensity | the brightness of the light. |
Cookie | allows you to add a mask to a light using the alpha channel of a texture. You can use this to make a light brighter or darker in different places. Think of the light pattern of a flashlight, or a bat signal. |
Shadow Type | Hard shadows are hard, Soft Shadows are softer. Fiddling with the shadow settings can make them softer or harder, and you can also manipulate the resolution of the shadows cast, to trade off quality against jaggedness. |
Culling Mask | Use this to make your lights affect only particular groups of objects. |
Lightmapping | If you want to bake lightmaps into your scene, you can make particular lights affect only the lightmap, or only |
Forms Of Lights | |
---|---|
Directional Lights | These are for simulating the sun. Light from these will be cast across the entire scene, and all shadows will be parallel. The intensity of the light does not vary with distance from the light’s object. |
Point Lights | The bread and butter of lighting your stage. These emit light in all directions from a particular point, which falls off with distance. |
Spot Lights | Spot lights emit light in a cone. Use these to add more directionality to your lighting. For example, to light up one side of a room without affecting the other side. You can set their angle. |
Area Lights | These only affect baked lightmaps -- they emit light from one side of a plane. |
Custom Models
Custom models can be made and imported with ease using Blender[2] or other 3d modeling software. When modeling, keep in mind that overly detailed models may have complications in Intruder. It's best to keep models detailed, but not complicated. When modeling in Blender try to keep objects proportional, but keep in mind that custom models made in Blender can be re-scaled in Unity. Once your model has been made you can place textures on it by UV unwrapping it, then mapping your texture to the UVmap. "UV unwrapping" means taking your 3d object and unwrapping its shape flat so that textures can be more easily applied to the shape of the model. Once your model has been completed (modeled, unwrapped, and textured), browse to your Unity project's assets folder, create a new folder, place your model and texture. Restart Unity. Your new folder should now be in the Project folder navigation list, and your custom model should be visible in the asset navigator. The model might not have textures automatically applied, simply create a new material, then apply your texture to the material, and finally apply that material to your model in the scene view and it should map properly if it was unwrapped correctly. One final thing to note is collision data, Your model might not have a collision box or collision mesh. These are necessary so players in-game cannot walk through your custom model.
To fix this issue, click your custom model in the scene view. Click the inspector tab. Look for Any component in the inspector tab that says collider. If there is none, your object has no collider data. Certain collision mesh types may be better suited for your custom model than others, depending on the custom model's shape. But for the most accurate collision select mesh collider from the Physics tab. The component should be added. In the location bar labeled "Mesh" locate your custom model's mesh. Mesh colliders are more costly for calculating collision but are more accurate, use mesh colliders as least as possible. When you test your custom model's collision it should work properly.
Manipulating Objects
For each of the above gizmos, hold ctrl to transform the object in increments. More precise positions can be set using the transform dialogue in the Inspector when you have an object selected.
Adding Animations
also empty, rab pls fix
Custom Skyboxes
also empty, rab pls fix
Rigidbodies
If you add a RigidBody component to an object, it will be physically simulated in the world. Explosions and collisions will cause them to move. If you additionally tag the object with the RigidBody as metal, it will react to being shot as well. Place a ResetProxy script on it as well to make it return to its initial position when the round resets.
Rigidbody properties | |
---|---|
Mass | How heavy the object is -- the higher the mass, the less easy it is to move. |
Drag | how much it will slow down when moving. |
Angular Drag | how much its rotation will slow down over time.Check any of the constraint boxes to restrict the object’s movement only to certain axes. |
Overview of Prefabs and Scripts
Adding proxies to your scene is a simple matter of dragging them from the assets pane into your scene.
Proxies etc.
Spawn Points
To play you must place spawn points. By default, SpawnA represents guard spawn; SpawnB, intruders. If multiple are distributed across the map, players will spawn among the different points.
Briefcase
Where the briefcase will be placed.
Goal Point
Where intruders need to take the briefcase to win.
Doors
Door Options | |
---|---|
Lock Options | by default, doors will be randomly locked or unlocked at the start of every round. Check “Always Lock” or “Never Lock” to change this. |
Sliding Door | make the door open by sliding instead of swinging. |
Partner Door | By setting this reference to another door, both doors will be unlocked or locked in tandem. That is, unlocking one will also unlock its partner. |
Reverse | changes the direction that a door will swing. |
Glass
Scale glass proxies to any size you like and place them into your map. The only caveat is that a glass proxy’s Z scale will have no effect on the thickness of the glass. The “Hp” setting in the proxy determines how many bullets are required to shatter this pane of glass.
Mortar
Just plop this bad boy down in the scene and it will work. Using the main body allows you to aim the cannon. Using the cannon itself launches a shell.
Pickup
Use the dropdown box to choose what item this pickup represents. Available items include sniper rifles, binoculars, red dot sights, bananas, and sheilds.
Zip Line
Move the blocks representing the start and end points of the zip line to determine where it goes. A line will be rendered between the two when the level is played in-game. The Number of Vertices and Max Gravity Dangle settings allow you to modify how the zipline will droop. Negative speed settings are not advised.
Keypad
Type a message into the provided text box. The string {1} will be replaced by the door code of an associated Keypad.
Note
Locked Object
Observe Cam
Place this in your scene to set the default view of your level. This is what players see behind the team selection menu when first joining the server.
Ladder
These ladder volumes allow the player to move freely wherever they are looking within their limits. They are resizable.
Water Level
To make actual swimmable water, simply use a ladder volume. The water level proxy will add sound effects and blur if the player is inside any ladder beneath it. This will not add any visual effects to your water, however, which you will have to add yourself using other unity tools. Unity comes packed with some water assets which you can use for this purpose.
Wind Proxy
Add one of these to your map to control the wind speed. The speed on the map will vary randomly between min and max. If you create a cloth object from GameObject -> Create Other -> Cloth, you may increase the size of the Flags array and add the object to the list. It will then blow with the wind.
Equipment Manager
Use this to modify which equipment each team will start with, and how much ammunition.
Mover
Scripts
Attach scripts and other components to objects either by clicking the Add Component button in the inspector, or dragging a script from the Project Browser into the inspector.
Activator
ActivateActivator
AnimateColor
Attaching an AnimateColor script to an object will allow you to animate its main material’s colour with the old-style Animation system.
DestructibleProxy
Attach this to an object to make it destructible by gunfire.
Life | how many shots it takes to destroy this object. |
---|---|
Particle Effect | if this points to an object with a particle system on it, a copy of that object and its particle system will be created at the location of the destructible proxy whenever it is shot. You may wish to add a Timed Object Destructor (see below) to the particle system object to make sure duplicates do not sit around |
Destroy Particle Effect | this behaves the same way as the above particle effect, but only triggers when the object is destroyed. |
Pitch | If you place an audio source component on the destructible object, its audio clip will be played when the object is destroyed. X and Y represent the min and max pitch shift of that clip. A value will be randomly chosen between these values and the sound pitched accordingly. As with music, 0.5 represents 1 octave down, 2 an octave up. A value of 1 means no shift at all. |
Timed Object Destructor
When this object is created, it starts counting down. After the number of seconds specified in the Time Out field, the object will be destroyed.
GravityProxy
Add this script as a component to any object in your scene to change the gravity. Changing the gravity will not affect player movement when they are not ragdolled, but it will cause phyically-simulated things such as world objects, ragdolls, grenades, and particles, to behave differently. Normal gravity is -9.81.
PlayAudio
Tags
Metal
Sparks when shot. Bullets will pass through the object. If a RigidBody is attached to the object, bullets will affect it.
Slippery
Causes player to fall over when standing on the object.
SuperSlippery
Causes player to fall over if ever touching the object
Dirt
Dirt footstep noises.
Carpet
Carpet footstep noises.
ThickMetal
Sparks when shot, makes a metallic noise.
Deathzone
Kills any player touching the death zone.
Terrain2
Renders objects that are too far away from the player. (Riverside and Mountainside have a far beyond terrain, if this layer was not on it, it wouldn't be rendered.)
Exporting and Publishing
Exporting and Testing
Once you have a level, you can test it with the Play Scene in Intruder Menu. This is an offline test only, for online use you must upload it first.
Once you are happy with your level, you may upload to the server by opening the Login & Upload[ctrl + U] menu. Once you have logged in with your usual Intruder login detail press the Upload button, MAKE SURE YOU LIKE THE MAP NAME YOU HAVE CHOSEN BECAUSE IT IS PERMANENT. Once the upload has completed, you can play your map online with other people from the custom server browser inside Intruder!
Tips
Check out the Demo level that’s included with the map maker download. There are many examples of the various prefabs working in a level for you to examine. Check the forums for released unity projects as well. Study awesome maps and maybe you’ll be able to make your own maps more awesome.
Make sure to remove any cameras from your scene. They will interfere with rendering.
Ctrl+D duplicates objects.
To make the iteration cycle a little faster, launch your level in offline mode with ctrl+i, and leave the game open. Any future changes you export can be realised in-game by typing the command /res in the chat. This will reload the level from your local copy of the level.
When in offline mode, use the /lll command in the chat to choose any level file to load.