Dev:Ref/Outdated/Proposals/UI/Info Architecture/Dynamics

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

-- DeveloperWikiJasonSaunders - 07 Aug 2005 , DeveloperWikiNilsThuerey - 12 Aug 2005

Dynamics Buttons IA Draft

With the current crowding of the Object buttons, it would be logical to add a Dynamics sub-tab to the Object context to hold particles, softbodies, etc.

What needs to be in the Dynamics sub-tab?

In short, anything relating to dynamics and "effects" should be relocated to the dynamics tab. This includes:

  • Particles
  • Softbodies
  • Soft body baking
  • Forces & Collision
  • Fluid Dynamics (Summer of Code project)

The Build and Wave effects have been moved to the new Mesh Modifier system.

Each object in Blender has the following Dynamics properties:

  • Can emit particles (meshes only)
  • Can deflect particles (meshes only)
  • Can emit a force field, including gravity, wind, and vortex fields
  • Can become a soft body (currently only meshes and lattices)
  • Can act as a collision surface for soft bodies (meshes only)
  • Can become a fluid (meshes only, currently not yet implemented)

With the current buttons layout, since the different dynamics properties are squished into the object buttons with many other controls, each of these properties are enabled in their own respective panels--i.e. Particles are enabled in the Particles panel, Soft Bodies in the Soft Body panel, etc. We could go about this in two different ways in the new dynamics sub-tab:

1. All "enabling" buttons in one panel

  • Pros:
    • Provides one central location for enabling/disabling dynamics options
    • Frees up space in the individual dynamics panels
  • Cons:
    • The control to activate a property and the settings for it will be spread apart

2. Each "enabling" button in the same panel(s) that control its settings.

  • Pros:
    • The button that enables a dynamic property and its settings will be very close together
    • Requires one less panel
  • Cons:
    • The user will have to roam about the buttons window to enable/disable particular dynamics properties
    • More panel space in the individual dynamics properties panels will be required

Forces & Deflection

The current Particle Interaction panel in Tuhopuu3 is fine, and doesn't need any changes. The panel should however be named "Forces & Deflection" rather than "Particle Interaction," since it also has settings that affect soft bodies.

Particles

This particular beast will most likely take up the greatest number of panels and will be the hardest to organize effectively. Chris and Emilie have already created a great IA for Particles, which I will reproduce here:

  • Motion
    • Speed/Rotation
      • Norm
      • Ob
      • Tex
      • Rand
      • Damp
      • Vect + Vect Size
    • Direction
      • Force X, Y, Z
      • Int
        • Texture X
        • Texture Y
        • Texture Z
      • RGB
      • Grad + Nabla
    • Path/Source
      • BSpline
      • Keys
      • Face
  • Visualization
    • Appearance
      • Mat
      • RecalcAll
      • Seed
    • Type
      • Static
      • Animate
  • Quantity
    • Multiplication/Amount
      • Tot
      • Step
      • CurMul
      • Child
      • Mult
      • Life
    • Life Span
      • Sta
      • End
      • Life
      • RndLife

It would be good to have these three panels, perhaps tabbed if space is a problem. However, one issue does present itself: where to put the button to add the particle system and where to place the current Channel buttons. If we had one panel for enabling/disabling dynamics properties, that would be the logical place. However, if that is not the chosen implementation, it may be tough to squeeze the controls into one of the three previous panels. The "Visualization" panel would be the best place, as it holds the most general particle controls (like RecalcAll and Static). In fact, the "Visualization" panel should be renamed to "Particles" in order to indicate that the panels are for the particles system. . In any case, having the three panels "Particles" (Visualization panel above), "Quantity" and "Motion" would be ideal. The "Motion" panel looks like it could be a tough squeeze, but we'll just have to see how it works out in practice.

Soft Bodies

The Soft Body settings currently take up only one panel. Splitting it in to two panels will allow for a better design and more logical grouping. It will also allow for the Bake settings to be out in the open, rather than hidden behind a toggle as in the current layout.

Soft body settings can be grouped into three basic categories:

  • Settings that effect the motion and calculation of the soft body effect:
    • Enable Soft Body
    • Friction
    • Mass
    • Gravity
    • Speed
    • Error Limit
    • Apply Deform First
  • Baking Soft Bodies:
    • Start Frame
    • End Frame
    • Interval
    • Start Bake button
  • Settings that effect the way the softbody is deformed
    • Goals
      • Use Goal
      • Goal Value
      • Goal Stiffness
      • Goal Damping
      • Goal "mapping"(Gmin/Gmax)
    • Edges and Faces
      • Use Edges
      • Edge Stiffness
      • Edge Damping
      • Stiff Quads

"Settings for Calculation and Motion" and "Baking Soft Bodies" could be merged into one panel, "Soft Bodies". Again, the presence of the Enable Soft Body button depends on the way we go about enabling dynamics properties. The other panel could be tabbed with the Soft Bodies panel and could be called "Physics" or "Deformation."

Fluid Dynamics

As the Fluid Dynamics system is still a work in progress, and since Nils Thuerey (the developer) has not provided many screenshots of the User Interface, it would be unwise to create an IA at the moment.

However, the fluid dynamics settings will presumably have the following structure:

  • Enable fluid simulation for a mesh:
    • Domain
      • Simulation resolution
      • Preview mesh resolution
      • Real-World size of the simulation [m]
      • Gravity vector (x,y,z)
      • Start time of the simulation
      • Simulation time per blender frame
      • Viscosity (either preset, or specified by value and neg. exponent)
      • Gui display mode (original geometry, preview mesh, final mesh)
      • Render display mode
      • Select directory to put baked surface meshes in
      • Bake
    • Fluid
      • Initial velocity vector (x,y,z)
    • Obstacle
      • Nothing as of now - a value for determining how "slippery" the obstacle is (from no-slip to free-slip) may be added in future though