Projection Mapping in Element 3D

Everything Element 3D belongs here

Projection Mapping in Element 3D

Postby Hallmark on 09/23/2018, 7:09 am

Hi,

Is it possible to do projection mapping in Element 3D? I'm looking for something like this:
Image

I want the texture to be projected in a similar fashion to that of a projector, which throws its image on any surface you project it on.
Is this possible in any way? Even a tricky workaround is good

Thank you
Hallmark
 
Posts: 3
Joined: 09/23/2018, 7:00 am
System Specs: CPU: Intel(R) Core(TM) i9-7940X CPU @ 3.10GHz
RAM: 130770MB

GPU Vendor: NVIDIA Corporation
GPU: GeForce GTX 1060 6GB/PCIe/SSE2
GPU Driver: 24.21.13.9882
GPU RAM: 6144MB
GPU Code: 0

CL0: GeForce GTX 1060 6GB (100.0%) (GL Interop)

Re: Projection Mapping in Element 3D

Postby shanewalker17 on 11/8/2018, 2:22 pm

Image

Image

I'm curious about the very same thing...I've used E3D to create a very useful pre-viz mockup of a new experiential space, but using an animated texture on the ceiling is only partly accurate. The embedded lighting is fed by a video file that spreads the information out via DMX to LED light puck nodes...would be great to have ability to project using a matching grid, soften projection/image and tweak until it approximates the bounced light look of the actual setup. Hmm.

Anyone? No way to project a texture onto an E3D model?
shanewalker17
 
Posts: 30
Joined: 08/11/2012, 10:13 pm

Re: Projection Mapping in Element 3D

Postby star+circle on 11/9/2018, 10:40 am

Well well well. It turns out you can. Not particularly simple, but indeed possible.

Attached an image which shows the result.
Attachments
E3D projection mapping.jpg
Projection mapping render
star+circle
 
Posts: 935
Joined: 12/6/2014, 3:07 pm
Location: Finland

Re: Projection Mapping in Element 3D

Postby star+circle on 11/9/2018, 10:43 am

Here's the project file. Will need some explanation, which follows.
Attachments
E3D projection mapping.zip
E3D projection mapping project and model
(154.04 KiB) Downloaded 161 times
star+circle
 
Posts: 935
Joined: 12/6/2014, 3:07 pm
Location: Finland

Re: Projection Mapping in Element 3D

Postby star+circle on 11/9/2018, 11:07 am

Ok, so if you open the project and have the .obj in the same folder, you should get the same result as in the example image. If not, you'll need to locate the model via Element Scene Setup. This is all generated in Element, including the .OBJ, which has been exported from Element (which is indeed part of the trick).

So, how does one arrive at this result? The outline of the procedure is:

0) Make a layer that functions as your projection image.

1) Build the scene in Element. Keep all objects in Group 1.

2) Make sure all objects have subdivisions. Rather than having a single polygon for a plane or cube face, you want a number of subdivisions. The more the larger the object.

3) Make a material and apply it to all the objects in the scene that you want to project onto

4) Make a small sphere at the center of the scene (0,0,0 coordinates) that is a placeholder for the projector. Give it a new, different material.

5) Move the scene (not the projector!) to the location that is correct in relation to the projector which stays at the world origin.

6) Make a big sphere at the center of the scene. Increase the radius until everything in the scene is inside the sphere. Give it a new material.

7) Close Scene Setup and go to E3D Effect Controls. Under Utilities, export Group 1 as an Obj.

8) Select your projection image as a Custom texture map for E3D.

9) Back in Scene Setup, import the Obj you just created. Hide the large environment sphere. Align the rest with the original scene and then put the obj in Group 2.

10) Assign spherical UV mapping to the imported Obj.

11) Make a new texture for the object and use the Custom Texture for diffuse

12) Adjust UV mapping settings until you get a projection that fits the intended area. Repeats maybe 5 (same in both directions). If you want to be scientific about it, you can calculate the angle of the projector beam and divide 360 with it. Adjust U and V offsets to center the projection.

