[:arrow_left:](/WQum2tYYSXGaBjnU2wMxzQ) To Pirata Dashboard
[:arrow_left:](/HBtOe6opROO2deKL9wqT7w) To Modeling Dashboard
# **Wiki** : Create Asset Scene
###### tags: `Assets` `ELT` `Assembly` `Modeling` `Shading` `Rigging` `TD`
:::success
Process et documentation mis à jour le 22/12/2020 par Nicolas Dorey
:::
## Introduction
Vous trouverez dans les shelves **MM_Modeling**, **MM_Shading** et **MM_Rigging**, plusieurs boutons permettant de créer et updater vos scènes d'assets. Ces outils sont là pour simplifier le travail préparatoire de création de vos scènes de travail d'ELT et d'Assembly.
Attention, cet outil ne vous permettra pas de créer des scènes d'Asset Libraries, pour cela merci de vous référer à la [**doc des scènes Master**](https://hackmd.io/PznYjv9ZQNqTQznznvbwMA).

## Présentation des différents outils
###  Create Assembly
- Ce premier outil est une combinaison des deux suivants. Il importera dans votre scène les **Subassets** de l'**Assembly** que vous êtes en train de créer ainsi que son **BridgeModelingPreRig** à condition que ces scènes existent.
- Il n'est disponible que dans les assets de type Assembly et retournera une erreur si vous tentez de l'utilisez dans un mauvais contexte.
- Vous observerez un comportement des outils différents selon la step dans laquelle vous travaillez. Voici à quoi ressemblera votre scène selon la step:
- Modeling :

- Shading :

- Rigging :

