Face-Map 2.8 Proposal #51675

Closed
opened 2017-05-31 05:50:12 +02:00 by Campbell Barton · 29 comments

Update


Currently this project is postponed until we have a working Python-Widget API which will use face-maps in a generic way.

After this face-maps can be used as just one of the possible inputs for manipulators.

This means we don't need to depend on each face-map referencing a bone.

There is now a working proof of concept addon in contrib:


This design task is to outline the design for face-map usage in Blender2.8.

Note that there are lots of possible uses of face-maps, where they could be used as programmable widgets but that's out of scope for this document which focuses on getting initial planning, so it can be merged into 2.8 branch for continued development.

Motivation


The aim in having face-maps is to allow people to manipulate the rig quickly without having to select objects & switch modes, select the correct bone layers... etc.

Instead, users can make immediate adjustments.

Who Would Use This?

Face-maps have a similar purpose control bones.
Where a rigger exposes only a subset of bones for animators.

These would typically be used by animators and layout artists.

Someone who isn't experienced with Blender should be able to open a character file and manipulate it easily.

Proposed Functionality


Face-maps can be accessed from Object Mode, so users don't need to first select armatures before posing them and can make adjustments.

  • Face-maps will be accessible in object mode for active or selected objects *.
  • Adjusting a face-map will edit the associated control bone.
  • Face-maps may also control shape-keys (or other values in future).

* Edit: we may end up changing the method used to detect which face-maps to display, the main goal is to allow tweaking face-maps from multiple objects at once - exactly how these are chosen may change.

Usage


  • Mode Switching
While we want to avoid users mode-switching, its not useful to expose
face-maps if users can *only* perform basic adjustments.
Further, creating a new mode just for face-maps
(with its own key-map and operators)
is creating yet-another mode users have to learn.
So face-maps that control bones will use pose-mode with face-maps bone set to active.
This means its possible to insert key-frame, adjust a property -
or any other typical pose operation.
Edit: to be clear, this means that while you can click on a face-map in object mode, doing so will enter pose-mode for the associated bone.
  • Mixing Face-Maps With Pose Mode
The rigger will control which bones are controlled as face-maps,
A bone can be set to be shown only as a face-map,
so a rigger may configure a rig to only use face-maps if they like.
However this isn't a requirement, there may be mixed bones/face-maps in use.
  • Face-Map Associations
Face-maps behave in much the same way as vertex-groups,
where names will be matched for automatic association.
  • Face-Map Assignment
Currently assigning face-maps is similar to assigning materials.
Most likely we will want tools to create & assign face-maps
from selected control-bones.
  • Displaying Face-Maps
While it might be nice to have all face-maps as editable,
there is some overhead in calculating which face maps to show
and finding relationships between all objects which might potentially display face-maps.
For this reason, the initial version will only use the active object.
We should be able to cache the result, however there are many operations that
would invalidate the cache

(renaming a bone, toggling a modifier, changing layers... etc).

So we might need a way to limit which face-maps are displayed,
or make this an option *(which I rather avoid)*.
There is no need to make a decision now, just noting that this adds some overhead
if we want to use it by default in object-mode.

Development Plan


Currently an open topic - at which step would we consider merging into 2.8 acceptable.

  • Initial Working Version (done, only some glitches left)
Only in Pose-Mode,
face-maps are simply an alternative to accessing bones directly.
  • Implement Mode Switching
Selecting face-maps without being in pose-mode or having the armature selected.
  • Feature Complete

    • Shape key support.
    • Basic tools (things I wanted when creating test files)
      • Re-Assign from selection.
      • Remove (from all face maps)
      • Select all un-assigned.
      • Face Map option for Select Grouped Faces.
    • Tool for automatic assignment.
    • Improve drawing?,
  currently drawing is xray only.
  • (Maybe) level of detail.

Open Topics


These are issues that can be addressed as we reach them, I don't think we need to make a decision now.

Noting the issues since it seems likely we will need to handle them before 2.8x release.

  • Armature Visibility
There is a logical problems wanting only to edit face-maps where the armature may not be on a visible layer for example.
Do we disable those face-maps in this case? Allow tweaking but not enter pose mode?
  • Face-Map Names
There is some name-space conflict since face maps may be used by
shape-keys or bones.
We may want to have a type-selector for each face-map,
or some other way to avoid ambiguous associations.
  • Face-Maps as General Controls
