Jump to content

Ben Garcia Design

Member
  • Posts

    2
  • Joined

  • Last visited

Reputation

3 Neutral

Personal Information

  • Location
    United Kingdom

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. This is previously discussed in this other thread, however that one is more about the general workflow issues whereas I am looking to highlight the specific 'too many children' issue here when exporting a Vectorworks file to Unreal Datasmith. I am using VW 2023 SP3. When I have a group in Vectorworks, the group is given it's own parent for the group. That makes sense, but then each of the meshes as apart of the group have their own actor & child mesh-actor. This middle actor can be removed. It serves no purpose. For reference, here is this group. It's 2 solid subtractions & 1 extrude. This will currently export as this: <Actor name="Group_Doors_20" label="Group_Doors_20"> <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"> <Actor name="Solid_Subtraction_Doors_73" label="Solid_Subtraction_Doors_73"> <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="Instance8589611062427493340_16736547581515919266" label="Solid_Subtraction_Doors_8589611062427493340_16736547581515919266"> <mesh name="Mesh16896199164350926892_7180970239964908936Sub0"/> <Transform tx="677.549194" ty="-998.677795" tz="101.535332" sx="1.0" sy="1.0" sz="1.0" qx="-0.000104" qy="0.000321" qz="-0.951752" qw="0.306866" qhex="7B5CD9B89F89A8390DA673BF991D9D3E"/> <tag value="Mesh Actor" /> </ActorMesh> </children> </Actor> <Actor name="Solid_Subtraction_Doors_58" label="Solid_Subtraction_Doors_58"> <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="Instance15365997431380323710_86819806465637521" label="Solid_Subtraction_Doors_15365997431380323710_86819806465637521"> <mesh name="Mesh279954500711682462_8339932488154455650Sub0"/> <Transform tx="677.549194" ty="-998.677856" tz="101.614708" sx="1.0" sy="1.0" sz="1.0" qx="-0.000104" qy="0.000321" qz="-0.951752" qw="0.306866" qhex="7B5CD9B89F89A8390DA673BF991D9D3E"/> <tag value="Mesh Actor" /> </ActorMesh> </children> </Actor> <Actor name="Extrude_Doors_21" label="Extrude_Doors_21"> <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="Instance1600644069928305191_10288283762171703730" label="Extrude_Doors_1600644069928305191_10288283762171703730"> <mesh name="Mesh10132752585299418352_16003714575914235506Sub0"/> <Transform tx="677.549194" ty="-998.677795" tz="101.455956" sx="1.0" sy="1.0" sz="1.0" qx="-0.217061" qy="0.673218" qz="-0.672763" qw="0.216914" qhex="24455EBE02582C3F383A2CBFB91E5E3E"/> <tag value="Mesh Actor" /> </ActorMesh> </children> </Actor> </children> </Actor> But should instead export as: <Actor name="Group_Doors_20" label="Group_Doors_20"> <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="Instance8589611062427493340_16736547581515919266" label="Solid_Subtraction_Doors_8589611062427493340_16736547581515919266"> <mesh name="Mesh16896199164350926892_7180970239964908936Sub0"/> <Transform tx="677.549194" ty="-998.677795" tz="101.535332" sx="1.0" sy="1.0" sz="1.0" qx="-0.000104" qy="0.000321" qz="-0.951752" qw="0.306866" qhex="7B5CD9B89F89A8390DA673BF991D9D3E"/> <tag value="Mesh Actor" /> </ActorMesh> <ActorMesh name="Instance15365997431380323710_86819806465637521" label="Solid_Subtraction_Doors_15365997431380323710_86819806465637521"> <mesh name="Mesh279954500711682462_8339932488154455650Sub0"/> <Transform tx="677.549194" ty="-998.677856" tz="101.614708" sx="1.0" sy="1.0" sz="1.0" qx="-0.000104" qy="0.000321" qz="-0.951752" qw="0.306866" qhex="7B5CD9B89F89A8390DA673BF991D9D3E"/> <tag value="Mesh Actor" /> </ActorMesh> <ActorMesh name="Instance1600644069928305191_10288283762171703730" label="Extrude_Doors_1600644069928305191_10288283762171703730"> <mesh name="Mesh10132752585299418352_16003714575914235506Sub0"/> <Transform tx="677.549194" ty="-998.677795" tz="101.455956" sx="1.0" sy="1.0" sz="1.0" qx="-0.217061" qy="0.673218" qz="-0.672763" qw="0.216914" qhex="24455EBE02582C3F383A2CBFB91E5E3E"/> <tag value="Mesh Actor" /> </ActorMesh> </children> Hopefully it is clear how this is far more useable & clear.
  2. 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... 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>
×
×
  • Create New...