Pick Up Plus Inspect - PUPI (PUPO v2.0)

I did it, and do not resolved.

But I forget to mention that I did changed PROPERTIES>MAIN>TRACER to MOUSE POINTER in BP_PUPI_Component settings, could this be the trouble?

NO, I tested here an with PROPERTIES>MAIN>TRACER to CAMERA is having the same behavior, it selects the Static Mesh I choose and when I click the mouse again it Inspect it.

Hi, I’m sorry. I’ve made a mistake in the screenshot. Here is a fixed one, also found an edge case where it wouldn’t work so it is also added in this:

Thanks Nicat it is working now!

But if is not too much! Is ther a new way to get the selected/cliked object, like with the Target Component/Get Owner in OnStartInteraction event.

Glad it worked!

I’m not sure if I understood you correctly but you can access “On Start Interaction” as shown in this post.

In fact, my goal is :

  • select elements in scene
  • change its location and rotation, with sliders in an UI
  • save locations and rotations, original and changed, of the selected element
  • drop it back to initial position and rotation
  • select another one…

Like the inspecting action your code does, but with the transform settings choosed runtime by users.

Do you could indicate a way to change your code for that.

Now I am retriving the selected element original coordinates with sucess like you can see below but I know that I can change your code to behave like I told in previous message.

Hey Nicat,
Excuse my ignorance!
All of actions I want it are clear exposed in your code! In fact, I did not read your instruction, in first page of forum, with attention because I was obsessed with some other part. Well I think than I need now is discover how to change for the “inspect actions” to ocurring in selected element place and no in front of camera like right now.

If you want to add an external control to manipulate object, you might want to modify “Calculate Desired World Location” function and “Calculate Desired World Rotation”. For example, you can add a vector to **Add **node in Calculate Desired World Location to add local or world location like this:

and similarly add a CombineRotators node to Calculate Desired World Rotation function to add local or world rotation:

now all you’ll need to do is create variables for the location and rotation in PUPI and set them from your widget. To access variables of PUPI you’ll need to get BP_PUPI_Component from the actor you added it to as part of the setup and drag from its out pin -> Get BP_PUPI_Actor.

I hope this helps you get on the right track.

Yeah,
I catched yours tips and could elaborate the control I want.
But I still has to disable the “automatic rotation and position”, in front of the camera, which are enabled when the inspectable object is clicked. Could you, please, show me the way?

From what I understand, you want to control the object using sliders only, and don’t need any existing functionality of PUPI except for outline. I tried to achieve what you asked but simply adding one more transform variable (to save modified transform) and loading it, requires completely changing PUPI’s core. And that is why I recommend making it from scratch instead of trying to modify PUPI which is made with completely different functionality in mind. I believe it will be much easier to do so.

Edit: btw, thanks for the review. And if you feel like it no longer represents reality, feel free to remove or change it. Wish I could be more helpful.

In no way my friend, your work and help are of great value to me! Mainly to learn to code in “bluescript”. So thanks again and success.

Last mention of replication of this system to work on multiplayer was 2017, there any github group project that got that working or an update to maybe looking at replicating this system? Does work great for singleplayer stuff though.

Hello,
I was wondering if anyone could please help me with an issue I am having. I presume I am overlooking a simple solution but thought I would ask.

My issue is after I pick up an object am using “shift” as a input modifier so I can use the mouse to rotate the object. I am doing the same with “W” and “S”
to move the object closer and further away (so you can inspect details on the object). Before pressing the modifier key I can walk around normally holding the object.
After I press the modifier key the only way to return to normal movement while carrying the object is to drop it and pick it up again. Also to this if I rotate the object I can no
longer move the object closer or further away and visa versa. Which ever action you preform first (rotate or move) locks you from doing the other action.

Is it possible to pick up an object, hold the modifier key so the object can be rotated/moved, and then on release of the modifier key the controls are reverted to what they were prior to pressing the modifier key? For example I would like the player to pick up a dice, rotate it so they can see a certain face of the dice and then continue walking while carrying the object without having to put the object down first.

I had a look through the PUPI settings and experimented with a few settings with no success. So I am trying to work out if I have overlooked something within PUPI or if this issue relates to the input settings. Or if I should be looking at the Event Dispatchers for Event TransformModeActivated and Event TransformModeDeactivated (I am not asking someone to write the BP for me if this is the case just asking if this is the path I should be taking before spending more time on this isssue).

Any help would be greatly appreciated,
Thanks

Don’t rotate if Move or Scale mode is active

Hi, sorry for the late reply. I tried using shift to activate both Rotate and Move mode but didn’t get the problem you described. However, there was one limit in BP which had to be modified in order to allow same key for activating both modes. To remove that limit:

  1. Open PUPI blueprint [in Blueprint -> Core folder],
  2. search for (Ctrl + F) “Don’t move object if Rotate or Scale Mode is active” (with quotation marks)
  3. Break bool pin connected to “Pick A” and set it to False,
  4. search for Don’t rotate if Move or Scale mode is active (with quotation marks)
  5. Break bool pin connected to “Pick A” and set it to False.

This way I was able to use Left Shift to activate both Rotate and Move modes at the same time.

Hope I’m not too late to answer this.

Thank you very much you solved my issue. Definitely not too late to answer, it was faster than expected.
Thanks again.

Hello, is there any way to get the mousescroll to scale up and down every axis at the same time? I’ve mapped the 3 scale input actions with the scroll but only one axis gets modified when I try to use it.

Thanks in advance

Hi, you can do that with a small modification. Here are steps:

  1. Remove “Mouse Wheel Axis” input from “Scale Height” and “Scale Width” input axis, keep only “Scale Length”,
  2. Open PUPI blueprint [in Blueprint -> Core folder],
  3. Search for (Ctrl + F)“Activate ScaleMode if key is pressed”, double click search result to go to that node,
  4. Break and connect both Y and Z connections to the top Select Float node,

You are welcome!

Hi, nice tool but I got a question.

How do I pick up the item and removing it completely after a input (going into the player inventory)? I saw the input for pick up and consumewhileinspecting but both do nothing. Or this tool is mainly just for inspecting purposes?

I love the concept of this plugin, but I’m having a problem implementing it in my current project due to what I think is a bug.

In short, any Actor which has “Render Custom Depth Pass” set to True at the game start will also have an outline drawn around it from start, regardless of whether the player is looking at it or how far away it is. I can’t find where the outline is actually rendered to the object (or the post-process material is applied?), but I guess it’s just assigned to anything with the “Render Custom Depth Pass” flag set to True, regardless of whether that thing can currently be intereacted with or not. It even gets rendered on actors with the “IgnorePUPI” flag set.

Is it possible to get an update to the plugin, or can someone point me in the direction of where I can change it myself?

Thanks

Hi man ! Is there any chance to be able to replicate this whole Pick Up + Inspect asset to make it for multiplayer? If u have any tips on what to replicate or even if it’s possible to replicate such system I’ll be grateful. I firstly wanted to use it on a singleplayer game but with multiplayer in mind for later, but I’ve red that multiplayer thing should be made from the beggining and that’s why I’m asking u if I can efficiently replicate this. I have basic understanding of how multiplayer work in UE4 but I don’t know how to approach replication on such complex system.

Have a good day !