Scene Manager: named LODs
{lod} in SCENE_MANAGER_LOD_COLLECTION now matches any name (COL_bob_LODhigh
as well as COL_bob_LOD0). SCENE_MANAGER_LODS (high, mid, low) sets the
button order and the LOD shown on load; unlisted LODs follow, numbers in
order, then names A-Z. It replaces SCENE_MANAGER_DEFAULT_LOD. The LOD of
Selected buttons get their own line.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bac7a6f5da
commit
6ec2b228ae
8 files changed
+80
-61
No files matched your search
@@ -360,7 +360,7 @@ Lists the assets cast in the shot, with how many instances are loaded out of how
|
||||
- **Collection:** from that file, `COL_<asset>`, else `<asset>`, else `environments` (set dressing files), else the file's only top-level collection.
|
||||
- **Characters, props and vehicles** (`*_character`, `main_props`, `secondary_props`, `vehicles`) become **library overrides**, so animators can pose them. Other types, like sets and set props, become **collection instances**.
|
||||
- **Where they go:** each asset type gets its own collection, `COL_main_character`, `COL_main_props`, `COL_bg_location`…
|
||||
- **Level of detail:** when the asset collection holds LOD collections (`COL_<asset>_LOD0`, `COL_<asset>_LOD1`…), LOD 0 is shown (the lowest LOD the file has, if not LOD 0). See [Levels of detail](#levels-of-detail).
|
||||
- **Level of detail:** when the asset collection holds LOD collections (`COL_<asset>_LODhigh`, `COL_<asset>_LOD0`…), only the first one is shown. See [Levels of detail](#levels-of-detail).
|
||||
|
||||
All of these can be changed in the [Configuration](#configuration).
|
||||
|
||||
@@ -369,32 +369,34 @@ All of these can be changed in the [Configuration](#configuration).
|
||||
Lists everything the Scene Manager loaded, one line per asset, with its version:
|
||||
|
||||
- The version is **red** when it is not the latest publish. The line under it says either "v004 available" (click the update icon), or "v004 published, not available on this site yet" (click the globe to request it, then "v004 requested, waiting for the download").
|
||||
- **Arrow**: shows the asset's instances, each with a button to select its objects and one to remove it. Under an instance with levels of detail, one button per LOD (`LOD 0 1 2`), the shown one pressed.
|
||||
- **Arrow**: shows the asset's instances, each with a button to select its objects and one to remove it. Under an instance with levels of detail, one button per LOD (`LOD high mid low`), the shown one pressed.
|
||||
- **Menu icon**: pick another published version, for example to roll back. Versions not on this site are marked: picking one requests it; pick it again once it is downloaded.
|
||||
- **✕**: removes the asset entirely: all its instances and the link to its file.
|
||||
- **Update All** / **Update Selected**: switch all the loaded assets (or the ones of the selected objects) to their latest available publish.
|
||||
- **Remove Selected**: removes the instances of the selected objects.
|
||||
- **Selected LOD** (shown when a selected instance has LODs): switch the instances of the selected objects to that LOD.
|
||||
- **LOD of Selected** (shown when a selected instance has LODs): switch the instances of the selected objects to that LOD.
|
||||
- The magnifier re-checks the versions.
|
||||
|
||||
Updating swaps the linked file and reloads it. Overrides keep their posing and animation, and instances keep their LOD (an instance showing a LOD the new version no longer has goes back to LOD 0). **Ctrl+Z** undoes removing, updating and LOD switches.
|
||||
Updating swaps the linked file and reloads it. Overrides keep their posing and animation, and instances keep their LOD (an instance showing a LOD the new version no longer has goes back to the first one). **Ctrl+Z** undoes removing, updating and LOD switches.
|
||||
|
||||
### Levels of detail
|
||||
|
||||
Rigs and models can hold their levels of detail as **child collections of the asset collection**, named `COL_<asset>_LOD<n>`. One LOD is shown at a time:
|
||||
Rigs and models can hold their levels of detail as **child collections of the asset collection**, named `COL_<asset>_LOD<name>`. The name can be anything: `high`, `mid`, `low`, or numbers `0`, `1`, `2`. One LOD is shown at a time:
|
||||
|
||||
```
|
||||
COL_bob
|
||||
├─ RIG_bob (shared: rig, controllers…)
|
||||
├─ COL_bob_LOD0 shown
|
||||
├─ COL_bob_LOD1 hidden
|
||||
└─ COL_bob_LOD2 hidden
|
||||
├─ COL_bob_LODhigh shown
|
||||
├─ COL_bob_LODmid hidden
|
||||
└─ COL_bob_LODlow hidden
|
||||
```
|
||||
|
||||
- **Overrides** (characters, props, vehicles): the other LOD collections are hidden in the viewport and the render, so they cost nothing. The rig and everything outside the LOD collections stay; posing and animation are kept when switching.
|
||||
- **Collection instances** (sets, set props…): the instance shows the LOD collection itself. This needs everything of the asset to sit in its LOD collections: an asset with objects or collections next to them cannot switch LODs as an instance (load it as an override instead).
|
||||
|
||||
Each instance has its own LOD: two instances of the same asset can show different LODs. The choice is saved with the file. The naming and the LOD shown on load are `SCENE_MANAGER_LOD_COLLECTION` and `SCENE_MANAGER_DEFAULT_LOD` in the [Configuration](#configuration).
|
||||
Each instance has its own LOD: two instances of the same asset can show different LODs. The choice is saved with the file.
|
||||
|
||||
The buttons follow `SCENE_MANAGER_LODS` (`high`, `mid`, `low`), and the first of these the file has is shown on load. LODs not in that list come after it: numbers in order (`0`, `1`, `2`… `10`), then other names A-Z. So a file with `COL_bob_LOD0`, `COL_bob_LOD1` shows LOD `0` on load. The naming is `SCENE_MANAGER_LOD_COLLECTION` (`COL_{asset}_LOD{lod}`): keep a fixed part like `LOD` in it, since every child collection matching it counts as a LOD. Both are in the [Configuration](#configuration).
|
||||
|
||||
### Assetize
|
||||
|
||||
@@ -454,7 +456,7 @@ Name formats use Python's `str.format`: `"sq{:04d}"` turns `10` into `sq0010`. `
|
||||
| Sanity Check: panel | `CATEGORY_ORDER`, `MAX_ISSUES_DRAWN` |
|
||||
| Rename | `RENAME_SEPARATOR`, `RENAME_PADDING`, `RENAME_SIDES`, `RENAME_TYPE_SUFFIXES` (plus `OBJECT_PREFIXES` / `DATABLOCK_PREFIXES` for *By Type* prefixes) |
|
||||
| Shot Manager | `SHOT_VIEWER_RIG_GROUPS`, `SHOT_VIEWER_ASSET_TYPE_GROUPS`, `SHOT_NAME_FORMAT`, `SHOT_NUMBER_STEP`, `SHOT_FRAME_START`, `SHOT_DEFAULT_DURATION`, `SEQUENCE_NAME_FORMAT`, `SHOT_CAMERA_NAME_FORMAT`, `SHOT_CAMERA_RIG_NAME_FORMAT`, `SHOT_CAMERA_RIG_MODES` |
|
||||
| Scene Manager | `LIBREFLOW_SERVER_FILE`, `LIBREFLOW_TIMEOUT`, `SCENE_MANAGER_FILE_PATTERNS`, `SCENE_MANAGER_COLLECTION_NAMES`, `SCENE_MANAGER_LINK_MODES`, `SCENE_MANAGER_LOD_COLLECTION`, `SCENE_MANAGER_DEFAULT_LOD`, `SCENE_MANAGER_TYPE_COLLECTION`, `SCENE_MANAGER_ASSETIZE_TASK` |
|
||||
| Scene Manager | `LIBREFLOW_SERVER_FILE`, `LIBREFLOW_TIMEOUT`, `SCENE_MANAGER_FILE_PATTERNS`, `SCENE_MANAGER_COLLECTION_NAMES`, `SCENE_MANAGER_LINK_MODES`, `SCENE_MANAGER_LOD_COLLECTION`, `SCENE_MANAGER_LODS`, `SCENE_MANAGER_TYPE_COLLECTION`, `SCENE_MANAGER_ASSETIZE_TASK` |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user