SceneComposerOptimizationProposal

提供: wiki
移動先: 案内検索

Scene Composer UI Improvement Proposal

This proposal details some UI changes that are intended to make Blender more useful to a user who is not engaged in 3d modeling, who we will call a 'scene composer'. A scene composer is primarily concerned with browsing and loading assets into a scene, customizing those assets, posing characters or placing assets, and producing rendered output.

Background

Blender's feature set is broad. Similar to modern commercial 3d "suite" tools, it spans several types of Modeling, Texture-painting, Rigging, Animation, and Rendering. With 2.5 Blender's UI has become more consistent and accessible, and through 2.5 and 2.6 individual components are being re-thought and rebuilt to more closely match the state of the art (particles, Cycles Rendering, and BMesh to name a few) It even includes the Blender Game Engine, which is a step beyond what is available in other tools.

This proposal is a set of UI changes designed to make using only part of Blender's functionality more accessible. Specifically, Scene Composition.

Scene composition is done by amateurs and professionals. It may use single or multiple tools, generally including options such as Poser, DAZ, Bryce, 3dsmax, and Maya. Users composing scenes are typically not engaged in the process of modeling new objects while they are scene-composing. Instead they are concerned with finding assets, placing assets into a scene, customizing assets, creating landscapes, posing or animating characters, and rendering output frames.

Blender has many of the capabilities of these packages, and is much more stable and capable than the lower-end options. However, the UI functions used by a scene composer could be presented in a more convenient manner, and some functionality gaps are present.

By making some small adjustments to blender, these users could be well served by blender and become a thriving part of the blender community. By filling some larger functionality gaps, not only could blender become more useful to scene composers, but it could become a stronger tool for it's existing users.

The short list

  • outliner change
    • checkbox toggle to show/hide meshes in outline (so scene composers can work with object hierarchies without being confused by meshes, or accidentally entering mesh-edit mode by clicking on meshes in the outliner)
  • dopesheet extension “universal paramater editor”
    • like shape-key editor, but paramaters for everything
      • general: transform
      • bones
      • shape-keys
    • allow categorization of the above parameters into a hierarchical organization
    • aggregates paramaters up the object-scene-hierarchy.
      • selecting the top-level objects should show all paramaters for subparts
  • 3d viewport
    • clearer visual for selection of object hierarchy
      • (i.e. when selecting the top of a hiearchy, it should be clear which sub-objects will be affected by translate/rotate/scale/etc)
      • Maya: highlights all objects in the hierarchy
      • DAZ: shows a bounding box around all in a selected hierarchy
      • Proposal: viewport property toggle for "highlight all object in selected hierarchy"
    • easy way to confidently select an entire object hierarchy
      •  ? daz uses double-click

Visual Asset Library Browser

  • fit into “side panel”
  • show thumbnails for assets before loaded
  • hybrid "directories on top", "thumbnails on bottom"
  • support for foreign library formats (w/plugins)
    • i.e. standard (browser daz/poser OBJ/MTL library)

Easy Character Creation and Composition

Support for Poser/DAZ like easy character creation and composition. This is a tricky design space, but allows much faster iteration with characters. The high level goals are:

  • simple character creation, through easy-to-use morph deformation of a base-mesh
  • assets made for base character mesh (i.e. interchangable parts)
    • clothing (3d model assets)
    • deformations (character morphs)
    • shape keys (facial expressions)
    • poses (bone settings)
    • textures
  • ability to easily load/link textures, shape keys, poses, etc onto matching model

These are remotely similar goals to the open-source MakeHuman, but with different methods and results. The Poser/DAZ system acheives these goals using these and other elements:

  • character "family" base-mesh. Fixed number of verticies which are never edited (only moved) throughout usage in the family.
  • clothing "magnets" to help scale/deform clothing props to specific base-mesh verticies as they are moved (after-which cloth simulation can provide more accurate results)
  • bones and deformations are based on an area-based vertex influence model
    • bones with fall-off spheres of influence
    • "D-Former" for character morphs (see example)
    • allows separate parts of the character to be separate "sub-objects". There are never visible seams, because area-based vertex influence always influences seam verticies exactly the same way.
    • area-based influence often works without adjustment for for props and clothing
  • D-Former details
    • D-Former bone has two handles
      • A sphere of influence that's connected to the model
      • a "control handle" (somewhat like blender's hook modifier)
    • There is a spline influence fall-off curve for the sphere of influence
    • The visuals should
      • draw the "sphere of influence" as a 3d wireframe sphere
      • inside the sphere of influence, draw and color affected verticies of the model according to the influence level (i.e. red most influenced, yellow less influenced, green no influence)