Pārlūkot izejas kodu

up to date character guide

Signed-off-by: Jonny Galloway <[email protected]>
Jonny Galloway 2 gadi atpakaļ
vecāks
revīzija
51f5e1cb6d

+ 0 - 3
Gems/character_mps/Assets/Mixamo/Ybot/.src/Alpha_mesh_final.fbx

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1ef388e9da81703b6d4c22fb149135c25682e1df33e3444af2c4bfee8176b8d9
-size 517136

+ 0 - 3
Gems/character_mps/Assets/Mixamo/Ybot/.src/Alpha_mesh_working.mb

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b216ffd55cb284a2c756c3057250fc25b39718b80dfcd8fdf10f8a57a435105e
-size 2646252

+ 1 - 1
Gems/character_mps/Assets/Mixamo/Ybot/.src/Marmoset_TB_Alpha_AO_Bake.tbscene

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:46bee38175caca45e9498e7e6b4b21c314044651cc5dd645eb3329528a9fe5f7
+oid sha256:b083f9eb43d02a1a3ab3ab16b28f0fe26eb1442643bb7f43f0b2187d0b62ebd1
 size 266993150

+ 25 - 12
Gems/character_mps/Assets/Mixamo/Ybot/.src/worklog.md

@@ -6,18 +6,31 @@ This is a worklog of changes made to the YBot for MPS
 
 These are production working files for the YBot model.  As production stages of art creation, often include file related to cleaning up work, creating baking workflows (to generate texture channels). We want to include these file for end-to-end examples of the work we did (for instance, a baking tutorial.)
 
-| File                                  | Description                                                                                                                                   |
-| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
-| native_mesh.fbx                       | The native Mixamo source file                                                                                                                 |
-| Native_mesh_working.mb                | Used to generate smooth HIGH for baking                                                                                                       |
-| Native_smooth_HIGH.fbx                | The HIGH poly exported out of Native_mesh_working.mb                                                                                          |
-| Alpha_mesh_working.mb                 | This is the working file for the in-game mesh, it has the game optimized LOW with clean UV's for baking                                       |
-| Alpha_mesh_LOW.fbx                    | The LOW poly exported from Alpha_mesh_working.mb                                                                                              |
-| Bake_set_working.mb                   | Imports the HIGH and LOW to put into a import friendly hierarchy for Marmoset Toolbag (baking tool)                                           |
-| Alpha_Bake_Set.fbx                    | Exported from Bake_set_working.mb, and is the file imported into Marmoset Toolbag directly                                                    |
-| Marmoset_TB_Alpha_Bake.tbscene        | High to Low baking scene, no joints. This is used to bake normals on the body meshes.                                                         |
-| Marmoset_TB_Alpha_Joints_Bake.tbscene | This bake scene includes the joints, so we can bake good AO, etc.                                                                             |
-| Alpha_mesh_final.fbx                  | This is an export of the final cleaned up low poly game model ready for import into the actual runtime model (in the root folder above /.src) |
+| File                              | Description                                                                                                                                                                                          |
+| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| native_mesh.fbx                   | The native Mixamo source file                                                                                                                                                                        |
+| Native_mesh_working.mb            | Used to generate smooth HIGH for baking, also the working file for adjusted Alpha mesh (absorbed Alpha_mesh_working.mb)                                                                              |
+| Native_smooth_HIGH.fbx            | The HIGH poly exported out of Native_mesh_working.mb                                                                                                                                                 |
+| Alpha_mesh_LOW.fbx                | The LOW poly exported from Alpha_mesh_working.mb  </br>This is an export of the final cleaned up low poly game model ready for import into the actual runtime model (in the root folder above /.src) |
+| Bake_set_working.mb               | Imports the HIGH and LOW to put into a import friendly hierarchy for Marmoset Toolbag (baking tool)                                                                                                  |
+| Alpha_Bake_Set.fbx                | Exported from Bake_set_working.mb, and is the file imported into Marmoset Toolbag directly                                                                                                           |
+| Marmoset_TB_Alpha_Bake.tbscene    | High to Low baking scene, no joints. This is used to bake normals on the body meshes.                                                                                                                |
+| Marmoset_TB_Alpha_AO_Bake.tbscene | This bake scene includes the joints, so we can bake good AO, etc.                                                                                                                                    |
+
+## [0.0.6] - 2023-01-27
+
+1. Optimized the base low-poly Ybot model (so I could hit 15k target)
+2. This required also finding a better solution for dealing with the joints, those spheres took up a ton of polys.
+3. Updated the bake files:
+   1. Alpha_mesh_working.mb: has the updated optimized base model
+   2. Re-exported: Alpha_mesh_LOW.fbx
+   3. ^ imported in to update: bake_set_working.mb
+   4. Re-exported: Alpha_Bake_Set.fbx
+4. Adjusted the Marmoset Toolbag bake files (updated bake meshes and bake projects), they were baking too many channels, and had to be modified so that we could bake the normals for the joints.  So now one bake file only does the color and normal, the other bakes AO and such for the compound assembly (AO for joints + body at the same time) and rebaked all the texture channels
+5. Updated the primary Ybot asset file: Maya2023_ybot_yup_working.mb
+6. Exported just the model: ybot_mesh_test.fbx
+7. Updated all of the base materials (see characters guide)
+8. (next is to update the EmFX Asset, rig, LODs, etc.)
 
 ## [0.0.5] - 2023-01-18
 

