We have a Steam curator now. You should be following it. https://store.steampowered.com/curator/44994899-RPGHQ/
Chat client updated, if you have issues using chat press CTRL + SHIFT + R to force a hard refresh.

[BG3][Resource] How to Change NPC Visuals

Game development hub. Projects, modding, and resources.

Moderator: Mod Janitor

Ignore Topic
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

[BG3][Resource] How to Change NPC Visuals

Post by orinEsque »

This is work in progress :)

Index
  1. OrinEsque's Data Mined Cheatsheets
  2. Prerequisites
  3. Find and Extract NPC's CharacterVisuals code.
  4. Swap Body Model & Animations
  5. Swap Head
  6. Swap Hair Model
  7. Add Horn, Tail, Fangs, Wings
  8. Swap Armor/Clothing
  9. Change Hair, Skin, Eye Color
  10. How to change Portraits
  11. Turning your Visual Changes into a Mod

Good to know: Larian's Shorthand for races

1.OrinEsque's Data Mined Cheatsheets
Hidden Content
This board requires you to be registered and logged-in to view hidden content.

[back to index]
2. Prerequisites
This guide assumes you know how to use BG3 Multimodders tool (BG3MT), unpacked your game data and know how to use the tool's search function. If not, read Getting Started with BG3 Modding.

[back to index]
3. Find and Extract NPC's CharacterVisuals file.
In this particular guide we will turn Lucretious into a bearded dwarf using code only.
  1. Open BGMT and Search Index for "Lucretious" (do not place any filters for file types).
  2. Notice that unlike before, there is no [PAK]_CharacterVisuals\_merged.lsf.lsx in the results. This is because Lucretious is not called by real his name in code.
    Image
  3. Open the results where it says \Levels\***\Characters\_merged.lsx.lsf using notepad++
  4. Ctrl+F and search for "Lucretious". First hit will be "EQP_WYR_Lucretious".
    Image
  5. Copy the UUID of the CharacterVisualResourceID and search for it using BGMT Search Index. This time you will find the [PAK]_CharacterVisuals file.
  6. Open the [PAK]_CharacterVisuals/_merged.lsf.lsx file using notepad++
  7. Search for the UUID we copied before. This will take you to Lucretious' Visuals
  8. Copy to a new file everything starting from "<node id=Resource>" (line 651003) to the corresponding "</node>" (line 651448).
    β–Ί Show Spoiler
  9. Go to the top of the merged.lsf.lsx file and grab the starting parent tags before the first <node id="Resource"> and add it to the line before <node id=Resource> in your new file.
  10. Go to the bottom of the merged.lsf.lsx file and grab the ending parent tags after the paired </node> of the last <node id="Resource"> (in this case the last 4 lines of the file).
    β–Ί Show Spoiler
  11. Save this somewhere as a .lsf.lsx file with a name of your choice. E.g.. lucretious.lsf.lsx. I'll describe where this goes later.

Faster Way to Find Characters
  1. Download the NPC_Lookup Table from the downloads above (need to be logged in)
  2. Open the spreadsheet in Microsoft Excel
  3. Hit Ctrl+F and search for "Lucretious". It will take you to the following row immediately.
    Image
  4. Copy the CharacterVisualResourceID and paste it in BG3MT search Index and it will show give you the required CharacterVisuals file among the results on first try.
Last edited by orinEsque on July 26th, 2024, 19:17, edited 110 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
4. Swap Body & Animations
Now that we extracted Lucretious' Character Visuals we'll change the 3D model of her body, and the corresponding body animations.
  1. Open lucretious.lsf.lsx that we made earlier in Notepad++
  2. Now look for the words "BaseVisuals" & "BodySetVisuals"
  3. Changing the UUID for BodySetVisuals will change the 3D model of Lucretious' Body.
  4. Changing the UUID for BaseVisuals will change Lucretious' Body Animations.
    Image
  5. Easiest way to get the UUIDs you need is to use my BodySetVisuals & BaseVisuals Cheatsheets.
  6. Search for "dwarf" in race column and "male" in gender column and you will find the UUIDs.
  7. Here is the BaseVisuals UUID from BaseVisuals Cheatsheet
    Image
  8. Here is the BodySetVisuals UUID BodySetVisuals Cheatsheet
    Image
  9. Copy and paste these UUIDs to Lucretious' BaseVisuals and BodySetVisuals respectively in your CharacterVisuals file ( lucretious.lsf.lsx ) like so:
    Image

