Collada plugin for After Effects

More info here
3DBuzz UT2k4 HealthSphere for UDK notes


The original video tutorial is found on the Unreal Tournament 2004 2 Disc DVD Edition. These are the changes I made to make it work with UDK. The video is also freely available in the Unreal 2k3/4 section on the 3DBuzz website.

The Assets:

The original tutorial had the mesh, texture and sound imported via script. For UDK I used the content browser to get the assets into the game. I exported the sphere as an ase file and imported as a static mesh to UDK. It was imported to a package named "HealthSphere_Content" since the script and assets don't like having the same name.

I imported a wav file to the same package and created a sound cue that uses the imported sound. It was named "IfeelGoodCue".

When importing the tga texture I had the create material option checked and the resulting material was assigned with the stitic mesh editor in the LODinfo section.

I forgot to create a collision before exporting to ase so I created a simple sphere collision for the healthsphere, but it didn't work. It might be a bug since I found that other collision types did work properly.

The Code:

Here are the code changes. The Touch function in UDK has more arguments. The PlaySound takes a SoundCue as it's argument. All the EXEC lines where taken out since the items aren't imported via the script. The back tick version of the log command is needed for UDK. The collisionheight and collisionradius were removed from the defaultproperties section.

utvehicleboostpad extends from actor and it is placeable so I used it as a template for the defaultproperties. I wasn't sure of the names to use for sound and mesh so I used the content browser's right click copy full name to clipboard and pasted into the code.

The DefaultEngineUDK.ini file was changed from read only status and modified to include the line: ModEditPackages=HealthSphere

Everything works like in the video tutorial except that the Touch function also responds to projectile weapons shooting at it.

class HealthSphere extends Actor;

//function Touch( actor Other )
function Touch( Actor Other, PrimitiveComponent OtherComp, vector HitLocation, vector HitNormal )
Pawn(Other).Health += 10;
`log("sphere was touched");

Begin Object Class=StaticMeshComponent Name=StaticMeshComponent0
End Object

The screen shot was captured by pressing tab for the console and typing "shot" without the quotes.