Workflow for particle hair + dynamics on linked character in 2.8(2)?

Is there one yet? Hoping for some hints here…

[Long rambling post warning!]

I have a character built in 2.79 that uses particle hair and hair dynamics (physics). I thought that with 2.82 looking better than 2.81, I’d try once again to bring this character over to 2.8. But I’m still not able to work out a viable workflow that allows me to keep the particle hair.

Initial state on the characters hair was styled/combed using particle edit mode in 2.79. The character is saved as a ‘master’ for linking to scenes. My 2.8 master was basically created directly from the 2.79 file, but with collections set up to match the original groups. I think the only other thing I changed was to drop the subsurface modifier on the character in the display port to keep the frame rate up in 2.8 viewport for animation.

Disk cache is used to allow me to bake the hair dynamics/physics in scenes linking the master by using a proxy as described here :

This all works in 2.79. A bit kludgy, but it works.

However, it’s clear that pretty much this entire process is blown away by 2.8x. No surprise, but I can’t seem to find a viable replacement.

First off. If I go back to the 2.8 ‘master’ to tweak the hair, I can no longer use particle edit mode at all. That is, I can select it, but nothing changes on the display. It seems you have to bake to memory? OK. Baking a single frame did nothing, so I baked 2 frames. That got me into particle edit mode (I think). But the hair all vanishes. So I’m in Particle Edit mode, but with nothing to edit!

I still haven’t worked out how to get to a viable particle edit mode on this master file.

Secondly, and perhaps not surprisingly. the tricks used to bake linked proxy hair physics in 2.79 no longer seem to be possible in 2.8. I guessed that you are supposed to use the Library Override mechanism, but last I read, that is still ‘experimental’. There certainly seems to be very little solid information out there on how to use ‘Library Override’ (only how to create them).

But, ignoring the problem of not being able to get particle edit mode on the master, I tried Library Override. After one false start (I had to re-arrange my collections into a single tree), I got a linked base character with a functional armature and linked particle emitters. Definite progress!

But I still have no access to the cache settings of the particle systems under the overrride. I cannot set the animation range, re-bake, or change the cache settings (“Disabled: Can’t edit the property from an override data block”). Without this I obviously cannot bake particle physics from the scene file linking the character.

Has anyone out there puzzled out a viable workflow when using particle hair on a linked character in 2.8? Or am I just still waiting on 2.8n?

Thanks in advance.

Ross.

Well. I was wrong. The old ‘proxy’ workflow for this does still work. I think I must have had the wrong object selected when ‘pinning’ the object data to find the emitter cache panel.

So the process in that link above still works with 2.82. You just have to modify the scripting slightly to switch from ‘groups’ to collections. In my case that means somethihg like:

FrameStart = 0         #Frame on which the simulation starts.      EXAMPLE: FrameStart = 1
FrameEnd = 60           #Frame on which the simulation ends.       EXAMPLE: FrameEnd = 50

obj = bpy.data.collections["FlorenceFur"].objects["Scalp"]
ParticleSystem = obj.particle_systems["ParticleSystem"]
PointCacheCache = ParticleSystem.point_cache
PointCacheCache.frame_start = FrameStart
PointCacheCache.frame_end = FrameEnd

Now I just have to go back and try to work out why particle edit seems to be non-functional.

Aha! Apparently the message “Point cache must be baked in memory to enable editing!” in the tool option window actually means “Delete all bakes to enable editing”. Obvious! All I had to do was delete the existing (disk) bake to get into particle edit. That bakes only there to enable the proxy cache trick, so I can replace it after edit.