Mirror In Image Editor [Blender Addon] (WIP)
This is a work in progress (WIP) blender addon due to a few issues preventing it from being great to use. It is functional for the most part, so use if you'd like. I like to think of it as a proof of concept until I figure out gpu acceleration.
This addon adds the ability to mirror textures in the image editor window for blender. You can mirror in 2D using a line as the line of symmetry, and in 3D using a model and a world axis to mirror on the object.
The code is available on github, as well as more details about the addon in the read me page
No guarantees, but I plan to try and update the addon to fix bugs and hopefully increase the speed at which it runs.
Warning: The script to build the geonodes doesn't work on newer versions of blender, so the buttons will throw an error. I hope to fix this when I have time.
Install Guide:
- Download the file
- Go to Edit->Preferences->Add-ons then press the install button
- Select the python file downloaded earlier
- Check the box on the add-on added in the menu (should be called "Texture: Mirrors Texture Changes")
How To Use:
- Have an image editor window open in blender with a texture selected
- Snapshot the image in the image editor using the "Snapshot" button (make sure an object is selected in the mirror settings if you want to mirror in 3D)
- Draw on the texture in whatever method you prefer (examples include using the texture editing mode on a model or the paint mode in the image editor)
- Press the mirror button of your choice for your preferred outcome
- press "Mirror Changes 2D" if you are mirroring in 2D (don't forget to play around with the 2D positions and angle that determines the line it mirrors over (defaults to a horizontal line))
- press "Mirror Changes 2D As Mask" if you want what you drew to be a mask for what should be mirrored in 2D
- Press "Mirror Changes" if you are mirroring in 3D (don't forget to play around with the world axis to mirror over)
- Press "Mirror Changes As Mask"if you want what you drew to be a mask for what should be mirrored in 3D
- If you are happy with the changes made once the mirroring finished, snapshot again to ensure they aren't reverted in future mirrorings. Else, you can hit "Revert to Snapshot" to undo what was changed.
Issues To Watch For:
- blender will appear to freeze when mirroring or create mapping are pressed. This is caused by the main thread for blender being caught up doing the task. 2D mirroring should finish in a few minutes for anything on 4K textures or less on a modern cpu, but 3D mirroring can take days to finish due to the lack of parallelism, so use cautiously.
- Pixel gaps (small one pixel areas) may appear when mirroring. Potential bandaid fixes include using subsurf modifier to make more geometry and Pixel Gap Fill
A python script that is the blender addon