We want to keep the option open for custom widgets with face-maps.
  • Level of Detail
When zoomed out we might not want a characters eyelid to be editable,
instead the head should be adjusted, wrist instead of bending finger ... etc.
We would likely need a way to choose when a face-map is too small
and a fallback face-map to use in its place. *(perhaps fallback can be nearest face-map thats big enough, needs some testing)*

There are a few ways we could solve this,
just noting it as something we may want to look into
once face-maps are working.

Test File: Vincent28.blend

Update **** Currently this project is postponed until we have a working Python-Widget API which will use face-maps in a generic way. After this face-maps can be used as just one of the possible inputs for manipulators. This means we don't need to depend on each face-map referencing a bone. There is now a working proof of concept addon in contrib: - https://developer.blender.org/diffusion/BAC/browse/master/object_facemap_auto ---- This design task is to outline the design for face-map usage in Blender2.8. Note that there are lots of possible uses of face-maps, where they could be used as programmable widgets but that's out of scope for this document which focuses on getting initial planning, so it can be merged into 2.8 branch for continued development. Motivation **** The aim in having face-maps is to allow people to manipulate the rig quickly without having to select objects & switch modes, select the correct bone layers... etc. Instead, users can make immediate adjustments. **Who Would Use This?** Face-maps have a similar purpose *control* bones. Where a rigger exposes only a subset of bones for animators. These would typically be used by animators and layout artists. Someone who isn't experienced with Blender should be able to open a character file and manipulate it easily. Proposed Functionality **** Face-maps can be accessed from Object Mode, so users don't need to first select armatures before posing them and can make adjustments. - Face-maps will be accessible in object mode for active or selected objects *. - Adjusting a face-map will edit the associated control bone. - Face-maps may also control shape-keys *(or other values in future)*. `*` *Edit: we may end up changing the method used to detect which face-maps to display, the main goal is to allow tweaking face-maps from multiple objects at once - exactly how these are chosen may change.* Usage **** * **Mode Switching** ``` While we want to avoid users mode-switching, its not useful to expose face-maps if users can *only* perform basic adjustments. ``` ``` Further, creating a new mode just for face-maps (with its own key-map and operators) is creating yet-another mode users have to learn. ``` ``` So face-maps that control bones will use pose-mode with face-maps bone set to active. This means its possible to insert key-frame, adjust a property - or any other typical pose operation. ``` ``` Edit: to be clear, this means that while you can click on a face-map in object mode, doing so will enter pose-mode for the associated bone. ``` * **Mixing Face-Maps With Pose Mode** ``` The rigger will control which bones are controlled as face-maps, ``` ``` A bone can be set to be shown only as a face-map, so a rigger may configure a rig to only use face-maps if they like. ``` ``` However this isn't a requirement, there may be mixed bones/face-maps in use. ``` * **Face-Map Associations** ``` Face-maps behave in much the same way as vertex-groups, where names will be matched for automatic association. ``` * **Face-Map Assignment** ``` Currently assigning face-maps is similar to assigning materials. ``` ``` Most likely we will want tools to create & assign face-maps from selected control-bones. ``` * **Displaying Face-Maps** ``` While it might be nice to have all face-maps as editable, there is some overhead in calculating which face maps to show and finding relationships between all objects which might potentially display face-maps. ``` ``` For this reason, the initial version will only use the active object. ``` ``` We should be able to cache the result, however there are many operations that would invalidate the cache ``` *(renaming a bone, toggling a modifier, changing layers... etc)*. ``` So we might need a way to limit which face-maps are displayed, or make this an option *(which I rather avoid)*. ``` ``` There is no need to make a decision now, just noting that this adds some overhead if we want to use it by default in object-mode. ``` Development Plan **** Currently an open topic - at which step would we consider merging into 2.8 acceptable. * **Initial Working Version** *(done, only some glitches left)* ``` Only in Pose-Mode, face-maps are simply an alternative to accessing bones directly. ``` * **Implement Mode Switching** ``` Selecting face-maps without being in pose-mode or having the armature selected. ``` * **Feature Complete** * Shape key support. * Basic tools *(things I wanted when creating test files)* * Re-Assign from selection. * Remove (from all face maps) * Select all un-assigned. * Face Map option for Select Grouped Faces. * Tool for automatic assignment. * Improve drawing?, ``` currently drawing is xray only. ``` * (Maybe) level of detail. Open Topics **** These are issues that can be addressed as we reach them, I don't think we need to make a decision now. Noting the issues since it seems likely we will need to handle them before 2.8x release. * **Armature Visibility** ``` There is a logical problems wanting only to edit face-maps where the armature may not be on a visible layer for example. ``` ``` Do we disable those face-maps in this case? Allow tweaking but not enter pose mode? ``` * **Face-Map Names** ``` There is some name-space conflict since face maps may be used by shape-keys or bones. ``` ``` We may want to have a type-selector for each face-map, or some other way to avoid ambiguous associations. ``` * **Face-Maps as General Controls** ``` We want to keep the option open for custom widgets with face-maps. ``` * **Level of Detail** ``` When zoomed out we might not want a characters eyelid to be editable, instead the head should be adjusted, wrist instead of bending finger ... etc. ``` ``` We would likely need a way to choose when a face-map is too small and a fallback face-map to use in its place. *(perhaps fallback can be nearest face-map thats big enough, needs some testing)* There are a few ways we could solve this, just noting it as something we may want to look into once face-maps are working. ``` ----- Test File: [Vincent28.blend](https://archive.blender.org/developer/F8856996/Vincent28.blend)
Campbell Barton self-assigned this 2017-05-31 05:50:12 +02:00
Author
Owner