Finding the UUIDs Manually
β–Ί Show Spoiler
Last edited by orinEsque on March 5th, 2024, 00:43, edited 24 times in total.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
5. Swap Head
  • Open Lucretious.lsf.lsx that we created before.
  • In the file, search for "Head" (include the quotation marks in your search).
    Image
  • Now we want to replace the UUID under head with the UUID of a dwarf head.
  • Easiest way to find a dwarf head UUID is to use my Spreadsheet for Heads.
  • Look for a head with dwarf race/species and male gender.
    Image
  • Copy and Paste one of the VisualResource in place of the "Head" UUID in the Lucretious.lsf.lsx.
Finding Head UUID manually
β–Ί Show Spoiler


[back to index]
6. Swap Hair Model
This is very similar to how you find a head model
  • Open Lucretious.lsf.lsx that we created before.
  • Search for "Hair" (include the quotation marks in your search).
  • Now we want to replace the UUID in this section with the UUID of a hair style of your choice.
    Image
  • Easiest way to do this is to use my Spreadsheet for Hairs.
  • Look up the name of a hairstyle in your character creator
  • Search for it in the ingameText column. Because we are looking for hair suitable for a short race, keep looking until you find a hair that has "Hair DWR" in the Slot column and "Male" in the gender column.
  • Copy the UUID from the VisualResourceID column and paste it in place of the "Hair" UUID in the Lucretious.lsf.lsx.
Last edited by orinEsque on March 5th, 2024, 19:52, edited 23 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
7. Add Horns, Tail, Fangs & Teeth

Adding Extra Slots for Horns, Tails etc
  1. Open Lucretious.lsf.lsx that we created before.
  2. Search for "Slot" (include quotation marks)
    Image
  3. Lucretious doesn't have any demonic features so we need to add slots for Tail, Fangs teeth.
  4. To add a new slot just duplicate one of the existing slots and change Slot name and UUID as you desire. (See below)
Adding Horns
  1. Open up the Spreadsheet Horns, Tail, Fangs & Wings
  2. In the horn section you will find that there's no horns specific for dwarves. (blender maybe required to correct horn position).
  3. For tutorial purposes lets pick the horn named "TIF_CHD_NKD_Horns_A" (i.e Tiefling child naked horn A).
  4. The spreadsheet says Slot is "Horns". So change the Slot value in Lucretious.lsf.lsx to match.
  5. Replace the VisualResource value to the corresponding VisualResourceID from the spreadsheet
    Image
Adding Tail
  1. Open up the Spreadsheet Horns, Tail, Fangs & Wings
  2. In the Tail section you will find that there's no tail specific for dwarves. (blender maybe required to correct tail position).
  3. For tutorial purposes lets pick the tail named "TIF_CHD_NKD_Body_A_Tail" (where CHD is child).
  4. The spreadsheet says Slot is "NakedBody". So change the Slot value in Lucretious.lsf.lsx to match.
  5. Replace the VisualResource value to the corresponding VisualResourceID from the spreadsheet
    Image
  6. Important: If your NPC is a tiefling, or your gave him a Tiefling BodySetVisuals, you don't need to give him a tail separately.
Adding Fangs
  1. Open up the Spreadsheet for Horns, Tail, Fangs & Wings
  2. In the Fangs section you will find that there are fangs for gnomes. (this maybe suitable for dwarves (untested))
  3. For tutorial purposes lets pick the fangs named "GNO_M_NKD_Head_C_Vampire_Fangs".
  4. The spreadsheet says Slot is "Headwear". So change the Slot value in Lucretious.lsf.lsx to match.
  5. Replace the VisualResource value to the corresponding VisualResourceID from the spreadsheet
    Image
Adding Wings
  1. Open up the Spreadsheet Horns, Tail, Fangs & Wings
  2. There are no Wings for dwarves, you would have to add new wings assets to the game by resizing existing wings in blender to fit the dwarf body.
  3. If this were a regular sized character, you would pick one of the wings from the Wings spreadsheet and use the "Slot" and VisualResourceID given there as we have done for Fangs, tail and horns.
