V-Sekai-fire / dag_amendment

Other
0 stars 0 forks source link

How do I use this? #1

Open fire opened 5 months ago

fire commented 5 months ago

How do I use this to make a VR food truck?

fire commented 5 months ago

Parametric shapes are objects modeled as programs, based on certain variables called hyper-parameters. They're commonly used in non-destructive modeling, CAD modeling or rigging. But, they can only be manipulated indirectly, through values rather than the geometry itself.

In this paper, we propose a process to modify the underlying direct acyclic graph (DAG) of a parametric shape. This modification allows for local differentiation of the shape with respect to its hyper-parameters, enabling interactive direct manipulation of the output.

Our method works on the shape synthesis process itself, making it indifferent to changes in connectivity and topology that may occur while changing input hyper-parameters. It also doesn't depend on the internal logic of the DAG nodes.

We demonstrate our approach using examples from modern parametric modeling packages. These include deformation, booleans and surfacing operators. Our method gives users inverse control over the hyper-parameters through a brush stroke metaphor.

fire commented 5 months ago

Scene Properties

Two new panels have been introduced in scene properties:

  1. "Parametric Shape - Rig" for defining hyper-parameters
  2. "Parametric Shape - Anim" that displays all hyper-parameters.

Rig Panel

In the Rig panel, you can add hyper-parameters using "+". Each hyper-parameter controls an object's property component. You need to define the:

  1. Object
  2. Property
  3. Component

Additional settings include boundaries, default value, and display name.

Modifiers

Ensure your scene is compatible with supported modifiers, then utilize Dag Amendment to insert these modifiers.

As a general guideline, we provide support for modifiers that can transmit UV coordinates from input to output without causing overlap. However, in cases where overlap is introduced, it should be possible to disambiguate it. For example, the array modifier allows for offsetting UVs for each instance.

SmartGrab Tool

Activate the "SmartGrab" tool in Object mode. This tool manipulates the scene affecting only hyper-parameters.

Settings

Optionally, you can adjust settings. The brush radius can be modified with Ctrl + Mouse Left or F key. Other settings are located in the upper bar.

Advanced Usage

Blender's drivers can be used to link driven objects to actual targets. If your scene is organized with a collection grouping all objects driven by hyper-parameters, consider using the Setup From Collection button instead of adding hyper-parameters individually.

The SmartGrab brush has the capability to use a different view layer than the one you're visualizing. Modifiers that transmit UV coordinates without overlap or with disambiguation are supported.

Note: Geometry Nodes are not currently supported as they were not part of the main Blender branch when the prototype was developed.