# FaceSettings

> Human Generator for Blender documentation. Web version: https://humgen3d.com/docs/api/facesettings

Reached as: `human.face`

Inherits from: [PropCollection](https://humgen3d.com/docs/api/propcollection)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/face/face.py#L20

Class for manipulating the facial proportions of the human.

## Attributes

### keys

```python
human.face.keys: List[Union[LiveKeyItem, ShapeKeyItem]]
```

*read-only*

Filtered subset of human.keys for keys related to facial proportions.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/face/face.py#L27

### is_bpy

```python
human.face.is_bpy: isinstance
```

*inherited from PropCollection*

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L48

## Methods

### reset()

```python
human.face.reset(context: C = None)
```

Reset all facial proportions to 0.

Parameters:
- `context` (C, default None): Blender context. bpy.context if not provided.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/face/face.py#L35

### randomize()

```python
human.face.randomize(subcategory: str = 'all', use_bell_curve: bool = False, use_locks: bool = False, context: C = None)
```

Randomize facial proportions.

Parameters:
- `subcategory` (str, default 'all'): Subcategory of facial proportions to randomize. Defaults to "all".
- `use_bell_curve` (bool, default False): Whether to use a bell curve for randomization.
- `use_locks` (bool, default False): Whether to use locks to prevent randomization of certain facial proportions. Defaults to False. Locks are in UI.
- `context` (C, default None): Blender context. bpy.context if not provided.

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/face/face.py#L50

### find()

```python
human.face.find(item_name: str) -> int
```

*inherited from PropCollection*

Find index of item in prop collection.

Parameters:
- `item_name` (str): Name of item to find

Returns: int — Index in list

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L51

### get()

```python
human.face.get(item_name: str, default: Any = None) -> Union[ID, Any]
```

*inherited from PropCollection*

Parameters:
- `item_name` (str)
- `default` (Any, default None)

Returns: Union[ID, Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L66

### foreach_get()

```python
human.face.foreach_get(attr: str, sequence: ndarray)
```

*inherited from PropCollection*

Parameters:
- `attr` (str)
- `sequence` (ndarray)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L75

### foreach_set()

```python
human.face.foreach_set(attr: str, sequence: ndarray)
```

*inherited from PropCollection*

Parameters:
- `attr` (str)
- `sequence` (ndarray)

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L79

### items()

```python
human.face.items() -> list[Any]
```

*inherited from PropCollection*

Returns: list[Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L83

### values()

```python
human.face.values() -> list[Any]
```

*inherited from PropCollection*

Returns: list[Any]

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L91

### new()

```python
human.face.new(*items: Any = ())
```

*inherited from PropCollection*

Parameters:
- `items` (Any, default ())

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L95

### remove()

```python
human.face.remove(*items: str = ())
```

*inherited from PropCollection*

Parameters:
- `items` (str, default ())

Source: https://github.com/OliverJPost/HumGen3D/blob/main/human/common_baseclasses/prop_collection.py#L99
