The rules have been updated, read them now: Rules!

Rainbow Six: Siege Models Thread

Post questions about game models here, or help out others!
Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Wed Jan 13, 2021 8:31 am

Python by default prints integers as decimals. If you convert 947309791 to hex, you will get 0x3876ccdf. Add this value to r6s/tex.py into a list in is_texture() function (you can actually add even a decimal, it will work exactly the same) and try dumping some character or gun asset. It should dump 4k textures as well.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

User avatar
Custard
beginner
Posts: 39
Joined: Fri Oct 25, 2019 12:33 am
Has thanked: 9 times
Been thanked: 8 times

Re: Rainbow Six: Siege Models Thread

Post by Custard » Wed Jan 13, 2021 2:02 pm

That magic has worked for textures4, but level 4 diffuse textures don't want to come out and play.

When doing a asset_dump I now get higher res norms and whatever the other ones are. A roam_textures catches nothing in textures4 unless the conditions are modified to not demand tex.tex_type 0. I demanded no specific tex.tex_type at all but diffuse textures were not among results.

I used this advanced script to scan several texture4.forges for any different magic number at all, there were no hits..

Code: Select all

with r6s.forge.parse('B:/Ubisoft/Siege/datapc64_merged_set01_bnk_textures4.forge') as forge:
    for i,e,n,c in forge.files():
        data = r6s.forge.getdatastream(c.file, forge.reader)
        with r6s.tex.Tex(data) as tex:
            if n.file_type==947309791: print("Daka daka dakka")
            else: input(n.file_type)
It'd be weird if there was no diffuse textures in all those textures4 packs, however I have seen 4K sizes produced from textures3 (e.g Tachanka's LMG which I found). Technically possible that they mostly used the ultra texture pack for secondary texture improvements? Many of the norm maps I seen aren't even 1K without it.

Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Wed Jan 13, 2021 3:17 pm

Try not to check for that specific magic, but rather collect all possible magics. Create a set() and add to it all magics you find. Pdeudocode:

Code: Select all

magics = set()
with r6s.forge.parse(your_forge) as f:
    magics = magics | set(x.file_type for x in f.names)
print(magics)
Chances are they have another container that we've missed.
Last edited by Tushkan on Wed Jan 13, 2021 3:46 pm, edited 1 time in total.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

gep55
advanced
Posts: 68
Joined: Fri Feb 01, 2019 2:33 pm
Has thanked: 14 times
Been thanked: 4 times

Re: Rainbow Six: Siege Models Thread

Post by gep55 » Wed Jan 13, 2021 3:42 pm

Tushkan wrote:
Wed Jan 13, 2021 2:06 am
You can buy where ever suits you. I'd suggest to wait for sales, siege often goes for sale with up to 75% discount on some versions. I'd also suggest you to buy not the cheapest one so you don't have to grind to open all operators. And yes, operators are only locked in-game, yet all resources are available right away (otherwise how would you see an opponent playing an operator you don't own yet). In short, if you only want to rip characters then buy cheapest release or even ask someone to share archives with you. If you want to play it then buy at least a release with all basic operators unlocked.
Thanks, good to know. I'm trying to buy the cheap version of the game on Steam at the moment, but the payment system doesn't seem to be working. Since I only want to rip assets, I'd love to just get the .forge archives if I could.

Edit - Nevermind, bought the game and downloading it now.

JakeMiles
advanced
Posts: 47
Joined: Wed Aug 12, 2015 11:59 pm
Has thanked: 21 times
Been thanked: 3 times

Re: Rainbow Six: Siege Models Thread

Post by JakeMiles » Wed Jan 13, 2021 3:52 pm

Trying to find head from Elite skin, now don't have result, will try scan other forges. :D
Image

I know skin and weight not coded, how about skeletal, maybe in future search by skeletal match and rip asset full (i mean all parts with come this skel, like head, hair, etc)?