Last edited by orinEsque on March 5th, 2024, 22:11, edited 17 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
8. Swap Armor/Clothing
  1. Open Lucretious.lsf.lsx that we created before.
  2. Search for "Slot" (include the quotation marks in your search).
    Image
  3. This section contains inventory "Slot"s whose value could be "Body"/"Footwear"/"Headwear"/"Gloves"/"Underwear"/"Private Parts" etc. These are the clothing/armor the NPC is wearing. "Body" can occur multiple times if the outfit is modular.
  4. To keep things simple give this new Lucretia the same outfit but suitable for Dwarves. To do this we have to look up what each of these Slot's UUIDs are.
  5. Copy one of the UUID's that I underlined e.g. "978ca733-f6c2-bc57-5449-42380d1747b9", and search for it in the Clothing/Armor Spreadsheet
    Image
  6. Search for the same UUID. This specific ones takes you to an outfit named: HUM_FS_ARM_Desire_Dress
  7. "HUM_FS_" stands for human female strong. Delete that part and copy everything after, i.e. ARM_Desire_Dress
  8. Search for "ARM_Desire_Dress" in the spreadsheet and you will find that another version of the dress exists but only for regular human sized females not dwarves or males.
  9. Let's then look for a different mage outfit. In Subtype column look for "Robe".
  10. I'll go with the one named "Simple Robe" in the ingameText column. Find the version of the robe for a Male Dwarf
    Image
  11. Notice the robe has two components, the Body and the Pants.
  12. Go to Lucretious.lsf.lsx and replace the UUID we started with, with the UUID for the Body component of simple robe.
  13. One of other two "Body" Slots for Lucretious is taken up by ARM_Desire_Pants. Replace the UUID with that of the Simple Robe Pants
  14. Delete the last "Body" Slot as it corresponds to ARM_Desire_Shoulder, as Simple Robe doesn't have a shoulder component
    Image
  15. If you follow the UUID for Lucretious' Footwear slot, you will find that it's called HUM_FS_ARM_Footwear_Leather_D. If you search for ARM_Footwear_Leather_D in the spreadsheet you will find a DWR_M_ARM_Footwear_Leather_D. This pair will fit the dwarven Lucretious. The process is similar for other slots as well.
Finding Clothing Manually
β–Ί Show Spoiler
Last edited by orinEsque on March 5th, 2024, 20:19, edited 12 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
9. Change Color of Hair, Skin, Eyes
  1. Open up the Lucretious.lsx.lsf file that we made before.
  2. Search for 02Skin. You should now see the MaterialPresets Section.
    Image
  3. Here you will find color presets for different things defined by the MapKeys:
    • Skin color = 02Skin Properties
    • Hair=03Hair
    • Eye color = 06Eyes
  4. If you want to change them you have to alter the UUID for the MaterialPresetResource to something else. You can find existing presets for Skin, Hair or Eye in my Spreadsheets
  5. Note: sometimes skin/eye/hair presets maybe missing because they are defined differently. But you can overwrite that by copy pasting the entire eye section I've marked above and changing the eye present to the one you want. This also applies to skin and hair color.
[back to index]
Eyes - Heterochromia
Manually Adding Heterochromia
  1. You can add all the heterochromia code before the first "ScalarParameters" node. See Below.
    Image
  2. Where the arrow is pointing, paste the following code:

    Code: Select all

    <node id="ScalarParameters">
    	<attribute id="Color" type="bool" value="False" />
    	<attribute id="Custom" type="bool" value="True" />
    	<attribute id="Enabled" type="bool" value="True" />
    	<attribute id="Parameter" type="FixedString" value="Heterochromia" />
    	<attribute id="Value" type="float" value="0" />
    </node>
    <node id="Vector3Parameters">
    	<attribute id="Color" type="bool" value="False" />
    	<attribute id="Custom" type="bool" value="True" />
    	<attribute id="Enabled" type="bool" value="True" />
    	<attribute id="Parameter" type="FixedString" value="Eyes_IrisSecondaryColour_L" />
    	<attribute id="Value" type="fvec3" value="0.982 0.096 0.096" />
    </node>
    <node id="Vector3Parameters">
    	<attribute id="Color" type="bool" value="False" />
    	<attribute id="Custom" type="bool" value="True" />
    	<attribute id="Enabled" type="bool" value="True" />
    	<attribute id="Parameter" type="FixedString" value="Eyes_IrisColour_L" />
    	<attribute id="Value" type="fvec3" value="0.999 0.225 0.25" />
    </node>
    
  3. Change fvec3 values for "Eyes_IrisSecondaryColour_L" and "Eyes_IrisColour_L" to change the color of the left eye.
    Image
  4. These color codes are floating RGBs, that you can make using this website: https://rgbcolorpicker.com/0-1
    WARNING: Remove the commas between the numbers or you will get an error when you try to pack the mod.


[back to index]
10. How to Change Portraits
All the portraits are in DDS format within the following locations.
Gustav_Textures.pak Mods\Gustav\GUI\Assets\Portraits
Gustav_Textures.pak Mods\GustavDev\GUI\Assets\Portraits
Shared.pak Mods\Shared\GUI\Assets\Portraits
Shared.pak Mods\SharedDev\GUI\Assets\Portraits

Find an NPC's Portrait
  1. Open Lucretious.lsf.lsx we made before.
  2. Copy her "ID" and search for it using BG3MT.
    Image
  3. You will find a .DDS file within Gustav_Textures
    Image
