Updated voxel remesher defaults #97163

Closed
opened 10 months ago by JulienKaspar · 5 comments
Collaborator

This is a minor to-do to create a smoother sculpting experience and freezes.

Issues

Preserve painted data

Often the user wants to preserve various object-data when remeshing. But by default the options to preserve "Painted Masks", "Face Sets" and "Color Attributes" are disabled.
Because of that these options need to be manually enabled for each new object that is created.
And all of these options combined will still perform better than just having the Fix Poles option enabled.

Since color attribute painting was recently introduced with D12587 it does make sense to update the defaults to preserve any painted data.

Fix Poles performance
The voxel remesher options that are currently enabled by default cause some issues.
By default the option "Fix Poles" is enabled, which leads to a lower vert-count when remeshing and cleaner topology.
This is a minor trad-off for the increased loading times, which can increase too much if more options to preserve additional object-data are enabled.
Here are some results after testing various combinations.

A monkey primitive with 536.769 vertices:

None options enabled = 1 second
Preserve Volume = 1 second
Fix Poles = 8 seconds
Fix Poles & Preserve Volume = 1 min 20 seconds
All enabled = 7 minutes 58 seconds
All except Fix Poles enabled = 5 seconds

Proposal

To provide a better experience for remeshing we should update the defaults.
Long term it would be better to improve the performance of the Fix Poles option but that is a bigger task.
So the new default options would be:

Fix Poles = Disabled
Preserve Volume = Enabled
Preserve Painted Mask = Enabled
Preserve Face Sets = Enabled
Preserve Color Attributes = Enabled

This is a minor to-do to create a smoother sculpting experience and freezes. ## Issues **Preserve painted data** Often the user wants to preserve various object-data when remeshing. But by default the options to preserve "Painted Masks", "Face Sets" and "Color Attributes" are disabled. Because of that these options need to be manually enabled for each new object that is created. And all of these options combined will still perform better than just having the Fix Poles option enabled. Since color attribute painting was recently introduced with [D12587](https://archive.blender.org/developer/D12587) it does make sense to update the defaults to preserve any painted data. **Fix Poles performance** The voxel remesher options that are currently enabled by default cause some issues. By default the option "Fix Poles" is enabled, which leads to a lower vert-count when remeshing and cleaner topology. This is a minor trad-off for the increased loading times, which can increase too much if more options to preserve additional object-data are enabled. Here are some results after testing various combinations. **A monkey primitive with 536.769 vertices:** None options enabled = 1 second Preserve Volume = 1 second Fix Poles = 8 seconds Fix Poles & Preserve Volume = 1 min 20 seconds All enabled = 7 minutes 58 seconds All except Fix Poles enabled = 5 seconds ## Proposal To provide a better experience for remeshing we should update the defaults. Long term it would be better to improve the performance of the Fix Poles option but that is a bigger task. So the new default options would be: Fix Poles = Disabled Preserve Volume = Enabled Preserve Painted Mask = Enabled Preserve Face Sets = Enabled Preserve Color Attributes = Enabled
Poster
Collaborator

Added subscriber: @JulienKaspar

Added subscriber: @JulienKaspar
Limarest self-assigned this 10 months ago
Collaborator

This issue was referenced by d1418dd151

This issue was referenced by d1418dd151b1b446fd97108959ef0ba5c0404424

Changed status from 'Needs Triage' to: 'Resolved'

Changed status from 'Needs Triage' to: 'Resolved'
Limarest closed this issue 10 months ago
Collaborator

Added subscriber: @JosephEagar

Added subscriber: @JosephEagar
Collaborator

I just realized, I wasn't paying enough attention to this issue; users are complaining. I can probably fix the performance penalties in the remesher projection code which is extremely inefficient at the moment.

