PUPI is quick and easy way to add physics interactivity and Inspect feature to your project.
PUPI is designed to be very flexible and easily integrated into almost any kind of project (first/third person, top down (with mouse pointer), VR etc.). It has two core functions Pick Up and Inspect. “Pick Up” is made for interacting with physics simulated objects (carry, rotate, move, scale (why not (: ), drop, throw), “Inspect” is for interacting with static meshes, animated/non-animated skeletal meshes or blueprint actors (inspect , rotate, move, scale, put back).
* Access events of PUPI from other actors and extend functionality by using pre-made EventDispatchers. Usage examples can be found in FirstPerson and TopDown demo character.
* Inputs can be easily changed using Input Mappings.
* Controls for PUPI will be enabled and disabled automatically letting you set inputs without worrying about overriding other controls (example: if fire and pick up Mappings have the same key, fire will be ignored when something can be picked up/inspected and vice-versa)
* Configurable Easing animations for picking up and putting back Inspectable
* Set default PUPI settings by using PUPISettings structure or configure PUPI(s) by using PUPISettings Actor Component. Settings are categorized under 3 categories:
– Main (outline color, max grab distance…)
– Pick up(max carry weight, pick up sound…)
– Inspect(slow time, auto scale down…)
Number of assets: 14 blueprints, 1 actor component, 12 structures, 5 enums, 1 material, 1 material instance, 1 material parameter collection
To set up:
1) Add PUPI actor into Character/Pawn blueprint,
2) Set up Input Mappings as shown in last screenshot, Guide video or at the bottom of forum post,
3) Configure PUPISettings using structure or actor component,
4) Continue with the rest of your project 🙂
Project reletad note: To try different game types, drag and drop demo character from PUPI -> Demo -> Character folder. While playing in default project press “B” to bring up demo UI, on top right corner settings can be viewed/changed in realtime.
VR related note: VR is supported for UE 4.11+. To try motion controllers, place VRHeadsetMotionControllerCharacter in level, place your headset on floor then press play for correct height. (this is just a demo character. It will not be necessary depending on how you set up VR character)
Intended Platforms: All (tested Windows, HTC Vive)