ImpMontezuma Posted October 19, 2020 Share Posted October 19, 2020 Short version for people who are too lazy to read everything: How can I edit a fallout 4 .nif file, to place different materials on a same mesh without losing its original data? Or if there is no way to do that, how could I put that data back later? And now the long version: I've been trying to mod Fallout 4 for some time, trying to improve its performance on my PC. Here the game works very well most of the time at 60 fps, but in some more complex areas (full of objects, enemies, etc.) my FPS drops to 40 or even 30. Well, nothing wrong so far, I know, But the strange thing is that analyzing the performance of the hardware I saw that my processor and GPU are working at 30-60% most of the time, even when my fps drops like that. So I always found it strange, Why I get low fps even with the gpu not using its full potential? I tried for a long time to solve this in different ways, with mods that recombine the meshs by âchanging the game settings, etc Well, these things helped, but still hadn't solved the whole problem.That until recently, when I did a test that worked. I reduced the resolution of all my textures (Well, only the diffused for now) by half, which greatly reduced their size (in bits). When I did that the game got incredibly faster, now running smoothly at 60 fps all the time. Then I noticed that my SSD worked close to 100% most of the time with the original textures. But with the textures that I edited the SSD started working around 20% and the GPU finally started working close to 100% with, again, solid 60 fps even at places where they normally be at 30. So I got it, my biggest problem with performance is that my SSD can't read the standard textures fast enough, this makes my gpu become idle while waiting those textures to load. So, smaller textures = less textures for my ssd to read, which means GPU getting less idle time which means more fps :smile:. That did it! XD. Well, yes, BUT of course I don't want to exchange FPS for graphics quality ^^"... So I went to Plan B, which is to better compress those textures :smile: (OBS: yes I've tried several mods that optimize textures, but I didn't like any, But feel free to recomend any if you want) So, Naturally, an alternative is to decrease the resolution of textures that don't need a lot of it, but just that is not enough, there are just a few textures that don't need a lot of resolution. But, analyzing these images I noticed that fallout has a lot of textures compressed with dxt5 because of the alpha channel (which is twice the size of the normal dxt1). So, the next solution I found was to change the compression of the dxt5 to BC1n which compresses them in the same size as the dxt1 but has only 1 bit of alpha channel. Of course, just 1 is not enought for most of these textures, but it it's good enough for some of them. But, recently I thought of a better solution, that will work for many other textures. Looking closely at these textures I noticed that Bethesda wasted a lot of space in those files with alpha, making large textures that only need the transparence in a small part of it. Like in this image, the area with black background is the part of the image that uses transparence. So if I could remap these textures and put the parts that need transparence in a separate file I would be able to reduce a lot their size. But I am quite a noob when it comes to working with 3D programs editing meshs and remaping them ^^". Which finally brings me to the initial question. Firstly, what would be the best way to do this remapping of textures? I thought about opening them in a 3D editor and separating the object into parts so I can put a different materials with transparency only in the part that really needs it.Like in this example, The area that needs transparency is only the hair on the flat part. So I would put another material there. And well, I looked for a program that edit directly the .nif file, but I didn't find anything :sad: (is there any?). The only solution I found was to open the .nif in nifskope, export it to .obj, import the .obj in blender, edit it, re-export to .obj, import the .obj again in nifskope to finally export back to nif. But in this process of importing and exporting, the file loses some data :sad: mainly related to bones (I think). And this is my first problem ^^" How would I do to edit the mesh and reinsert it into the game without messing with its data? I've been trying for a long time to do this. I have also tried to reinsert manually the original data in the new mesh with nifskope but I'm having difficulties with that too. When I try to put that data from the propriety "BSSkin: Instance" of the original mesh back into the object I modified, the object disappears, like ... it's no longer rendered ^^" It may be that I'm doing something wrong in this step, because as i said i know very little about meshs in general ^^". But anyway, is there any other way to do this? Link to comment Share on other sites More sharing options...
Indarello Posted October 20, 2020 Share Posted October 20, 2020 After reading only short part: use material swap Link to comment Share on other sites More sharing options...
Recommended Posts