[Utility] SB3Utility (GUI + Script) Releases and Support Discussion

Re: SB3Utility (GUI + Script)

Okay, the bug is fixed. It happens when a texture is used several times. In the first material the offset and scaling is correct. In every later material offset and scaling are unset :/

Thanks for your report. Do you need that fix fast? Or could it be delayed a few days. I hope that I can release the external materials and textures support soon.
 
Re: SB3Utility (GUI + Script)

I can fix this bug using some scripts, so no biggie if you want to release the updated SB3UGS a few days later :)
 
Re: SB3Utility (GUI + Script)

@Enimaroah
First just to let you know, I already tried adjusting the NML's for full game and the current method with SB3UGS still work perfectly.

Second, as a request since you are working with using external referenced shaders and materials, please check if we can have have the material files in another directory beside the /abdata/ like the game have now. Since we can have the mesh in subdirectories inside \abdata\chara\ it would be nice to keep the mesh file and the material file in the same directory and separated from the regular game files.

And thanks a lot for all the effort!
 
Re: SB3Utility (GUI + Script)

Hello Belgar17,

thanks for your report! So the Nml principle hasn't been changed; very good, no additional work here :D

While I first thought I could go a fast path it wouldn't have worked. So it still takes some time, but several things are ready. E.g. you drop cf_base.unity3d, cf_m_base.unity3d and cf_t_body_00.unity3d into Sb3UGS, and you can immediately see the naked body cf_O_body_00 fully textured in the renderer. Object Tree, lists, cross references and nearly all functionality in the editors has been reworked.

But there are open questions. How will you find out which file has which CAB-String? Currently you will have to search with a tool like TC binarily through the whole game in all *.unity3d files. And that is inconvenient. May be I can find some global inventory file for the purpose.

There is no need for relocating files. I personally use soft links for material files in the abdata\chara. This way the game is not disturbed and I can select them nicely together and drag them into Sb3UGS.
 
Re: SB3Utility (GUI + Script)

While I first thought I could go a fast path it wouldn't have worked. So it still takes some time, but several things are ready. E.g. you drop cf_base.unity3d, cf_m_base.unity3d and cf_t_body_00.unity3d into Sb3UGS, and you can immediately see the naked body cf_O_body_00 fully textured in the renderer. Object Tree, lists, cross references and nearly all functionality in the editors has been reworked.

But there are open questions. How will you find out which file has which CAB-String? Currently you will have to search with a tool like TC binarily through the whole game in all *.unity3d files. And that is inconvenient. May be I can find some global inventory file for the purpose.

Or you may build that inventory that keeps track of all the references.

With the switch to Unity, and Illusion learning how to use it and properly package their bundles (as mentioned [POST="2495219"]here[/POST]), there is going to be more and more cross-dependencies between assets bundles in the future.

As such, I think it would be great to switch from a "per-file" approach to a "per-game" approach. Instead of loading files one by one with Sb3UGS, you directly load the whole game directory right of the bat. Or rather "pre-load" it, in order not to eat too much memory (I don't know how you manage memory... do you load all the opened bundles content in memory or just their headers ?)

Of course, it would require some big changes. It would especially require to build a repertory of all the assets with their dependencies the first time you open a game, and keep a cache of it to speed up later access (and offer the option to rebuild it).

It would allow require to abstract the asset hierarchy, since the end user doesn't really need to browse assets on a per-file basis anymore. The "Quick Access" sub-window would then rather be used to filter the many results that are displayed in the "Files" sub-window (since we'll have all the assets of the game in it).

Users will still want to know in which bundle the files they have modified will be stored, as well as the files they created, so there's still a need to keep a window that shows files as they are on the disk, too. The difficulty is to abstract enough to easily find the assets to modify without having to know exactly in which bundle they are, but to let them know exactly where they are once they found and modified them so that they can easily ship the modifications to the modding community.

What are your thoughts about this kind of feature ? Do you plan something similar ?

