MCprep icon indicating copy to clipboard operation
MCprep copied to clipboard

Using custom properties for assets

Open zNightlord opened this issue 2 years ago • 2 comments

Check against existing requests

  • [X] I have checked existing feature requests, and my idea is different

Describe the context

"mob_skip_prep" "make_real" are defined in the mcprep data update json I find this inconvenient in some way.

So I propose to move to custom properties. Custom Properties can be user added in and read through the API. Custom properties We can also set custom properties after doing certain operation.

Another name for this is "Extend MCprep attributes" because OBJ importer use this also

How do you imagine your feature works?

For material we introduce something like NO_PREP or SKIP_PREP custom properties with 1 value with that we can bring that information in so it doesn't clear the existing nodes in certain rig material. Same for collection in meshswap blend file for make real but the operator parameter can override it.

What existing workaround (or closest thing to a workaround) do you have today (within Blender, MCprep, or any software)? If there is no workaround, explain why you feel this way.

Beside custom properties there is asset tag but it is in 3.0, we can't really use that.

zNightlord avatar Jul 08 '23 05:07 zNightlord

Marked this for 3.5.1 (albeit low priority)

StandingPadAnimations avatar Jul 08 '23 05:07 StandingPadAnimations

Here are some properties I can bring up

Material:

  • MCPREP_NOPREP (bool): Bypass the prep material
  • MCPREP_MOBTYPE (string): Name of vanilla mob material, useful for mob skin like villager in skinswap handle profession, level, type texture
  • MCPREP_HASCOLOR (bool): Material possibly has another color variation for skin swap

Object or Collection:

  • MCPREP_MOBTYPE (string): Like above, maybe can have "CUSTOM" if not a mob rig

  • MCPREP_RIGVERSION (string): a string (blender) versioning of a rig, I was thinking about not import the rig through bAppendLink() load use case

  • MCPREP_MAKEREAL (bool): For realize the rig

  • MCPREP_MAKESWAP (bool): This already exist, meshswap noimport suffix in meshswap.blend

  • MCPREP_NOSWAP (bool): This already exist added when spawn using meshswap spawner

Is the naming convention good? Or something need to be added?

zNightlord avatar Aug 07 '23 04:08 zNightlord