UDN
Search public documentation

PhysicalMaterial
Licensees can log in.

Red links require licensee log in.

Interested in the Unreal engine?
Check out the licensing page.

Questions about UDN itself?
Contact the UDN Staff

Physical Material

Document Summary: This page will show the attributes of a physical material and detail what they do.

Document Changelog: Created by Alan Willard; updated by James Golding.

Overview

Physics materials are fairly easy to use. Creating one will give you a set of default values, identical to the default physical material that is applied to all physics objects. Physical materials are used to define the response of a physical object when interacting dynamically with the world. Examples of this would be a character's dead body (ragdoll), a movable crate, etc.

Variables

AngularDamping - The amount of resistance an object will have to rotating. Usually used in a range of 0-5.

bForceConeFriction - This is a feature that causes the physics engine to use a better (and slightly slower) friction model for surfaces. Use this when you are sliding one object across another, and it does not slide in a straight line.

Density - The mass of an object is calculated by taking the volume of the collision geometry and multiplying it by this property. So making an object bigger or increasing its Density will make it heavier.

Friction - How much resistance to movement the object will have when touching or sliding along another surface. A value of 0 is a frictionless surface, a value of 1 is similar to sliding on a rough surface.

ImpactEffect

ImpactReFireDelay

ImpactSound

ImpactThreshold

LinearDamping - The amount of resistance an object will have to moving in the world. Not the same as friction, this acts more like drag.

MagneticResponse - Not currently implemented.

Parent

PhysicalMaterialProperty - This allows you to make 'chains' of physical materials that inherit properties from their parent. There is more information on the PhysicalMaterialProperty? page.

Restitution - The amount of 'bounce' an object will have. This value represents the amount of force that will be returned to an object on collision. 0 means that the object will not gain any force, therefore will not bounce at all, and a value of 1 means that the object will receive all of its energy back and bounce to the same height that it was dropped from.

SlideEffect

SlideRefireDelay

SlideSound

SlideThreshold

WindResponse - No longer used.

bEnableAnisotropicFriction - Allows a surface to have different friction in different directions along the surface.

FrictionV - Friction to be applied in AnisoFrictionDir - the 'Friction' setting will be used for the other direction.

AnisoFrictionDir - Direction (in physics object local space) for FrictionV to be applied.

You can find more information on friction and damping on the PhysicsDampingAndFriction page.

Impact And Slide Effects

The following properties allow you to attach sounds and effects to physical collisions. These only work on classes which support them, which at the moment is only KActor. By looking at the implementation in KActor though, you can add this functionality to other classes (or you can subclass KActor). Also, because doing extra processing on all rigid body collisions would be expensive for every physics object in the level, it is disabled by default. To enable the rigid body collision events that are used by these properties, open up the properties of the component and make sure the bNotifyRigidBodyCollision flag is set to TRUE.

ImpactThreshold - Velocity at which objects must collide (projected along contact normal) for sound or effect to be triggered.

ImpactReFireDelay - Time between firings of the impact effect/sound.

ImpactEffect - Particle system to spawn at the point of impact.

ImpactSound - Sound to play when an impact occurs.

SlideThreshold - Sliding speed at which effect is started. This is relative velocity in the plane of the contact normal. When sliding velocity drops below this threshold, effects are stopped.

SlideReFireDelay - Stops 'slide' effects being played too closely together.

SlideEffect - Particle system to enable at point of contact when sliding. Should be a looping particle effect.

SlideSound - Sound to play when an objects sliding velocity exceeds SlideThreshold. Should be a looping sound.

As well as simply triggering effects, the KActor implementation also drives named float parameters on the particle and audio components. For impacts this parameter is called 'ImpactVel'. For sliding, it is called 'SlideVel'. You can use this parameter to modify the pitch or volume of a sound, of the spawn rate or color of a particle system for example. There is more information on named parameters on the Distributions page.