I think Sb3UGS need some elegant way to handle assets with cross-referenced dependencies in various bundles, and I think maintaining a repertory of all of those could already be a good start.

Or, much simpler : why not automatically opening and loading bundles that are referenced in the asset you open ? You open cf_thingy_01, load a mesh from it, and Sb3UGS automatically open mat_thingy_01 to parse and load the textures that are used the mesh.

Ho... and do you have any way to know which animation apply to which skeletal mesh ? If so, they could be automatically loaded, to.
 
Re: SB3Utility (GUI + Script)

Thanks for your thoughts about improving Sb3UGS!

The all-files-of-a-game approach would take too long when done during every start of Sb3UGS. mat_cha_00.unity3d (1.6GB) alone takes 7 seconds for opening and reading only the inventory. And that file isn't even needed for creating a standalone mod. Yes, Sb3UGS only reads the inventory when a file is opened.

Currently I do all I can to minimize the number of assets and games files Sb3UGS loads. And the more external references are to be resolved the slower the program gets, at least when editors are opened.

But there is an end of unsupported externals in sight. The only really important asset not supported after the next version will be the Mesh asset. The helper functions I currently implement for Material and Texture assets will help to support this too.

Automatically loading referenced files would require to open all files in the abdata folder and all subfolders and parse their headers. In Unity4 the file name was included, now it is only the CAB-String. An inventory file which includes this relation would help, of course. And then we have irregular files, like cm_m_base.unity3d. This file has a broken CAB-String with a binary int32 right in the middle. The game finds it though, and in the trial that int32 was checked. Overwriting with the correct CAB-String produced a crash.

Animations include a hash value for a trackname / Transform. To make the correct assignment you need the table stored in Avatars (same problem in Mesh assets). Sb3UGS allows the user to set an Animator (which points to an Avatar) as resolver. And often you see unresolved tracks. This means every animation can have more tracks than required to animate a mesh.
 
Re: SB3Utility (GUI + Script)

I encountered some texture color issue when using 1.1.0. I know TGA support is removed, but when extracting RGB texture, a BMP file is extracted with green channel and blue channel swapped. And I also tried to import uncompressed DDS, also results in color channel swapped.
 
Re: SB3Utility (GUI + Script)

Thanks for your report. You already posted it on both sites. I will have a look at this problem soon.

It happens for face and body textures I was told. Which textures failed for you?
 
Re: SB3Utility (GUI + Script)

When editing the "List" using the SB3Tool. How do I insert I new line? Do I have to extract the the notepad, edit then insert back?

Edit: Never mind... New lines insert automatically.... It was glitch at first. Fixed after I closed and restart the tool.
 
Re: SB3Utility (GUI + Script)

Sorry, HF is too slow. Texture in honey select cf_t_body, extracted skin become pink.
 
Re: SB3Utility (GUI + Script)

When editing the "List" using the SB3Tool. How do I insert I new line? Do I have to extract the the notepad, edit then insert back?

Edit: Never mind... New lines insert automatically.... It was glitch at first. Fixed after I closed and restart the tool.

The best way to work in TextAsset and textual MonoBehaviour assets I think is to use the "Join / Separate" feature.

But the error you described sounds strange. It would be good to know how it came to that.
 
Re: SB3Utility (GUI + Script)

The best way to work in TextAsset and textual MonoBehaviour assets I think is to use the "Join / Separate" feature.

But the error you described sounds strange. It would be good to know how it came to that.

I don't know the reason but it was weird at first. I first opened the studio list "00" and has last empty slot. I insert the codes and click apply and save. New line didn't generate and I thought I have to extract the sheet and edit it via notepad. Strange glitch is when I extracted the "sheet 2" the codes I saved didn't appear at all but it's visible in the tool. I closed and re-opened the tool and opened the list "00" and saw my lines were not there even after I saved. When I start adding the codes again it automatically generated the next empty empty lines.

Possible reasons are:
**I was running two tools at a time. 1.053Kappa and 1.1
**I am using the tool all day today and didn't take rest or closed laptop...
 