Portrait Generation using Ninja Ripper
  1. Install Ninja Ripper 1.7.1 - Download
  2. Find the VisualResourceID for an origin character, e.g. Wyll. You want the one that says "ORIGIN_Wyll" (not devil)
  3. Make a copy of Lucretious.lsf.lsx, e.g. Lucretious_portrait.lsf.lsx file earlier. Open it.
  4. Replace this ID with ORIGIN_Wyll's VisualResourceID using the NPCFinder Spreadsheet.
  5. Pack the mod.
  6. Drop it in your Mod Manager.
  7. Set up your ninja ripper to open dx11 version of bg3.exe
    Image
  8. Click "Settings" and specify your Rip Key for Textures. That's the only one you need for portraits.
  9. "Run" the game through NinjaRipper
  10. Create a new game, Select Wyll as your player character. Start game.
  11. You will find that this wyll and his portrait looks like lucretious now!
  12. Press the Rip Key for Textures. This should dump the files you need into the Output directory you specified in Ninja Ripper.
  13. Open up your output folder, and look for the .DDS file visually using windows explorer.
  14. You want this DDS file to overwrite Lucretious' icon in location we identified before: (Gustav_Textures\Mods\GustavDev\GUI\Assets\Portraits)
  15. To match this create the following folder within your mod: myFirstMod-v1.0\Mods\GustavDev\GUI\Assets\Portraits.
    Note: For portraits you cannot prevent an override by renaming "GustavDev" to your mod name like you can with LSF files. But this does not matter since you are only changing specific portraits with specific names.
  16. Rename your ripped DDS file to that of the original: "eb90eea1-afd3-4ad5-c6ee-79f26fcb8c26-EQP_WYR_Lucretious_(Icon_Human_Female_Strong).DDS"
  17. Place in in the Portraits folder you just created.
  18. Delete the Lucretious_portrait.lsf.lsx file (so wyll doesn't get overwritten)
  19. Repack your mod.
Portrait Generation using Screenshots
1. Take an ingame screenshot.
1. Install DDS file plugin for Photoshop (https://fnordware.blogspot.com/2014/09/ ... s-and.html)
2. Open original .DDS file in Photoshop
3. Paste in your screenshot of the NPC
4. Save with no changes to DDS file format.
5. WARNING: Photoshop saves your file as .dds (small letter). BG3 expects the file to be .DDS (capitals). You will need to manually check that the file extension is upper case. Otherwise the override won't work.

Turn based-combat, Character Creation, and portraits of transformed version of your Companions/Origins rely on these DDS files
Portraits in game of untransformed Companions/Origins is actually obtained from your live in game 3D model and is unaffected by the Portraits folder. So you need to rely on a level up to refresh the portrait.



[back to index]
Larian's Shorthand for races
  • DGB=Dragonborn
  • DWR=Dwarf
  • GTY=Githiyanki
  • HEL=Half Elf
  • HFL=Halfling
  • HUM=Human
  • TIF=Tiefling
  • ELF=Elf
  • HRC=Half Orc
Last edited by orinEsque on June 13th, 2024, 23:12, edited 21 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

[back to index]
10. Turning your Visual Changes into a Mod
Now that you are done editing your Lucretious.lsf.lsx. We want to move it to your mod package. This section assumes you have created the basic file structure required to create a mod package. Let's continue assuming your mod name is myFirstMod
  1. Your current file structure should look as follows:
    Image
  2. Now create this folder structure under myFirstMod-v1.0
    Public/myFirstMod/Content/[PAK]_CharacterVisuals

    Notice that CharacterVisual lsx files normally live in 4 different place in the base game. You are mimicking this file structure exactly, except the part in bold should be your mod's "Folder" name.
    • Public/Gustav/Content/[PAK]_CharacterVisuals/_merged.lsf
    • Public/GustavDev/Content/[PAK]_CharacterVisuals/_merged.lsf
    • Public/Shared/Content/[PAK]_CharacterVisuals/_merged.lsf
    • Public/SharedDev/Content/[PAK]_CharacterVisuals/_merged.lsf
  3. Move Lucretious.lsf.lsx to the [PAK]_CharacterVisuals folder. If you created everything correctly the structure of your mod should look like this:
    Image
    You can get this tree by opening myFirstMod-v1.0 as a workspace in Notepad++. If your structure looks nothing like this, consult the tutorial on basic file structure required to create a mod package
  4. Now you can drop the myFirstMod-v1.0 folder into the blue area in BG3MT.
    Image
  5. This should create myFirstMod-v1.0.zip.
  6. Drop this zip into mod manager > Move to the left > export load order
  7. If you did everything correctly Lucretious' new looks should show up in-game
Last edited by orinEsque on August 3rd, 2024, 22:04, edited 21 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
lexo1000
Posts: 98
Joined: Dec 8, '23
Location: France

Geolocation

Post by lexo1000 »

Great tutorial thank you :)
User avatar
Art Department
Posts: 4
Joined: Dec 11, '23

Geolocation

Post by Art Department »

Regards color options, the game uses fvec3 for colors, its like imagine a float RGB (with decimals instead only integers). So everytime you find something like:

type="fvec3" value="0.1569008 0.1870828 0.1975549", for anything like skin colors, hair, eyes, clothes etc... you can customize at your color choice, and don't need only uses presets.

here 2 sites that can be useful for you create your desired color and put in game.
https://airtightinteractive.com/util/hex-to-glsl/
https://rgbcolorpicker.com/0-1

Just remember to add "," between each number on those calculators: (0.1569008, 0.1870828, 0.1975549), but not in game files πŸ˜‰
Last edited by Art Department on March 5th, 2024, 18:51, edited 1 time in total.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Art Department wrote: ↑ March 5th, 2024, 18:45
Regards color options, the game uses fvec3 for colors, its like imagine a float RGB (with decimals instead only integers). So everytime you find something like:

type="fvec3" value="0.1569008 0.1870828 0.1975549", for anything like skin colors, hair, eyes, clothes etc... you can customize at your color choice, and don't need only uses presets.

here 2 sites that can be useful for you create your desired color and put in game.
https://airtightinteractive.com/util/hex-to-glsl/
https://rgbcolorpicker.com/0-1

Just remember to add "," between each number on those calculators: (0.1569008, 0.1870828, 0.1975549), but not in game files πŸ˜‰
FYI
"fvec3" are floating vectors with 3 dimensions (or 3 distinct numbers) in this case RGB (red green blue) given in decimals
"fvec4" also exists with is floating vectors with 4 dimensions and will take RGBA (red green blue alpha) where alpha is opacity.
Last edited by orinEsque on March 5th, 2024, 19:49, edited 2 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
OnTilt
Posts: 1019
Joined: Feb 25, '24

Geolocation

Post by OnTilt »

This was a really great tutorial and it made things really simple. Thank you for the effort, I wouldn't even know how to get started otherwise.

I can now edit random NPCs pretty quickly, however editing origin characters seems to be a totally different ballgame. I've been cracking open mods to learn, but there's a lot I'm not getting. I'm not going to ask you to write a guide for that, but if you (or anyone else reading this) knows of one, or other resources to continue learning I'd really appreciate it.

Also, if you weren't already aware, your Hair & Beards cheat sheet says its been deleted by an owner.

Thank you again for the awesome work.
You cannot reason a person out of a position he did not reason himself into in the first place.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

OnTilt wrote: ↑ March 6th, 2024, 11:22
This was a really great tutorial and it made things really simple. Thank you for the effort, I wouldn't even know how to get started otherwise.

I can now edit random NPCs pretty quickly, however editing origin characters seems to be a totally different ballgame. I've been cracking open mods to learn, but there's a lot I'm not getting. I'm not going to ask you to write a guide for that, but if you (or anyone else reading this) knows of one, or other resources to continue learning I'd really appreciate it.

Also, if you weren't already aware, your Hair & Beards cheat sheet says its been deleted by an owner.

Thank you again for the awesome work.
Whoops! Fixed the hair and beard link. Thanks for the feedback :)

