Code archives/Algorithms/Pushing Objects

This code has been declared by its author to be Public Domain code.

Download source code

Pushing Objects by Neochrome2004
Basically i came up with this idea after playing unreal! it works!!!

this is a snippet from my game but its so easy i thought id share it, Its very basic so there are some things i haven
(I let this code free)

[codebox]
If lpEnvpushable=True
	;translateentity lpEnvmodel,0,-.1,0		
	z = EntityCollided(ThisActor, coll_objects) 
	If z = lpEnvmodel
		i=1
		; Calculate bounce:
		; Get the normal of the surface which the entity collided with.
		Nx# = CollisionNX(ThisActor%, i)
		Ny# = CollisionNY(ThisActor%, i)
		Nz# = CollisionNZ(ThisActor%, i)
					
		vy# = VectorYaw(-nx, -ny, -nz)

		tfm_z# = Cos(vy#)/5
		tfm_x# = -Sin(vy#)/5
		tfm_y# = VectorPitch(-nx, -ny, -nz)
		If Abs(tfm_y)<60 Then TranslateEntity lpEnvmodel,tfm_x,0,tfm_z
	End If
End If
[/codebox]

Comments

Regular K2004
I dont have B3D, so I havnt tested it out but I think this function would be great if someone could translate it to 2D!?


Code Archives Forum