Changed status to: 'Open'

Changed status to: 'Open'
Author
Owner

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Author
Owner

Added subscriber: @dfelinto

Added subscriber: @dfelinto
Member

Added subscriber: @JulienDuroure

Added subscriber: @JulienDuroure
Member

Added subscriber: @JoshuaLeung

Added subscriber: @JoshuaLeung
Member

Hmm... it's a bit unclear atm what is intended here regarding what modes these will be available in. On one hand, it sounds like you're saying that facemaps will always be available in object mode, but then, in the next paragraph/section, you mention stuff about these activating corresponding bones and allowing tools like keyframing/breakdowner/pose-library/motion paths/etc. to be used as if the bone was selected.

Pros of Object-mode facemaps:

  • No extra modes to deal with
  • If animators are animating objects too (without rigs for those objects), then it's easy to go between those objects and the facemaps/controls.

Cons of Object-mode facemaps:

  • How does a rigger/layout (scene setup) go about selecting the mesh from the viewport? Or do we assume that riggers and layout/scene setup artists will rarely need to do this, and will just end up using the outliner instead most of the time if they need to do so?
  • Tool access (as mentioned above). Most of the "really useful" animation tools are pose-mode only.

Except for pure shapekey-only rigs, you'll likely end up having some bones anyway as part of the charater's rig. So, unless facemaps is really useful for anything other than selecting parts of a character to animate it, I'd be tempted to make it so that:

  1. Facemaps can be used to select control regions on meshes when in pose mode (on an armature), with the ability to still select any bones that are visible/not represented by a facemap
  2. Each armature will include a list of links to geometry objects that can be used for facemap-selection/drawing when that armature is in pose mode.
  3. Facemaps can be assigned to geometry objects as described in your proposal unchanged
  4. If an armature (with facemaps turned on) is in pose mode, and the user clicks on another objects, the facemaps will continue to be usable, just like the current situation with mixed posebone + object selection when an armature is in posemode. But, if you exit posemode, facemaps will not be available.
  5. Just to be clear, facemaps do not need to only map to bones. if a facemap-providing mesh has facemaps that don't match up with bones in the pose-active armature, shapekey/custom property facemaps could be used too. How exactly that mapping works still needs to be decided/defined, but we aren't that far along with the current proposal either :)
  6. To make animating multiple characters easier, we can make it so that multiple armatures can have posemode enabled (i.e. select armature 1, enter posemode, then select armature 2 and enter posemode on that too). Then, facemaps will be available for both armatures. (NOTE: This doesn't have to be for the initial version, but I'm including this for completeness).