With origin characters, all of their character visuals are in the NPC finder, but there are multiple visual resources per origin character.
Since the online sheet can't be sorted or filtered. I suggest you download it to your own pc, then filter the "Codename" for lets say "Astarion". and you should get a list of hits. The ones with ORIGIN_Astarion and INTRO_Astarion are the ones you care about. Their Skin/Eye/Hair color present lives in a different place so it isn't in the excel sheet. But you can trace the UUID back to where they are using BG3MT

You can see though now how the visual part of changing all the fembosses in the game to male would be SUPER easy. Even voice AI isn't THAT bad, unless you are dubbing over their pronouns.
Last edited by orinEsque on March 6th, 2024, 14:02, edited 3 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
Kowe
Posts: 386
Joined: Feb 6, '24
Gender: Helicopter

Geolocation

Adventurer's Guild

Post by Kowe »

OnTilt wrote: ↑ March 6th, 2024, 11:22
This was a really great tutorial and it made things really simple. Thank you for the effort, I wouldn't even know how to get started otherwise.

I can now edit random NPCs pretty quickly, however editing origin characters seems to be a totally different ballgame. I've been cracking open mods to learn, but there's a lot I'm not getting. I'm not going to ask you to write a guide for that, but if you (or anyone else reading this) knows of one, or other resources to continue learning I'd really appreciate it.

