Mapping Unreal Engine Content on a 3D Printed Model

Hi,

I’ll try to send the beta to you either later today or tomorrow. In the meantime, please make sure you understand how nDisplay works (if you don’t already).

In short:

  1. you design your UE4 project as you normally would. You don’t need to insert any projector matched cameras or Scene Captures.
  2. use LightAct to calibrate your projectors (by importing the same 3D model of your object etc)
  3. create nDisplay configuration file from within LightAct
  4. launch your packaged game with nDisplay Launcher (part of UE4) and all the UE4 cameras, which match the projectors, are created based on the nDisplay.

I hope this makes it clearer, but if you have any other questions let me know.

I’ll post the link to the beta here when it becomes available.

Thanks!
M

Thks, I will go read about nDisplay.
Can’t wait for the beta !!! :smiley:

Hi Mitja,

I took some informations on nDisplay and how to use it with the Beta.
When could you send me en access to the 3.6 ?

Thanks,

Nicolas

Hello Nicolas,

You can download Lightact 3.6.0 beta from this link:
https://drive.google.com/file/d/1H_YFf5_h4-o4cI1w0lj6l_3pxwVFi8Rg/view?usp=sharing

We also created an nDisplaySample project which should allow you to export nDisplay configuration files for projection mapping on a simple cube.
nDisplaySample.la (41.2 KB)

Process of setting up nDisplay through LightAct


If you open the sample project, you’ll see one cube and 2 projectors.
image
Every projector that you want to use with nDisplay needs to have Include in nDisplay checkbox checked.
image
Then, you’ll want to open UnrealLink window


Here, you can set up everything LightAct needs in order to replicate projection mapping properties in nDisplay.

  • UE version tells UE which UE version nDisplay was made for. I found that it’s easier to write 4.23 even if you are using newer versions, because for some reason, nDisplay Launcher always wants to convert your configuration file if you enter 4.25.
  • File name: the name of the .cfg nDisplay configuration file.
  • MPCDI projection policy: determines if you want to use MPCDI or Simple projection policy. Leave this checked
  • Overwrite: if unchecked it will create a new nDisplay file everytime you click on Create nDisplay config file and increment the filename.
  • In the Blend Masks section you tell LightAct which Texture variable should serve as a blend mask for each projector (more about this below).

Blend masks


For every project included in nDisplay you need to create a Texture variable. Then, in projector’s layout, you need to connect AutoBlend’s blend mask to it.

Saving & Using the files

image
Once you click on Create nDisplay config file button in the UnrealLink window, LightAct will create nDisplay folder in the project folder where all of the required files are saved.

If you are running your project from one server, you need to point nDisplay Launcher to this configuration file and you should be set. If you are running a multi-server project, you need to copy all of the files to the exact same path on the other computers. More detailed tutorials are available on Unreal’s documentation pages.

Let me know how it goes :slight_smile:

Best regards,
Mitja

2 Likes

Hi Mitja, thanks for the support,

I create my .cfg from LightAct and Launch nDisplayListener.exe on the project folder but when i try to launch from nDisplayLauncher after set it with the .cfg, nothing happened.
I tried with UE4.25, Launcher OutputLog report “Unknown Command”, with 4.23 no problem is shown in Log but nothing on the projector … Just one black after pink flash and the projector keep to project my desktop.

So I 'm looking for a solution from now on.

Nicolas

hmm, it seems to be working on my end. Can you please share your nDisplay config file together with all pfm and png files? If possible, just use a wetransfer or something similar.

Thanks!
M

UnrealLink is a feature I’m curious about as well.
I’m going to try it out tomorrow morning.

2 Likes

Hi, Mitja
Please Find the nDisplay configuration in the link below :
https://newquest.fromsmash.com/LightAct-nDisplay

Hi,

It seems to be working on my end (after I changed the IP address).

Is it possible something is wrong with your project? Perhaps try a basic UE project from a template, package it and test the config file with it?

Let me know if I can help any further.
Mitja

Hi Mitja,

with default file problems occurs too,
So can you explain wich IP you change ?
You go on the .cfg and change to local 127.0.0.1 or have you done something else?

Looks like on local I can run a windows on 1 screen.

Thks in advance,

Nicolas

Hello Nicolas,

All I did was open your cfg file and change the IP address to the IP address of my computer.

so this line:
[cluster_node] id="NQPCF0012A" addr="10.10.3.114" window="window_PSAH" master="true" sound="true"

was changed to:
[cluster_node] id="NQPCF0012A" addr="192.168.178.11" window="window_PSAH" master="true" sound="true"

Just to confirm:

  • which Unreal Engine version are you using? I am testing with 4.25.
  • did you try and package a basic project, for example First Person Template, with it? And does the issue occur?
  • which UE version did you select in LightAct UnrealLink window?
  • does the issue occur with one of ExampleConfig cfg files? You can find them if you open nDisplay template in Unreal Engine editor.