+ 3 - 0
Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/2023-01-28-15-38-26-image.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f8b68fed1185c0cc4c0b5d4db87ca6800c6c331fdb0b23a02d18d32f274b7fae
+size 42206

+ 3 - 0
Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 145128.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c203fb6be78c644167215acdeb82a6f829d5d98d238dee952e1749b52b3e10c5
+size 414254

+ 3 - 0
Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 161652.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7f252c03fbf84d69dd4908f3542496d31456777ed25e6154183a169f51e1908c
+size 16442

+ 3 - 0
Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 163006.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3471b65562ad7bebab1c952ee9e15721aa143aa75beb38d6c1a4f4a153bc1135
+size 684152

+ 3 - 0
Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 164302.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:54837f51c4e5c715f86b59c163f8e72056990ca94ba80ef18aae32cf8bf019f5
+size 1362538

+ 2 - 2
Gems/character_mps/Assets/Mixamo/Ybot/Maya2023_ybot_yup_working.mb

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6d21c0b32c76efdb180d9c30dfc80c2e3f4ddfdfb9a0a1df93eb6093aa38af41
-size 14974308
+oid sha256:f97d93def96d53ba03854ad3db03f04fecce692a62cd17093c33909189e73bf1
+size 3350964

+ 2 - 2
Gems/character_mps/Assets/Mixamo/Ybot/textures/Alpha_base_body_basecolor.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:3eac4908501a0fed0b36e2e0e6644a5fcbd4e2600ae1cf54a5284926ca0c6e68
-size 12327933
+oid sha256:faf68af37fd6b397b68aa0264e56d5b1e7cb17a37140e9d6070687da6b2fdd3a
+size 18676714

+ 2 - 2
Gems/character_mps/Assets/Mixamo/Ybot/textures/Alpha_base_head_basecolor.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:5d97f43efd7c1a1f614cf58945e173973bffdd762c61114feed5b7f746d4e1b7
-size 945458
+oid sha256:ffefa3068947dcf9af9faeccc93b56ffb3e909779a8bdf2d6ca4cfd59e4b3af1
+size 9790850

+ 0 - 3
Gems/character_mps/Assets/Mixamo/Ybot/ybot_yup_working.mb

@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:a45e503601f672b40bb701d389f90602500ff07f87c3b77e27db10a74f76d3bf
-size 3350932

+ 177 - 0
Guides/CharacterGuide.md