- CF **Sub Import** et **Asset Import** pour plus d'informations.
###  Sub Import
- Cet outil n'est disponible que dans les assets de type Assembly et retournera une erreur si vous tentez de l'utilisez dans un mauvais contexte.
- Il importera dans votre scène les **Subassets** de l'Assembly que vous êtes en train de créer dans un groupe **Subassets_Grp**.
- Dans le cas des différentes step, voici les différences de comportement que vous constaterez :
- Modeling : Import des **BridgeModelingPreRig** des subassets dans le **Subassets_Grp**. Seul step où l'**instance count** sera pris en compte. Ici l'outil vous permettra de créer un Assembly identique à ceux générés depuis une scène Master. N'hésitez pas à faire un *Asset Import* pour voir si l'asset a déjà été traité et si un *BridgeModelingPreRig* de l'Assembly existe déjà. Cela vous permettra de réaliser un positionnement plus facilement.
- Shading : Import des **BridgeShadingPreRig** des subassets dans le **Subassets_Grp**. Ce sont des groupes vides sur lesquels se trouvent la note d'assignation des shaders. En plus de ces groupes vides, les BridgeShadingPreRig comportent les shaders des subassets.
- Rigging : Import des **BridgeRigging** des subassets dans le **Subassets_Grp**. Les références seront splitter dans deux sous groupes différents : **Modeling** et **Rigging**.
###  Asset Import
- Cet outil est effectif sur les assets de type ELT et Assembly.
- Il importera dans votre scène les **BridgeModelingPreRig** de l'asset que vous êtes en train de créer.
- Il sera utile dans toute création d'asset à l'exception de la création d'un ELT Modeling.
- Dans le cas des différentes step, voici les différences de comportement que vous constaterez :
- Modeling : Import du **BridgeModelingPreRig** de l'asset uniquement s'il existe.
- Shading : Import du **BridgeModelingPreRig** accompagné d'un **groupe de shading vide**. Ce groupe ne sert pas à l'utilisateur aujourd'hui. Il servira au moment du *BridgeShadingPreRig* pour transmettre les informations d'assignation de shaders à l'aide d'une *note*.
- Rigging : Import du **BridgeModelingPreRig** accompagné d'un **groupe de rigging vide** et d'un **Proxy** portant le même nom que le BridgeModelingPreRig sans namespace. La référence du BridgeModelingPreRig est automatiquement cachée par l'outil.
###  Reference Update
Le **Reference Update** permet la mise à jour des références contenues dans votre scène en sebasant sur les données Shotgun. Cette outil est identique au tool **Breakdown** situé dans le menu Shotgun mais il vous offre la possibilité en un clic de mettre à jour l'intégralité des références de votre scène.
###  Clean Asset Scene
Utilisé pour cleaner vos scènes de Modeling et Rigging, cet outil permet la suppression des réfs et groupes créés par les tools du Create Asset.
- **Modeling** : Suppression du **BridgeModelinPreRig** de l'asset. Les bridges des subassets sont conservés.
- **Rigging** : Suppression des **réfs de subassets** et du groupe **Subassets_Grp**
- **Shading** : Non effectif, pour cette step, le clean s'effectuera au moment de l'**out task**.
###  Auto Assign Shaders
- Disponible uniquement en **Shading** et pour des assets de type **Assembly**, cet outil permet d'assigner automatiquement les shading groups importés avec les **BridgeShadingPreRig** sur les geometries du **BridgeModelingPreRig**.
- Il vous évitera de refaire la plupart de vos assignations déjà effectués dans les subassets de votre Assembly.
- Pour fonctionner, il faut que la **note de modeling** soit correctement réglée sur le BridgeModelingPreRig. Cet extra attribut est réglé lorsque la version d'un Assembly publishé est passé en "approuved" et que le daemon déclenche l'out task et le bridge de l'Assembly.
- Sans cette note, impossible de faire une assignation auto des shaders.
- Cette note doit avoir la forme qui suit :
```{'SubAssetName01_Variation': {'new_name': 'P_SubAssetName01_Variation_Grp', old_name': 'SubAssetName01_Variation_STEP_Top', 'transforms': {'transformX':0.000, 'transformY':0.000, 'transformZ':0.000, 'rotateX':0.000, 'rotateY':0.000, 'rotateZ':0.000, 'scaleX':1.000, 'scaleY':1.000, 'scaleZ':1.000}}...}```
- Chaque BridgeShadingPreRig devra également avoir sa **note**, sans quoi la réattribution des shaders de ce bridge ne pourra se faire automatiquement.
- Si un bridge shading n'a pas de note, l'outil passera au bridge suivant et vous devrez faire certaines assignation manuellement.
- La note de shading doit avoir la forme qui suit:
```{u'AssetName01_Variation_ShadingEngineName_01_ShSG': {'shaders': [u'AssetName01_Variation_ShadingEngineName_01_Vp', u'AssetName01_Variation_ShadingEngineName_01_Sh'], 'transforms_names': [u'|AssetName01_Variation_MDL_Top|P_GroupName_Grp|P_MeshName01_001_Msh']}...}```
- L'outil va utiliser ces deux notes afin de retrouver les correspondances de nomenclature entre les assignations faites sur chaque subasset et les geometries du bridge d'Assembly.
- Une fois que l'assignation est terminée, l'outil regardera s'il reste des transforms qui n'ont aucune connexions avec un shading group et ouvrira une fenêtre de la liste des transforms qui n'ont pas reçu d'assignation auto.
###  Auto Placement
- Uniquement disponible en **Modeling** pour des assets de type **Assembly**
- Permet le placement automatique de vos subassets si le bridge d'Assembly est présent dans votre scène.
- Utilise la **Modeling note** se trouvant sur le bridge, ces données sont enregistrées lors de l'out task de l'Assembly.
- Sans cette note, impossible de faire une assignation auto des shaders.
- Cette note doit avoir la forme qui suit :
```{'SubAssetName01_Variation': {'new_name': 'P_SubAssetName01_Variation_Grp', old_name': 'SubAssetName01_Variation_STEP_Top', 'transforms': {'transformX':0.000, 'transformY':0.000, 'transformZ':0.000, 'rotateX':0.000, 'rotateY':0.000, 'rotateZ':0.000, 'scaleX':1.000, 'scaleY':1.000, 'scaleZ':1.000}}...}```
## Cas particulier des shavar
- Aujourd'hui sous le task template d'**Assembly Placement**, les shavar présentent des comportements différents des autres assets dans le sens où ce sont des overrides d'assets existants.
- Vous pouvez utiliser les **mêmes outils** mais vous observerez une structure légèrement différente en fonction des steps.
- A noter qu'en step de Rigging, il faudra créer la scène sur la task **Root Placement** et non pas en InRigging.
- Les shavar seront à terme traités par un task template d'**Override**.
:::danger
**TODO**:
- Implémenter l'**Auto Placement** dans les scènes **Master**, en attente du **Bridge Data**
:::