Can possible to know some sets address or name by hex viewving forge or cache files, sample, i know name of Elite skin or part of it (UID), and with this get some info where find others parts from this skin, head etc. Or maybe by numbers like head start with one numbers other parts with different. Or it absolutely random and need to know all real addresses?

P.S. Here a samples how CAV skin must looks, https://r6skin.com/2019/11/12/caveira-elite-skin/
Where i can get full parts i ask about textures or google it self, i think PBR pipeline in siege same as most cases, and read about it, now i don't understand much what are red, green textures, and others blue, i've know where diffuse and normal, but wich is roughness or others texures and wich chanel it take i didn't know currently :)

Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Wed Jan 13, 2021 4:08 pm

Skeleton is stored inside an asset file (turns out it's actually called a BuildTable). The folder you have created by dump_asset has it's name as a long number. That's actually an asset's UID. You can dump it using that uid (you'll have to write your script, I did not include one for that). I'm still reversing those and it's going to take long time. So no skeletons for now. In case you want to rip it manually, skeleton's magic is 0x24AECB7C (7C CB AE 24). You can find such value inside an asset file and manually extract bones matrices. But judging by your current python skills it won't be easy for you )

Missed your question about how to find head based on body. Short answer is: I have no clue. I have to yet find structures that describe such assemblies. I would rather find localization links so we can search items by their names. But that's not even remotely implemented atm.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

gep55
advanced
Posts: 68
Joined: Fri Feb 01, 2019 2:33 pm
Has thanked: 14 times
Been thanked: 4 times

Re: Rainbow Six: Siege Models Thread

Post by gep55 » Thu Jan 14, 2021 3:44 pm

Hi again,

I just installed the game from Steam, but I'm a bit confused as to what the 'test server' is? There are .forge files with it, but do I need them, or just the ones located with the game?

Cheers :)

Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Thu Jan 14, 2021 4:00 pm

Test server is basically what the name says. It's a WIP snapshot that is used to test new features before release. It has newest assets if those are intended. You can dig it but while we don't have any means of identifying assets it won't be of much use unless you're ready to check all 100gb worth of items.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

JakeMiles
advanced
Posts: 47
Joined: Wed Aug 12, 2015 11:59 pm
Has thanked: 21 times
Been thanked: 3 times

Re: Rainbow Six: Siege Models Thread

Post by JakeMiles » Thu Jan 14, 2021 6:05 pm

Okay I've found head! Just grab all meshes from dump_asset.py, and spend more time by blender load up it (i split meshes to different folder like part1, part2 etc. becouse i didn't want try load 4000+ meshes be one time) for separate and filter by hand :D

If someone interested here a meshes UID:

Code: Select all

Caveira MATA-LEAO:
Body: 233351024927
Head: 233351024906
When i've dumped it asset folder have this numbers:

Code: Select all

235493428015
235493428027
But again a have some bugs :keke:

Ok, number one:

Image
Image
Image

Lets explain, 91271895122.001 this load from asset, wich i dump, Eyes and Mouth look like mistatch, but eyes and mouth which you provide from faze head looks good, but it like same asset number and which come from dump asset look screwed.

number two not your bug just show:

Image
Image

This is subsurface wich a don't set right, ive just copy material presset from your faze head, yeah i know this is misstake, i bit later i try setup it right like in game look as i can. But this is hard asset come with more textrures wich is blend with masks, need looks better what texture is it.

And last number three:

Image


Some texture black in preview (blender\windows) but when i apply in blender it looks normal (this is color texure like deffuse), i think they have multi channel or swaped it, and preview buggy.
If someone know about textures help me explain this:

Image

Okay
1: is Diffuse
2: is Normal? (or normal from previous image, few first images in preview?)
3: Roughness Specular?
4: Some Mask or PBR material too? like glossy maybe i've not correct and this is specular idk.

Eye shadar i didn't try now, but i don't think it hard, becouse ingame eye don't look non standart

Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Thu Jan 14, 2021 8:41 pm