I just realized, I wasn't paying enough attention to this issue; users are complaining. I can probably fix the performance penalties in the remesher projection code which is extremely inefficient at the moment.
Sign in to join this conversation.
No Label
Interest/Alembic
Interest/Animation & Rigging
Interest/Asset Browser
Interest/Asset Browser Project Overview
Interest/Audio
Interest/Automated Testing
Interest/Blender Asset Bundle
Interest/Collada
Interest/Compositing
Interest/Core
Interest/Cycles
Interest/Dependency Graph
Interest/Development Management
Interest/Eevee & Viewport
Interest/Freestyle
Interest/Geometry Nodes
Interest/Grease Pencil
Interest/ID Management
Interest/Images & Movies
Interest/Import/Export
Interest/Line Art
Interest/Masking
Interest/Modeling
Interest/Modifiers
Interest/Motion Tracking
Interest/Nodes & Physics
Interest/Overrides
Interest/Performance
Interest/Performance
Interest/Physics
Interest/Pipeline, Assets & I/O
Interest/Platforms, Builds, Tests & Devices
Interest/Python API
Interest/Render & Cycles
Interest/Render Pipeline
Interest/Sculpt, Paint & Texture
Interest/Text Editor
Interest/Translations
Interest/Triaging
Interest/Undo
Interest/USD
Interest/User Interface
Interest/UV Editing
Interest/VFX & Video
Interest/Video Sequencer
Interest/Virtual Reality
legacy module/Animation & Rigging
legacy module/Core
legacy module/Development Management
legacy module/Eevee & Viewport
legacy module/Grease Pencil
legacy module/Modeling
legacy module/Nodes & Physics
legacy module/Pipeline, Assets & IO
legacy module/Platforms, Builds, Tests & Devices
legacy module/Python API
legacy module/Rendering & Cycles
legacy module/Sculpt, Paint & Texture
legacy module/Triaging
legacy module/User Interface
legacy module/VFX & Video
legacy project/1.0.0-beta.2
legacy project/Asset Browser (Archived)
legacy project/BF Blender: 2.8
legacy project/BF Blender: After Release
legacy project/BF Blender: Next
legacy project/BF Blender: Regressions
legacy project/BF Blender: Unconfirmed
legacy project/Blender 2.70
legacy project/Code Quest
legacy project/Datablocks and Libraries
legacy project/Eevee
legacy project/Game Animation
legacy project/Game Audio
legacy project/Game Data Conversion
legacy project/Game Engine
legacy project/Game Logic
legacy project/Game Physics
legacy project/Game Python
legacy project/Game Rendering
legacy project/Game UI
legacy project/GPU / Viewport
legacy project/GSoC
legacy project/Infrastructure: Websites
legacy project/LibOverrides - Usability and UX
legacy project/Milestone 1: Basic, Local Asset Browser
legacy project/Nodes
legacy project/OpenGL Error
legacy project/Papercut
legacy project/Pose Library Basics
legacy project/Retrospective
legacy project/Tracker Curfew
legacy project/Wintab High Frequency
Meta/Good First Issue
Meta/Papercut
migration/requires-manual-verification
Module › Animation & Rigging
Module › Core
Module › Development Management
Module › Eevee & Viewport
Module › Grease Pencil
Module › Modeling
Module › Nodes & Physics
Module › Pipeline, Assets & IO
Module › Platforms, Builds, Tests & Devices
Module › Python API
Module › Render & Cycles
Module › Sculpt, Paint & Texture
Module › Triaging
Module › User Interface
Module › VFX & Video
Platform/FreeBSD
Platform/Linux
Platform/macOS
Platform/Windows
Priority › High
Priority › Low
Priority › Normal
Priority › Unbreak Now!
Status › Archived
Status › Confirmed
Status › Duplicate
Status › Needs Information from Developers
Status › Needs Information from User
Status › Needs Triage
Status › Resolved
Type › Bug
Type › Design
Type › Known Issue
Type › Patch
Type › Report
Type › To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#97163
Loading…
There is no content yet.