Twinmotion - import lights through placeholder blocks

I struggled with this one for a couple of hours, before finding the correct process. And I wish to share my findings.

When importing from Rhino to Twinmotion through FBX, each object’s pivot point is set to 0,0,0. This works well if you do not have to modify the objects any further inside Twinmotion.
However, FBX does not export light objects - and I have a scene with a lot of lights, and I do not wish to locate them manually inside TM. Since the pivot is reset to 0, the “Replace object” in TM doesn’t work - as my first idea was to create a placeholder object and then replace the object with a proper spotlight. Blocks do not also transfer the pivot point through FBX.

The solution is to create a placeholder block for light objects inside Rhino and populate the scene with those. I used Gh with Elefront to copy the placeholder block in place. Then export as a SketchUp-file (.skp) - as this format recognizes blocks and by using this, the pivot point remains in its correct location. After import, select the proper Container, “Replace object” with lights of your choice and that’s it. Now the lights are in their correct locations and as native TM lights.

This process works for any native TM object - for instance if you wish to model a simple placeholder chair in Rhino and then replace it inside TM for a more detailed one.

1 Like

That sounds great Toni,

Can you post a simple example of the Elefront definition?

here’s a simple “spotlight to block” script using Elefront.

And here’s a sample for more complex lights using the Human plugin.

Thank you, Toni.
Exactly what I was looking for.
This makes Twinmotion so much more useful in my workflow.
If one-day Twinmotion allows for some scripting we’ll be able to pass the light parameters for color and IES profile to.

Great info!
I did a test with blocks and exported as .skp 2015 and 2019 and see that I have to choose “Keep Hierarky” instead of “Collapse by Material” which is default.

If not then it end up imported just like FBX, with pivots at 0,0,0 and grouped by material (blocks apparently ignored)

BUT objects that are not blocks end up as ONE object… Do you know of a way to get the best of both worlds?

I would suggest maybe doing two exports with different import settings.
A separate export for the block objects per block type?

Ok, that’s what i feared :wink: