MartVWX Posted March 18, 2021 Share Posted March 18, 2021 I'd been looking at alot of the Unreal Engine Archviz tutorials, mostly centered around import from 3DS. https://learn.unrealengine.com/home/LearningPath/90586?r=False&ts=637516509308327332 I had been exporting VWX scenes as .dwg and using the Unreal Engine Beta plugin "Datasmith CAD Importer" to bring the scene into Unreal. The biggest issue was that all of the geometry was brought in as separate pieces, IE. a shelf created with VWX Shelving Unit tool would come in with all the shelves, side and rear pieces individually so in Unreal you'd have to select multiple meshes at the same time to move the single shelf unit. Using the new SP3 Datasmith exporter, looks to have exactly the same result, so a window, door, cabinet or any UNIT created by a VWX tool to act as a single unit in VWX, exports to the .udatasmith file and imports into Unreal as a collection of individual meshes. I had assumed that a VWX Datasmith pipeline would allow export / import of these units AS units, and have multiples of the same unit be recognized as instances which is what appears to happen with the 3DS Datasmith pipeline. https://learn.unrealengine.com/course/2436637/module/5375271?moduletoken=UHxxnDLPW8QKRagLoM92H41Ml3gdWXuCVq5HhTaJLjIgwKNffDOfVIj523as6Um9&LPId=90586 Does the VWX Datasmith pipeline do these things and I'm missing some procedure to get the functionality? Quote Link to comment
Vectorworks, Inc Employee Dave Donley Posted March 18, 2021 Vectorworks, Inc Employee Share Posted March 18, 2021 Hello @MartVWX Vectorworks is exporting the scene objects verbatim, by default. The scene hierarchy in Unreal is a direct match to the scene hierarchy in Vectorworks. This is a starting point and I understand the need to rework this for efficiency and convenience in your workflow. The DataPrep functionality in Unreal is what you should use to reorganize the default scene, to combine objects by properties etc. https://docs.unrealengine.com/en-US/WorkingWithContent/Importing/Dataprep/index.html Twinmotion exposes some of this in the Import options for combining by materials. Quote Link to comment
zoomer Posted March 18, 2021 Share Posted March 18, 2021 In Twinmotion it looks like I get all my VW Hierarchy via VW Datasmith export, when I switch import option in TM from default "combine by Materials" to "keep Hierarchy", which I usually do ! Default Combine by Materials can also take very long time to import larger geometries ! (While it may run smoother after (?)) And Unreal got a Twinmotion import, at least as a Beta (?) Maybe a workaround to get the Hierarchy from VW to Unreal ? Quote Link to comment
zoomer Posted March 20, 2021 Share Posted March 20, 2021 Strange, so far I had my must ugly complicated Revit imported project, exported to C4D Exchange and opened that C4D R21 File in Twinmotion. It is 3+ GB in TM-size and works quite well and even smooth and responsive on my M1 Mini. (Much better than on Trash Can ?) But when testing Datasmith export from VW and importing the Datasmith file into TM, I get 5+ GB TM file and the file is pretty unusable on my M1 Mini 16 GB. Quote Link to comment
MartVWX Posted March 22, 2021 Author Share Posted March 22, 2021 Dave, Hi, thanks for your help. Having spent some time looking into the process for Visual Data Prep, I'd have to say that the way VWX is exporting to the .udatasmith file is very limited and does not make it easy to use the Dataprep automated options on account of it's naming / labeling of the component parts. There is no metadata that comes through from VWX to UE, such as VWX classes, Layers or object type (Wall, Shelving unit etc.) that would help group the meshes together easily, it's just the UE assigned ID#. Consequently you end up manually selecting and merging items, effectively going around the automating functions for Dataprep. 1 Quote Link to comment
Thomas H Donalek AIA Posted April 5, 2021 Share Posted April 5, 2021 Does VWX to Datasmith export include vectorworks lights? I placed a spot light in a VW file, exported to Datasmith, then opened it in Twinmotion and there were no light objects (and I didn't see the effect of the light where I placed it in VW.) I thought I read or heard that this system was supposed to transfer lights, which would make Twinmotion (and potentially UE) much more useful to me as I iterate and share designs. Quote Link to comment
Vectorworks, Inc Employee Dave Donley Posted April 5, 2021 Vectorworks, Inc Employee Share Posted April 5, 2021 Hello @Thomas H Donalek AIA Vectorworks is exporting the lights in the Datasmith file but Twinmotion doesn't import them, currently. Unreal Editor does import the lights. Quote Link to comment
Vectorworks, Inc Employee Dave Donley Posted March 15, 2022 Vectorworks, Inc Employee Share Posted March 15, 2022 Hello all: Vectorworks 2022 Service Pack 3 includes many important fixes for Datasmith/Twinmotion. Please update to Service Pack 3 and let us know whether these issues are improved and/or resolved. Thanks! There is a new option to export record field data that can help Visual Dataprep workflows, and IDs have been improved. Light objects are being exported and a few bugs related to those have been fixed in SP3. 1 Quote Link to comment
Alborz Posted May 4, 2022 Share Posted May 4, 2022 Hello all I exported my building in Datasmith format in VW for unreal and imported in UE with Datasmith importer, but all of my doors and the frames are horizontal static meshes and I can't rotate them, in the scene everything is ok because UE gives a 90 degree rotation to them automatically,,, is there any way to fix this issue? Quote Link to comment
zoomer Posted May 4, 2022 Share Posted May 4, 2022 8 hours ago, Alborz said: but all of my doors and the frames are horizontal static meshes and I can't rotate them, Does this still happen in VW 2022 SP3 ? I was used to have that in the past (starting with SP2 ?) but did not work or test on it since .... (Jambs where in place but Sashes rotated outwards to Layer Plane orientation. I think this is a side effect of trying to get rid of Screen Plane attempts in VW 2022, which I highly welcome BTW) And BTW, when trying to play with Texture scale and orientation in Twinmotion, suddenly VW's rounded Walls switched Axes and rotated around. Quote Link to comment
Alborz Posted May 27, 2022 Share Posted May 27, 2022 Yes it still happens, probably because for designing a game no one use BIM and they don't care about bringing building elements' data into the game environment, which make sense, so VW don't see any reason to solve this problem. But I think future games, specially simulation games is about data and how we integrate them into the game, so solving these problems to have a seamless workflow from any BIM environment to UE is very important. I also tested with ArchiCAD, the same thing happens. Quote Link to comment
Ben Garcia Design Posted March 21, 2023 Share Posted March 21, 2023 (edited) On 3/15/2022 at 4:48 PM, Dave Donley said: Hello all: Vectorworks 2022 Service Pack 3 includes many important fixes for Datasmith/Twinmotion. Please update to Service Pack 3 and let us know whether these issues are improved and/or resolved. Thanks! There is a new option to export record field data that can help Visual Dataprep workflows, and IDs have been improved. Light objects are being exported and a few bugs related to those have been fixed in SP3. Hello David, The introduction of Direct Link in 2022 SP3 is proving very helpful to me. Objects in UE are still importing poorly organised and named as mentioned by @MartVWX here... On 3/22/2021 at 1:30 PM, MartVWX said: Dave, Hi, thanks for your help. Having spent some time looking into the process for Visual Data Prep, I'd have to say that the way VWX is exporting to the .udatasmith file is very limited and does not make it easy to use the Dataprep automated options on account of it's naming / labeling of the component parts. There is no metadata that comes through from VWX to UE, such as VWX classes, Layers or object type (Wall, Shelving unit etc.) that would help group the meshes together easily, it's just the UE assigned ID#. Consequently you end up manually selecting and merging items, effectively going around the automating functions for Dataprep. There's 1 improvement which would revolutionise the way I am able to use the VW -> UE workflow. Symbols turning into Actors. Currently in Vectorworks I create a symbol (Say a door), with 10 static meshes. I then use that door 15 times over my level. When this imports into UE, 2 things happen: Firstly, we only import 10 unique static meshes. It's important to understand that a mesh is different to a static mesh actor, which is different to an actor. Secondly, in the Outliner (UE's list of assets that @MartVWX showed earlier) we add an actor and a StaticMeshActor for every instance of this static mesh in our VW file. This imports into UE as 15 actors, each with 10 unique static mesh actors which are themselves a child of an actor, totalling 150 static mesh actors. This gets messy when scaled up (I'm looking at you, truss) and makes importing slower, file sizes larger and asset management horrible. Ideally in Unreal Engine what I want to do is have 15 actors which all reference 1 actor made of the 10 meshes. That way I can change the material on my single actor and see the changes propagate across all of them. The current solution is a mixture of moving around the level and individually selecting each matching mesh and putting them in common folders as well as searching for assets when possible. I'm looking now at how to use Visual Dataprep to potentially do this but given that this is something that is necessary in EVERY datasmith import from Vectorworks I feel like it would be reasonable for Vectorworks to create and publish this, either as an edit to how Vectorworks exports Datasmith or as a Visual Dataprep file for UE. Currently I am looking at the metadata and struggling to get it to view in Unreal Engine. I can see in the .udatasmith in a text viewer that the metadata exists and custom IFC records are being transferred over (I can see them with a quick text search) but they seem not to be getting applied to the asset. Metadata in Unreal Engine. Text from .Udatasmith file: <Actor name="Extrude_Doors_53" label="Extrude_Doors_53"> <Transform tx="0.0" ty="0.0" tz="0.0" sx="1.0" sy="1.0" sz="1.0" qx="0.0" qy="0.0" qz="0.0" qw="1.0" qhex="0000000000000000000000000000803F"/> <tag value="Empty Actor" /> <children visible="true"> <ActorMesh name="Instance10972721327748965760_5239107781247857233" label="Extrude_Doors_10972721327748965760_5239107781247857233"> <mesh name="Mesh10132752585299418352_16003714575914235506Sub0"/> <Transform tx="240.418686" ty="1019.875671" tz="101.584007" sx="1.0" sy="1.0" sz="1.0" qx="-0.024006" qy="-0.706938" qz="0.706461" qw="0.02399" qhex="42A8C4BCE5F934BF9CDA343F4486C43C"/> <tag value="Mesh Actor" /> </ActorMesh> </children> </Actor> As an aside, I believe the above code snippet could be done better to remove excess actors. I've detailed that here: And the Metadata. For some reason the reference between the Actor & MetaData doesn't seem to be connecting. <MetaData name="Extrude_Doors_53" reference="Actor.Extrude_Doors_53"> <KeyValueProperty name="NNA_IfcAnnotation_prm1_type" type="String" val="16385"/> <KeyValueProperty name="NNA_IfcAnnotation_prm2_value" type="String" val="IfcAnnotation"/> <KeyValueProperty name="VW_UUID" type="String" val="a9b16221-02cf-4bad-a1b8-40963793938c"/> <KeyValueProperty name="NNA_IfcAnnotation_instanceID" type="String" val="1790"/> <KeyValueProperty name="VW_tdType" type="String" val="24"/> <KeyValueProperty name="VW_bounds" type="String" val="-393.700000,-20.000000,85.725000,393.700000,20.000000,1943.100000,"/> <KeyValueProperty name="NNA_IfcAnnotation_prm1_name" type="String" val="OwnerHistory"/> <KeyValueProperty name="NNA_IfcAnnotation_IFC_UUID" type="String" val="{E6812CD3-C83C-11ED-B9CD-18C04DDA7E81}"/> <KeyValueProperty name="NNA_IfcAnnotation_prm5_value" type="String" val="0"/> <KeyValueProperty name="NNA_IfcAnnotation_prm0_name" type="String" val="GlobalId"/> <KeyValueProperty name="NNA_IfcAnnotation_prm0_type" type="String" val="16391"/> <KeyValueProperty name="NNA_IfcAnnotation_prm1_value" type="String" val="0"/> <KeyValueProperty name="IFC_IfcAnnotation_Name_7" type="String" val="IfcAnnotation"/> <KeyValueProperty name="NNA_IfcAnnotation_prm2_name" type="String" val="Name"/> <KeyValueProperty name="NNA_IfcAnnotation_prm2_type" type="String" val="32775"/> <KeyValueProperty name="NNA_IfcAnnotation_prm3_name" type="String" val="Description"/> <KeyValueProperty name="NNA_IfcAnnotation_prm3_type" type="String" val="7"/> <KeyValueProperty name="NNA_IfcAnnotation_prm3_value" type="String" val="DoorGlass"/> <KeyValueProperty name="NNA_IfcAnnotation_prm4_name" type="String" val="ObjectType"/> <KeyValueProperty name="NNA_IfcAnnotation_prm4_type" type="String" val="16391"/> <KeyValueProperty name="NNA_IfcAnnotation_prm5_name" type="String" val="ObjectPlacement"/> <KeyValueProperty name="NNA_IfcAnnotation_prm5_type" type="String" val="16385"/> <KeyValueProperty name="NNA_IfcAnnotation_prm6_name" type="String" val="Representation"/> <KeyValueProperty name="NNA_IfcAnnotation_prm6_type" type="String" val="16385"/> <KeyValueProperty name="NNA_IfcAnnotation_prm6_value" type="String" val="0"/> <KeyValueProperty name="IFC_IfcAnnotation_GlobalId_7" type="String" val="3cWIpJo3mHxRdD6C1Dsdw1"/> <KeyValueProperty name="IFC_IfcAnnotation_Description_7" type="String" val="DoorGlass"/> </MetaData> Edited March 22, 2023 by Ben Garcia Design Added link to thread detailing too many children issue. 2 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.