• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design How do I .....? The Thread for all questions more than general.

Does demo movie work? I set the controls to start and stop demo recording, but where does the movie save to? What other software besides fraps should I use to be recording?
Also does anyone know the difference between RKKA greatcoat and winter ROSURoles? I could not see a difference.

The RKKA greatcoat roles were created as placeholder coding in case TWI got around to making those models for the game. Obviously, we know now that they are probably not going to do that for this version of RO. That particular role class references the snowsuit model, I believe, so there really is no difference, as you noted.
 
Upvote 0
So other than the white suits all I have is the fall Uniforms. Do you know what packages the uniforms are in I found one calle character tex but I dont think that had all of them. Also are there any other coldweather suits out there that are not white? Also I opened the code from the actor window how did you get down in there to see the code I was looking for that? Thanks.

Shurek fixed me up on this so no need to answer these questions Thanks.
 
Last edited:
Upvote 0
I have a large mountain that my level is taking place on. The play area is considerably raised. I have a sharp drop and then some decorative terrain about 200m down from the play area. I would like to give the effect of fog flowing over the lower areas (also so the end of the terrain isn't as apparent.) I was thinking of using emmitters but I doubt that would work well. Can I zone this area off somehow and fog it up?
 
Upvote 0
I have a large mountain that my level is taking place on. The play area is considerably raised. I have a sharp drop and then some decorative terrain about 200m down from the play area. I would like to give the effect of fog flowing over the lower areas (also so the end of the terrain isn't as apparent.) I was thinking of using emmitters but I doubt that would work well. Can I zone this area off somehow and fog it up?

I'm pretty certain that you can't do fog like that the way you're suggesting. The best methods are either an emitter, or a BSP or SM sheets with a moving smoke texture applied to them. Alternatively, you could use the sheets to get the basic smoke look and then add a few emitters on top for a nice overall effect, without the FPS loss of just using emitters alone.

As for the cull distance questions, it's best to go through each object and set the appropriate distance manually. Yes, this takes a lot of time, but it can really pay off. If your map is small or well optimized in other ways (really low fog distance, indoors/zoned, etc.) you won't need to cull each static mesh but it never hurts. Remember, zone culling does not work in the editor so you must load the map up and type rmode 1 in console to see what objects are still being rendered. What most mappers will do is select all the objects in the room and give them a generic value of 1000 UU or so just to save some time while still getting most of the cull distance benefits. Any outdoor objects that will only be culled by the fog can be set to 0 cull distance. Static meshes will not render beyond the fog limit.
 
Last edited:
Upvote 0
I wanted to ask you more general stuff about static meshes. What are the drawbacks of creating meshes with UnrealEd?
And for example if I wanted to create a building with UnrealEd and save it as a static mesh what happens to the textures (especially if I use custom textures) are they saved in the myLevel package automatically or do they need an extra texture package?

I noticed my only "problem" left I have, with mapping, are the stupid sounds for breaking glass.
Ok, Kettch asked me these questions in a PM but I figured others could benefit from them as well.

Creating static meshes in the editor is only useful for very simple objects, and even then I wouldn't recommend it. My advice is to learn 3D modeling now, because you will definitely need that skill in the future. Once you start creating static meshes in a 3D app you'll hate yourself for not doing it sooner. ;)

Custom textures (or any texture) should be referenced just fine, and you shouldn't encounter any problems as long as the player also has that custom texture package. If you're just using one texture from RigaDocks_T or something it might be better to save a copy of that texture to myLevel so players won't need to download the entire RigaDocks_T package.

As for specific downsides with creating static meshes from the editor...

Edited, see Evil Hobos post below.

In short, it is possible, but I wouldn't recommend it. A 3D app is the right way to make static meshes and it would be best to pick up on that now because BSP is rapidly becoming extinct.


Breakable Glass - Mini Tutorial
*Note* This is also how you make other destroyable objects.

So you want breakable glass eh? Well he's how you do it.

1. First step is to add the glass. In the Actor Classes Browser navigate to RODestroyableStaticMeshBase > RODestroyableStaticMesh and add that to your map. Do not be alarmed when you see a panzerfaust warhead appear. It's glass, really, it just doesn't know it yet.

2. Now you need to find the glass static mesh that you will be using from the Static Meshes Browser. I'll go with fact_glass01 from the KrasnyiSM package but you can use other sheets of glass or even completely different objects if you like.

3.
Once you have the static mesh selected go back to your RODestroyableStaticMesh (the panzerfaust warhead) and open up its properties (F4). Go to Display > StaticMesh and hit the 'Use' button right beside it. You should now see that the warhead has been replaced with whatever static mesh you chose earlier. Position the window wherever you like.

4. Now you need to add the trigger that will control the breaking glass. Go to the Actor Classes Browser > Keypoint > AIScript > ScriptedSequence > ScriptedTrigger and place the ScriptedTrigger down close to your window.

5.
Open up the ScriptedTrigger properties (F4) and go to AIScript. Expand [+]-Actions and click Add. This first command is going to be WaitForEvent, which you can find in the drop down menu right beside the current command, which is ACTION_ChangeWeapon. Once you've found WaitForEvent click New. Under the new field, ExternalEvent, type in MyGlass_01.

6.
The next command you will need to add is PlaySound. Find it in the drop down menu and hit New. Now you need to find a sound to play when the glass breaks. In your Sounds Browser go to File > Open... Amb_Destruction and click on a sound you like. I chose Krasnyi_Glass_Break04. Now, go back to the Sound field located within Action_PLAYSOUND and press Use.

7. The final action to add is an Action_GOTOACTION action. :rolleyes: Put in 0 under the ActionNumber. This will just reset the trigger back to the first action (0) after the sound has been played.

8.
For the last step click on your RODestroyableStaticMesh (the glass) and go into the properties (F4). Under RODestroyableStaticMeshBase input the following;

- bUsedDamagedMesh : False
- bWontStopBullets : True
- DestroyedEffect : Class'ROEffects.ROKrasnyi_glass1_Emitter'
- DestroyedEvent : MyGlass_01 (Important! This must match the Event in your AIScript > WaitForEvent!)
- Health : 1
- TypesCanDamage
Class'ROGame.ROWeaponProjectileDamageType'
Class'ROGame.ROWeaponBayonetDamageType'
Class'ROGame.ROWeaponBashDamageType'
Class'ROEngine.ROGrenadeDamType'
Class'ROGame.ROGrenShrapnelDamType'

If all went well you should now have a pane of glass that will get destroyed when shot at along with a matching glass shards emitter and even a sound! Let me know if you have questions/comments/etc. :cool:
 
Last edited:
Upvote 0
- The resulting static mesh (made from BSP in the editor) will usually have very poor lighting because BSP is not cut up efficiently to be vertex lit.
- The collision will not stop vehicles or dead bodies (karma objects).
- You cannot choose which faces are deleted or switch their facing (normals) making the mesh unoptimized and unsightly in most cases.
- The textures will usually be duplicated several times causing the mesh to be very unoptimized. For example, if you have 40 bushes that you combine into one bush group, the resulting static mesh will have 40(!) different texture slots because UnrealEd doesn't realize that the new mesh uses that one texture multiple times and should be combined into one.

This is incorrect.

If you are looking to make a Static Mesh out of BSP, use BSP sheets. These are two dimensional brushes. When you build one it will be two-sided (meaning that a texture is displayed on both sides): you will need to select the texture of the brush so that it turns a light blue and then check the properties and uncheck the value for Two Sided.

You can start out using normal BSP primitives like cubes and so forth, but to optimize the mesh you will need to use sheets. This will allow for you to reduce the amount of faces and triangles.

BSP-made static meshes can be given karma collision and simplified collision boxes by shaping the red builder brush around the mesh, then selecting the mesh and then Save Brush as Collision (or something to that effect).

Texture (or rather, Material) duplication will only occur in the event of the merging of multiple meshes in to a larger mesh, but not with BSP. If you have a series of BSP sheets that are all the same texture and these are merged in you a Static Mesh, you will be left with a Static Mesh with one material. However, if you have 40 Static Meshes that are of the same texture and you merge these in to one, you will have 40 materials. That is why in converting larger groupings of meshes (make sure they are simple though) you should first convert it to a brush, add it, then convert that brush in to a mesh.

On the subject of lighting, be sure to split up your sheets evenly. Even if you have a single face for a brush, split it up in to multiple smaller sheets so that the lighting does not come out looking awful. You can see this used on a number of Tripwire meshes as well.

Remember to use BSP sheets for all of this.
 
Upvote 0
interesting all of this, for some constructions i need complicated brushes for the roofs but they give me bsp errors.
when converting to mesh, will bsp errors disappear?

yes most likely, I still have troubles though on some BSP if it is not solid like I made some huts with interior rooms and when converting those to Statics the subtraction brushes became solids.

Side question: on the units insignia info portion if I load a graphic in there where will it show? or will it show? what are the size and specs of the pic for this are if you want to do it?
 
Upvote 0
hey guys, i "discovered" something! i was annoyed that bad usage of tanks would ruin the gameplay on some CA maps, especially pariserplatz. basically because stupid tankers would use them as bulldozers and rush into enemy lines. so i wondered if i could set up blockingvolumes that only block vehicles, and it can be done!

so im going to set up volumes on pariserplatz linked to the spawnareas, so tanks simply cannot go ahead of the infantry and have to stay at a certain distance of the next objectives.
on a same note, is it possible to have a volume that warns tankers that they are reaching to close to the enemy, and must stop advancing, before they actually hit the blockingvolume?
 
Upvote 0
Actually, I have a question too.

I'm adding in descriptive text to my map's Level Summary and I noticed that the editor doesn't like apostrophes...at least it doesn't like mine. For example, if I type the following text into the summary area "the Army's strength was undermined by the commander's incompetence", it then comes out ingame looking like this: "the Army~s strength was underminded by the commander~s incompetence". Why are my apostrophes being replaced with "~" tildes????:(
 
Upvote 0