[Bf-blender-npr] Subgrous visibility

Tamito KAJIYAMA rd6t-kjym at asahi-net.or.jp
Mon Apr 28 09:19:33 CEST 2014


So we have two proposed artist-friendly usability updates:

1. Make Freestyle settings dependent of a group
2. Move view map construction options (crease angle, etc.) to line sets

I totally see the rationale behind the proposal of Point 1. What you
would like to have is a container that ships objects (mesh, armature,
lamp and so on) together with line sets specifically set up to render
the objects.

I also have a few design thoughts.

- Groups in Blender are a simple and very general data structure. The
only functionality of a group is to form a set of objects. I don't
expect that other core Blender developers agree with a proposal to
extend groups so as to store Freestyle-specific non-object components.
I believe the container we want needs to be something extra in addition
to and different from groups.

- It is my impression that line sets tend to be defined having a
specific scene in mind. That seems likely the case, because line sets
are intended to select lines of interest in a given scene. Once you put
a Freestyle-enabled character model in a different scene, you start
customizing line sets to include/exclude lines that are new in the
scene. For this reason I feel like line sets are not really reusable.
If line sets are not reusable per se, then there is no much reason to
link them -- appending, or even just importing them makes more sense.

- Scene render layers seem close to the container we wish to have. A
scene render layer defines a set of objects to be rendered, and carries
associated line sets. The Link/Append commands do not work with render
layers though, because render layers are not ID data blocks (by the same
token, Link/Append are not applicable to line sets). Given the limited
reusability of line sets, what we need seems a command to import a
render layer from another .blend file, where line sets are copied while
ID data blocks (such as objects, meshes, line styles) are linked.

Now talking about Point 2, there are two reasons why view map
construction options are part of scenes (more precisely, render layers)
and not stored in line sets:
1. The construction of a view map (i.e., a set of detected feature
lines) is a very time- and memory-consuming process. It is way demanding
to perform view map calculation for each line set.
2. From a view map you may want to select multiple subsets of interest
(e.g., one for visible lines and another for hidden lines) to apply
different line styles. In that case it would be preferable to avoid
calculating identical view maps and use one view map for all the line sets.

 From a user perspective I agree that it is more intuitive to keep the
view map construction options in line sets and construct a view map for
each line set. Maybe Freestyle could be more clever to identify a
minimum number of view maps to fulfill all line detection requests
specified by given line sets having different view map calculation
options. That is a doable short-term development target.

-- 
KAJIYAMA, Tamito <rd6t-kjym at asahi-net.or.jp>


On 23/04/2014 17:36, Vicente wrote:
> Hi,
>
> Great that we are discussing this topic finally :)
>
>  From a user perspective I think that importing a character group should
> bring all the FS stuff with it. Also, for a user,  the "Freestyle Asset
> Linker" could look a bit out of place "Why is this stuff in its own menu
> instead of the standard importer? They should fix this"
>
> What if FS Line sets/styles are dependant of groups(maybe even objects)
> and not Scenes? So a group could have one or more "children", line sets,
> each one using a different combination of line styles. That would
> automatically solve the problem of importing.
> In this solution however there is a remnant problem with the scene
> linked variables (Crease angle an so). TK, Hhas sense to you to
> downgrade those variables to group level? I understand that would imply
> to re analyse the full scene for each lineset, and that would increase
> the render time proportionally, but at least for me looks more
> reasonable than the current scene linked system. Depending on an scene
> maka FS quite unmanageable right now.
>
> Unifying linesets and linestyles could remove some reusability
> potential. Sometimes you want to have the exact same line style but
> applied to different elements.
>
> My opinion: To make FS stuff group dependant and downgrade all the scene
> variables(Crease angle) to Line sets variables. That will be user
> friendly and potentially will give us more room for improvements in a
> future. And no need to unify linesets and linestyles.
>
> Best Regards,
>
> Vicente
>
>
> On mið 23.apr 2014 02:57, Tamito KAJIYAMA wrote:
>> Hi,
>>
>> Just some random thoughts that came to my mind:
>>
>> Groups do not seem to provide a good enough solution to link/append a
>> set of objects and associated Freestyle settings including groups,
>> because groups only deal with object membership by definition.
>>
>> How about using scenes as a unit of link/append operations?
>>
>> 1. Set up a character in a scene, rig it, and gives it a Freestyle
>> setting. If you have another character or more, you do the same in
>> independent scenes.
>> 2. Open another .blend file and link the scene.
>> 3. Select the character (or a group that includes the character) and
>> Make Link to another scene where the character is going to be used.
>> 4. Copy the line sets from the linked scene, and paste them to the other
>> scene. Group references in line sets will remain valid.
>>
>> Linking a scene instead of a group makes more sense to me, since it
>> allows importing everything associated to the character asset.
>>
>> I guess the steps from 2. to 4. can be automated more and less by an
>> add-on (say, a "Freestyle Asset Linker" add-on).
>>
>> Note that line sets are part of scene datablocks and cannot be linked
>> (appended) directly. It is my impression that this design increases some
>> complexity in link/append workflows, which if necessary is a matter of
>> discussion and future improvements. A relevant question here is: should
>> line sets and line styles be unified?


More information about the Bf-blender-npr mailing list