I think this solution has infinite possibility especially in artificially parametric arrangement of plants. This tips require the GH plugin called Elefront that enable use Block instance inside Grasshopper.
Japanese article is here. | 日本語の記事はこちら。
I have just uploaded video about “How to replace Rhino objects to Twinmotion assets in Twinmotion 2020 ?” on my YouTube channel.
You can watch tutorial video from following link: https://youtu.be/qDSvwPdh8H0 .
I would like to share this tips also in the blog.
From the next chapter, I will briefly explain the contents of the video.
The times at the beginning of the chapter are links to the corresponding times for YouTube videos.
Of course, Twinmotion is supporting Replace object function.
But when I tried FBX or OBJ file that is exported from Rhino was not working.
Few days ago, I found the cause of a problem and solution.
That’s why I wrote this article.
00:23 01. Data preparation in GH.
First, you should prepare data in Rhino or GH.
This time, in order to confirm whether a large amount of data created on Rhino can be converted collectively on Twinmotion, I will generate objects parametrically in Grasshopper.
Goal is like this:
Please see the video for details.
Here’s the final Grasshopper capture below.
These are compornents that trees gradational decreasing.
I referenced YouTube video posted by Mr.Horikawa for Gradient part.
02:12 02. Check the center pivot behavior in Twinmotion.
Next, I have to show behavior of center pivot between Rhino and Twinmotion (TM).
Following image is when I moved objects from rhino to TM.
When you send Brep from Rhino to TM, Useually as you can see object’s center pivot is located on not object’s center but point zero of the world coordinates.
This behavior can not allow correct work for replace function in TM.
Because in TM replacement, objects replacement location is corresponding to it’s center pivot .
For resolve problem, I will introduce defining Block instance in Rhino before send to TM.
Just Define a Block instance in Rhino, and send it to TM.
Following image is when I moved objects as Block Instance from rhino to TM.
As you can see, If you send the Rhino object as a Block instance,
center pivot is located to exactly object’s center corresponded to Rhino Gumball.
03:20 03. Using Block Instance in GH with Elefront plugin.
If you would like to introduce Block instance(BI) for TM replacement,
you have to define BI for each, one by one, by your hand.
it’s little bit ridiculous. So you should use GH.
You can find Elefront plugin in Food4Rhino website.
The GH plugin called Elefront that enable use Block instance inside Grasshopper.
In this case, I’m using Elefront’s component called “Difine Block” to output a large number of block instances over 1000 in the final part of the component.
04:37 04. Data export from Rhino to Twinmotion as .SKP (ScketchUp file).
And next, you should export Rhino file while keeping object’s center pivot location.
When export file from Rhino, you should choose .SKP expansion.
That file expansion keep center pivot that define by BI.
05:14 05. Twinmotion Operation.
Final part, operation in Twinmotion 2020.
Following image is import setting.
- Collapse: Keep hierarchy.
- Fix UX: Checked
Next, Select all imported Blocks on right side bar.
And Right Click, select “Replace Object”.
And you can drug and drop Twinmotion assets like a trees, cars and people, as you like.
Turn Off “Transform”.
Finally, You can press.
It’s final result.
06:13 06. Result and Examples.
I think this solution has infinite possibility especially in artificially parametric arrangement of plants.
Of course, it can also be used to replace cars and people.
here is some examples.
Letters of Trees