Also, if you weren't already aware, your Hair & Beards cheat sheet says its been deleted by an owner.

Thank you again for the awesome work.
To add a bit to what Orin wrote.
The companions with origin stories, like Astarion, have ORIGIN_INTRO_Astarion (or any companion's name) for their introductory cut-scene. To use our vampire companion for another example, ORIGIN_Astarion responds to his in-game visuals, meaning what he looks like when you have him around while playing, and what he looks like on the character creation menu.
Something has to be added here though. A few companions undergo "transformations", i.e. Wyll and Gale. In the case of Wyll, you have ORIGIN_Wyll_Devil. And for Gale, something like ORIGIN_Gale_God or ORIGIN_Gale_Epi_NoTattoo. So with an incomplete .lsf file, you may have Wyll or Gale suddenly turn back to their original forms and visuals. Without the use of the necessary resource nodes.
Last edited by Kowe on March 6th, 2024, 20:51, edited 1 time in total.
User avatar
Oldtimer
Posts: 108
Joined: Jan 15, '24

Geolocation

Post by Oldtimer »

This is **** comprehensive - not sure I'd want to try my hand at it though, at least not quite yet, since I Have a bigger problem, the writing and the NPCs from the old games that I really want replaced with new unknown people. That said, just replacing them won't be enough since the game's general writing stinks, and I assume that's a lot bigger fish to gut than some visuals...

Dear god, I so want to like this game, I would love to return to it, but seeing an old Jaheira, hearing about the speedbump Sarevok (never finished the game so I never met him, Minsc or Viconia) and realising there is no cure (spoiler alert) to just mention a few problems I have, I just can't.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Oldtimer wrote: ↑ March 6th, 2024, 21:32
This is **** comprehensive - not sure I'd want to try my hand at it though, at least not quite yet, since I Have a bigger problem, the writing and the NPCs from the old games that I really want replaced with new unknown people. That said, just replacing them won't be enough since the game's general writing stinks, and I assume that's a lot bigger fish to gut than some visuals...

Dear god, I so want to like this game, I would love to return to it, but seeing an old Jaheira, hearing about the speedbump Sarevok (never finished the game so I never met him, Minsc or Viconia) and realising there is no cure (spoiler alert) to just mention a few problems I have, I just can't.
Well, you can at least remove Jaheira's wrinkles and give her a young body. No saving the writing though.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
lowryder
Posts: 5
Joined: Apr 22, '24

Geolocation

Post by lowryder »

Orin, thank you immensely. Your tutorial being helpful is an understatement. Just out of curiosity, how did you begin with this? It’s always fascinating to learn about the original insights and innovative approaches of pioneers. I've successfully repaired my Marcus and even managed to incorporate custom assets. I'm considering releasing the mod eventually -- I'd like to reimagine a few of the bosses in the game. :)

I lack the necessary privileges to send you a private message. Could you possibly share a link or a password to the spreadsheet? Interested in the data regarding eyes, tattoos, and clothing.

I guess I just need to add new slots for, say, a tattoo, right?
Last edited by lowryder on April 23rd, 2024, 20:15, edited 1 time in total.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

lowryder wrote: ↑ April 23rd, 2024, 20:12
Orin, thank you immensely. Your tutorial being helpful is an understatement. Just out of curiosity, how did you begin with this? It’s always fascinating to learn about the original insights and innovative approaches of pioneers. I've successfully repaired my Marcus and even managed to incorporate custom assets. I'm considering releasing the mod eventually -- I'd like to reimagine a few of the bosses in the game. :)

I lack the necessary privileges to send you a private message. Could you possibly share a link or a password to the spreadsheet? Interested in the data regarding eyes, tattoos, and clothing.

I guess I just need to add new slots for, say, a tattoo, right?
You should reply/mention users when you post. I completely missed this message, in case you were wondering why I didn't reply :D

Begin with the tutorial? I started off by reverse engineering mods, then reverse engineering the vanilla game files. There are BG3 wiki and various modding resources out there that got me going. Some better made than others (virtual texture editing is so poorly done I had an aneurysm decoding that nonsense). But none of these tutorials address NPC modding and I pretty much became a pro by the time No Alphabets was done. So I decided I should just share my learnings. Still a lot left to share actually.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
Lyx0081
Posts: 61
Joined: Feb 14, '24

Geolocation

Post by Lyx0081 »

@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
You mean heterochromia?
Wyll liiterally has a stone instead of an eye ( in his 3d mesh). Not sure about Oliver. But if he has hetero chromia we can try and replicate that.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
Lyx0081
Posts: 61
Joined: Feb 14, '24

Geolocation

Post by Lyx0081 »

orinEsque wrote: ↑ June 13th, 2024, 17:19
Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
You mean heterochromia?
Wyll liiterally has a stone instead of an eye ( in his 3d mesh). Not sure about Oliver. But if he has hetero chromia we can try and replicate that.
yeah, Oliver is that tiefling kid from the shadows in act 2. and he has heterochromia (https://bg3.wiki/w/images/d/d4/Oliver_W ... w_Face.jpg)
I've managed to find a _merged file with some of his data, but i don't really see the stuff about separate eye colors
idk how useful it may be, but i've been looking at the data under those names:
S_SCL_OliversDiary_OliverShadow_CINE_4f6e63a1-b143-46b1-ac0e-834494dfdc6a_000
S_SCL_OliversDiary_OliverShadow_4f6e63a1-b143-46b1-ac0e-834494dfdc6a
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Lyx0081 wrote: ↑ June 13th, 2024, 17:55
orinEsque wrote: ↑ June 13th, 2024, 17:19
Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
You mean heterochromia?
Wyll liiterally has a stone instead of an eye ( in his 3d mesh). Not sure about Oliver. But if he has hetero chromia we can try and replicate that.
yeah, Oliver is that tiefling kid from the shadows in act 2. and he has heterochromia (https://bg3.wiki/w/images/d/d4/Oliver_W ... w_Face.jpg)
I've managed to find a _merged file with some of his data, but i don't really see the stuff about separate eye colors
idk how useful it may be, but i've been looking at the data under those names:
S_SCL_OliversDiary_OliverShadow_CINE_4f6e63a1-b143-46b1-ac0e-834494dfdc6a_000
S_SCL_OliversDiary_OliverShadow_4f6e63a1-b143-46b1-ac0e-834494dfdc6a
I'll put this on my to do and have a quick dig. It can't be complicated. And now that you mention it. This guide is incomplete without heterochromia
Last edited by orinEsque on June 13th, 2024, 18:23, edited 1 time in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
Kowe
Posts: 386
Joined: Feb 6, '24
Gender: Helicopter

Geolocation

Adventurer's Guild

Post by Kowe »

Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
Heterochromia is a parameter thing. The stuff below MaterialPresets. You enable it by setting it to True, then choose the eye-color with other parameters.
Not 100 % sure anymore, but it should be Iris_Colour & Iris_Color_L for the respective eyes. Probably even Vector3Parameters since they should use RGB values. You need to use websites which translate color into RGB values and then into decimal to properly use them in CharacterVisuals files.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Kowe wrote: ↑ June 13th, 2024, 19:13
Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
Heterochromia is a parameter thing. The stuff below MaterialPresets. You enable it by setting it to True, then choose the eye-color with other parameters.
Not 100 % sure anymore, but it should be Iris_Colour & Iris_Color_L for the respective eyes. Probably even Vector3Parameters since they should use RGB values. You need to use websites which translate color into RGB values and then into decimal to properly use them in CharacterVisuals files.
Lyx0081 wrote: ↑ June 13th, 2024, 17:55
orinEsque wrote: ↑ June 13th, 2024, 17:19
Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
You mean heterochromia?
Wyll liiterally has a stone instead of an eye ( in his 3d mesh). Not sure about Oliver. But if he has hetero chromia we can try and replicate that.
yeah, Oliver is that tiefling kid from the shadows in act 2. and he has heterochromia (https://bg3.wiki/w/images/d/d4/Oliver_W ... w_Face.jpg)
I've managed to find a _merged file with some of his data, but i don't really see the stuff about separate eye colors
idk how useful it may be, but i've been looking at the data under those names:
S_SCL_OliversDiary_OliverShadow_CINE_4f6e63a1-b143-46b1-ac0e-834494dfdc6a_000
S_SCL_OliversDiary_OliverShadow_4f6e63a1-b143-46b1-ac0e-834494dfdc6a
Added instructions for heterochromia
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
Lyx0081
Posts: 61
Joined: Feb 14, '24

Geolocation

Post by Lyx0081 »

orinEsque wrote: ↑ June 13th, 2024, 23:11
Kowe wrote: ↑ June 13th, 2024, 19:13
Lyx0081 wrote: ↑ June 13th, 2024, 14:08
@orinEsque thanks for a great and detailed tutorial! I have a question though.
There is only one setting for an eye color, but is there a way to make a character with different eyes? Like Wyll or Oliver
Heterochromia is a parameter thing. The stuff below MaterialPresets. You enable it by setting it to True, then choose the eye-color with other parameters.
Not 100 % sure anymore, but it should be Iris_Colour & Iris_Color_L for the respective eyes. Probably even Vector3Parameters since they should use RGB values. You need to use websites which translate color into RGB values and then into decimal to properly use them in CharacterVisuals files.
Lyx0081 wrote: ↑ June 13th, 2024, 17:55
orinEsque wrote: ↑ June 13th, 2024, 17:19


You mean heterochromia?
Wyll liiterally has a stone instead of an eye ( in his 3d mesh). Not sure about Oliver. But if he has hetero chromia we can try and replicate that.
yeah, Oliver is that tiefling kid from the shadows in act 2. and he has heterochromia (https://bg3.wiki/w/images/d/d4/Oliver_W ... w_Face.jpg)
I've managed to find a _merged file with some of his data, but i don't really see the stuff about separate eye colors
idk how useful it may be, but i've been looking at the data under those names:
S_SCL_OliversDiary_OliverShadow_CINE_4f6e63a1-b143-46b1-ac0e-834494dfdc6a_000
S_SCL_OliversDiary_OliverShadow_4f6e63a1-b143-46b1-ac0e-834494dfdc6a
Added instructions for heterochromia
thanks! i don't want to be too annoying, but now it makes me wonder if applying a texture of volo's eye or hag's eye could be possible.
i've looked through the code and they have their own uuids and parameterUUIDs. ParameterUUID seems to control the 'eye color' or rather a texture
here's the preset names if it's gonna be helpful
S_HAG_LeftEyeBlind
S_HAG_RightEyeBlind
CAMP_Volo_ErsatzEye
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

Lyx0081 wrote: ↑ June 14th, 2024, 04:35
orinEsque wrote: ↑ June 13th, 2024, 23:11
Kowe wrote: ↑ June 13th, 2024, 19:13


Heterochromia is a parameter thing. The stuff below MaterialPresets. You enable it by setting it to True, then choose the eye-color with other parameters.
Not 100 % sure anymore, but it should be Iris_Colour & Iris_Color_L for the respective eyes. Probably even Vector3Parameters since they should use RGB values. You need to use websites which translate color into RGB values and then into decimal to properly use them in CharacterVisuals files.
Lyx0081 wrote: ↑ June 13th, 2024, 17:55


yeah, Oliver is that tiefling kid from the shadows in act 2. and he has heterochromia (https://bg3.wiki/w/images/d/d4/Oliver_W ... w_Face.jpg)
I've managed to find a _merged file with some of his data, but i don't really see the stuff about separate eye colors
idk how useful it may be, but i've been looking at the data under those names:
S_SCL_OliversDiary_OliverShadow_CINE_4f6e63a1-b143-46b1-ac0e-834494dfdc6a_000
S_SCL_OliversDiary_OliverShadow_4f6e63a1-b143-46b1-ac0e-834494dfdc6a
Added instructions for heterochromia
thanks! i don't want to be too annoying, but now it makes me wonder if applying a texture of volo's eye or hag's eye could be possible.
i've looked through the code and they have their own uuids and parameterUUIDs. ParameterUUID seems to control the 'eye color' or rather a texture
here's the preset names if it's gonna be helpful
S_HAG_LeftEyeBlind
S_HAG_RightEyeBlind
CAMP_Volo_ErsatzEye
You can't do these with simple parameter change. You have to make a new head mesh with the eye stone. Make a new head lsf file where you define the new stone eye and the texture that goes with it.

And you have to manually do this per head.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
vGreg
Posts: 1
Joined: Jun 21, '24

Geolocation

Post by vGreg »

Hey @orinEsque thank you for this amazing tutorial, I'm interested in your data about animation swapping and changing NPC visuals.
I can't send you a PM because I'm not authorized. Can you possibly share the password?
Thank you again for your incredible work.
Last edited by vGreg on June 21st, 2024, 02:41, edited 1 time in total.
User avatar
JediMazter
Posts: 1
Joined: Jun 27, '24

Geolocation

Post by JediMazter »

Hello, i cannot DM but i am interested in the password to the NPC finder sheet

I am not a modmaker, but i've been trying to find specific hair/skin colour details for a few specific NPCs for the purpose of using as art references
i've tried a billion other things and way too much time on google; i think this spreadsheet may be my last hope!
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

For those wanting to see how many ******* are in the game, I've added a skin, hair, eye color section + their head and hair model in the Detailed NPC finder table.
Last edited by orinEsque on July 3rd, 2024, 01:54, edited 2 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
seph9g
Posts: 3
Joined: Jul 26, '24

Geolocation

Post by seph9g »

Than you for this tutorial!
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

seph9g wrote: ↑ July 26th, 2024, 17:26
Than you for this tutorial!
Oh you're so welcome. I'm sure your report will be dealt treated with, with the consideration it deserves.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.