Download

Enabling Per Poly Collision on Elements

Hello folks.

Just one doubt I want to clarify, i want to know if there is a way to automatize the changing of static meshes properties in UDK Static Mesh Browser, this way:

I am exporting some HUGE maps from 3dsmax, breaking it into multiple separate objects, not only one mesh (i have almost 350 meshes that comprise y actual map). Then i import them all to UDK.

After a lot of tests, i decided to make the static meshes which comprise my level geometry (floor, walls, roof) to have per poly collision. So for achieving this, i need to open the static mesh in browser, then uncheck these 3 items:

Use Simple Box Collision
Use Simple Line Collision
Use Simple Rigid Body Collision

But the problem is that manually doing this to, let’s say, 500 hundred objects is a pain in the #*$$@! :slight_smile:

Because this i want to know if there is a way to get arround of this, without doing manually.

In example, for the actor properties which appears whenever you press F4, they can be used to make a kind of automatization whenever adding the actors inside your map.

In example, instead of manually setting the lightmap resolution to 512 for each static mesh using Static Mesh Browser, i just use this template (copy and paste it inside UDK Viewport):

Begin Map
Begin Level
Begin Actor Class=StaticMeshActor Name=StaticMeshActor_4 Archetype=StaticMeshActor’Engine.Default__StaticMeshActor’
Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0 ObjName=StaticMeshComponent_6 Archetype=StaticMeshComponent’Engine.Default__StaticMeshActor:StaticMeshComponent0’
StaticMesh=StaticMesh’mypackage.geometry001’
VertexPositionVersionNumber=1
ReplacementPrimitive=None
bAllowApproximateOcclusion=True
bForceDirectLightMap=True
bUsePrecomputedShadows=True

bOverrideLightMapRes=True
OverriddenLightMapRes=512

LightingChannels=(bInitialized=True,Static=True)
Name=‘StaticMeshComponent_6’
ObjectArchetype=StaticMeshComponent’Engine.Default__StaticMeshActor:StaticMeshComponent0’
End Object
StaticMeshComponent=StaticMeshComponent’StaticMeshComponent_6’
Components(0)=StaticMeshComponent’StaticMeshComponent_6’
Location=(X=0.000000,Y=0.000000,Z=0.000000)
CreationTime=1728.151245
Tag=‘StaticMeshActor’
CollisionComponent=StaticMeshComponent’StaticMeshComponent_6’
Name=‘StaticMeshActor_4’
ObjectArchetype=StaticMeshActor’Engine.Default__StaticMeshActor’
End Actor
End Level
Begin Surface
End Surface
End Map

So i can edit this text using notepad++ to change the properties of the actors more easy than going manually inside UDK Editor, or Content Browser and changing the properties.

I would like to know if is possible doing this to change the collision properties.

Cheers.

I have done somehing similar before and i think this is not the right way to go.Per poly collision is fine for walls and simple shaped objects but in the end you might end lagging the pc.If you have the levels made in max,than using your final level in max as a visual template start making poly cubes,rectangles,etc. and stretch them so that they encopas the level.That low poly environment that you will end up you join as one or two obejcts and it will be set to per poly collision and invisible on top of your original level in udk which will have no collision at all.

No idea.But still i think it woud be better if you combine your level and import it as one mesh as you wanted,and in max build a low poly surface floor and walls and place them on top of the level(invisible)for the collision.It shoud be the same ammount of work as lets say press 300 times all of the meshes and the drawcalls will be better.

I agree with you, after some google searching, i realized that if you want to build a level entirely on a 3D Application (instead of building it the recommended way inside UDK Editor), althought is possible, however, there is no way to escape the tedious work of setting up each one of my static meshes on the Static Mesh Editor.

And the best way to avoid this tedious work, is indeed designing a level using BSP and Static Meshes in a modular fashion, so i can re-use some of my static meshes, instead of using only unique pieces of static meshes that can’t be usable more than one time. So that means that i would not need to edit the properties of the 300 meshes, only, in example, 100 meshes that can be re-used a lot of times inside my map.

Anyway, thanks for the tips.

Cheers.