13) Exit Scene setup and turn off Group 1.

From there you can add a point light source at the world origin (projector), turn Physical Environment Lighting Influence to 100, and turn on shadows, if you want to get even closer to the projected look.
star+circle
 
Posts: 935
Joined: 12/6/2014, 3:07 pm
Location: Finland

Re: Projection Mapping in Element 3D

Postby star+circle on 11/9/2018, 12:37 pm

Note that since it is a spherical projection, you will need to add counter-acting warp in the projected image if you want to make the horizontal lines parallel like they are with a real projector. Distort>Warp>Bulge, Horizontal 10-20 works well for that purpose. Here's a modification of the above with that fix.

A further improvement would be to give the projected image black frames to get rid of the repeat. Or even make it a complete spherical projection map that is black elsewhere but the area where the actual image projects. Would clearly require an 8K map.
Attachments
E3D projection mapping parallel.jpg
Projection mapping with parallel horizontals
star+circle
 
Posts: 935
Joined: 12/6/2014, 3:07 pm
Location: Finland

Re: Projection Mapping in Element 3D

Postby ctarv419 on 11/10/2018, 3:10 pm

Wow... that is an impressive workaround! Bravo.
I really miss being able to have an Avatar : (
ctarv419
 
Posts: 97
Joined: 02/1/2014, 10:25 pm
Location: Lake Charles, Louisiana USA
Twitter: ctarv419
System Specs: Build: Element x64 2.2.2 (2160.hotfix)

OS: Microsoft Windows 10 Pro 64-bit 10.0.17134

CPU: AMD Ryzen Threadripper 1950X 16-Core Processor
RAM: 65410MB

GPU Vendor: NVIDIA Corporation
GPU: TITAN Xp/PCIe/SSE2
GPU Driver: 24.21.13.9836
GPU RAM: 12288MB
GPU Code: 0

CL0: TITAN Xp (100.0%) (GL Interop)

Re: Projection Mapping in Element 3D

Postby shanewalker17 on 11/12/2018, 1:30 pm

Likewise, wow, thanks for the detailed 'workaround'. I'm going to try to dive in and pick apart your process this week. I have a full room build in AE using 3 instances of E3D...will see if this process works given the existing setup (it's making me miss my old Discreet Flame system from years ago, could do this in literally 5 sec...but it would also have cost many $$$Ks more).

Will report back...but regardless, much appreciated!
shanewalker17
 
Posts: 30
Joined: 08/11/2012, 10:13 pm

Re: Projection Mapping in Element 3D

Postby Hallmark on 11/13/2018, 6:24 am

star+circle wrote:Ok, so if you open the project and have the .obj in the same folder, you should get the same result as in the example image. If not, you'll need to locate the model via Element Scene Setup. This is all generated in Element, including the .OBJ, which has been exported from Element (which is indeed part of the trick).

So, how does one arrive at this result? The outline of the procedure is:

0) Make a layer that functions as your projection image.

1) Build the scene in Element. Keep all objects in Group 1.

2) Make sure all objects have subdivisions. Rather than having a single polygon for a plane or cube face, you want a number of subdivisions. The more the larger the object.

3) Make a material and apply it to all the objects in the scene that you want to project onto

4) Make a small sphere at the center of the scene (0,0,0 coordinates) that is a placeholder for the projector. Give it a new, different material.

5) Move the scene (not the projector!) to the location that is correct in relation to the projector which stays at the world origin.

6) Make a big sphere at the center of the scene. Increase the radius until everything in the scene is inside the sphere. Give it a new material.

7) Close Scene Setup and go to E3D Effect Controls. Under Utilities, export Group 1 as an Obj.

8) Select your projection image as a Custom texture map for E3D.

9) Back in Scene Setup, import the Obj you just created. Hide the large environment sphere. Align the rest with the original scene and then put the obj in Group 2.

10) Assign spherical UV mapping to the imported Obj.

