opentoonz / opentoonz_docs

OpenToonz User Manual
http://opentoonz.readthedocs.io
28 stars 26 forks source link

Style Editor: Texture scale and other settings don't work with vector levels #196

Open blurymind opened 8 years ago

blurymind commented 8 years ago

To reproduce this bug:

  1. Create a fill (toonz vector layer)
  2. Fill it with a style
  3. Set a texture to that style (texture tab)
  4. Go to the settings tab and try to scale it. Try any of the other sliders.

expected behavior - the settings changes affect the style what happens - nothing happens. Settings have no effect.

texturesettingsbroken

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/35857928-bug-texture-scale-and-other-settings-in-style-editor-dont-work?utm_campaign=plugin&utm_content=tracker%2F33713530&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F33713530&utm_medium=issues&utm_source=github).
artisteacher commented 7 years ago

As of the recent nightly builds, The settings do actually work on the preview in the style editor and the swatch in the level palette but the adjustments do not update/display in the viewer.

ghost commented 7 years ago

They work on Toonz Raster levels, but not on Vector levels.

artisteacher commented 7 years ago

I just get a solid fill on Toonz raster levels...

ghost commented 7 years ago

Try hitting preview.

artisteacher commented 7 years ago

That works! It's suprising that the settings don't work on vector levels though - especially since the swatches in the style editor and palette do update. If the settings aren't going to be made functional for vector levels, maybe they should be disabled when vector levels are active.

blurymind commented 7 years ago

There is an old request to make the style editor context sensitive- meaning exactly that - dont show any settings that are irrelevant to the level type that the brush tool is operating on. That would both declutter it and make it more intuitive :)

On 12 Aug 2017 07:05, "artisteacher" notifications@github.com wrote:

That works! It's suprising that the settings don't work on vector levels though - especially since the swatches in the style editor and palette do update. If the settings aren't going to be made functional for vector levels, maybe they should be disabled when vector levels are active.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opentoonz/opentoonz_docs/issues/196, or mute the thread https://github.com/notifications/unsubscribe-auth/AGMbVX90RuIpIflnyrxpDG6l-voVV-O3ks5sXUCggaJpZM4JH_5O .

RodneyBaker commented 7 years ago

@blurymind said:

There is an old request to make the style editor context sensitive- meaning exactly that - dont show any settings that are irrelevant to the level type that the brush tool is operating on. That would both declutter it and make it more intuitive :)

The idea of context sensitive (sorting) of styles and brushes is great but it might not quite go far enough. It might be good to tackle this also from the other direction, namely, to have OpenToonz create the appropriate Level type for the brush/style that is selected if/when it is triggered as drawing/painting on the canvas.

The supreme example of this may be that of MyPaint brushes where we can select a MyPaint brush and then click on a cell in the xsheet which creates a new (default) level. The level created will be determined by the Preference setting the user has designated (raster, Toonz raster or Vector.

A 'smart brush' should know what type of level it needs and either:

  1. Automatically create the appropriate level type
  2. Prompt the user to either create or select an appropriate level type (if one exists).

To test how this doesn't work so well presently:

What success might look like: Regardless of the type of Level that is currently selected if a Mypaint brush or palette style is selected OpenToonz should create a raster level for the brush to draw on. The creation of the raster level would be automatic unless an option in Preferences was set to trigger a dialogue box that notifies the user of what is about to happen and gives them an option to cancel the creation of the new level.

So... yeah... context sensitive but in the reverse way so that (technically) the user doesn't have to even think about what type of Level they need or what type of brush/tool they are using, OpenToonz intuits from the type of brush/tool/style that has been selected and, if not appropriate automatically creates the correct type of Level. In this way users don't need to spend any extra time wondering what a raster is... or a vector...

Just more fodder for the discussion! :)

(I think I just posted this in the wrong Style Editor topic... if so I may try to move it to where it is more appropriate)

artisteacher commented 7 years ago

I like your idea @RodneyBaker. If the new level dialogue popped up as part of creating the new level it would also be a cue to the user that they were trying to use the wrong level type. It would be more seamless to skip the pop-up but the new level would need a name from somewhere. Perhaps a name could be automatically generated based on the original level type? Ie. Trying to use a MyPaint brush on a vector level named background, could automatically create a level called background_r. This behavior would probably have to be enabled in settings. I don't know how helpful this would be for texture settings though :)

If disabling the settings on vector levels would not work, it would be great to get a pop-up notification (ie. Texture settings only apply to Toonz raster levels) when using the texture settings on vector levels. The pop-up could be dismissed and the settings could still be edited, but at least the user would know what to expect.

blurymind commented 7 years ago

@RodneyBaker @artisteacher Why not have both! :D

How about this: When the user selects the brush tool or switches to another level, the style editor checks what the current active level type is.

If there is no level type (the user has selected an empty column in the xsheet), the style editor shows both vector and raster brushes. Depending on whether the user has selected a vector or a raster brush, upon the user making a new stroke - opentoonz then creates a new raster or vector level! As you suggest.

If the there is however already a level on the column that the user has selected, the style editor only shows brushes that are available for its type. On a raster level - only show raster brushes and style options. On a vector - only vector ones.

That context sensitivity will make OT much more intuitive and straightforward.

@turtletooth what do you think? :)

RodneyBaker commented 7 years ago

