• 3D Model Researcher - extract 3D models from binary files
    28 replies, posted
[b]3D Model Researcher[/b] is a program for studying binary files of 3D models. Model Researcher allows to display and visualize the data read from the file with the specified parameters, and also save them in the 3D Obj format. The program is a great help with the search for vertex data, faces, texture coordinates and normal vectors in an unknown 3D format. The main feature of the program is the support of the scripts in the programming language Python, which allows to extract models from almost any format. [img]http://lazov.ru/mr/images/vpr1.png[/img] [img]http://lazov.ru/mr/images/vpr2.png[/img] [b]Opportunities[/b] [i]- Analyze the 3D model files, search of vertices, faces, texture coordinates, normal vectors[/i] [i]- Data output is presented textually[/i] [i]- Data visualization in 3D format[/i] [i]- Visualization of texture coordinates[/i] [i]- Applying textures to the model[/i] [i]- Support of Python scripts[/i] [i]- Normals vectors[/i] [i]- System of submeshes[/i] [i]- Loading and saving templates with form values[/i] [i]- Data export in Obj format[/i] [b]Video:[/b] [url=https://youtu.be/mM37ITBOMCw]Work of the program[/url] [url=https://youtu.be/xJjC1XIGcek]Pro version[/url] [b]Page of the program:[/b] [url=http://lazov.ru/mr/]http://lazov.ru/mr/[/url] [b]About Pro:[/b] [url=http://lazov.ru/mr/about_pro.php]http://lazov.ru/mr/about_pro.php[/url] [b]Guide:[/b] [url=http://lazov.ru/mr/tutorial.php]http://lazov.ru/mr/tutorial.php[/url] [b]Scripts usage:[/b] [url=http://lazov.ru/mr/tutorial.php?name=tut_mr_scripts]http://lazov.ru/mr/tutorial.php?name=tut_mr_scripts[/url] [b]Description of API functions:[/b] [url]http://lazov.ru/mr/tutorial.php?name=API[/url] [B]Download:[/B] The latest version can be downloaded from the website. Mirror: [url=https://yadi.sk/d/BNV0VbJR3LGJnm]3D Model Researcher v2.3 22-11-17[/url] [url=https://yadi.sk/d/inF04fuQ3Q7ynm]3D Model Researcher Pro (Demo)[/url]
Awesome man!
Isn't this the same as hex2obj?
[QUOTE=Portugalotaku;52487082]Isn't this the same as hex2obj?[/QUOTE] The program "3D Model Researcher" has a different interface, another way of outputting data, support for textures. Each program has analogues. Today a new version of the program has been released. I will soon add support for normal vectors.
So it's an improved version of hex2obj with more options? That's good.
[QUOTE=Portugalotaku;52488636]So it's an improved version of hex2obj with more options? That's good.[/QUOTE] No, it's a completely different program written from scratch. The prototype of the program was the Model Inspector. On the functional, it is similar to hex2obj.
Yes, but it works similar to hex2obj right? For all intents and purposes it's a successor.
[QUOTE=Portugalotaku;52488809]Yes, but it works similar to hex2obj right? For all intents and purposes it's a successor.[/QUOTE] There are many programs that work the same way: 3Ds Max and Blender, Photoshop and Gimp, etc. But you can not say that they are a successor :buckteeth:. The screenshot clearly shows which program affected the 3D Model Researcher. [IMG]https://i.imgur.com/JkIsvtX.jpg[/IMG]
It looks better than hex2obj and that's good enough for me.
hey Lazov thanks for this great program. it's an amazing research tool. I have been testing it on some binary files and while I can find the vertex data and faces easily, I'm having trouble finding the UVs. so I uploaded the file and the template that I used and if you have the time I would appreciate if you could look at it and let me know where I should look for the UV coordinates. [URL="https://www.dropbox.com/s/i6jsixp6os0aneq/Bike.zip?dl=0"]https://www.dropbox.com/s/i6jsixp6os0aneq/Bike.zip?dl=0[/URL] thanks in advance.
Seems like a really neat way to 'visualize' the process of searching offsets to find model data, which is probably one of the harder, tedious parts of learning format reversing that ends up turning people off from ever trying to learn it.
OriginOfWaves, thank you! There was a bug with short_sign in the program, I fixed it. But the texture can not be superimposed normally. Now I am correcting this. Can you throw me the texture? Kuro., I hope the program will be useful. When searching for data, we make almost no calculations. I think it's great.
looks good. i like the builtin model display and texture support. i coulda used that for overwatch. now... i'd give it a try, but your data host is pretty unstable. impossible to download. it just fails a lot. you could maybe mirror it on mediafire or google drive? and... do i wanna ask if those are potentially hex offsets. i think it's a common thing to not translate those to decimal.
episoder, I added a link to the mirror in the first post. I did not understand the question about offset. All parameters are given in decimal form.
[QUOTE=Lazov;52492202]episoder, I added a link to the mirror in the first post. I did not understand the question about offset. All parameters are given in decimal form.[/QUOTE] good. and... maybe consider adding an option to display offsets as hexadecimal. it's a lot easier to copy from hexeditors to this. nobody wants to calculate decimal offsets. :wink:
[QUOTE=Lazov;52491930]OriginOfWaves, thank you! There was a bug with short_sign in the program, I fixed it. But the texture can not be superimposed normally. Now I am correcting this. Can you throw me the texture? Kuro., I hope the program will be useful. When searching for data, we make almost no calculations. I think it's great.[/QUOTE] yeah no problem. [URL="https://www.dropbox.com/s/ekfqto5hjc83daf/Base-MaterialLayerD.jpg?dl=0"]https://www.dropbox.com/s/ekfqto5hjc83daf/Base-MaterialLayerD.jpg?dl=0[/URL]
OriginOfWaves, Thanks again! I updated the program. I added one interesting function that converts texture coordinates, if they are very small. Here is your model with the template (remove the flip): [url]https://yadi.sk/d/WjBaoOtu3LGhV3[/url] The program has been updated!
thanks a bunch for the quick update Lazov. wonder why those texture coordinates were so small. :s:
OriginOfWaves, the texture coordinates are stored in integer type Short, 2 bytes. At the output they are divided by the number 0xFFFF. We need to get a number from 0 to 1. Sometimes the denominator is indicated in the file with the model. I added the conversion. [IMG]http://savepic.ru/14988270.png[/IMG]
field test. [img]http://i.imgur.com/VL6ySW9.jpg[/img] - can you add hexadecimal offsets pls? i wanna barf on my calculator. i'm not a super head hex converter. - i don't see anything in uv window. maybe use line drawing? - something in the uv type conversion is wrong. it crashes on half_float and float types. - maybe you could save the last opened or savedto directory? i don't wanna browse my folders after crashes.
Thanks for the tests. Send the model together with a template in tmr format. [QUOTE=episoder;52508973] - can you add hexadecimal offsets pls? i wanna barf on my calculator. i'm not a super head hex converter. - i don't see anything in uv window. maybe use line drawing? - maybe you could save the last opened or savedto directory? i don't wanna browse my folders after crashes.[/QUOTE] Maybe.
[QUOTE=Lazov;52509653]Thanks for the tests. Send the model together with a template in tmr format. Maybe.[/QUOTE] i think there's no need for that. no need to fix the data. i got the ui offsets figured out. [t]http://i.imgur.com/50fziXh.jpg[/t] milkers. :wink: had me puzzled a lil with the padding. it's unusual to use 2 overlapping padded 'streams' for the uvs. standard vertexelement containers are a lil different. confused me to pad the inter. and for more recent formats you could even add a second uv layer. (this won't work with obj tho) and... ofc we could use the vertex normals. why not extract them? the rest is just ui cosmetics you could do. directly writing hex numvers. line drawing for the uv display. and saving the last path in a .ini file or something. [B]e[/B]: the case where it crashed. i dunno your half float interpretation routine but if it can't read or interpret the data or it throws a NAN error it should not crash. i think that was the issue i had with that.
All fields in the UVs are used in the guide. This is a real 3D model from the game. I did not hear about the second layer of UVs. Vectors of normals will be supported, this is written on the page with the program. Drawing lines on the texture will do. I will think about saving the directory. [IMG]http://savepic.ru/15032921.jpg[/IMG] As for the hex offset, I'm not sure. The texture coordinates can be from -1 to 1 or even -5. These coordinates will not be displayed correctly. Also, remember that in some games, the values ​​are calculated in a special way. Values ​​should be searched in the text output so that the program does not crash. For the test, I need models, I do not have them, I do not play games.
Someone should pass him the files for the clone trooper officer from battlefront 2 , to see if this can pull out a undeformed head.
A small update. Now the Offset field supports hexadecimal numbers. Soon with the help of the program it will be possible to get models from any game. [IMG]https://i.imgur.com/MEHsIFk.png[/IMG]
Update v2.3 - Added support for Triangle Strip without FF. - Now the program does not crash when drawing a texture map at a nan. The Pro version of the program was released - Support of Python scripts - System of submeshes - Normals vectors With the support of scripts, you can extract a 3D model from a file with any structure. [b]About Pro version:[/b] [url]http://lazov.ru/mr/about_pro.php[/url]
i want that pig model
The program is updated! You can download the new version on the website. Update v2.4.2 - Added support for Triangle Strip without FF. - Now the program does not crash when drawing a texture map at a nan. - In the "3D View" tab, a button is added to return the camera to its initial position (useful if you centered on the object with incorrect coordinates). - There was a version for Windows XP Pro version: - Added a Hex-Viewer. - Added data inspector to Hex-viewer - Fixed minor bugs  The big drawback of the program was the lack of a built-in hex-viewer. Now he has appeared! =) Moreover, it has the highlighting of the model data: vertices (red color), faces (green), texture coordinates (yellow). When changing the parameters of forms, you can immediately see what data will be read. Probably, it will be very useful for beginners. Video: https://youtu.be/Gzh1i8Dp9Q4
hello, I was wondering if there was someone that knows about using 3d model researcher and extracts games model. I'm not really familiar with hex code, and there are some models that I would like to obtain (ps2 game models). I'm prepared to pay for your time and would very much appreciate your help. Thanks
Sorry, you need to Log In to post a reply to this thread.