Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bunch of work on mesh sections and program info #3

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/mdbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,21 @@ jobs:
build:
runs-on: ubuntu-latest
env:
MDBOOK_VERSION: 0.4.21
MDBOOK_VERSION: 0.4.36
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install mdBook
run: |
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh
rustup update
cargo install --version ${MDBOOK_VERSION} mdbook
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
uses: actions/configure-pages@v5
- name: Build with mdBook
run: mdbook build
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
uses: actions/upload-pages-artifact@v3
with:
path: ./book

Expand All @@ -57,4 +57,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
book
asw-modding-book.code-workspace
43 changes: 26 additions & 17 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

# Getting Started

- [Modding For Dummies](etc/moddingfordummies.md)

- [Installing Unreal Engine](ue4/getting-unreal.md)
- [Starting the editor](ue4/using-unreal.md)
- [Custom UE4 project](ue4/custom-project.md)
Expand All @@ -17,24 +19,35 @@

# Creating your mod

- [Mesh/Model](modding-mesh/mesh-intro.md)
- [Extracting game models]()
- [Importing models into Blender]()
- [Exporting models into UE4]()
- [Setting materials and outline]()
- [Custom materials]()
- [Troubleshooting](troubleshooting/main.md)
- [Texture issues](troubleshooting/textures.md)
- [Model issues](troubleshooting/meshes.md)

- [Useful user-created tools/files/materials](userfiles/main.md)
- [Locations of commonly used Strive assets](assets.md)

- [Audio](modding-audio/audio-intro.md)
- [Extracting audio]()
- [Importing audio]()

- [Texture/Colors](modding-texture/texture-intro.md)
- [Extracting textures]()
- [Previewing textures in Blender]()
- [Editing base]()
- [Editing ILM]()
- [Editing SSS]()
- [Editing detail/decal]()
- [Exporting textures into UE4]()
- [Extracting textures](modding-texture/texture-extract.md)
- [Previewing textures in Blender](modding-texture/texture-blender-preview.md)
- [Functions of Base/SSS/ILM textures](modding-texture/texture-images.md)
- [Editing detail/decal](modding-texture/texture-edit-detail-decal.md)
- [Exporting textures into UE4](modding-texture\texture-export.md)
- [Custom materials](modding-texture/custom-materials.md)
- [Per-game texture specifics]()
- [Strive]()
- [DBFZ]()

- [Mesh/Model](modding-mesh/mesh-intro.md)
- [Extracting game models](modding-mesh/mesh-extracting.md)
- [Importing models into Blender](modding-mesh/mesh-importing.md)
- [Setting up outlines (read this first)](modding-mesh/mesh-outlines.md)
- [Setting up tangent-based outlines](modding-mesh/mesh-tangents.md)
- [Exporting models into UE4]()
- [Custom materials](modding-texture/custom-materials.md)

- [Animations](modding-animation/animation-intro.md)
- [Extracting animations]()
Expand Down Expand Up @@ -64,10 +77,6 @@
- [Strive](modding-bbs/bbs-strive.md)
- [DBFZ](modding-bbs/bbs-dbfz.md)

- [Audio](modding-audio/audio-intro.md)
- [Extracting audio]()
- [Importing audio]()

- [UI Modding](modding-ui/ui-intro.md)
- [UMG basics](modding-ui/umg.md)
- [Finding widgets](modding-ui/assets.md)
Expand Down
22 changes: 22 additions & 0 deletions src/assets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Locations of commonly used assets
*This section is under construction, and was written by @muuyo*

<hr>
<br>