Re: SB3Utility (GUI + Script)

As soon as you open any editor for the first time the contents from the file is read into memory. Even when you close the editor its contents is still in memory of Sb3UGS and not read another time. So editing the same file with several instances can corrupt files and should be avoided.

Still it doesn't explain why you couldn't add a new line. It remains mysterious. Thanks for your report!
 
Re: SB3Utility (GUI + Script)

Actually it's not the first time I had problem with the text editor. Goes back when you first release this features. I kinda ignored it, because wasn't a serious problem. The glitch can be fixed when I close and open the tool again.

Then I get the problem of
Code:
"Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index"
That happened to me alot in my TR work. Forcibly close and re-do it again. You were working on update version and I was still using 1.053Kappa. So I didn't reported this problem too.

Current problem (this might be taken on serious note) I am having with 1.1v is the tool crashes when I want to view the model in the renderer window. Rotating around the model and checking it, tools stop then crashes... I don't know anyone has this problem or the tool don't like me at all :XD:
 
Re: SB3Utility (GUI + Script)

No HS model crashes for me. Please add more details or a work file with that problem. Same to the TextAsset/textual MB problem. You already know that I dont have the second sight :)
 
Re: SB3Utility (GUI + Script)

**Regarding the text editor problem. It's a random occur glitch.
**As I said when I rotate the camera or model around to see the result in the renderer window. It stops and crash. Here is the work file.

I don't know it must be problem with my laptop i guess.
 
Re: SB3Utility (GUI + Script)

Hm, thanks for the file. First I watched the meshes ten by ten, and then all together, always rotated, zoomed, translated. No problem.

Sb3UGS consumed 576MB in memory during that test. This is because Sb3UGS doesn't reuse textures. One mesh using the same texture as another and Sb3UGS allocated both textures separately. It is known and on my todo list^^.
 
Re: SB3Utility (GUI + Script)

Must be problem with my laptop that causing the crash...
 
Re: SB3Utility (GUI + Script)

Sorry to bother with this question, but there was a question post I wanted to answer to in SBPR's mod discussion thread on HF, that I find myself in the inability to answer.

I already have the whole message saved for later use, and it basically boils down to a tutorial of some kind for exporting models from HS&SBPR through SB3UGS.


I was wondering if this was the right place to post said tutorial of sorts?
If not, I'll just remove this message. If so, I'll just edit it with a paste of what I had written up
 
Re: SB3Utility (GUI + Script)

Thanks for your offer, GeekyGami!

Tutorials could either be posted into the modding discussion for the game respectively and I would link them in the Glossary and in that FP or they could be posted into a thread for SB3Utility (GUI + Script) - Glossary & Tutorials.
On HF we have "The Modelling Thread" in the club area and the modding discussions. Same applies here I would link them accordingly.

The more general your tutorial is the better it would be placed into the more general thread. While if it is very specific to a game then the modding discussion should be preferred.

In any case, dont hold back! Tutorials are very welcome and I can move them if they are better placed in another thread.
 
Re: SB3Utility (GUI + Script)

Aye, well, apparently it appeared on Hongfire despite that error showing up. I've edited it to change DXF to FBX, I always confuse the two when I don't have the other filetype staring me in the face :wasclose:
 
Re: SB3Utility (GUI + Script)

SB3UGS_v1.2.1

  • Fix for BMP export and import swapping G and B channels and uncompressed DDS with similar problem
Know issues:
External textures are not made available in "Material & Texture" Animators after being loaded. This is also present in v1.2.0.

Download:
megafileupload, sendspace SHA256: 6671F08D39AA323F9C3A0D31851A091004940BDA90366C4C183401603E410698

Sources:
megafileupload, sendspace
 
Re: SB3Utility (GUI + Script)

Hey enimaroah!

Just made an account here because HF is apparently dead =)

But i must be dumb.... you wrote that SB3UGS_v1.2.0 is able to handle "external materials and textures".
How is it supposed to work (with HS, i mean)?
 

Users who are viewing this thread