Thanks!
Mitja

Thks for the fast answer,
For the .cfg that’s the way I’m trying

  • I tried with 4.23 cause of the nDisplay convert the .cfg file, but first, my project is on 4.25.
  • I tried the nDisplay template and have some errors, I’m changing the .cfg template file to make it works approximately
  • I didn’t try another basic project
  • In Unreal Link, I selected the 4.23 version, due to your primary advice.
  • Errors occur, but I will try with 4.25 this afternoon.

I will try the config with the local address on.
thanks for the support,

edit:
Actually, I succeed to compile and obtain something but not what I want to.

It looks like if you accept nDisplayLauncher to “transform” the .cfg to the current version error occurred and the app doesn’t launch, so just pass the dialog box and keep the .cfg.
Moreover, I had to change the IP to localhost 127.0.0.1 to make it work.
But the position is not good and I don’t see my 3d Object on my Physical Model :confused:

Nicolas

Sorry to interrupt you.
I was able to use nDisplay with UE4.25 in the .cfg I created from Unreallink.
However, I don’t understand how to make use of UnrealLink after all.
Do you mean that it works as a mask for the screen output from UE4?


It’s just projecting a projector up and down from a single PC.

No need to apologize, @Atsushi . It’s us who should be apologizing because we didn’t create any documention for this feature yet :slight_smile: (it’s coming soon though).

Anyway, UnrealLink allows you to create nDisplay configuration files from inside LightAct in order to replicate projection mapping setup in Unreal’s nDisplay .

This process is meant for projects where you’ve got a 3D model in Unreal Engine and an exactly the same physical mode. One example of such project would be this one. If you’d like to project content from UE4 onto the physical model, you need to create virtual cameras in Unreal Engine that exactly match the projectors. Once you have that, if what the UE4 camera sees is directly projected through the projectors you will get a perfect projection mapping.

So what LightAct does for you is create nDisplay configuration files which create nDisplay/UE4 cameras which exactly match the projectors. It also creates blend masks, so that the projectors are blended correctly.

Setup

  1. Make sure you’ve got a 3D model that exactly matches the physical object.
  2. Import this 3D model into UE4 and LightAct. The location, rotation and scale needs to match in both applications.
  3. In LightAct, create the projectors and map them to correct physical outputs.
  4. In LightAct, calibrate the projectors using either 3DCal manual method or CamCal automatic method. At this point, you should see a perfectly mapped content coming straight from LightAct.
  5. In LightAct, create nDisplay config file.
  6. In UE4, create your content and package the game.
  7. Launch nDisplay Listener on all computers and, using nDisplay Launcher, launch the project using nDisplay config file you created in step 5.

I hope this helps!
M

Hi Mitja,

I’m questioning your response to @Atsushi.

  • Currently, I’m using a .fbx in UE4 and an obj in Light act, is it possible that make some problems?
  • When you say that location rotation and scale have to match, value has to be the same or have to match between the 2 scenes (don’t know if I’m very clear).
  • I’m ok to set up from 1. to 7. just have to look for the 3D in point 2.
  • Currently, my camera is not set up correctly from the nDisplay when i Launch but I don’t know how to debug and make it work properly

Thanks!
Your help is very appreciated here!

Nicolas

This shouldn’t be a problem by itself, but you would need to make sure the objects are positioned (locations, rotations & scale) exactly the same in both applications (the numbers should match). The easiest is to just set locations and rotations to 0 in both apps and to make sure the scales are the same.

I’ll try to create a tutorial and UE4 sample project tomorrow.

Best regards,
M

I have the same question as @NQ_3D

How do I set up the camera on Ue4?

Do you want to check Lightact’s camera coordinates?

The final video output is just the output from ue4’s ndisplay, right?

I’m hoping to have a sample project and tutorial ready to go. That would help me a lot too.

1 Like

Just attach what i have from the Unreal nDisplayLauncher :

and what I expect to :

Hello,

This is a quick explainer video, but I’ll try to send you a sample LightAct & a matching Unreal project for you to use as a baseline.

@Atsushi, you don’t need to create any Unreal cameras, nDisplay config file makes sure they are created automatically. And yes, the final output is straight from Unreal Engine. You can actually close LightAct application after nDisplay is running.

Have a quick look at the video and let me know if you have any questions. @NQ_3D, if you can, I’m happy to look at your LightAct project and, if possible, Unreal as well.

Thanks!
M

Hi Mitja thanks for the explanation,
unfortunately that doesn’t resolve my issue. :frowning:

Please find the files in the link below:
https://newquest.fromsmash.com/Mitja-UELink

More over i have a question with scale. Because When you import in Unreal you have some information as scale model or not, and in WorldSetting you have some value to tansform unit world to meter so I have some trouble to understand the communication between LightAct 3D space and UE 3D space.

Thanks to you !