VSE image transformation in preview #90156

Open
opened 2021-07-26 09:47:08 +02:00 by Richard Antalik · 22 comments

This is design / TODO task to outline core concepts of this feature

Basic functionality:

  • Feature will be intrgrated within existing transform system (should reuse pivot point settings probably)
  • Uses established keys to do location, rotation, scale - g, r, s
  • Operates on all strips, except of sound strip.
  • Uses selection from timeline
  • To disambiguate selection, outline and possibly overlay should be drawn (should be further clarified, as there are many ways to do this)
  • 2D cursor should be implemented (this may be problematic, because cursor shouldn't be visible normally)

Other features:

  • Gizmos - probably best would be to have these accessible when appropriate tool is active. Having all visible at once could cause issues with
    drawing
  • Gizmo display settings
  • Snapping
  • Selection of image rectangles in preview, sync to timeline
  • Implement global/local modes (shear support)

Other changes, not quite related to this feature, but would unify design:

  • Move transform effect properties to strip transform properties
  • Move text effect positon properties to strip transform properties (multiline text stacking could be done using snapping?)
  • Animation - there should be at least I keyboard shortcut witk keyframing options similar to 3D editor.
This is design / TODO task to outline core concepts of this feature Basic functionality: - Feature will be intrgrated within existing transform system (should reuse pivot point settings probably) - Uses established keys to do location, rotation, scale - g, r, s - Operates on all strips, except of sound strip. - Uses selection from timeline - To disambiguate selection, outline and possibly overlay should be drawn (should be further clarified, as there are many ways to do this) - 2D cursor should be implemented (this may be problematic, because cursor shouldn't be visible normally) Other features: - Gizmos - probably best would be to have these accessible when appropriate tool is active. Having all visible at once could cause issues with drawing - Gizmo display settings - Snapping - Selection of image rectangles in preview, sync to timeline - Implement global/local modes (shear support) Other changes, not quite related to this feature, but would unify design: - Move transform effect properties to strip transform properties - Move text effect positon properties to strip transform properties (multiline text stacking could be done using snapping?) - Animation - there should be at least `I` keyboard shortcut witk keyframing options similar to 3D editor.
Author
Member

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

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Member

Added subscriber: @iss

Added subscriber: @iss

Added subscriber: @TheRedWaxPolice

Added subscriber: @TheRedWaxPolice

Added subscriber: @tintwotin

Added subscriber: @tintwotin
  • Should it be possible to restrain Move to X or Y and type in values - in consistency with 3D View?
  • How should the UI look?
  • Should resetting values be exposed in the Preview?
  • Should Crop also be possible in the Preview?
  • Should multi strips be possible? Ex. rotate all selected images around local or global pivot.
  • Should text editing be a part of Preview tools? If so, does the transform patch need additional elements to prepare for this?

For reference and for testing out an approach to using the Preview for move, scale, rotate, crop, restrained axis etc. exposed in the Preview toolbar try this add-on out: https://github.com/zeograd/VSE_Transform_Tools

{F10238277,size=full}

- Should it be possible to restrain Move to X or Y and type in values - in consistency with 3D View? - How should the UI look? - Should resetting values be exposed in the Preview? - Should Crop also be possible in the Preview? - Should multi strips be possible? Ex. rotate all selected images around local or global pivot. - Should text editing be a part of Preview tools? If so, does the transform patch need additional elements to prepare for this? For reference and for testing out an approach to using the Preview for move, scale, rotate, crop, restrained axis etc. exposed in the Preview toolbar try this add-on out: https://github.com/zeograd/VSE_Transform_Tools {[F10238277](https://archive.blender.org/developer/F10238277/41908c51ec2cdf43427f6d4b3ef683ee022293fd.gif),size=full}

Added subscriber: @costa

Added subscriber: @costa

Looks very promising, I was wondering if there would be a possibility for align features?
i.e horizontal distribute, verticle align in the frame etc

Looks very promising, I was wondering if there would be a possibility for align features? i.e horizontal distribute, verticle align in the frame etc
Author
Member

In #90156#1196639, @tintwotin wrote:

  • Should it be possible to restrain Move to X or Y and type in values - in consistency with 3D View?

Yes

  • How should the UI look?

Pretty much as in GIF

  • Should resetting values be exposed in the Preview?

We have operator for this so sure. But this depends on what you mean by exposed in preview.

  • Should Crop also be possible in the Preview?

Yes

  • Should multi strips be possible? Ex. rotate all selected images around local or global pivot.

Yes

  • Should text editing be a part of Preview tools? If so, does the transform patch need additional elements to prepare for this?

No apart from it's position as I suggested

For reference and for testing out an approach to using the Preview for move, scale, rotate, crop, restrained axis etc. exposed in the Preview toolbar try this add-on out: https://github.com/zeograd/VSE_Transform_Tools

I have checked this just before I made this document, So far interesting idea there was handling of 2D cursor, which is hidden when not used by transformation. Not sure if I would be able to come up with better solution. Perhaps dedicated operator would work too...

Now I am thinking, that reason why animation was handled by this addon is, that in 3D editor, you have these properties by hand and in VSE chances are, that you would work "blindly". But that can happen in 3D editor too, so that is not super big concern perhaps.
In any case, I will add this point.

In #90156#1196926, @costa wrote:
Looks very promising, I was wondering if there would be a possibility for align features?
i.e horizontal distribute, verticle align in the frame etc

Yes, this would fall under snapping

> In #90156#1196639, @tintwotin wrote: > - Should it be possible to restrain Move to X or Y and type in values - in consistency with 3D View? Yes > - How should the UI look? Pretty much as in GIF > - Should resetting values be exposed in the Preview? We have operator for this so sure. But this depends on what you mean by exposed in preview. > - Should Crop also be possible in the Preview? Yes > - Should multi strips be possible? Ex. rotate all selected images around local or global pivot. Yes > - Should text editing be a part of Preview tools? If so, does the transform patch need additional elements to prepare for this? No apart from it's position as I suggested > For reference and for testing out an approach to using the Preview for move, scale, rotate, crop, restrained axis etc. exposed in the Preview toolbar try this add-on out: https://github.com/zeograd/VSE_Transform_Tools I have checked this just before I made this document, So far interesting idea there was handling of 2D cursor, which is hidden when not used by transformation. Not sure if I would be able to come up with better solution. Perhaps dedicated operator would work too... Now I am thinking, that reason why animation was handled by this addon is, that in 3D editor, you have these properties by hand and in VSE chances are, that you would work "blindly". But that can happen in 3D editor too, so that is not super big concern perhaps. In any case, I will add this point. > In #90156#1196926, @costa wrote: > Looks very promising, I was wondering if there would be a possibility for align features? > i.e horizontal distribute, verticle align in the frame etc Yes, this would fall under snapping

The UI Elements of Transform Tools:
Since some of the UI elements and functions are not working as indented in the 2.93 port, it is encouraged to use this 2.83 version of the add-on in Blender 2.83: https://github.com/tin2tin/VSE_Transform_Tools

Toolbar:
{F10239135, size=full}

Tool Settings in Header and Sidebar:
{F10239247, size=full}

Transform Menu:
{F10239139, size=full}
Reset options are missing.

Selection outline colors in consistency with strip selection outline + outline with crop:
{F10239252,size=full}

Pivot Options:
{F10239130,size=full}

Pivot in Action:
{F10239274,size=full}

Insert Keyframe Menu(I-shortcut):
{F10239239,size=full}

The UI Elements of Transform Tools: Since some of the UI elements and functions are not working as indented in the 2.93 port, it is encouraged to use this 2.83 version of the add-on in Blender 2.83: https://github.com/tin2tin/VSE_Transform_Tools Toolbar: {[F10239135](https://archive.blender.org/developer/F10239135/image.png), size=full} Tool Settings in Header and Sidebar: {[F10239247](https://archive.blender.org/developer/F10239247/image.png), size=full} Transform Menu: {[F10239139](https://archive.blender.org/developer/F10239139/image.png), size=full} Reset options are missing. Selection outline colors in consistency with strip selection outline + outline with crop: {[F10239252](https://archive.blender.org/developer/F10239252/image.png),size=full} Pivot Options: {[F10239130](https://archive.blender.org/developer/F10239130/image.png),size=full} Pivot in Action: {[F10239274](https://archive.blender.org/developer/F10239274/TT_pivot.gif),size=full} Insert Keyframe Menu(I-shortcut): {[F10239239](https://archive.blender.org/developer/F10239239/image.png),size=full}
Contributor

Added subscriber: @ok_what

Added subscriber: @ok_what
Contributor

Added subscriber: @RedMser

Added subscriber: @RedMser

This comment was removed by @tintwotin

*This comment was removed by @tintwotin*

Did some work on the toolbar: https://pasteall.org/7y1p but I realized, when it comes to the UI, pretty much everything is already designed and in use in the UV Editor including widgets and pivot. So it's just a question of implementing the Sequencer Image Transform Tools like the UV Transform Tools:
{F10262105, size=full}
Only stuff like active/selected, cropping and keyframes are missing.

Did some work on the toolbar: https://pasteall.org/7y1p but I realized, when it comes to the UI, pretty much everything is already designed and in use in the UV Editor including widgets and pivot. So it's just a question of implementing the Sequencer Image Transform Tools like the UV Transform Tools: {[F10262105](https://archive.blender.org/developer/F10262105/uv_editor.gif), size=full} Only stuff like active/selected, cropping and keyframes are missing.
Author
Member

Hmmm not sure if I would be happy with transform widget that UV editor uses, I would expect it to follow image orientation, but perhaps this is just matter of implementation.
Cropping could perhaps be done with modifier key.

What I must resolve is how to present selection, because you don't want to always display image outline in preview. Should images have an outline even? Perhaps widgets are enough?

Hmmm not sure if I would be happy with transform widget that UV editor uses, I would expect it to follow image orientation, but perhaps this is just matter of implementation. Cropping could perhaps be done with modifier key. What I must resolve is how to present selection, because you don't want to always display image outline in preview. Should images have an outline even? Perhaps widgets are enough?

In #90156#1201289, @iss wrote:
Hmmm not sure if I would be happy with transform widget that UV editor uses, I would expect it to follow image orientation, but perhaps this is just matter of implementation.

Well, you have a look and a starting point there, which you'll know is in consistency. Letting the widgets follow image orientation, is just using the "Local" orientation instead of a "Global" one.

Cropping could perhaps be done with modifier key.

The multi transform tool has the selectable corners which will fit a cropping widget fine.

What I must resolve is how to present selection, because you don't want to always display image outline in preview.

What the original Transform Tools did about this problem, was to fade the outlines away some time after selection and remove them during playback etc.

Should images have an outline even? Perhaps widgets are enough?

Without outline users will not be able to see what is the active and what are the selected images/strips

> In #90156#1201289, @iss wrote: > Hmmm not sure if I would be happy with transform widget that UV editor uses, I would expect it to follow image orientation, but perhaps this is just matter of implementation. Well, you have a look and a starting point there, which you'll know is in consistency. Letting the widgets follow image orientation, is just using the "Local" orientation instead of a "Global" one. > Cropping could perhaps be done with modifier key. The multi transform tool has the selectable corners which will fit a cropping widget fine. > What I must resolve is how to present selection, because you don't want to always display image outline in preview. What the original Transform Tools did about this problem, was to fade the outlines away some time after selection and remove them during playback etc. > Should images have an outline even? Perhaps widgets are enough? Without outline users will not be able to see what is the active and what are the selected images/strips

This issue was referenced by fa2c1698b0

This issue was referenced by fa2c1698b077f510175e79adf3dbf3e1602b1030
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Aaron Carlisle self-assigned this 2021-09-27 22:46:22 +02:00
Author
Member

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'
Author
Member

@Blendify The initial implementation was merged to master, but there are come things that are missing... I will reopen as I want to reference this task in future commits.

@Blendify The initial implementation was merged to master, but there are come things that are missing... I will reopen as I want to reference this task in future commits.

Removed subscriber: @costa

Removed subscriber: @costa
Aaron Carlisle removed their assignment 2021-10-09 22:25:12 +02:00
Member

Added subscriber: @Blendify

Added subscriber: @Blendify

Missing:

  • Animation menu(Shortcut: I).
  • Copy/Paste/Duplicate/Lock Transform/Mute/Move up&down in channels, Add Effects(Glow etc.).
  • Crop tool.
  • Text tool.
  • Snap(boundingbox anchor to the grid?)
  • Having both a Strip and an Image menu is a UI mess.
  • Selection of overlaying images should be from the top channel and down.
  • The outline is not fitting the source image, and is drawn on the "outside" so the bottom line disappears when using "Zoom to Fit":
  • When moving elements outside the visible area, they're drawn under the dark area, so they simply disappear if you deselect them. They should be drawn on top of the dark area instead.

Consideration:

  • It would be helpful for users to have the Transform properties and key buttons in the preview sidebar(like the object transform values in the 3d view), could this be done somehow?
Missing: - Animation menu(Shortcut: I). - Copy/Paste/Duplicate/Lock Transform/Mute/Move up&down in channels, Add Effects(Glow etc.). - Crop tool. - Text tool. - Snap(boundingbox anchor to the grid?) - Having both a Strip and an Image menu is a UI mess. - Selection of overlaying images should be from the top channel and down. - The outline is not fitting the source image, and is drawn on the "outside" so the bottom line disappears when using "Zoom to Fit": - When moving elements outside the visible area, they're drawn under the dark area, so they simply disappear if you deselect them. They should be drawn on top of the dark area instead. Consideration: - It would be helpful for users to have the Transform properties and key buttons in the preview sidebar(like the object transform values in the 3d view), could this be done somehow?
Richard Antalik added this to the Video Sequencer project 2023-02-09 21:00:44 +01:00
Philipp Oeser removed the
Interest
VFX & Video
label 2023-02-10 09:31:47 +01: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 Assignees
8 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#90156
No description provided.