From 28f978b10e5366db0e6061a2fd4a1fe19da31718 Mon Sep 17 00:00:00 2001 From: Relic Date: Sat, 4 Apr 2026 17:49:26 -0400 Subject: [PATCH 1/3] Update Git LFS to Track vmat and vmdl Files vmat and vmdl files are materials and the model respectivly and can be quite large and need to be track with git lfs. --- .gitattributes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitattributes b/.gitattributes index b3cfb0f..dea9f0a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,5 @@ *.png filter=lfs diff=lfs merge=lfs -text *.spp filter=lfs diff=lfs merge=lfs -text *.assbin filter=lfs diff=lfs merge=lfs -text +*.vmat filter=lfs diff=lfs merge=lfs -text +*.vmdl filter=lfs diff=lfs merge=lfs -text -- 2.43.0 From 490d2c18607725a2f97d13ce7c8a2ab3c3b816ca Mon Sep 17 00:00:00 2001 From: Relic Date: Sat, 4 Apr 2026 17:50:51 -0400 Subject: [PATCH 2/3] Creation of Model Import Docs Goes over the process for getting a model resource ready to use in S&Box. --- Assets/models/glock/glock.vmat | 3 + Assets/models/glock/glock.vmdl | 3 + .../{glock_Displacement.png => glock_ao.png} | 0 .../{glock_BaseColor.png => glock_color.png} | 0 .../{glock_Metallic.png => glock_metal.png} | 0 Docs/Img/create-model-import-model.png | 3 + Docs/Img/mat-creation-import-model.png | 3 + Docs/Img/model-doc-import-model.png | 3 + Docs/Img/model-doc-mag-glass-import-model.png | 3 + Docs/Img/model-doc-material-import-model.png | 3 + Docs/Img/texture-creation-import-model.png | 3 + Docs/Img/texture-recompile-import-model.png | 3 + Docs/Img/texture-suffix-import-model.png | 3 + Docs/Img/vdml-file-import-model.png | 3 + Docs/model-import-process.md | 82 +++++++++++++++++++ 15 files changed, 115 insertions(+) create mode 100644 Assets/models/glock/glock.vmat create mode 100644 Assets/models/glock/glock.vmdl rename Assets/models/glock/{glock_Displacement.png => glock_ao.png} (100%) rename Assets/models/glock/{glock_BaseColor.png => glock_color.png} (100%) rename Assets/models/glock/{glock_Metallic.png => glock_metal.png} (100%) create mode 100644 Docs/Img/create-model-import-model.png create mode 100644 Docs/Img/mat-creation-import-model.png create mode 100644 Docs/Img/model-doc-import-model.png create mode 100644 Docs/Img/model-doc-mag-glass-import-model.png create mode 100644 Docs/Img/model-doc-material-import-model.png create mode 100644 Docs/Img/texture-creation-import-model.png create mode 100644 Docs/Img/texture-recompile-import-model.png create mode 100644 Docs/Img/texture-suffix-import-model.png create mode 100644 Docs/Img/vdml-file-import-model.png create mode 100644 Docs/model-import-process.md diff --git a/Assets/models/glock/glock.vmat b/Assets/models/glock/glock.vmat new file mode 100644 index 0000000..eeca549 --- /dev/null +++ b/Assets/models/glock/glock.vmat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13151d1de83629a824db6f06c1b895cb0cc629539f23e1c9bf8ea1c89d9a2845 +size 967 diff --git a/Assets/models/glock/glock.vmdl b/Assets/models/glock/glock.vmdl new file mode 100644 index 0000000..2803fda --- /dev/null +++ b/Assets/models/glock/glock.vmdl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ea2305ccfdbbb3a929fbf7d0aeba95bd2076d37cd2f1a57ea7862fd7d91339c +size 1500 diff --git a/Assets/models/glock/glock_Displacement.png b/Assets/models/glock/glock_ao.png similarity index 100% rename from Assets/models/glock/glock_Displacement.png rename to Assets/models/glock/glock_ao.png diff --git a/Assets/models/glock/glock_BaseColor.png b/Assets/models/glock/glock_color.png similarity index 100% rename from Assets/models/glock/glock_BaseColor.png rename to Assets/models/glock/glock_color.png diff --git a/Assets/models/glock/glock_Metallic.png b/Assets/models/glock/glock_metal.png similarity index 100% rename from Assets/models/glock/glock_Metallic.png rename to Assets/models/glock/glock_metal.png diff --git a/Docs/Img/create-model-import-model.png b/Docs/Img/create-model-import-model.png new file mode 100644 index 0000000..e0a12ce --- /dev/null +++ b/Docs/Img/create-model-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea043484b838bf773dfe8ce97cb441f8c5a6a368963ab50a89718a9b0d8adc7 +size 254528 diff --git a/Docs/Img/mat-creation-import-model.png b/Docs/Img/mat-creation-import-model.png new file mode 100644 index 0000000..20007b8 --- /dev/null +++ b/Docs/Img/mat-creation-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:395fa1fd06de6118f5e4af3dd33cbc534af7144a0d35afdfe54e13613112a765 +size 85067 diff --git a/Docs/Img/model-doc-import-model.png b/Docs/Img/model-doc-import-model.png new file mode 100644 index 0000000..bd150d9 --- /dev/null +++ b/Docs/Img/model-doc-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee6da703ba3b861ca04c2593db5d18cfff9364fed94cc1fce98c538bbe5096b1 +size 888720 diff --git a/Docs/Img/model-doc-mag-glass-import-model.png b/Docs/Img/model-doc-mag-glass-import-model.png new file mode 100644 index 0000000..6e38d06 --- /dev/null +++ b/Docs/Img/model-doc-mag-glass-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fd71c3fde7990bc81d313df63da1cf747e4cde186cc51489993bd7032a2b3e9 +size 892574 diff --git a/Docs/Img/model-doc-material-import-model.png b/Docs/Img/model-doc-material-import-model.png new file mode 100644 index 0000000..6e38d06 --- /dev/null +++ b/Docs/Img/model-doc-material-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fd71c3fde7990bc81d313df63da1cf747e4cde186cc51489993bd7032a2b3e9 +size 892574 diff --git a/Docs/Img/texture-creation-import-model.png b/Docs/Img/texture-creation-import-model.png new file mode 100644 index 0000000..a8e834f --- /dev/null +++ b/Docs/Img/texture-creation-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8600954f0364d82fc235f9475ff252f9856fb37acf11d3f217b7bac6557c0a27 +size 346518 diff --git a/Docs/Img/texture-recompile-import-model.png b/Docs/Img/texture-recompile-import-model.png new file mode 100644 index 0000000..7fbfbd6 --- /dev/null +++ b/Docs/Img/texture-recompile-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04bbff0675d5465cc8266798618af676e920b44d8d80fbb3f9af8c7f255cafd2 +size 905365 diff --git a/Docs/Img/texture-suffix-import-model.png b/Docs/Img/texture-suffix-import-model.png new file mode 100644 index 0000000..bc6ee25 --- /dev/null +++ b/Docs/Img/texture-suffix-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98217aa54e33599a1dc791a606ac6ce1aa9ce059bc8c4ca6bb39c33e2432d618 +size 355085 diff --git a/Docs/Img/vdml-file-import-model.png b/Docs/Img/vdml-file-import-model.png new file mode 100644 index 0000000..64fced5 --- /dev/null +++ b/Docs/Img/vdml-file-import-model.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00d8a08a08351249f33fa44c21796f59d760f34a5ef70286a65faf733972dd17 +size 70578 diff --git a/Docs/model-import-process.md b/Docs/model-import-process.md new file mode 100644 index 0000000..22d08fc --- /dev/null +++ b/Docs/model-import-process.md @@ -0,0 +1,82 @@ +# Model Import Process + +The goal of this documentation is to go through what it takes to import a model into +S&box. + +This documentation is based of [this](https://www.youtube.com/watch?v=1-L8BvNAbjQ) guide. + +## Process + +To start you will need the model that you wish to import into S&Box, and the textures +and the associated textures. The model can contain other things like animations, however, +those are only added if the model is non-static. A static element could be a picture, where +a non-static object could be something like a player model. + +### Create the VDML Model + +To start you can create the VDML model by right clicking the model in S&Box and then clicking +`Create model...`. + +![create-model-import-model](./Img/create-model-import-model.png) + +Once that is clicked an explorer window will appear and you will choose where you want the +vdml file to be saved. You will want the vdml file to be saved within the same folder as the +model. + +![create-model-import-model](./Img/vdml-file-import-model.png) + +Double clicking the VDML file will open a program called ModelDoc. ModelDoc is the program that +ties the animcation, the model, and the textures together to make a fully realized VDML file. + +![model-doc-import-model](./Img/model-doc-import-model.png) + +#### Create the .mat File and Attach it to the Model + +In order to assoicate the textures with the model we need to create a .mat file. The .mat file +contains all the textures that will be used on the model. To create a .mat file, right click it +one of the textures and click `Create Material`. + +![create-mat-import-model](./Img/mat-creation-import-model.png) + +This will open the material creation window, and depending on the naming scheme of all the textures +some fields (or all) will have the texture automatically applied. Below contains all the suffixs that +are reconized by S&Box. + +![texture-suffix](./Img/texture-suffix-import-model.png) + +Once `Create Material` has been click an explorer window will open. Make sure to save the .mat file in +the same folder as all the other resources realted to the model. Once that is completed you should see +the material editor pop up. + +![create-mat-window-import-model](./Img/texture-creation-import-model.png) + +*NOTE: Make sure that `specular` and `metalness texture` are checkmarked, this will enable PBR materials.* + +Go ahead and save the material if everything looks good, and now we can go back to ModelDoc. + +#### Associate the .mat File to the Model + +Once you are back to the ModelDoc program, located at the left of the application is the `MaterialGroupList` +and the `RenderMeshList`. What we care about is adding our material we just created to the +`DefaultMaterialGroup`. + +![assiociate-material-import-model](./Img/model-doc-material-import-model.png) + +Clicking on the `DefaultMaterialGroup` will open the `Node Editor`, and clicking the magnifying glass the explorer +will pop up for us to choose our new material. + +![model-doc-mag-glass-import-model](./Img/model-doc-mag-glass-import-model.png) + +Traverse to the file that we created and double click it. That will assign the material to the model. You will need +to go ahead and recompile, after recompiling you should see the texture applied in ModelDoc. + +![model-doc-recompile-import-model](./Img/texture-recompile-import-model.png) + +If everything looks good, go ahead and save the model in ModelDoc. If there are no animations associated with the +model, then your done. You can use the VMDL file as is in the project. If there are assoicated models, then go +to the [Assoicate Animations](#assoicate-animations) section. + +#### Assoicate Animations + +TODO: Lots to learn on how to even create the animations, once those animations are created, I'll go ahead +and update this doc on how to do this. \ No newline at end of file -- 2.43.0 From 0227b7d83cc32caa3a039e3d86dbe651e5ce4310 Mon Sep 17 00:00:00 2001 From: Relic Date: Sat, 4 Apr 2026 17:53:03 -0400 Subject: [PATCH 3/3] Add Link in Readme to Model Import Docs For quick access. --- readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/readme.md b/readme.md index cd0b0f9..8fee8bb 100644 --- a/readme.md +++ b/readme.md @@ -5,6 +5,10 @@ Index: - [Getting Started](#getting-started) - [Visual Studio Configuration](#configuring-visual-studio) +Links to Other Docs: + + - [Importing a Model](./Docs/model-import-process.md) + ## Getting Started Working on this project requires some things that you need to install. Those being -- 2.43.0