Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Houdini: Add Static Mesh product-type (family) #5481

Merged
merged 73 commits into from
Sep 21, 2023
Merged

Conversation

MustafaJafar
Copy link
Contributor

@MustafaJafar MustafaJafar commented Aug 22, 2023

Changelog Description

This PR adds support to publish Unreal Static Mesh in Houdini as FBX

Quick recap

  • Add UE Static Mesh Creator
  • Dynamic subset name like in Maya
  • Collect Static Mesh Type
  • Update collect output node
  • Validate FBX output node
  • Validate mesh is static
  • Validate Unreal Static Mesh Name
  • Validate Subset Name
  • FBX Extractor
  • FBX Loader
  • Update OP Settings
  • Update AYON Settings

Testing notes:

Create instance while selecting

  1. an Obj Level subnetwork with some node inside it.
  2. an obj node (e.g. a box)
  3. a SopNode

@MustafaJafar MustafaJafar added host: Houdini type: feature Larger, user affecting changes and completely new things labels Aug 22, 2023
@ynbot ynbot added the size/M Denotes a PR changes 500-999 lines, ignoring general files label Aug 22, 2023
@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented Sep 5, 2023

Checkpoint

Some code is refactored.

  • UE Static mesh creator allows selecting sop node or obj node
  • Static mesh collector adds fbx family which triggers fbx extractor
  • It's possible to use other extractors but I'm not sure if that would break the validators
  • It includes four validations
    • ValidateFBXOutputNode which should check if output node exists and it has geometry.
    • ValidateMeshIsStatic which checks if output node or it's output children are time dependent
    • ValidateUnrealStaticMeshName which checks if output node or it's output children includes collision prefix
    • ValidateSubsetName which checks if subset name is correct + a fix action
  • it includes fbx extractor and loader

It still lacks:

  • Better error messages, I intent to use xml (to provide better guidance about dealing with errors)
  • Checking geometry existence, which is not yet included ValidateFBXOutputNode

@MustafaJafar MustafaJafar requested a review from BigRoy September 5, 2023 17:05
@MustafaJafar
Copy link
Contributor Author

Checkpoint

Some code is refactored.

  • UE Static mesh creator allows selecting sop node or obj node
  • Static mesh collector adds fbx family which triggers fbx extractor
  • It's possible to use other extractors but I'm not sure if that would break the validators
  • It includes four validations
    • ValidateFBXOutputNode which checks if output node exists, has geometry and doesn't include invalid primitives.
    • ValidateMeshIsStatic which checks if output node or it's output children are time dependent
    • ValidateUnrealStaticMeshName which checks if output node or it's output children includes collision prefix
    • ValidateSubsetName which checks if subset name is correct + a fix action
  • it includes fbx extractor and loader

@MustafaJafar MustafaJafar marked this pull request as ready for review September 11, 2023 13:50
Copy link
Member

@antirotor antirotor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments about naming, but otherwise it looks great and from what I've tested it works.

@MustafaJafar
Copy link
Contributor Author

MustafaJafar commented Sep 20, 2023

Create Unreal static mesh is renamed to Create static mesh
Validator ValidateUnrealStaticMeshName is turned off by default

In order to enable Static mesh validation, it is required to do two steps:

  1. add houdini host to staticMesh subset name profiles,

without it, subset name validator won't complain.

image

  1. Turn on this houdini validator
    image

@MustafaJafar MustafaJafar changed the title Houdini: Add Unreal Static Mesh product-type (family) Houdini: Add Static Mesh product-type (family) Sep 21, 2023
@antirotor antirotor merged commit da3f1ef into develop Sep 21, 2023
@antirotor antirotor deleted the tests/publish_process branch September 21, 2023 13:40
@ynbot ynbot added this to the next-patch milestone Sep 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
host: Houdini host: UE size/M Denotes a PR changes 500-999 lines, ignoring general files type: feature Larger, user affecting changes and completely new things
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

7 participants