Anyway, that is just a dump of how I think this should work (though we'll probably need to have a good hard look at this object/pose mode split at some point in the future...)

Hmm... it's a bit unclear atm what is intended here regarding what modes these will be available in. On one hand, it sounds like you're saying that facemaps will always be available in object mode, but then, in the next paragraph/section, you mention stuff about these activating corresponding bones and allowing tools like keyframing/breakdowner/pose-library/motion paths/etc. to be used as if the bone was selected. Pros of Object-mode facemaps: * No extra modes to deal with * If animators are animating objects too (without rigs for those objects), then it's easy to go between those objects and the facemaps/controls. Cons of Object-mode facemaps: * How does a rigger/layout (scene setup) go about selecting the mesh from the viewport? Or do we assume that riggers and layout/scene setup artists will rarely need to do this, and will just end up using the outliner instead most of the time if they need to do so? * Tool access (as mentioned above). Most of the "really useful" animation tools are pose-mode only. Except for pure shapekey-only rigs, you'll likely end up having some bones anyway as part of the charater's rig. So, unless facemaps is really useful for anything other than selecting parts of a character to animate it, I'd be tempted to make it so that: 1) Facemaps can be used to select control regions on meshes when in pose mode (on an armature), with the ability to still select any bones that are visible/not represented by a facemap 2) Each armature will include a list of links to geometry objects that can be used for facemap-selection/drawing when that armature is in pose mode. 3) Facemaps can be assigned to geometry objects as described in your proposal unchanged 4) If an armature (with facemaps turned on) is in pose mode, and the user clicks on another objects, the facemaps will continue to be usable, just like the current situation with mixed posebone + object selection when an armature is in posemode. But, if you exit posemode, facemaps will not be available. 5) Just to be clear, facemaps do not need to only map to bones. if a facemap-providing mesh has facemaps that don't match up with bones in the pose-active armature, shapekey/custom property facemaps could be used too. How exactly that mapping works still needs to be decided/defined, but we aren't that far along with the current proposal either :) 6) To make animating multiple characters easier, we can make it so that multiple armatures can have posemode enabled (i.e. select armature 1, enter posemode, then select armature 2 and enter posemode on that too). Then, facemaps will be available for both armatures. (NOTE: This doesn't have to be for the initial version, but I'm including this for completeness). Anyway, that is just a dump of how I think this should work (though we'll probably need to have a good hard look at this object/pose mode split at some point in the future...)
Author
Owner

In #51675#437833, @JoshuaLeung wrote:
Hmm... it's a bit unclear atm what is intended here regarding what modes these will be available in. On one hand, it sounds like you're saying that facemaps will always be available in object mode, but then, in the next paragraph/section, you mention stuff about these activating corresponding bones and allowing tools like keyframing/breakdowner/pose-library/motion paths/etc. to be used as if the bone was selected.

To the first point, face-maps will be available in object mode. Clicking on a face-map associated with a bone will activate that armature.

Pros of Object-mode facemaps:

  • No extra modes to deal with
  • If animators are animating objects too (without rigs for those objects), then it's easy to go between those objects and the facemaps/controls.

Cons of Object-mode facemaps:

  • How does a rigger/layout (scene setup) go about selecting the mesh from the viewport? Or do we assume that riggers and layout/scene setup artists will rarely need to do this, and will just end up using the outliner instead most of the time if they need to do so?
  • Tool access (as mentioned above). Most of the "really useful" animation tools are pose-mode only.

As for mesh selection, this could be handled as with existing manipulator widgets.

Left click to activate the manipulator, right click to select the mesh.

There is then a conflict with 3D cursor placement.

While I wanted to avoid adding more options, face-maps might end up needing to be a toggle if we can't co-exist well enough with other object mode operators.

Except for pure shapekey-only rigs, you'll likely end up having some bones anyway as part of the charater's rig. So, unless facemaps is really useful for anything other than selecting parts of a character to animate it, I'd be tempted to make it so that:

  1. Facemaps can be used to select control regions on meshes when in pose mode (on an armature), with the ability to still select any bones that are visible/not represented by a facemap

Right, this is currently the case. (no plans on changing)

  1. Each armature will include a list of links to geometry objects that can be used for facemap-selection/drawing when that armature is in pose mode.

Currently this is pre-calculated based on armature modifers, not sure there is much benefit to making the user manually set this up?

Even in the case of indirectly used armatures (armature -> mdef -> mesh), we could detect this.

  1. Facemaps can be assigned to geometry objects as described in your proposal unchanged
  2. If an armature (with facemaps turned on) is in pose mode, and the user clicks on another objects, the facemaps will continue to be usable, just like the current situation with mixed posebone + object selection when an armature is in posemode. But, if you exit posemode, facemaps will not be available.

By the sounds of it this means: All visible armatures in pose-mode will have their face-maps available, no matter their selection state.

Seems like it could work well - one downside is that you might end up needing to manually switch out of pose-mode when you'd otherwise just click away.

This particular aspect fo face maps is fairly open to change as we go AFAICS.

  1. Just to be clear, facemaps do not need to only map to bones. if a facemap-providing mesh has facemaps that don't match up with bones in the pose-active armature, shapekey/custom property facemaps could be used too. How exactly that mapping works still needs to be decided/defined, but we aren't that far along with the current proposal either :)