I love the idea of attacking from both directions. :) The big question I suppose is how well the brushes/styles communicate who they are so that the logic behind such a process will work. I think @turtletooth has demonstrated that some of these requirements are already there via recent Style Editor improvement but there are a lot of moving parts in there.

To further consider this... I'm not sure exactly where the Style Editor sits in the flow of events. For instance, using the example I provided before, let's say we have a MyPaint brush Style in a palette and select that style from the palette for the purpose of drawing. Is the Style Editor invoked somehow between that selection and the creation of the stroke on the canvas? My gut feel is that it is not but I am thinking in terms of the Style Editor being a tool for changing palette styles that already exist.; they are containers with instructions for the drawing/filling processes to reference. Therefore styles exist independently of the Style Editor but the settings contained therein are changed via the Style Editor. This is true with most material editors. The materials/styles are like books on a shelf that get referenced as needed. The need is determined when we select it in either the Style Editor or palette. I therefore conclude (perhaps incorrectly) that the Style Editor simply references the Studio (master) Pallet.

At any rate, those in the know won't be slowed down by such things but what can I say except... I'd like to know. ;)

My current view (pending further enlightenment): The Palettes are the primary means of organization and distribution of pen/brush/paint/color settings. The Style Editor is an editor of the styles collected in palettes; 1) a master palette with default settings 2) any style in any palette the user selects.

As an aside, as much as I love the arcana of differences between image formats and technical issue that suggest what image format is superior in a given situation I am intrigued by the idea that the average user might not have to think about any of that because all those details are taken care of behind the scenes. If there is no need to consider whether a MyPaint brush will work on a particular level this frees up the user to focus on being productive/creative. And let me say I do really enjoy the details behind various formattings because there is a lot to leverage therein. This is one reason OpenToonz is so great... it lets users work with raster and vector in a hybrid way that few programs can. I'm a bit excited that this aspect might be further strengthened.

(Apologies. I'm trying to shorten my posts... but failing)

RodneyBaker commented 5 years ago

Confirmed this still does not work as desired:

Expected behavior - the settings changes affect the style What happens - nothing happens. Settings have no effect.

Question: Does scaling textures for vector work in Toonz? If not then this falls more into the feature category than bug.

artisteacher commented 5 years ago

According to the Harlequin manual: screen shot 2018-12-03 at 9 59 15 am Adding the texture settings to vector levels may be more of a feature request, but the fact that they don't work is certainly not an expected behavior - especially since the icon does update for the vector level. Either, the settings should be expanded to work for both level types (best option) or the settings tab needs a notification that the texture settings only work for toonz raster levels.

RodneyBaker commented 5 years ago

Thanks for that @artisteacher There are a number of remaining Style Editor improvements that appear to be more 'bug' than 'feature request' but mostly in the sense that menus are not yet context aware enough to flag options based on the Level types. I know we've had some interest in that.


More than a little off topic:

The ultimate 'fix' for much of this is likely a new format that encapsulates all Level types (specifically raster, Toonz raster and vector) so that the user just opens the file and OpenToonz presents and deals with the differences and incompatibilities in turn as appropriate, expressly shielding the user from encountering incompatibility. As long as the level types are binary data they cannot be embedded in text files so a compressed format that collects/zips up the resources is a likely approach there; one one file to rule them all approach which would also address issues of sharing data. Then the resources can be either embedded (imported) or external (loaded) as desired by the user. A question: Is there currently any open source file format that meets this criteria? The closest I have seen appears to be the MOX format (which is a production level format under BSD license): AV1/AV2 is a good format to target for the future as well but that appears more for streaming and distribution than production. REF: https://github.com/MOXfiles/libmox

RodneyBaker commented 5 years ago

This is very doable but appears to have slipped to the 2019 development cycle.

RodneyBaker commented 4 years ago

Closing and tagging as known issue as the Texture style are currently working as described in documentation; where texture style settings can be loaded in both vector and toonz raster levels but the settings can only be adjusted on toonz raster levels.

Perhaps in 2020 development cycle we can explore how to expand texture fill usage.

artisteacher commented 4 years ago

Personally I'd leave this open. The changing style icon creates the expectation that the texture settings will apply to Vector levels too - even if the manual says otherwise.

RodneyBaker commented 4 years ago

This along with a number of other UI related issues will need to be addressed in the 2020 Development cycle. Perhaps that might take a form similar to the UI menu reorganization that users will see in v1.4, although obviously it will go a lot deeper as much of that didn't effect the underlying code. This approach however would more than likely be to block off those elements that don't work with specific levels so they don't appear. Perhaps a better and more welcome approach would be to actually rewrite textures so that they can work across the board with all levels. That will be a major undertaking.

RodneyBaker commented 4 years ago

Reopened for review...

This report still required to be open as the inability to use Settings will confuse users. One option short of context senstive settings would be to provide a note in the dialogue to let users know of current and intended usage. This same approach would be useful with autopaint lines as the usage there can be misunderstood.

Current status: Fodder for the 2022 development cycle!

RodneyBaker commented 2 weeks ago

Transferred to Opentoonz Docs so users can at least know the current status with regard touse of textures in the Style Editor. Developmentally we should chart a path forward to resolving various issues with respect to use of textures in Opentoonz taking a broad view not just of current features but best practices that will lead us to where we need to be.