---
# System prepended metadata

title: Attribute Transfer Options

---

# Attribute Transfer Options

## Domain Combinations
| Source Domain | Result Domain | Topology | Raycast | Nearest | Nearest Interpolated | Matching Attribute (normals) |
| ------------- | ------------- | -------- | ------- | ------- | -------------------- | ---------------------------- |
| Point         | Point         | x        |         | x       |                      | x                            |
| Point         | Edge          | x        |         | x       | x                    | x                            |
| Point         | Face          | x        |         | x       | x                    | x                            |
| Point         | Corner        | ?        | ?       | ?       | ?                    | ?                            |
| Edge          | Point         | x        |         | x       | x                    | x                            |
| Edge          | Edge          | x        |         | x       | x                    | x                            |
| Edge          | Face          | x        |         | x       | x                    | x                            |
| Edge          | Corner        | ?        | ?       | ?       | ?                    | ?                            |
| Face          | Point         | x        | x       | x       | x                    | x                            |
| Face          | Edge          | x        | x       | x       | x                    | x                            |
| Face          | Face          | x        | x       | x       | x                    | x                            |
| Face          | Corner        | ?        | ?       | ?       | ?                    | ?                            |
| Corner        | Point         | x        | x       | x       | x                    | x                            |
| Corner        | Edge          | x        | x       | x       | x                    | x                            |
| Corner        | Face          | x        | x       | x       | x                    | x                            |

The source domain is just chosen automatically based on the source attribute which could be implicitly interpolated in many cases.

## Modes

- **Topology** 
    - Does a straight copy of arrays, error if different size
    - Doesn't have any other settings
- **Raycast** 
    - Always "Surface Interpolated"
    - Uses another direction vector attribute on the result geometry to fire a ray at the other geometry to figure out the point to use. 
    - Could possibly be interpolated or just use the closest element of the source attribute
- **Nearest**
    - Can possibly do sampling with bary coords, or just pick the value at the closest element
    - No interpolation
- **Attribute** 
    - No interpolation possible
    - This can emulate the data transfer modifier's "closest normal" behavior, but much more generally. 
    - This is a bit harder to visualize since it's not even really "3D" in some cases. 
    - The non-interpolated "Nearest" mode with the position attribute is exactly the same thing in some cases
    - Interpolate source attribute to face domain and use that value?

### Option 1
- Topology
- Raycast
- Nearest
- Nearest Interpolated
- Comparison attribute (normals)

### Option 2
- Mode
    - Topology
    - Raycast
    - Attribute
    - Nearest
- Interpolated
    - Only shows when "Raycast" or "Nearest" are selected
- Direction Attribute
    - Used for raycast mode
- Comparison Attribute
    - Used for attribute mode

### Option 3
- Mode
    - Topology
    - Attribute
    - Raycast (always interpolated)
    - Nearest
    - Nearest interpolated
- Direction attribute
- Comparison attribute

### Option 4
- Mode
     - Topology
     - Attribute (also "position")
     - Nearest interpolated
- Direction attribute
- Comparison attribute

### Option 5
- Mode
    - Topology
    - Attribute
    - Nearest face interpolated
    - Nearest edge interpolated
- Direction attribute
- Comparison attribute

### Option 6
- Mode
    - Topology
    - Attribute
    - Nearest
    - Nearest point interpolated
    - Nearest face interpolated
    - Nearest edge interpolated
- Direction attribute
- Comparison attribute

## Final Questions

- Does it make sense to expand "Nearest Interpolated" into a separate option for each attribute?
    - I don't think so, since you can just use the attribute convert node on the source mesh if you really need to
- Does combining "Nearest point" and "Attribute" mode make sense?
    - Technically it seems fine but might be more confusing