• 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/

Code Trigger StaticMesh Collision

I am a tad stuck on a collision issue that I have with a staticmesh that is defined in my trigger default properties.

I don't necessarily need to use a Trigger but it's what I am going with right now, and I expect if I was not using a trigger, I would still have the same collision issue.

Basically the collision on my staticmesh is not blocking Pawns. I am using the Touch event of the trigger to initiate a process but I need the staticmesh within the trigger to block the Pawn from moving inside it.

Here is my main trigger:
Code:
class FTIcebergTrigger extends Trigger;

simulated event Touch(Actor Other, PrimitiveComponent OtherComp, vector HitLocation, vector HitNormal)
{
	// do stuff blah blah blah....
}

DefaultProperties
{
	// setup for Touch event
	Begin Object NAME=CollisionCylinder
		CollideActors=true
		BlockActors=true
		CollisionRadius=50
		CollisionHeight=90
	End Object

	CollisionComponent=CollisionCylinder
	CylinderComponent=CollisionCylinder
	Components.Add(CollisionCylinder)

	bHidden=false
	bStatic=false
	bNoDelete=false

	bNoEncroachCheck=false
	bAlwaysRelevant=true
	RemoteRole=ROLE_SimulatedProxy

	bHardAttach=true
	TeamIndex=255
	AITriggerDelay=0.0
}

Here is another class which extends FTTrigger
Code:
class FTIcebergAlliesTrigger extends FTIcebergTrigger;

DefaultProperties
{
	Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
		AmbientGlow=(R=10,G=10,B=10,A=1)
		AmbientShadowColor=(R=10.0,G=10,B=10)
		LightShadowMode=LightShadow_ModulateBetter
		bCastShadows=false
	End Object
	Components.Add(MyLightEnvironment)

	Begin Object class=StaticMeshComponent Name=IceCube
		StaticMesh=StaticMesh'TOGAFreezeTagContent.Icebergs.IcebergRed'
		Materials(0)=Material'UI_Mats.ui_textures.scene_comp_M'
		RBChannel=RBCC_Untitled1
		//RBCollideWithChannels=(Untitled1=true, Pawn=false)
		BlockNonZeroExtent=false
		BlockZeroExtent=false
		BlockActors=true// - false allows Touch
		BlockRigidBody=true
		CollideActors=true
		CastShadow=false
		bCastDynamicShadow=false
		LightEnvironment=MyLightEnvironment
	End Object
	CollisionComponent=IceCube
	Components.Add(IceCube)
	DrawScale=1.25
}

No matter what settings I use, I can not make the StaticMeshComponent collide with Pawns. I have even tried using RBCollideWithChannels too.

I tried just setting up to fire Bump instead of Touch which does work but then the Pawn appears to try and climb and bounce off the Mesh, so I am currently stuck which ever way I try and solve this.

I would prefer to stick with Touch if possible. Any ideas greatly appreciated.

LG
 
I am a tad stuck on a collision issue that I have with a staticmesh that is defined in my trigger default properties.

I don't necessarily need to use a Trigger but it's what I am going with right now, and I expect if I was not using a trigger, I would still have the same collision issue.

Basically the collision on my staticmesh is not blocking Pawns. I am using the Touch event of the trigger to initiate a process but I need the staticmesh within the trigger to block the Pawn from moving inside it.

Here is my main trigger:
Code:
class FTIcebergTrigger extends Trigger;

simulated event Touch(Actor Other, PrimitiveComponent OtherComp, vector HitLocation, vector HitNormal)
{
	// do stuff blah blah blah....
}

DefaultProperties
{
	// setup for Touch event
	Begin Object NAME=CollisionCylinder
		CollideActors=true
		BlockActors=true
		CollisionRadius=50
		CollisionHeight=90
	End Object

	CollisionComponent=CollisionCylinder
	CylinderComponent=CollisionCylinder
	Components.Add(CollisionCylinder)

	bHidden=false
	bStatic=false
	bNoDelete=false

	bNoEncroachCheck=false
	bAlwaysRelevant=true
	RemoteRole=ROLE_SimulatedProxy

	bHardAttach=true
	TeamIndex=255
	AITriggerDelay=0.0
}

Here is another class which extends FTTrigger
Code:
class FTIcebergAlliesTrigger extends FTIcebergTrigger;

DefaultProperties
{
	Begin Object Class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
		AmbientGlow=(R=10,G=10,B=10,A=1)
		AmbientShadowColor=(R=10.0,G=10,B=10)
		LightShadowMode=LightShadow_ModulateBetter
		bCastShadows=false
	End Object
	Components.Add(MyLightEnvironment)

	Begin Object class=StaticMeshComponent Name=IceCube
		StaticMesh=StaticMesh'TOGAFreezeTagContent.Icebergs.IcebergRed'
		Materials(0)=Material'UI_Mats.ui_textures.scene_comp_M'
		RBChannel=RBCC_Untitled1
		//RBCollideWithChannels=(Untitled1=true, Pawn=false)
		BlockNonZeroExtent=false
		BlockZeroExtent=false
		BlockActors=true// - false allows Touch
		BlockRigidBody=true
		CollideActors=true
		CastShadow=false
		bCastDynamicShadow=false
		LightEnvironment=MyLightEnvironment
	End Object
	CollisionComponent=IceCube
	Components.Add(IceCube)
	DrawScale=1.25
}

No matter what settings I use, I can not make the StaticMeshComponent collide with Pawns. I have even tried using RBCollideWithChannels too.

I tried just setting up to fire Bump instead of Touch which does work but then the Pawn appears to try and climb and bounce off the Mesh, so I am currently stuck which ever way I try and solve this.

I would prefer to stick with Touch if possible. Any ideas greatly appreciated.

LG

This is a very late shot in the dark, but I believe your static mesh needs to use per poly collision if you want to collide with the mesh component. Also try bBlockNonZeroExtent=true
 
Upvote 0