This patch get rid of the _incorrectly used_ DG iterator in object loading, and uses scene objects iteration to prevent problems.
Details
Diff Detail
- Repository
- rB Blender
Event Timeline
I've updated the patch so it works a bit better now.
Things seems to work somewhat now.
However we need to do more work as add proper depsgraph relations when using the whole scene for example.
(And we need to discuss how to trigger updates when object visibility is affected, there seems like there is no way to do this currently)
We also should fix so that if you have an emitter object selected as the sole line art target, the emitted particles from that object should still be rendered.
Now the particles seems to be excluded because of the checks we do in lineart_usage_check.
Oh actually I checked so it's like... the particle's visibility is connected to the instanced object/collection, so you can show/hide emitter and particles separately if you want, and the behaviour is consistent with the viewport. (Of course you need to enable "Instanced Objects" option.)
To me it's working correctly as-is now. It's just the add_relation part needs to always add the whole master collection because line art loads everything for visibility. Also, the lineart "exclude" option is already handled in add_relation.
I'll clean up the patch and update a new one.
Updated for consistency in add_relation and line art computation. Only add relation for objects that are going to be needed in line art.
@Pratik Borhade (PratikPB2123) Hi there, this patch should probably be picked into 3.1 as well. Thanks!
Hi @YimingWu (NicksBest), you mean 3.2? then yes (but double check with developers before committing in 3.2)
3.1.2 was the last corrective release so no further bug fixes are expected in 3.1