@@ -0,0 +1,177 @@
+# MPS Character Guide
+
+This is a contributors guide for those doing character work, such as rigging, and animation, other assets such as level art and props are described in the ContentGuide.md (to: do link to)
+
+You can follow on of these guide to O3DE get up and running:
+
+[Multiplayer sample (MPS) project for the Open 3D Engine](https://github.com/o3de/o3de-multiplayersample)
+
+[O3DE multiplayer sample assets](https://github.com/o3de/o3de-multiplayersample-assets) (this guides parent repo)
+
+( to do: link the local GettingStarted.md guide here)
+
+## Licensing
+
+Be aware of asset licensing restrictions present in this repo. Some Assets have been developed by third parties and are subject to separate license terms (such as the Kitbash3D assets or Adobe Mixamo files). It is your responsibility to comply with the applicable licenses. Information on third party materials, and the applicable license terms, are referenced in or included with the materials, such as in separate LICENSE*.txt files accompanying the materials in each Gem or sub-folder. For terms please see the LICENSE*.TXT files at the root of this distribution.
+
+( to do: put information about appropriate licensing for new contributions )
+
+# YBot Model, Adobe Mixamo
+
+The main character model for the MPS game, is based on the YBot Mixamo character from Adobe (along with the actor using the Mixamo skeleton and animations.)  This section covers the construction of the YBot model, with a target of a character with roughly 15K polys in the highest LOD, while trying to retain the visual quality.
+
+<img src="img/2023-01-28-14-41-39-image.png" width="512px" title="native_mesh.fbx" alt="2023-01-28-14-41-39-image.png" data-align="inline">
+
+This is the native download for the Mixamo YBot:
+
+- `Gems\character_mps\Assets\Mixamo\Ybot\.src\native_mesh.fbx`
+- You could use this 'as is' but the polygon count is 55320 tri's which pretty heavy when we have many players.
+- We are shooting for the guidance of 17K or less per-character and 30 players.
+- we'd like to be more representative of a AAA game character, with attachments, support player skins, etc.
+- This model has hard-crease edges, but we want to use a MikkT tangents modern bake workflows for player skins.
+- For reasons such as these, we are going to replace the base model with a representative game version.
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 145128.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-28 145128.png" data-align="inline">
+
+The first thing we did, was make a 'High Poly' asset for use in a baking workflow.
+
+- Retained the crease edged by beveling them.
+- Then create a smooth subdivision model.
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 135446.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 135446.png" data-align="inline">
+
+This will allow us to have some natural creased edges and smooth topology to bake against.
+
+- Exported as `Native_smooth_HIGH.fbx`
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 135518.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 135518.png" data-align="inline">
+
+1. Exported the High Poly as a .obj (`character_mps\Assets\Mixamo\Ybot\.src\LODs\Native_smooth_fix_HIGH.obj`)
+2. Brought this into [GitHub - wjakob/instant-meshes: Interactive field-aligned mesh generator](https://github.com/wjakob/instant-meshes)
+3. Generated a Mid-poly model (quads) with a polygon flow that matched the topology of the High-poly model
+4. Then used [Mesh Lab](https://www.meshlab.net/) to crunch down a triangulated mesh at the target poly count (15k)
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 135554.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 135554.png" data-align="inline">
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 135620.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 135620.png" data-align="inline">
+
+Here is what the model body and UVs look like:
+
+- The head is split off
+- The joints are as well (and they were separately hand optimized)
+- The right arm and leg removed from the bake set (they can be duplicated and mirrored in final game model.)
+- `Gems\character_mps\Assets\Mixamo\Ybot\.src\Native_mesh_working.mb`
+- Export as `Alpha_mesh_LOW.fbx`
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 135832.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 135832.png" data-align="inline">
+
+Then we create a bake set file:
+
+- `Bake_set_working.mb`
+- Import the `Native_smooth_HIGH.fbx`
+- Import the `Alpha_mesh_LOW.fbx`
+- Make adjustments to make sure the Head, Body and Joints are split out for High and Low.
+- Make sure that we also have the mirrored arms/legs...
+- By including these in the High, we can ensure that the baking of texture channels such as Ambient Occlusion (AO) can sample from the adjacent side of the model (capture shadowing.)
+- By including them in the Low, we can preview the baked texture channels on both sides of the entire model.
+- Export both HIGH and LOW together as: `Alpha_Bake_Set.fbx`
+- Export just the LOW over: `Alpha_mesh_LOW.fbx` (this is the final model version we will now be importing up a level into the actually game asset files)
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/2023-01-28-15-38-26-image.png" width="256px" title="native_mesh.fbx" alt="2023-01-28-15-38-26-image.png" data-align="inline">
+
+Then we bring into Marmoset Toolbag 4 which we will be using as our bake tool:
+
+1. I set up one bake file, it has 3 bake projects, to just generate only the <u>color</u> and <u>normal</u> map texture channels for each piece of the model: head, body, joints.
+
+2. See: `Marmoset_TB_Alpha_Bake.tbscene`
+
+3. I prefer to use .png files, and I generally bake everything at 16-bit (even though we will convert to 8-bit game textures later.)
+
+4. Note: O3DE and the Atom renderer support the following (we need to make sure that bake projects are configured correctly):
+   
+   1. Tangent Space: MikkT
+   
+   2. Tangent Calculation: Per-Vertex
+   
+   3. Tangent Orientation: Left-Handed
+   
+   4. <img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 161652.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-28 161652.png" data-align="inline">
+
+5. Make sure to set up each bake project with an output path, the texture channels to generate, etc.
+
+6. We perform each bake project (hit the bake button)
+
+7. We load the baked texture channels into materials assigned to the low poly meshes, so we can preview the results (looks pretty clean, can't really tell at all we dropped from 55k to 15k. Woot!)
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 140007.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 140007.png" data-align="inline">
+
+Then we make a second bake file, this time to capture other texture channels such as Ambient Occlusion (AO)
+
+1. The bake projects are set up differently, all of the High poly meshes are in each bake project
+2. This is so that we can sample all of the meshes of the assembly, when generating the AO where the model pieces meet.
+3. Our preview materials in this scene, load the color and normal from the previous bake and now load the AO 
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-27 140039.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-27 140039.png" data-align="inline">
+
+The data (models and textures) are all brought together in the final asset source file, which is a level up from `/.src`
+
+1. Move/save the textures you want, from the Marmoset Toolbag bake output:
+   
+   1. From: `Gems\character_mps\Assets\Mixamo\Ybot\.src\Texture_Bake_Channels\*`
+   
+   2. To: `Gems\character_mps\Assets\Mixamo\Ybot\textures`
+   
+   3. I generally convert the file to 8-bit before saving the in the final location. Note: with 16-bit normals to 8-bit, this will introduce a subtle dithering of the normals, which is actually an enhancement to the final compressed normals - although some modern games are now using 16-bit compressed normals for better fidelity.
+   
+   4. Use good O3DE texture naming conventions
+
+2. We made a Maya working file: `Maya2023_ybot_yup_working.mb`
+
+3. First, imported the raw `./.src/native_mesh.fbx` this gives us the original skinned model, and the mixamorig (note: the rig is in the namespace, mixamorig:hips)
+
+4. We unparent and pop the original model out, and place under a node called `REFERENCE` so we can refer back to it, pull from it to copy skin weights, etc.
+
+5. Then we put the skeleton rig under a root node called `YBot` this will be the root node we export as the asset.
+
+6. Then we import our new base model: `./src/Alpha_mesh_LOW.fbx`
+
+7. We place that under the root `YBot` node.
+
+8. We set up several materials.
+   
+   Notes: the way source material conventions with the O3DE material component, is:
+   
+   1. "< model.fbx name > _ < material node name >  (we will come back to this later, but this avoids collisions with asset names.)
+   
+   2. In the DCC source file, we name the material nodes descriptively based on what they are assigned to: head_MAT, body_MAT, etc.
+   
+   3. We separated the assignments of materials for the right and left arms and legs, so that we could increase character variants by assigning mix-and-match material sets to the material slots later. 
+   
+   4. we used StingrayPBS materials, as these are supported for portable conversion; we can load texture maps into these, and those texture bindings will be converted into the atom game materials. (more on this later also.)
+   
+   5. Note: Maya does not use standard MikkT tangent space, so your normal's are not likely too look correct :( don't worry about it.
+   
+   6. This can now be exported so we can test the model and materials in the game engine, export as: `ybot_mesh_test.fbx`
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 163006.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-28 163006.png" data-align="inline">
+
+Now we can bring this into a game level and validate the mesh and materials.
+
+1. Open the Editor, and open a level (I used the MPS-Asset-Test project and level of the same name.)
+2. Create an Entity, add a Mesh component.
+3. in the Mesh component, load the `ybot_mesh_test.fbx` asset (aka ModelAsset)
+
+At this point, you'll see the mesh load and some default materials. Note: we call these the 'default dcc materials' (.azmaterials), these are owned by the FBX scene (and will update along with changes to that scene), they are the materials the mesh pipeline automatically generates from the materials nodes. They only exist as product outputs in the cache, and not in the source assets folder.  But, we could later convert these to editable source materials that do live in the asset folder (but we aren't going to do that for this workflow.)
+
+We used the Material Editor, to create 3 base materials: ybot_head_base.material, ybot_body_base.material, ybot_joints_base.material
+
+1. In each material, we loaded all our texture maps, and tuned the other material settings.
+2. Add the Material Component to the YBot entity.
+3. Use the material assignment slots, to assign our base materials.  Note: we shared the ybot_body_base.material, on the body, both arms and both legs.
+4. Here are the results ...
+
+<img src="../Gems/character_mps/Assets/Mixamo/Ybot/.src/wrk_img/Screenshot 2023-01-28 164302.png" width="512px" title="native_mesh.fbx" alt="Screenshot 2023-01-28 164302.png" data-align="inline">
+
+# YBot Actor, Adobe Mixamo
+
+< to do: nest steps, setting up the Actor with Mesh LODs, skeleton LODs, etc. >

+ 16 - 111
Guides/ContentGuide.md

@@ -1,128 +1,33 @@
-# Content Guide
+# MPS Content Guide
 
-You can follow on of these guide to get up and running:
+This is a contributors guide for those working with general content submissions, for example 3D model props, materials, terrain, etc.  Character work, rigging, and animation is described in the CharacterGuide.md (to: do link to)
+
+You can follow on of these guide to O3DE get up and running:
 
 [Multiplayer sample (MPS) project for the Open 3D Engine](https://github.com/o3de/o3de-multiplayersample)
 
 [O3DE multiplayer sample assets](https://github.com/o3de/o3de-multiplayersample-assets) (this guides parent repo)
 
-Or you could work with these assets in your own game project.
-
-Each Asset Gem is portable and can be enabled for use with any game project.  From the standpoint of creating content for a Gem, each Asset Gem is its own mini-project root.
-
-With DCC tools, it's often beneficial for teams to utilize relative paths for asset references such as texture paths.  This makes something like an encapsulated Gem more portable; it can be moved across projects, amongst teams and individuals, etc. This means that the Gem can be cloned anywhere locally (nested folder structure, even different drive letters) and not break reference paths when opened on someone else's machine.
-
-Blender works with relative paths, with the current scene file as the root. Maya doesn't by default. If a project root is not specified then it will store absolute paths, and this will break portability, leading to headaches for other users. Each person, locally, has to repath/resolve file references, causing lots of churn and extra work. We can do better.
-
-## Maya
-
-Maya does allow you to [Organize Files into Projects](https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/Maya-ManagingScenes/files/GUID-9CE78B5A-7E9F-45E6-AB6D-66795E5656F4-htm.html), and utilize the project root to enable relative paths.  Essentially, the project root is marked by a `workspace.mel` file, a file that also contains project folder rules. This can be extremely useful, and it's what makes portability work.  These Gems contain this file at the root of each Gem.
-
-![](img/2023-01-20-14-24-01-image.png)
-
-There are several ways you could go about correctly utilizing this feature.
-
-### O3DE Bootstrapping
-
-The O3DE [DccScriptingInterface Gem](https://github.com/o3de/o3de/tree/development/Gems/AtomLyIntegration/TechnicalArt/DccScriptingInterface) (aka DCCsi) provides patterns for configuration and settings, launching, and boostrapping DCC tools like Maya with O3DE capabilities.  If you enable this Gem for your project, you can for instance start Maya from a Editor menu (this Gem is already enabled in the [MPS-Asset-Test project](https://github.com/o3de/o3de-multiplayersample-assets/tree/development/Project). You can also start DCC apps like Maya externally but will utilize the O3DE bootstrapping, for Asset Gems this is currently the best approach, with managed boot we can set the Asset Gem as the Maya project and use its `workspace.mel`.
-
-Note: the following only needs to be reviewed and set up once, so the information is retained in this guide for educational and troubleshooting purposes.  Have a technical artist help you get set up the first time, if you encounter any trouble ping the [Discord o3de #general-support](https://discord.com/channels/805939474655346758/869974333009854464) or the [#technical-artits](https://discord.com/channels/805939474655346758/842110573625081876) group chats.  If you are all set up, just jump ahead to the section below titled **Launch Maya**.
-
-#### Env .bat files
-
-In each Asset Gem, you'll find a Launch_Maya.bat, such as:
-
-`o3de-multiplayersample-assets\Gems\level_art_mps\Tools\Launch_Maya.bat`
-
-On Windows, a double-click of that will launch Maya2023 with O3DE bootstrapping, during boot this will manage setting the project root.
-
-Note: there are many ways O3DE can be configured, versioned engine install, nightly installer build, developer engine fork, etc,, you may need to specify which engine to use for bootstrapping to perform correctly.  You can use the following file:
-
-`level_art_mps\Tools\Env_Dev.bat`
-
-(copy and modify `Env_Dev.bat.template`)
-
-###### Engine Root (O3DE_DEV)
-
-As a developer working on projects like MPS, I am often building a local engine fork (with changes to engine and project code.) So mapping my engine looks like this (inside of `Env_Dev.bat`):
-
-```batch
-:: set the location of my local fork engine root
-set O3DE_DEV=C:\depot\o3de-dev
-```
-
-Or if you are using release or nightly installers, the root would be one of these
-
-```batch
-:: root for release installer buid
-set O3DE_DEV=C:\O3DE\22.05.0
-
-:: nightly
-set O3DE_DEV=C:\O3DE\0.0.0
-```
-
-###### MAYA_PROJECT
-
-Environment variables are a useful way to modify the standard path locations and behavior of Maya (a common bootstrapping pattern for many DCC tools.)
-
-The `Launch_Maya.bat` calls other .bat files as well, to chain together the environment for launch and boostrapping of Maya.  The Gem as the project root path for Maya, is specified by the envar `PATH_O3DE_PROJECT` in this file:
-
-`o3de-multiplayersample-assets\Gems\level_art_mps\Tools\Project_Env.bat`
-
-###### DccScriptingInterface Gem (DCCsi)
-
-The DCCsi itself has the core environment .bat files that are eventually called, when you start `Launch_maya.bat` it will trigger `CALL %~dp0Env_Dev.bat` and then `CALL %~dp0Project_Env.bat`, and then finally call:
-
-```batch
-CALL %O3DE_DEV%\Gems\AtomLyIntegration\TechnicalArt\DccScriptingInterface\Tools\Dev\Windows\Env_DCC_Maya.bat
-```
-
-Our managed `PATH_O3DE_PROJECT` envar, is mapped to the Maya managed envar `MAYA_PROJECT` 
-
-```batch
-set MAYA_PROJECT=%PATH_O3DE_PROJECT%
-```
-
-With this envar set at launch, Maya will now search for the `workspace.mel` file, and if it's found will use this as the project root, along with any folder rules specified within the workspace file.
-
-###### ENVARS
-
-You can use the `Env_Dev.bat` to override other aspects of the environment as well.  One example would be mapping the O3DE binaries folder where executables live.  It comes down to how you are working and your configuration patterns, with an installer build, or as a engine developer.  The BIN folder has not only `*.exe`, but `*.dll` files, and compiled python `*.pyd` files that potentially some python script or tool might utilize. If you are [building from source](https://github.com/o3de/o3de.org/blob/main/content/docs/user-guide/build/configure-and-build.md), you specify the build folder and thus may want or need to map that with the DCCsi envars, something like:
-
-```batch
-set "PATH_O3DE_BIN=%O3DE_DEV%\build\bin\profile"
-```
-
-### Launch Maya
-
-Double-click the `Launch_Maya.bat` to start Maya with our O3DE environment.
-
-#### Maya, Project Window
-
-if everything is properly configured, we should be in a rooted workspace.
-
-In Maya, you can validate that:
-
-    Maya > File > Project Window
+( to do: link the local GettingStarted.md guide here)
 
-    ![](img/2023-01-23-15-45-07-image.png)
+## Licensing
 
-Now when you use an open command, it will conveniently place you in the Assets folder of the current Gem.  Beyond making assets more portable (relative file path references), working with Maya project workspaces brings a lot of conveniences.  This open dialog also gives you quick access to the root, asset folder (and other folder rules if they were added), and the ability to set the project without leaving the open dialog box.
+Be aware of asset licensing restrictions present in this repo. Some Assets have been developed by third parties and are subject to separate license terms (such as the Kitbash3D assets or Adobe Mixamo files). It is your responsibility to comply with the applicable licenses. Information on third party materials, and the applicable license terms, are referenced in or included with the materials, such as in separate LICENSE*.txt files accompanying the materials in each Gem or subfolder. For terms please see the LICENSE*.TXT files at the root of this distribution.
 
-![](img/2023-01-23-16-23-12-image.png)
+( to do: put information about appropriate licensing for new contributions )
 
-([check out Pipeline2](https://liorbenhorin.gumroad.com/l/pipeline2) an extended project manager for Maya)
+# Level Art
 
-#### Set Project
+( To do: break down an asset ... )
 
-If you want to work with assets in a different Gem, you can manually switch projects with out restarting Maya.
+# Kitbash 3D
 
-    Maya > File > Set Project
+( To do: describe the KB3D Asset Gem, and how we converted the kit using the Maya DCCsi scene export tool. )
 
-Point the file dialog to another location with a `workspace.mel` such as the other Gems in this repo:
+# Terrain
 
-`o3de-multiplayersample-assets\Gems\character_mps`
+( To do: describe how the terrain was made, etc. )
 
-`o3de-multiplayersample-assets\Gems\kb3d_mps`
+# Lighting
 
-`...`
+( To do: describe the global lighting setup. )

+ 2 - 5
Guides/GettingStarted.md

@@ -1,4 +1,4 @@
-# Getting Started with Content Tools
+# MPS Getting Started with Content Tools
 
 You can follow on of these guide to get up and running:
 
@@ -8,10 +8,7 @@ You can follow on of these guide to get up and running:
 
 Or you could work with these assets in your own game project.
 
-Be aware of asset licensing restrictions present in this repo. Some Assets have been developed by third parties and are subject  to separate license terms (such as the Kitbash3D assets or Mixamo files).  It is your responsibility to comply with the applicable licenses. 
-Information on third party materials, and the applicable license terms, are 
-referenced in or included with the materials, such as in separate LICENSE*.txt 
-files accompanying the materials in each Gem or subfolder. For terms please see the LICENSE*.TXT files at the root of this distribution.
+Be aware of asset licensing restrictions present in this repo. Some Assets have been developed by third parties and are subject  to separate license terms (such as the Kitbash3D assets or Adobe Mixamo files).  It is your responsibility to comply with the applicable licenses. Information on third party materials, and the applicable license terms, are referenced in or included with the materials, such as in separate LICENSE*.txt files accompanying the materials in each Gem or subfolder. For terms please see the LICENSE*.TXT files at the root of this distribution.
 
 ## Asset Gems
 

+ 3 - 0
Guides/img/2023-01-28-14-41-39-image.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c4c279ef2372cefb6ac6e6d4bce582c7651385e16eafdf27c48469640c44f23f
+size 1764430