Yes, its noted in the proposal - even though we don't need to set-this in stone early on, we might want to choose how we would implement. (should the bone toggle the face-map, does the face-map choose the associated data type?)

  1. To make animating multiple characters easier, we can make it so that multiple armatures can have posemode enabled (i.e. select armature 1, enter posemode, then select armature 2 and enter posemode on that too). Then, facemaps will be available for both armatures. (NOTE: This doesn't have to be for the initial version, but I'm including this for completeness).

As long as we support multiple objects face-maps being active at once - exactly which are active at any time can be tweaked based on user-feedback.

Anyway, that is just a dump of how I think this should work (though we'll probably need to have a good hard look at this object/pose mode split at some point in the future...)

Edited the proposal to clarify some points you raised.

Thanks for the feedback!

> In #51675#437833, @JoshuaLeung wrote: > Hmm... it's a bit unclear atm what is intended here regarding what modes these will be available in. On one hand, it sounds like you're saying that facemaps will always be available in object mode, but then, in the next paragraph/section, you mention stuff about these activating corresponding bones and allowing tools like keyframing/breakdowner/pose-library/motion paths/etc. to be used as if the bone was selected. > To the first point, face-maps will be available in object mode. Clicking on a face-map associated with a bone will activate that armature. > Pros of Object-mode facemaps: > * No extra modes to deal with > * If animators are animating objects too (without rigs for those objects), then it's easy to go between those objects and the facemaps/controls. > >Cons of Object-mode facemaps: > * How does a rigger/layout (scene setup) go about selecting the mesh from the viewport? Or do we assume that riggers and layout/scene setup artists will rarely need to do this, and will just end up using the outliner instead most of the time if they need to do so? > * Tool access (as mentioned above). Most of the "really useful" animation tools are pose-mode only. As for mesh selection, this could be handled as with existing manipulator widgets. Left click to activate the manipulator, right click to select the mesh. There is then a conflict with 3D cursor placement. While I wanted to avoid adding more options, face-maps might end up needing to be a toggle if we can't co-exist well enough with other object mode operators. > Except for pure shapekey-only rigs, you'll likely end up having some bones anyway as part of the charater's rig. So, unless facemaps is really useful for anything other than selecting parts of a character to animate it, I'd be tempted to make it so that: > 1) Facemaps can be used to select control regions on meshes when in pose mode (on an armature), with the ability to still select any bones that are visible/not represented by a facemap Right, this is currently the case. (no plans on changing) > 2) Each armature will include a list of links to geometry objects that can be used for facemap-selection/drawing when that armature is in pose mode. Currently this is pre-calculated based on armature modifers, not sure there is much benefit to making the user manually set this up? Even in the case of indirectly used armatures (armature -> mdef -> mesh), we could detect this. > 3) Facemaps can be assigned to geometry objects as described in your proposal unchanged > 4) If an armature (with facemaps turned on) is in pose mode, and the user clicks on another objects, the facemaps will continue to be usable, just like the current situation with mixed posebone + object selection when an armature is in posemode. But, if you exit posemode, facemaps will not be available. By the sounds of it this means: All visible armatures in pose-mode will have their face-maps available, no matter their selection state. Seems like it could work well - one downside is that you might end up needing to manually switch out of pose-mode when you'd otherwise just click away. This particular aspect fo face maps is fairly open to change as we go AFAICS. > 5) Just to be clear, facemaps do not need to only map to bones. if a facemap-providing mesh has facemaps that don't match up with bones in the pose-active armature, shapekey/custom property facemaps could be used too. How exactly that mapping works still needs to be decided/defined, but we aren't that far along with the current proposal either :) Yes, its noted in the proposal - even though we don't need to set-this in stone early on, we might want to choose how we would implement. *(should the bone toggle the face-map, does the face-map choose the associated data type?)* > 6) To make animating multiple characters easier, we can make it so that multiple armatures can have posemode enabled (i.e. select armature 1, enter posemode, then select armature 2 and enter posemode on that too). Then, facemaps will be available for both armatures. (NOTE: This doesn't have to be for the initial version, but I'm including this for completeness). As long as we support multiple objects face-maps being active at once - exactly which are active at any time can be tweaked based on user-feedback. > Anyway, that is just a dump of how I think this should work (though we'll probably need to have a good hard look at this object/pose mode split at some point in the future...) Edited the proposal to clarify some points you raised. Thanks for the feedback!

Added subscriber: @Djay

Added subscriber: @Djay
Member

Added subscriber: @BassamKurdali

Added subscriber: @BassamKurdali

Added subscriber: @AdamPreisler

Added subscriber: @AdamPreisler

Hi,

I noticed there are FaceMaps now which are not only useful for animators but really for any modeller who wants to save certain face selections (some checkerboard selections weren't possible with vertex groups).

I was actually using "Mark Freestyle Face" for this in the past even though I wasn't using Freestyle at all. Because it let me mark anything through a simple shortcut Ctrl+F and select it again with Shift+G.

While FaceMaps are great it's a shame we can't use them in the Shader Editor in any way.
In fact I thought it would be super cool if there could be an RGB FaceMap allowing us to assign RGB color to faces that we can later use in Shader Editor to color different parts of the model according to that.
I know it can be made through vertex colors if you split the mesh at the seams but that might be too excessive at times?

Hi, I noticed there are FaceMaps now which are not only useful for animators but really for any modeller who wants to save certain face selections (some checkerboard selections weren't possible with vertex groups). I was actually using "Mark Freestyle Face" for this in the past even though I wasn't using Freestyle at all. Because it let me mark anything through a simple shortcut Ctrl+F and select it again with Shift+G. While FaceMaps are great it's a shame we can't use them in the Shader Editor in any way. In fact I thought it would be super cool if there could be an RGB FaceMap allowing us to assign RGB color to faces that we can later use in Shader Editor to color different parts of the model according to that. I know it can be made through vertex colors if you split the mesh at the seams but that might be too excessive at times?

Added subscriber: @MetinSeven-1

Added subscriber: @MetinSeven-1

I'd very much love to see the Face Map functionality also being used for a ZBrush-like polygroup workflow in Sculpt Mode (and Edit Mode). That would be very welcome and useful.

I'd very much love to see the Face Map functionality also being used for a ZBrush-like polygroup workflow in Sculpt Mode (and Edit Mode). That would be very welcome and useful.

Added subscriber: @michaelknubben

Added subscriber: @michaelknubben

I agree with @AdamPreisler and @MetinSeven-1, to limit these to animation would be a mistake in my opinion. Many tools and modifiers would benefit from having Face Groups in addition to the current Vertex Groups.

I agree with @AdamPreisler and @MetinSeven-1, to limit these to animation would be a mistake in my opinion. Many tools and modifiers would benefit from having Face Groups in addition to the current Vertex Groups.

Added subscriber: @xan2622

Added subscriber: @xan2622
Member

Added subscriber: @Wahooney

Added subscriber: @Wahooney
Member

Agreeing with @michaelknubben, @AdamPreisler and @MetinSeven. Adding Edge Groups would also be very useful (and consolidating Edge Bevel Weights, Edge Crease Weights, etc. into the system), and being able to chose between Face, Edge, Vertex Groups in modifiers would make procedural modelling much better (ie. Mask, Array, Mirror, etc.)

Agreeing with @michaelknubben, @AdamPreisler and @MetinSeven. Adding Edge Groups would also be very useful (and consolidating Edge Bevel Weights, Edge Crease Weights, etc. into the system), and being able to chose between Face, Edge, Vertex Groups in modifiers would make procedural modelling much better (ie. Mask, Array, Mirror, etc.)

Removed subscriber: @MetinSeven-1

Removed subscriber: @MetinSeven-1
Member

Added subscriber: @DanielGrauer

Added subscriber: @DanielGrauer

Added subscriber: @dstk421

Added subscriber: @dstk421

Great initiative. This face-map proposal was similar to the way we used to animate faces on Premo system (dreamworks). These face-map selections would drive a complex control-less facial rig underneath. Very intuitive and fast.

Here is a Siggraph link to a paper showing the underneath facial rig controls to set what each facial-set would move. There is a very interesting short video in the link after the text, that shows how to setup your macros.

https://dl.acm.org/doi/10.1145/2791261.2791262

Great initiative. This face-map proposal was similar to the way we used to animate faces on Premo system (dreamworks). These face-map selections would drive a complex control-less facial rig underneath. Very intuitive and fast. Here is a Siggraph link to a paper showing the underneath facial rig controls to set what each facial-set would move. There is a very interesting short video in the link after the text, that shows how to setup your macros. https://dl.acm.org/doi/10.1145/2791261.2791262
Member

since there are also Face Sets now for sculpting, i would like to propose that Face Maps might be renamed to something that represents better what the usage is, maybe Bone Map or Pose Map would be more fitting and also avoid the confusion between Face Mapsand Face Sets in the future.

since there are also **Face Sets** now for sculpting, i would like to propose that **Face Maps** might be renamed to something that represents better what the usage is, maybe **Bone Map** or **Pose Map** would be more fitting and also avoid the confusion between **Face Maps**and **Face Sets** in the future.

Added subscriber: @laurentlabede

Added subscriber: @laurentlabede
Contributor

Added subscriber: @RedMser

Added subscriber: @RedMser

Added subscriber: @TakeshiFunahashi

Added subscriber: @TakeshiFunahashi

I hope please not restrict Face Map usage only for bone related things..

Because I currently use Face Map to keep material assignment... So even though I change or tweak material slot name, or merge them sometimes, I can keep each surface assignment as Face map Name.

I suppose blender will not offer way to set name for surface group which set material... (material name change >>> assigned surface group name change), So to keep surface group isolated from material name, I need to use Face Map.

I hope please not restrict Face Map usage only for bone related things.. Because I currently use Face Map to keep material assignment... So even though I change or tweak material slot name, or merge them sometimes, I can keep each surface assignment as Face map Name. I suppose blender will not offer way to set name for surface group which set material... (material name change >>> assigned surface group name change), So to keep surface group isolated from material name, I need to use Face Map.

Actually I may prefer to use Face map as grouping way for Faces.

We use vertex group for modifier, or rig weight map, or simply just group as user need to easy return current selections temporally.
So I feel face map is face grouping function, which blender had not offered before. (select vert/edge/Face, then save and re-use as I need for same structure mesh)

Of course it is good to add new function which can use face map, but when it is used for specific prupose, I hope there should be way to save face map as data and can set Fake User. toggle / swap Face map for each purpose... (To auto generate rig we use "Rig-Face-map set", for shape key we use" Shape key-Face map set"
. For materal assign gorup, we use Mat Face-map which isolated from material slot)

Then I may request even though at current there is no clear direction about face map, the tool is already used for user for their prupose, then I hope someone will add Fake User, then can save it as blend file, and hope to see transfer "Face map" from Active to Selected, anytime I need for same structure figure (vertex order, vertex coount)

At current we can set only one Face Map for each mesh (object data), and there is no way to keep multi face map , save and re-use. and as described, one face can only set one Face map group.. (it is not same as vertex group,,,, we can add any vertex group without break bone weight map for posing)

Actually I may prefer to use Face map as grouping way for Faces. We use vertex group for modifier, or rig weight map, or simply just group as user need to easy return current selections temporally. So I feel face map is face grouping function, which blender had not offered before. (select vert/edge/Face, then save and re-use as I need for same structure mesh) Of course it is good to add new function which can use face map, but when it is used for specific prupose, I hope there should be way to save face map as data and can set Fake User. toggle / swap Face map for each purpose... (To auto generate rig we use "Rig-Face-map set", for shape key we use" Shape key-Face map set" . For materal assign gorup, we use Mat Face-map which isolated from material slot) Then I may request even though at current there is no clear direction about face map, the tool is already used for user for their prupose, then I hope someone will add Fake User, then can save it as blend file, and hope to see transfer "Face map" from Active to Selected, anytime I need for same structure figure (vertex order, vertex coount) At current we can set only one Face Map for each mesh (object data), and there is no way to keep multi face map , save and re-use. and as described, one face can only set one Face map group.. (it is not same as vertex group,,,, we can add any vertex group without break bone weight map for posing)
Philipp Oeser removed the
Interest
Animation & Rigging
label 2023-02-09 14:36:44 +01:00

as far as I know, the face maps have been deleted, probably this task is no longer needed

as far as I know, the face maps have been deleted, probably this task is no longer needed
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-07-13 02:30:02 +02:00
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
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
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
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
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
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 Info 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
16 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#51675
No description provided.