Partially a personal scratchbook, here's a log of useful locations you may be looking for. You may also want [these templates, from Lumy's drive](https://drive.google.com/drive/folders/1Llx4qfvOT8LCIkDaxU3QuO38WsyTolaR?usp=sharing).
<hr>

<details><summary><b>Character related images</b></summary>
<br>

|Item |Location|
-|-
Character icon in battle|Content/UI/Battle_Xrd3/CharaImage
Character gauge icons|Content/UI/Battle_Xrd3/tex
Icons used in stage load, the like|Content/UI/Chara_Image_Xrd3
Ranking character images|Content/UI/Ranking/CS_Ranking/tex/RankingCharImage/
Stage, BGM related assets (such as song/stage icons)|Content/UI/StageSelect
Some intro images, such as "HEAVEN OR HELL"|Content/UI/Battle_Demo/tex

</details>
7 changes: 7 additions & 0 deletions src/etc/installingmods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Installing mods
*This section was written by @muuyo*

<hr>
<br>

This is fairly easy to explain - you generally just want Unverum.
28 changes: 28 additions & 0 deletions src/etc/moddingfordummies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Modding For Dummies
*This section was written by @muuyo*

<hr>
<br>

Hello! As this wiki is decently in-depth and fragmented into different topics due to the nature of things, this is meant to be a "quickstart guide" for anyone stumbling in that doesn't really know where to start. It's *also* fairly in-development, so [contributions are welcome](https://github.com/muuyo/asw-modding-book) - I'll just be slow to merge if they're not to standards (bad grammar or explanations, etc)

If you're looking to *mod the game*, not make mods for it, please see [this page](https://gamebanana.com/tuts/14186).

You most likely want to start with recolors, as they're the most easily graspable, however if you're more a technically inclined / intuitive person like myself you can jump headfirst into model modding - just know that it's a bit of an in-depth topic, and you'll have to do a bit of discord searching.

On that note, here's the Unreal Anime Mods discord: [link.](https://discord.gg/tgFrebr)
It's obviously a lot less "comprehensive" and structured a place to learn, however realistically you may find yourself having to message search for people with similar issues to you.

Onto the modding!
This is all from a Strive modder's perspective, however it should be generally the same as to other games, just with different conventions.

<br>

First, you'll need to extract assets from the game. You will most likely want to do this even if you're only making a recolor (to preview your work), but it's not strictly necessary. <br>
There are two tools for this; Umodel and Fmodel.

[Fmodel](../tools/fmodel.md) is a more modern piece of software, however it lacks the ability to export material names as of present. This generally means getting a model into it requires a bunch more work. As such, I personally use it to browse files and export animations, and then use [umodel](../tools/umodel.md) to export models.
Next, follow the [mesh importing section](../modding-mesh/mesh-importing.md) if you wish to extract models, or simply navigate to any texture and export them as a TGA otherwise.

<hr>

14 changes: 13 additions & 1 deletion src/modding-animation/animation-intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# Animations
## Animation intro
*This section is under construction, and was written by @muuyo*

<hr>
<br>

haven't written this yet but TLDR here's how ya do it in words

umodel: double click the model (e.g. pot_body), hit O to open the asset viewer, go to your animations (e.g. Costume01/Animation/default/body), select however many of those animations you want, hit the arrow beside Open -> add to loaded set, preview them in Umodel using spacebar and right/left bracket

to export, ctrl X and export em to a GLTF. animations will be in the same file
<hr>
for Fmodel, instead right click any animation in the path said above, hit "Save animation" (you usually want your exports set as `uemodel` in fmodel settings), then in Blender select the skeleton & use the ueformat addon to "import ueanim" and select that file

to swap between em, you want a Dope Sheet panel in blender, then swap it to Action Editor in the second dropdown; then change between them using the dropdown in the top middle of that panel. only works when the skeleton is selected.
Binary file added src/modding-mesh/images/Icosphere.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/Unit-scale.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/Unreal-GLTF.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/exportsettings.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/image-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/materialchecking.mp4
Binary file not shown.
Binary file added src/modding-mesh/images/tangentdata.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/images/unrealimportsettings.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/modding-mesh/io_scene_fbx_arcsys.zip
Binary file not shown.
42 changes: 42 additions & 0 deletions src/modding-mesh/mesh-extracting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Extracting your mesh
*This section is under construction, and was written by @muuyo*

<hr>
<br>

You're looking to use either [Fmodel](../tools/fmodel.md),
or [Umodel](../tools/umodel.md).
Learn how to set each up at the links above.
Umodel is a more antiquated piece of software, however *as of now* it's the only one which exports material names correctly; so I would recommend using it. Fmodel is more recent, and I personally prefer using it, however it does not do so. It's still usually easier to export animations using it (and these can be used on Umodel exports), though, so find whatever workflow fits for you.

<hr>

Either way, mesh locations you'll want to look for:

- Character meshes are stored in a tree like `RED\Chara\ANJ\Costume01\Mesh`
- Character meshes *used for moves* are stored in places like `RED\Chara\ANJ\Common\Effect\Particles\ANJ_PTC01\Mesh`. This is much more trial and error, however most are named after their [animation IDs, linked here.](https://docs.google.com/spreadsheets/d/1qrsX0QnmltX6DumfoRX7a76uvRJNh4AfU3QFdtOkcYc/edit?usp=sharing) Warning, these are shared across every color on that character, just like normal mesh mods.
- Map meshes are stored in `RED\Map\Battle\` under their internal name - an index is [linked here.](https://docs.google.com/spreadsheets/d/1qrsX0QnmltX6DumfoRX7a76uvRJNh4AfU3QFdtOkcYc/edit?usp=sharing). This is slightly outdated, but you should be able to figure it out.


<br>
<hr>

## Umodel
Set up Umodel using the tutorial [here](../tools/umodel.md).
- now, browse through the game's file trees to find whatever you wish to extract, then either right click the folder on the left and press Export folder content. **You want GLTF.**
- or, right click an individual file and do so. For more detailed overhaul-y mesh mods, I recommend exporting animations at this step as well, [explained in section 7,](../modding-animation/animation-intro.md) as having them in Blender will mean you don't have to extract the mesh again later - they're very useful for finding when and how your model **will** jank out.

<br>

## Fmodel
Set up Umodel using the tutorial [here](../tools/fmodel.md).

This is a newer method, however most likely much less of a pain to use, and more foolproof.
- Follow the steps in the [blender section for Fmodel](../tools/blender.md#fmodel-with-arc-system-works-animation-support) to download Fmodel and the Blender addon to accept .ueformat files
- Configure Fmodel (if you need to) using [the steps in Section 3.1](../tools/fmodel.md) to correctly open Strive's files
- Optionally, double click any file to preview it in Fmodel's viewer
- Right click any file in Fmodel, and export as a ueformat file as in the page linked in Step 1
<br>
<hr>

After either method, view [the mesh importing section.](mesh-importing.md)
31 changes: 31 additions & 0 deletions src/modding-mesh/mesh-importing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Getting your mesh into Blender
*This section is under construction, and was written by @bafrag & @muuyo*

<hr>
<br>

If using UEFormat from Fmodel, please note that you **will need** the Blender addon to import those files, linked in [this section](../tools/blender.md#fmodel-with-arc-system-works-animation-support).

Some actions must be done in Blender **before** importing the model here:
1. Set Unit scale to 0.01 <div align="center"><img src="images/Unit-scale.png"></div><div align="center">

## Umodel
1. Download .gltf [addon](../modding-mesh\files\io_scene_gltf2_ue.rar) and Abnormal addon from [here](https://github.com/bnpr/Abnormal/releases).
2. Add the addons to Blender in Edit > Preferences > Add-ons > dropdown at the top right > Install from file
3. You may have to *disable the Blender gltf addon first*, then enable the Unreal-compatible one you just downloaded.
4. Import the model; <div align="center"><img src="images/Unreal-GLTF.png"></div><div align="center">
5. Delete Icospheres, or set the Viewport Display under Armature on your armature (green skeleton in Details) to Octahedral/Stick, depending on preference. You can completely hide it as well. <div align="center"><img src="images/Icosphere.png"></div><div align="center">
6. Rename Armature to "Armature"

## Fmodel
I would not recommend using Fmodel, as it does not seem to export material names on many models (at least in my experience.)
1. Set up Fmodel as described [here.](../tools/fmodel.md)
2. Set Fmodel to export as uemodel, under Settings.
![](./images/image.png)
3. Open GGST in the Package tree (under pakchunk01, usually) then navigate to any model in the model tree (e.x. RED>Content>Chara>ANJ>Costume01>Mesh)
4. Right click any mesh and hit "save model".
5. Click the file when it exports in the console log at the bottom (white underlined link) to navigate to it.
6. Copy the directory from Explorer's link bar to Blender's "File -> Import -> .uemodel" import dialog.
7. Donezo. You will not have material names, however if you go into your model's corresponding Color01 folder and view "Base.uasset", it has the materials per model listed there. Many materials will be chunked (the model having multiple Blender material slots that are in fact the same original material), though, so you'll have to guess and check. It's difficult to explain, but generally a process learned over time - since it has to chunk for *larger materials*, though, it's usually just MI_MAIN_BASE.

Now you can go on to use this or get materials [onto your model.](../modding-texture/texture-blender-preview.md)
12 changes: 12 additions & 0 deletions src/modding-mesh/mesh-intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
# Mesh/Model
*This section is under construction, and was written by @muuyo*

<hr>
<br>

This section is reserved for all mesh mods - anything affecting the actual model of the character. Before embarking on this kind of project, I would recommend having at least minimal experience in [Blender](/tools/blender.md). It's perfectly possible to dive in head-first, however I've found many struggle to get a good product out without first knowing the interface.
If you're instead either bold or foolhardy like I was, read on.

You will need:
- The custom Unreal Engine from [section 1](ue4/getting-unreal.md)
- A copy of Blender (or other modeling software, however Blender is much more widely used among the modding community and so you'll likely find better support for it)
- A copy of UnrealPak from the [pak section](packing/pak-intro.md)

I recommend also using the Blender shader to accurately preview what you're doing from [this youtube playlist.](https://www.youtube.com/watch?v=a5Bz_3jZMBw&list=PLCkHUM_E60CSi1HowXR3v4uVWNqUDsl9l&index=7)
51 changes: 51 additions & 0 deletions src/modding-mesh/mesh-outlines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## Get your model outlines
*This section is under construction, and was written by @muuyo*

<hr>
<br>

okay so
quick rundown
no editor speak for this one
you got two options to make outlines work:
- set up tangents on your model, do a bunch of work, re-do it every export, but a bit better results (allegedly)
- don't do that, get pretty much the same results (AFAIK)

but to do either of those you need to do vertex colors first so
# VERTEX COLORS

remember, use blender 4.2, it's the only thing compatible with every tool you need
- get Vertex Color Master from [here](https://github.com/CGDJay/VertexColorMasterUpdate-blender-3.6-/releases/tag/1.4)
- install it into blender
- if your model doesn't have a Color attribute (properties at bottom right, then hit the little green triangle, then hit Color Attributes; you should see this:)

![Color attribute](./images/image-1.png)
- if you don't, click the little plus and add one with those settings
- cool. now select your model, change to Vertex Paint mode, hit the little VCM on the right
- change "Active Channels" to just A (to make Alpha the one you're editing; rundown of what each does [here](https://docs.google.com/document/d/1ejZ9TrIFNwiawLcFj-XRtaO3Vg9TxD04sR8HKOaRkGI/edit))
- Isolate Active Channel
- change Brush Settings to 0.73, hit Fill With Value, then Apply Changes

okay, that's done
now to
# THE UNREAL HALF
you have two options: tangents or normals

|tangents|normals|
|-|-|
easier to set up on the Unreal end | you have to set up One thing in unreal
requires re-doing every export | don't have to do anything in blender
doesn't work with models that have non-triangular faces | works with anything, afaik
theoretically more accurate (and controllable) results | one-and-done
<hr>

for tangents, go to [the tangent section](../mesh-tangents.md)

for normal based outlines:

- you'll be using a copy of MI_MAIN_OUTLINE
- copy it from the advanced project's Shared/CharaMaterial folder to anywhere **(use the updated ver, from [here!](../ue4/getting-unreal.md))**, I usually just put it under `XXX/Costume01/Material/Base/` then I rename it to something specific to my mod.
- right click, Create Material Instance, rename it to MI_MAIN_OUTLINE
- open that material instance, and *change the setting UseTangents to off.* note, the first checkbox changes *whether you're changing that value*, the second changes the actual value. like this:
![tangentscheckbox](./images/image-2.png)
- you should be done. apologies, haven't tested, this is a quick writeup. should work though. just make sure the file is named correctly, MI_MAIN_OUTLINE.
11 changes: 11 additions & 0 deletions src/modding-mesh/mesh-physics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# KawaiiPhysics animations
*This section is under construction, and was written by @muuyo*

<hr>
<br>

[UNDER CONSTRUCTION, I COULDN'T GET THIS WORKING, WILL RETURN SOMEDAY]

NOTE: This generally requires a good bit more work. A lot more work, in fact.

At the top left, hit Window -> Anim Slot Manager
Loading