Erase, select, duplicate and move functionality mirrored

Current functionality: At the moment only the paint brushes are mirrored when the mirror feature is turned on. Issue: This can make select, erase, duplicate, move and every other feature almost useless when you are working on a mirrored piece, for example a character.
5 Replies
andybak
andybak•2y ago
I've already got "Duplicate" working with mirrors in several of my experimental builds: https://docs.openbrush.app/alternate-and-experimental-builds/ It's a bit trickier for erase and move as we would have to rework how lots of things work. Currently once a brush stroke has been drawn it "forgets" about any mirrored strokes. To allow erasing and moving strokes to affect the mirrored strokes, each brush stroke would have to maintain a link to it's copies. It would also have to remember the position of the mirror at the time of it's creation. That wouldn't be so bad - but we are developing some much more complex mirror modes and related features - so we will have to support those as well. I'm not saying it won't happen - just explaining that it's not a totally simple request!
CesarOrtega
CesarOrtegaOP•2y ago
Would it be possible to instantiate the erase/move prefab to the other side almost as if a second character is doing it on the other side?
andybak
andybak•2y ago
Oh - I just realised an even harder problem to solve. You can spin the mirror while painting - so a brush stroke doesn't even have a single mirror to consider. Every point on the stroke might have had the mirror in a differerent orientation. That's an interesting idea. However it would only work if you could also recall the exact mirror position needed to match up exactly. But yes - that could be a simpler solution for your specific use case.
CesarOrtega
CesarOrtegaOP•2y ago
I know just a bit about Unity I am still super novice and I know how hard even "seemingly simple" things can be, so I understand.
andybak
andybak•2y ago
You've got me thinking now! 🤔
Want results from more Discord servers?
Add your server