I'll start from texture mapping.
1. Diffuse. That one is obvious.
2. normal This normal contains only x and y values for normal. I suppose they drip z value to save space. My example shader restores it back, use it.
3. Masks. Those look like material masks. Basically control sgader mixing.
4. Pbr These are actual pbr channels. Use my shaders as base.

Mismatching teeth: I had same issue. They either have cusom positioning ans scale or are modified by bones. Can't tell for sure unless I completely reverse asset files.

And thanks for ids, those mught help in analysis.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

JakeMiles
advanced
Posts: 47
Joined: Wed Aug 12, 2015 11:59 pm
Has thanked: 21 times
Been thanked: 3 times

Re: Rainbow Six: Siege Models Thread

Post by JakeMiles » Thu Jan 14, 2021 9:49 pm

Big thanks about material explain, i will be use your samples! If i found something else interesting message here)

User avatar
Custard
beginner
Posts: 39
Joined: Fri Oct 25, 2019 12:33 am
Has thanked: 9 times
Been thanked: 8 times

Re: Rainbow Six: Siege Models Thread

Post by Custard » Fri Jan 15, 2021 6:15 am

Tushkan wrote:
Wed Jan 13, 2021 3:17 pm
Try not to check for that specific magic, but rather collect all possible magics. Create a set() and add to it all magics you find. Pdeudocode:

Code: Select all

magics = set()
with r6s.forge.parse(your_forge) as f:
    magics = magics | set(x.file_type for x in f.names)
print(magics)
Chances are they have another container that we've missed.
Setup and ran this method now on half dozen forges, it only reports back the single UID. I'm out of ideas for that. :scaredy:

I have been putting together Aruni, since I found her whole on basically the first time I searched (I've been saving a list of UIDs to share, but it's just two things right now). I've been pondering on the textures, I got the impression the blue channel is an AO texture and came up with what you can see below, using it in sRGB color space on purpose. That's before I thought to looked at Tushkan's shader. My confidence is not 100% on this. However in defense of it, I was comparing to the in-game character to see if I was getting similar reflectivity, and that brushed metal around Aruni's knee is very shiny and metallic in-game, and this is one of the few uses that preserves that. Using the blue channel as some sort of roughness seems to conflict with that, using it as a glossiness seems to make everything too shiny.

Image
Image

Edit: Btw Jake, about the diffuse textures, they can have slight areas of transparency which can can cause discoloration. If you aren't expecting that it can cause you headaches when it happens, making us thinking the shader is wrong or the lighting is wrong instead. It seems to be related to their subsurf, I haven't worked out that yet.

User avatar
MaZTeR
mega-veteran
mega-veteran
Posts: 169
Joined: Sat Jul 09, 2016 4:06 pm
Location: Finland
Has thanked: 3 times
Been thanked: 8 times

Re: Rainbow Six: Siege Models Thread

Post by MaZTeR » Fri Jan 15, 2021 8:12 pm

Anyone could extract and publish default and elite sets of Caveira, Valkyrie and Hibana? No need for bones, just textures and the meshes.

Tushkan
veteran
Posts: 92
Joined: Mon Dec 18, 2017 1:47 pm
Has thanked: 1 time
Been thanked: 35 times

Re: Rainbow Six: Siege Models Thread

Post by Tushkan » Sat Jan 16, 2021 11:09 am

There is no way rn to easily locate specific assets. You either have to wait till people find those uids or search for them yourself.
Rainbow 6 Siege forge unpacking tool:
https://www.dropbox.com/sh/b2cuse4hp90y ... qTfja?dl=0

aajax
ultra-n00b
Posts: 7
Joined: Sun Dec 06, 2020 6:40 pm
Has thanked: 10 times

Re: Rainbow Six: Siege Models Thread

Post by aajax » Sat Jan 16, 2021 3:46 pm

Does anyone else have a syntax error in line 55 of roam_meshes.py?

Post Reply