Creating A Trap

Проверено с версией:: 2018.1

-

Сложность: Базовая

Using the Game Commands we will rotate an object when receiving a Game Command to drop a box on some Spitters.

  • Create a new Empty GameObject in the Hierarchy under the Gameplay group

  • Name it PlatformTrap

Move the Location of PlatformTrap to wherever you wish to rotate the platform. This will be used as a pivot point to rotate the Platforms.

Transforming it now means we attach the other GameObjects in the next steps, rotating them around its location as opposed to their current location.

  • Drag in a PlatformShort from 3DGamekit > Prefabs > Environment > Stonework into the Hierarchy and Transform its position to be near the pivot PlatformTrap

  • Do the same steps for a PlatformSupportShort Prefab from the same folder transforming it underneath the Platform.

  • In the Hierarchy select both the PlatformShort and PlatformSupportShort

  • Disable the Static parameter in Inspector. This will allow the GameObjects to move when the parent rotates.

  • With both still selected in the Hierarchy, drag them onto the PlatformTrap Empty GameObject, making it look like the following

Tip: It should be surrounded by a blue bubble to add them

Select the parent PlatformTrap

  • In the Inspector Add Components for Game Command Receiver and a Simple Rotator.

This will allow the Parent group, PlatformTrap, to receive Game Commands and rotate the child objects without separate setup.

Let's change some of the settings in the SimpleRotator component to make the rotation more believable.

Change the following settings:

  • Interaction Type : Activate

  • Is One Shot : Checked

  • Accel Curve : Linear Increase (Click in the box and select the 2nd default line)

  • Loop Type : Once

  • Axis Z : 1

  • End Angle : -60

If you move the slider on the Preview Position you should see the PlatformTrap rotate similar to a trap door.

Tip: If it does not perform as expected or rotates strangely from what you expect, take the PlatformShort and PlatformSupportShort out of the PlatformTrap group in Hierarchy, move the PlatformTrap to where you need to pivot and then add the Platform and Support back into the group.

Similar to the MovingPlatform tutorial let’s use a pressure pad to activate the rotation on the PlatformTrap.

  • Drag a PressurePad from Prefabs > Interactables to somewhere in your scene near the PlatformTrap

  • With the PressurePad selected, drag the PlatformTrap group from Hierarchy into the Send On Trigger Enter Interactive Object for the Game Command Receiver.

  • Change Interaction Type to Activate

A visual link should show with a direction of Send and Receive

  • Play the scene at this point the pad will activate the rotation.

  • To damage the Spitters add a DestructibleBox from 3DGamekit > Prefabs > Interactables by dragging the prefab into the scene and transforming it into position, sat atop the PlatformTrap.

  • In the Hierarchy, expand the DestructibleBox group and select the DestructibleBox child GameObject.

  • In the Inspector, Add a Component for Contact Damager and set the Damaged Layers to Enemy

The Amount value should match that of the Max Hit Points found in Damageable component of the enemies.

  • Play the scene and activate the trap to see the box hit enemies below.