[Bf-committers] 2.8 3D Manipulator Design

Joe Eagar joeedh at gmail.com
Tue Aug 23 17:41:20 CEST 2016


Ah, these *user* interfaces, I mean.  3D user interface design isn't a
skill many people have.

Joe

On Tue, Aug 23, 2016 at 8:40 AM, Joe Eagar <joeedh at gmail.com> wrote:

> Right.  I'm rather bad at designing these interfaces myself.  That's the
> hard part.
>
> Joe
>
> On Tue, Aug 23, 2016 at 2:35 AM, Ton Roosendaal <ton at blender.org> wrote:
>
>> Hi,
>>
>> Aside of some details, this is what Antony and Julian already have been
>> working on.
>> The basics is simple, the implications and implementation not -
>> especially to achieve top level (and pleasant) interaction.
>>
>> -Ton-
>>
>> --------------------------------------------------------
>> Ton Roosendaal  -  ton at blender.org   -   www.blender.org
>> Chairman Blender Foundation, Producer Blender Institute
>> Support us - join blender.cloud or Blender Dev Fund.
>>
>> > On 23 Aug 2016, at 10:29, Joe Eagar <joeedh at gmail.com> wrote:
>> >
>> > Hi all.  I had a rather panicky reaction on pursing Autodesk Fusion 360
>> > videos:
>> >
>> > http://www.autodesk.com/products/fusion-360
>> >
>> > Here's a direct link to one of the videos:
>> >
>> > https://www.youtube.com/embed/KZyjLwKWyOw?rel=0
>> >
>> > So!  3D widget interfaces on steroids.  I've dome similar stuff in the
>> > past, so I thought I'd write up how I went about designing a 3D widget
>> API
>> > (to fit inside my Blender-derived application architecture).
>> >
>> > The basic concept is pretty simple, and is a lot like a 2D user
>> interface
>> > API.  You have shapes that live in the 3D viewport (and participate in
>> the
>> > dependency graph).  These shapes have event callbacks (and an "am I
>> still
>> > alive" method) and can contain other shapes.  They also participate in
>> the
>> > dependency graph.
>> >
>> > Shapes never store direct pointers to data.  References to scene objects
>> > and the like are stored as RNA paths.
>> >
>> > In my implementation shape widgets could not go modal.  Instead they
>> would
>> > invoke modal tool operators, and if necessary insert a temporary DAG
>> node
>> > to update themselves interactively.  For example, a translate
>> manipulator
>> > widget has a DAG reference to the active object.  When it invokes
>> > transform, the widget automatically moves as the user expects.
>> >
>> > One final point.  3D widget user interfaces are remarkably difficult to
>> > design, and I don't have a lot of talent for that myself.  Before any
>> > coding happens, we should solicit proposals from people with 3D UI
>> design
>> > talent.
>> >
>> > Anyway, cheers!
>> >
>> > Joe
>> > _______________________________________________
>> > Bf-committers mailing list
>> > Bf-committers at blender.org
>> > https://lists.blender.org/mailman/listinfo/bf-committers
>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> https://lists.blender.org/mailman/listinfo/bf-committers
>>
>
>


More information about the Bf-committers mailing list