Alexander Börner
Qwertzus
About Me
Connect
LOCATION
Not Specified
ウェブサイト
Houdini Engine
Availability
Not Specified
Recent Forum Posts
How to preserve Multi Sub Object Material ID Order with Alembic Export 2020年4月15日6:29
Vertex Color gets imported as “Max_Vertex_Color_Map0” you can remap this to Cd in the Alembic SOP before.
And you can see all the attributes as soon you unpack the alembic file e.g. with the Unpack SOP.
Here you can also see that vertex color is now called “Cd”, because I converted it earlier.
The default UV Channel is imported as “uv” all additional UV Channels are named “Max_Map_Channel_2”, “Max_Map_Channel_3”, “Max_Map_Channel_4”, etc.
Houdini is handling UV Attributes as a 3-Float Attribute. The UV0 Channel is imported correctly as “uv” 3-Float Attribute. But any additional UV Channels are being imported as 2-Float Attributes along with a local variable which has the same name as the attribute.
In order to work with them correctly they need to be converted to 3-Float Attributes and the local variable needs to be reapplied to export it correctly in the end. (e.g. with an Attribute Create SOP)
This is I came up with the UVs… but there must be a more elegant way
And you can see all the attributes as soon you unpack the alembic file e.g. with the Unpack SOP.
Here you can also see that vertex color is now called “Cd”, because I converted it earlier.
The default UV Channel is imported as “uv” all additional UV Channels are named “Max_Map_Channel_2”, “Max_Map_Channel_3”, “Max_Map_Channel_4”, etc.
Houdini is handling UV Attributes as a 3-Float Attribute. The UV0 Channel is imported correctly as “uv” 3-Float Attribute. But any additional UV Channels are being imported as 2-Float Attributes along with a local variable which has the same name as the attribute.
In order to work with them correctly they need to be converted to 3-Float Attributes and the local variable needs to be reapplied to export it correctly in the end. (e.g. with an Attribute Create SOP)
This is I came up with the UVs… but there must be a more elegant way
How to preserve Multi Sub Object Material ID Order with Alembic Export 2020年4月14日5:25
Yes the Alembic workflow got a lot better since 3dsMax 2019. It now supports a bunch of custom Alembic attributes.
So there is no need anymore for the hacky Material ID method
Material IDs got a lot easier: For example, if you name your primitive group “group_12” in Houdini, the faces will get material id 12 in 3dsMax.
If you need more custom attributes, all you must do is check the attributes you want to export in Max (e.g. Material Name).
In Houdini use the Alembic Import SOP and check “User Properties: Load Values and Metadata”. You should now see "abc_userProperties“ and ”abc_userPropertiesMetadata".
Then use a bit of Python to extract the data to use it in Houdini. You can find more information here: Alembic extension functions [www.sidefx.com]
Before export you must bring your Alembic attributes back to the 3dsMax specific json format in the beginning. This means you need to exactly export "abc_userProperties“ and ”abc_userPropertiesMetadata".
In case of the Material Name you can just write a litte maxscript to automatically re-assign the materials to the imported alembic objects.
So there is no need anymore for the hacky Material ID method
Material IDs got a lot easier: For example, if you name your primitive group “group_12” in Houdini, the faces will get material id 12 in 3dsMax.
If you need more custom attributes, all you must do is check the attributes you want to export in Max (e.g. Material Name).
In Houdini use the Alembic Import SOP and check “User Properties: Load Values and Metadata”. You should now see "abc_userProperties“ and ”abc_userPropertiesMetadata".
Then use a bit of Python to extract the data to use it in Houdini. You can find more information here: Alembic extension functions [www.sidefx.com]
Before export you must bring your Alembic attributes back to the 3dsMax specific json format in the beginning. This means you need to exactly export "abc_userProperties“ and ”abc_userPropertiesMetadata".
In case of the Material Name you can just write a litte maxscript to automatically re-assign the materials to the imported alembic objects.
Alembic export with attributes on packed prims? 2019年12月13日4:45
I would also like to know how to actually export abc_userProperties correctly…
If I directly import as “Alembic Delayed Load Primitives” and export it right after it with the Alembic ROP everything works fine.
But as soon I unpack, edit and transfer the “abc_UserProperties” back and pack it again, the abc_userProperties don't get exported correctly.
If I directly import as “Alembic Delayed Load Primitives” and export it right after it with the Alembic ROP everything works fine.
But as soon I unpack, edit and transfer the “abc_UserProperties” back and pack it again, the abc_userProperties don't get exported correctly.