11) Make a new texture for the object and use the Custom Texture for diffuse

12) Adjust UV mapping settings until you get a projection that fits the intended area. Repeats maybe 5 (same in both directions). If you want to be scientific about it, you can calculate the angle of the projector beam and divide 360 with it. Adjust U and V offsets to center the projection.

13) Exit Scene setup and turn off Group 1.

From there you can add a point light source at the world origin (projector), turn Physical Environment Lighting Influence to 100, and turn on shadows, if you want to get even closer to the projected look.


WOW! It's like Neo using Element 3D. Many thanks for this
Hallmark
 
Posts: 3
Joined: 09/23/2018, 7:00 am
System Specs: CPU: Intel(R) Core(TM) i9-7940X CPU @ 3.10GHz
RAM: 130770MB

GPU Vendor: NVIDIA Corporation
GPU: GeForce GTX 1060 6GB/PCIe/SSE2
GPU Driver: 24.21.13.9882
GPU RAM: 6144MB
GPU Code: 0

CL0: GeForce GTX 1060 6GB (100.0%) (GL Interop)

Re: Projection Mapping in Element 3D

Postby shanewalker17 on 11/13/2018, 11:13 am

So I managed to do a matching build to the test setup with my geometry and original texture map. The ceiling 3D file is fairly flat...tesselate panels but at 20 degree angles max, so not showing the 'projection' deformation that much, seems pretty close to the original box texture wrap.

Any thoughts of how to best approximate soft bounce light sources per the schematic? I've just taken a blurred source but would love to more accurately mimic video feed into puck LEDs that spreads/bounces off the surface. Would you simply fake it through blurred samples of a vid layer angled from the light placements, or actually point colored lights at the surface? Hmm. Thought the projection system itself would suggest a tactic...now not sure if it does.

Thanks though, this is a great workaround.

Image

Image
shanewalker17
 
Posts: 30
Joined: 08/11/2012, 10:13 pm

Re: Projection Mapping in Element 3D

Postby star+circle on 11/13/2018, 2:23 pm

(Your setup is so experimental I have great difficulty understanding what exactly is supposed to happen there... are you actually projecting from the floor towards the ceiling in that image?)

Are the LED lights based on the projected image? So that the color and intensity matches the projected image in those places?

I wouldn't use actual lights, you can only use 8 with Element, so you're gonna run out of light real fast.

You could use Optical Flares to generate the lights glows from your LEDs directly in your projection image. OF doesn't have the limitation of number of lights, and while they are not real lights, they would look good, I believe.

The idea would be to add a light for each of the LED's and use lights to control OF flares.

You can get the intensity and color of the lights (and thus the flares) by sampleImage() expressions from your source footage if need be.

Or, as a way simpler solution, you could overlay the blurred original image on top of the flares in Multiply blend mode. That combination (the flares and the video overlay) would then be precomped and overlaid on the actual projection image in Screen or Add mode to combine them.
Last edited by star+circle on 11/15/2018, 2:08 am, edited 1 time in total.
star+circle
 
Posts: 935
Joined: 12/6/2014, 3:07 pm
Location: Finland

Re: Projection Mapping in Element 3D

Postby shanewalker17 on 11/14/2018, 3:24 pm

Yes, the lighting actually is intended to be fed a video image via DMX color-translate and the light bounces up onto the alternating rows of panels. Its a softer effect but still creates a integrated feel of extended space paired/in sync with a front projection surface.

Those are brilliant suggestions, as they can map pretty well to the way I expect the mapped vid and system will function (flares standing in for LED pucks, sampling the video)...I have the base config done, so will give a go. The overlay w/ transfer mode seems simpler...but if I can figure out a way to expression link each flare/light to the appropriate sample area of the video image, it would be VERY close to how I think this thing will work.

Many thanks! Will report back...
shanewalker17
 
Posts: 30
Joined: 08/11/2012, 10:13 pm


Return to Element 3D

cron