.
À l'occasion du lancement de la version 2.30, nous vous offrons
le résultat de nos efforts pour améliorer l'interface de
Blender. Étant donné que la plus grande partie du code de
Blender s'adresse à l'interface, vous pouvez imaginer
l'immensité de la tâche. Celle-ci n'est certainement pas
terminée et d'autres changements sont à venir au fil des
futures versions.
Malgré cela, nous sommes fiers de vous présenter une
série d'améliorations par rapport à la version
2.28, que nous allons brièvement décrire et commenter
ci-dessous :
Vos commentaires
Bien sûr, nous publions cette version afin de recevoir vos
commentaires. Conservez l'esprit ouvert lorsque vous testerez la
nouvelle interface : tout n'est pas terminé.
Nous compléterons cette révision en trois étapes :
1. aplatir tous les bugs qu'on trouvera dans la présente
version, ce qui ne marche pas, les raccourcis et les menus qui
évoquent la mauvaise fonction... Pour cette version nous avons
dû sérieusement réorganiser et nettoyer le code et
il doit donc être encore testé. Sur cette base, nous
publierons une nouvelle version (2.31) dans les deux semaines qui
viennent afin de nous assurez qu'une version utilisable de Blender est
disponible pour être incluse avec le nouveau manuel.
2. après cela, en laissant à tout le
monde une quinzaine pour s'habituer aux changements, nous recueillerons
tous rapports et propositions au sujet d'améliorations
supplémentaires. Ce travail sera, cette fois encore,
effectué dans le contexte du document 'UI Redesign', qui expose
la vue d'ensemble du projet. Les propositions sont plus
particulièrement requises sur les sujets suivants :
- emplacement, contexte, contenu et utilisation des panneaux de
boutons
- la nouvelle boîte à outils (qui en est au stade
alpha)
- le contenu et la structure de menus déroulants
- design et style pour les boutons (et les thèmes)
3. ce qui reste à faire, et/ou ce sur quoi
il nous faut priotairement votre feedback est :
- le style des icônes et des pointeurs
- conventions pour les noms dans les menus et sur les boutons
- réintroduire les bouton-icônes configurable pour
les outils dans les headers et une nouvelle barre d'outils verticale et
flottante
- offrir l'accès par l'API Python aux nouvelles fonctions
de l'interface
- explorer davantage les boîtes à outils rayonnantes
(radial toolboxes)
- révison complète des raccourcis
- le style et les couleurs des représentations en mode 'fil
de fer'
- les modes de sélection (vertex, edge, face)
- améliorer l'implémentation des modes 'face select'
et des divers modes de peinture
- pouvoir ouvrir plusieurs screen simultannément pour ceux
qui possèdent plusieurs écrans.
Bref, plus qu'il n'en faut...
Ce qui est déjà fait!
Les menus déroulants
L'objet des menus déroulant de Blender est d'offrir une vue
aussi complète que possible des commandes et des outils offerts.
Chaque type de fenêtre différent aura les siens,
adaptés au contexte d'utilisation de cette fenêtre. Le
header principal (celui de la fenêtre de type Info) offre les
options qui s'appliquent globalement alors que les fonctions
spécifiques se retrouvent dans les menus des autres types de
fenêtre.
Nouvelles options:
- On peut cacher tous les menus en cliquant sur l'icône en
triangle.
- On peut commander l'ouverture automatique des menus dans les
préférences.
- Un second clic sur un menu déroulant ne le referme plus
désormais.
Nettoyage des headers
En plus de les rendre moins intimidants - headers remplis
d'icônes au sens obscur - nous avions aussi besoin de faire de la
place pour les développements à venir. Pour cette
version, seul les options les plus importantes y sont conservées
; là où c'était faisable, l'ancient
bouton-icône a été remplacé par une nouvelle
entrée au menu déroulant. Nous avons aussi ajouter un
gros bouton qui indique le mode courant d'utilisation, genre '
EditMode'
ou 'Vertex Paint'...
La prochaine étape sera d'offrir des boutons-icônes que
l'utilisateur pourra configurer à sa guise dans les headers mais
aussi dans une nouvelle barre d'outils flottante.
Des plus évidentes est la réorganisation des
icônes dans les header des fenêtres de boutons. Il fallait
tout faire entrer sur une largeur de 250 pixels. Lorsque toutefois tous
les boutons ne trouvent pas de place (sur une fenêtre
étroite), on les peut déplacer en utilisant la molette de
la souris et ainsi accéder à ceux qui sont cachés.
Nous avons exploré la possibilité de rendre les headers
transparents, mais les résultats ont été
décevants. Il est toujours possible de cacher/afficher les
header en choississant dans le dialogue qu'ouvre un clic RMB (bouton
droit) dessus.
Réarrangement de la fenêtre boutons
Afin de la rendre adaptable en vue d'ajouts ultérieurs, l'ancien
arrangement des boutons, trop rigide, a été revu à
neuf. La nouvelle disposition permet maintenant une répartition
hiérarchique sur trois niveaux:
-> Contexte principal
Dans le header, le groupe d'icônes sur la gauche indique quel est
le 'contexte principal' dans lequel on se retrouve. On y trouve
présentement six catégories qui réflètent
le fil du travail :
1. Les boutons de la logique de jeu.
2. Les boutons de scripts (dans les prochaines
versions, les scripts Python pourraient remplir cet espace)
3. Les boutons de shading (materiaux,
éclairage, environnement (world), radiosité, textures)
4. Les boutons des objets (qui se rapportent
à ce qui se passe en-dehors du mode édition)
5. Les boutons d'édition (qui eux se
rapportent aux événement se produisant en mode
édition, peinture et selection UV inclus)
6. Les boutons de rendu (dont le réglage est
global bien sûr)
Pour la commodité, nous avons conservé la pluspart des
anciens raccourcis qui ouvrent ces fenêtres (mais ils changeront
éventuellement):
F4: logique de jeu
F5: matériaux
F6: textures
F7: object
F7: objets
F8: environnement (world)
F9: edition
F10: rendus
Vous pouvez bien sûr avoit plusieurs fenêtres de boutons
ouvertes en même temps, pour avoir les boutons de
matériaux et ceux d'édition à la vue par exemple.
->
Sous-contexte
Chaque contexte principal offre un nombre illimité
d'embranchements. Par exemple le contexte des matériaux
(Shading) qui offre un nombre de sous-contextes adaptés au type
d'objet sélectionné et actif dans la fenêtre 3D
à ce moment : ainsi, le sous-contexte World est offert si un
caméra est l'objet actif et le sous-contexte 'Lamps' l'est si un
luminaire est alors la sélection active.
À ce niveau la décision est faite d'afficher tel et tel
bouton.
(NB: la présente hiérarchie est codée en dur ;
à l'avenir, elle pourrait être
générée dynamiquement, ce qui permettrait de
générer de nouvelles hiérarchies à la
volée, par script Python entre autres)
->
Les panneaux
Voilà bien le changement le plus évident ! Les boutons
sont désormais regroupés sur de petits panneaux mobiles,
repliables et fusionnables. Après quelques
expérimentations, le format de 320x210 s'est avéré
optimal, à la fois pour les arrangements horizontaux que
verticaux. Nous avons appliqué ce standard, à quelques
exceptions près.
Dans cette version-ci de Blender, nous avons volontairement choisi de
disposer les panneaux dans un ordre qui rappelle l'ancienne disposition
(versions 2.2x). Attendez-vous à des changements à mesure
que nos recherches progresseront.
Les panneaux offrent ces caractéristiques :
- l'alignement horizontal, vertical ou libre de ceux-ci
après un clic RMB (bouton droit) dans la fenêtre des
boutons.
- le repositionnement de tout panneau par simple
clicquer/déplacer de la souris. Si l'alignement choisi est autre
que 'free' (libre) Blender animera le déplacement des autres
panneaux qui feront automatiquement la place qu'il faut.
- le zoom automatique pour englober tous les panneaux dans la
fenêtre (touche 'Home')
- le défilement des panneaux en utilisant la molette de la
souris. CTRL+molette permet de zoomer.
- PageUp?
/ PageDown?
offre aussi le défilement ; les touche '+' et '-' du pavé
numérique permettent de zoomer.
- Notez bien que ces panneaux ne sont pas de vraies
'fenêtres' et donc ne se prêtent pas à la
superposition (pour le moment); ils sont dessinés transparents
afin de rendre ce fait évident.
- Les panneaux peuvent être repliés d'un clic sur
leur icône triangulaire.
- On peut regrouper les panneaux : il suffit de repositionner un
panneau par dessus une autre. Un jeu d'onglet permet alors
d'accéder au panneau de notre choix.
- Inversement on peut dégrouper les panneaux par simple
cliquer/déplacer vers un endroit libre.
- note: les deux précédents point sont
brevetés par Adobe aux USA. Il s'agissait bien de la
méthode d'implémentation la plus directe cependant...
d'autres méthodes sont à l'étude.
Comme les panneaux font partie de la hierarchie à trois niveaux
des fenêtres de boutons, ils ne peuvent sortir de cette
fenêtre. Pour le moment...
Les panneaux flottants
Bien des boutons mal logés de Blender ont
été déplacés vers un endroit plus
approprié. Les cas les plus patents sont :
- les options pour l'image en arrière-plan dans les
fenêtres 3D
- les options de la fenêtre IPO qui étaient autrefois
regroupées parmis les boutons d'animation (F7).
Désormais, le bon choix dans les nouveaux menus
déroulants des headers invoque un panneau flottant qui regroupe
ces options selon leur usage. Ces panneaux s'affichent directement dans
la fenêtre 3D ; ils sont semi transparents ; ils sont aussi
constamment mis à jour. Le même type de panneau flottant
est maintenant utilisé pour afficher le dialogue de la touche N.
Les panneaux flottants présentent les caractéristiques
suivantes:
- Ils sont transparents, mais cela peut être ajusté
dans les préférences, onglet 'themes'.
- Si on replie un panneau flottant, il se retrouve aligné
au bas de la fenêtre 3D.
- On ferme définitivement le panneau avec la touche ESC.
- La tailel des panneaux change si on presse les touche du
pavé numérique '+' ou '-'. Ici la molette de la souris
est inopérante.
- Nous étudions encore la possiblilté de fermer
automatiquement les panneaux flottants dès que la souris les
quitte, comme c'était le cas autrefois avec le dialogue de la
touche N. Mais tels quels ces panneaux semi-transparents fonctionnent
si bien qu'il en vaut le coût de les mettre à l'essai au
moins quelques temps.
- Notez que les panneaux ne sont sensibles qu'aux
événements qui se produisent sur leurs boutons et donc
qu'il permettent une sélection par RMB (bouton droit) d'un objet
qui se trouve sous eux.
Coloration automatique des boutons
In previous Blender versions, coloring of buttons was used to
indicate its type. This was all hand-coded, and was not consistantly
implemented.
Dans les versions précédentes de Blender, la couleur des
boutons indiquait à quel type ils appartenaient. Ceci
était codé au cas par cas et n'était pas
implémenté de façon cohérente.
For 2.30 it is replaced with an automatic system, all buttons are
colored now based on type. It needs some further tweaking to get some
exceptions corrected though, the colors don't always match what we want
to communicate.
Pour la version 2.30 ce bricolage a été remplacé
par un système automatique et
tous les boutons sont
désormais colorés selon leur type. Il y a encore un
travail de mise au point à faire cependant : dans quelques cas
la couleur ne s'accorde pas à ce que nous désirons
communiquer.
La boîte à outils
La nouvelle version de la boîte à outils est en fait
fondée sur le contenu des menus déroulants du la
fenêtre 3D. Ici encore il a fallu réécrire beaucoup
de code, spécialement afin de créer un structure de
scriptage simple qui permet d'expérimenter facilement. Il s'agit
d'une réalisation de dernière minute, écrite
à peine deux jours avant la publication de la présente
version (2.30) ; il s'ensuit que c'est une de celle qui a encore le
plus besoin d'être perfectionnée.
L'objectif visé est de limiter l'information affichée au
contexte autant qu'il est possible. Ce parti pris devrait plaire autant
à l'utilisateur expert qu'au débutant...
À mentionner :
- un clic LMB (bouton gauche) ou RMB (bouton droit) maintenu
enfoncé invoque la boîte à outil.
Présentement il faut maintenir le bouton 0.5 seconde mais cette
valeur peut être modifiée dans les
préférences. Choisir un temps élevé revient
à désactiver cette fonction.
- toutes les catégories n'ont pas encore été
implémentées... de plus la boîte à outil ne
s'affiche encore qu'a l'intérieur de la fenêtre 3D.
- la barre d'espacement ainsi que le raccourci maj+A ouvrent la
boîte à outil.
Les thèmes
Agrandissez la fenêtre Info pour y trouver l'onglet
'Themes' où il est désormais possible de choisir les
couleurs et le style de dessin pour toute l'interface. Quelques
caractéristiques dignes de mention :
- il est possible d'ajouter jusqu'à 16 thèmes mais
le premier est codé en dur et ne peut être modifié
; ceci permet de revenir aux valeurs par défaut à
n'importe quel moment ;
- un thème qu'on ajoute est toujours une modification du
thème en vigueur au moment des changements ;
- les thèmes ne sont conservés que si on utilise
CTRL+U, "save user settings". Cette commande réécrit
votre fichier ".B.blend" qui contient désormais le nouveau
thème ;
- au fil des prochaines version, nous ajouterons une option qui
permettra de charger un thème pré-défini et une
autre qui empêchera que le thème d'un quelconque fichier
.blend n'ait préscéance sur le thème de
l'utilisateur ;
- on peut donner un nom à chaque thème. Cela sera
utilisé plus tard lorsque sera ajoutée la
possiblilté d'assigner un thème différent aux
fenêtres individuelles. Utile pour obtenir plusieurs couleurs
d'arrière-plan dans la fenêtre 3D par exemple ;
- Les thèmes pour le dessin des boutons sont
désormais facile à coder en C. Attendez-vous à
trouver quelque nouveau choix (utiles) dans les prochaines version de
Blender.
Styles
À l'évidence il y a eu tout un remaniement du
style des :
- méthodes de dessin des menus déroulants
- méthodes de dessin des boutons standards
- remplacement des bords bien gras des fenêtres par une
simple ligne noire
- les coins des headers ont été arrondi pour qu'il
soit facile de voir à quelle fenêtre ils appartiennent.
- la couleur du header peut s'apparier à celle de leur
fenêtre associée.
- l'utilisation de polices décrénelées ( ;)
anti-aliased) ne ralentit plus autant l'affichage ; elles sont aussi
automatiquement mises à l'échelle sur les boutons plus
petits.
Vitesse...
Pas mal de travail a été consacré au
nettoyage de l'ancien code. Plusieurs bricolages (hacks) qui
étaient la cause d'un sérieux ralentissement on
été éliminés. De façon
générale, cette nouvelle interface devrait s'afficher
plus rapidement que jamais auparavant.
Il pourrait y avoir des problèmes avec certains gestionnaires
d'écran sur Linux... lorsqu'on minimise une fenêtre ou
lorsqu'on passe d'un bureau à l'autre (desktop switching).
Quelques-uns des bricolages éliminés étaient
non-documentés et il faudra surveiller les conséquences
de leur suppression encore quelques temps.
Ton Roosendaal
Amsterdam, le 30 octobre, 2003.
Dernière modification (version anglaise): Oct 20 2004.
This section is maintained by Ton Roosendaal.
Cette section est maintenue par Ton Roosendaal.
Url de la page :
http://blender.doc.fr.free.fr/lecture_ouverte/index.php?page=50