Akderebur and I worked together to make a Noesis script for that game. It works on the .mesh files extracted by rfuzzo's CP77 Tools https://github.com/rfuzzo/CP77Tools
Supported:
-positions (vertices scaled correctly), UVs, normals, bone indices, bone weights, bones and bone names.
06/02/2021 EDIT : Big thanks to alphaZ, who added a lot of features to our original quick and dirty script. You can download his much more complete and actively maintained version of the script here : viewtopic.php?f=16&t=23162&start=30#p171144
Credits:
-akderebur and I for researching the format and writing the original script
-alphaZ for doing additional research and improving our original release
-rfuzzo for the CP77Tools
-SurprisedMango, Divined, Yoratoni, ZeRoY, Banishingshift for some help for the tests
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Cyberpunk 2077 Noesis script
-
- ultra-n00b
- Posts: 1
- Joined: Mon Nov 23, 2020 10:51 pm
- Been thanked: 1 time
- Joschka
- mega-veteran
- Posts: 286
- Joined: Fri Aug 09, 2019 3:51 pm
- Has thanked: 73 times
- Been thanked: 413 times
Re: Cyberpunk 2077 Noesis script
Script updated to version 1.1
-Normal support added. Apparently we had them correct in the first place, so people curious enough to uncomment lines 327 to 330 had them already, the Noesis aspect seemed weird but the square norm is always 1 and they make sense on simple meshes so I guess they're right... Thanks to HitmanHimself for the help to confirm the format. If you prefer the old normals, put the "bComputeNormals" option to False at the top.
-LOD filtering added, the script will ignore the low poly version of the submeshes now. If you want them, put the "bHighestLODOnly" option at the top to False
-Better error handling, instead of crashing the script will print something in the console. 95% of the errors come from the wrong buffer file being grabbed so if you have an issue try to rename both the .mesh and the .buffer file
If other people are interested in the game feel free to use the code and update the script/make better tools for that game as I won't update it anymore.
Hope that helps.
-Normal support added. Apparently we had them correct in the first place, so people curious enough to uncomment lines 327 to 330 had them already, the Noesis aspect seemed weird but the square norm is always 1 and they make sense on simple meshes so I guess they're right... Thanks to HitmanHimself for the help to confirm the format. If you prefer the old normals, put the "bComputeNormals" option to False at the top.
-LOD filtering added, the script will ignore the low poly version of the submeshes now. If you want them, put the "bHighestLODOnly" option at the top to False
-Better error handling, instead of crashing the script will print something in the console. 95% of the errors come from the wrong buffer file being grabbed so if you have an issue try to rename both the .mesh and the .buffer file
If other people are interested in the game feel free to use the code and update the script/make better tools for that game as I won't update it anymore.
Hope that helps.
Re: Cyberpunk 2077 Noesis script
Are you guys able to export the meshes from the game? I would love to get my hands on the guns and some of the modeled cybernetics and 3d print them.
- Joschka
- mega-veteran
- Posts: 286
- Joined: Fri Aug 09, 2019 3:51 pm
- Has thanked: 73 times
- Been thanked: 413 times
Re: Cyberpunk 2077 Noesis script
Yeah I know, I said it was the last update but oh well...
Script updated to version 1.2, full skeleton support
Skeleton information is located in .rig files, if you put the option to load it at the top (put by default) you'll be asked to choose a .rig file. If the one you chose is not compatible, it'll ask for another. If you chose the right one it'll load the associated rig.
Script updated to version 1.2, full skeleton support
Skeleton information is located in .rig files, if you put the option to load it at the top (put by default) you'll be asked to choose a .rig file. If the one you chose is not compatible, it'll ask for another. If you chose the right one it'll load the associated rig.
-
- ultra-n00b
- Posts: 1
- Joined: Fri Oct 23, 2020 3:58 pm
- Joschka
- mega-veteran
- Posts: 286
- Joined: Fri Aug 09, 2019 3:51 pm
- Has thanked: 73 times
- Been thanked: 413 times
Re: Cyberpunk 2077 Noesis script
So I've been told that some meshes used several .rig files, as a result the script was rejecting some valid rig files as they didn't have all the bone information.
This is not an issue I can solve elegantly as :
-I can't use a hardcoded bone-parent list, some bones have different parents depending on the model
-I can't check easily if the rig is indeed compatible with the mesh as only a subset of the mesh bones info may contained in the .rig, the rest being in another one.
The only way to have a clean full skeleton would be to reverse how the game knows which .rig files to use, considering parenting can easily be fixed I only introduced a new option to deal with this.
Script updated to version 1.2.1
New option : bLoadSeveralRigFiles. This is how it works, you'll be prompted to choose .rig files until:
-all the bones will have parenting info parsed
-you press cancel
After selecting a .rig file at each stage, it will be parsed and the console output will show you the names of the bones left without parents, this will give you an idea of a possible other .rig file to grab to feed the ones missing.
If the parent is not in the original mesh however the bones will result unparented so that option needs to be used only if the first one failed.
In addition to that, I included a .txt file with the bone names on the left and all its possible parents on the right (this file was generated from all the .rig files), this will be helpful if you want to finish the job by hand.
That error means that the .buffer wasn't find, your extraction is not correct. If not I can't help you sorry, I'm done with that game for now.
This is not an issue I can solve elegantly as :
-I can't use a hardcoded bone-parent list, some bones have different parents depending on the model
-I can't check easily if the rig is indeed compatible with the mesh as only a subset of the mesh bones info may contained in the .rig, the rest being in another one.
The only way to have a clean full skeleton would be to reverse how the game knows which .rig files to use, considering parenting can easily be fixed I only introduced a new option to deal with this.
Script updated to version 1.2.1
New option : bLoadSeveralRigFiles. This is how it works, you'll be prompted to choose .rig files until:
-all the bones will have parenting info parsed
-you press cancel
After selecting a .rig file at each stage, it will be parsed and the console output will show you the names of the bones left without parents, this will give you an idea of a possible other .rig file to grab to feed the ones missing.
If the parent is not in the original mesh however the bones will result unparented so that option needs to be used only if the first one failed.
In addition to that, I included a .txt file with the bone names on the left and all its possible parents on the right (this file was generated from all the .rig files), this will be helpful if you want to finish the job by hand.
That error means that the .buffer wasn't find, your extraction is not correct. If not I can't help you sorry, I'm done with that game for now.
-
- ultra-n00b
- Posts: 1
- Joined: Sat Dec 19, 2020 2:16 pm
Re: Cyberpunk 2077 Noesis script
First of all - thank you Joschka and akderebur !!!
I understand that you don't want to continue updating the script, but I'm just giving an idea here - maybe we can give the morph targets some love.
This is basically the character customization.
All of the facial features you get when you start the game.
As far as I understand they're stored here:
basegame_4_gamedata\base\characters\head\player_base_heads\player_female_average\
in these .morphtarget files.
Usually morph targets are just vertex positions, there should be no faces, uvs or other bullcrap.
Maybe it's possible to load them the same way the .rig files are loaded in fmt_mesh 1.2.1 with that additional file loader.
Sample:
https://www.dropbox.com/s/5md26ojsvnjmp ... e.zip?dl=0
Anyway, we can also wait for the mod tools
I understand that you don't want to continue updating the script, but I'm just giving an idea here - maybe we can give the morph targets some love.
This is basically the character customization.
All of the facial features you get when you start the game.
As far as I understand they're stored here:
basegame_4_gamedata\base\characters\head\player_base_heads\player_female_average\
in these .morphtarget files.
Usually morph targets are just vertex positions, there should be no faces, uvs or other bullcrap.
Maybe it's possible to load them the same way the .rig files are loaded in fmt_mesh 1.2.1 with that additional file loader.
Sample:
https://www.dropbox.com/s/5md26ojsvnjmp ... e.zip?dl=0
Anyway, we can also wait for the mod tools
Re: Cyberpunk 2077 Noesis script
Really hoping someone can pick up the torch and continue work on this so that we can get intact UV's on exported models, or that something else comes along. Tried multiple weapons in multiple formats, the UV's are either dead (blank) or messed up depending on which format, don't match the textures at all (I'm not talking about being flipped).
Re: Cyberpunk 2077 Noesis script
Hi guys, I'm new here and new to this modeling stuff. I don't know where I would go with this question, but when I load up Noesis, and click a character, it shows a grey character (much like a PS2 character looks without texture) and like the title says, there's no texture on the character. Like no clothing, hair, just straight up grey character. Anyone know how to do get them?