Announcement

Collapse
No announcement yet.

SB3Utility Releases and Discussion

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Tools] SB3Utility Releases and Discussion

    Post anything related to SB3Utility, such as how to use it, requests, bugs, etc.
    Please let me know if I'm missing any links or if you want any links added through PM.
    You might also want to check out Illusion Wizzard & Morpher by darkhound for modding.

    I recommend using the Latest SB3Utility(GUI+Script) Version by enimaroah since I haven't updated SB3Utility in a long while.

    Pre-scripting Versions
    Spoiler

    SB3Utility Source Code: [MF Folder]

    Custom Versions
    SB3Utility_v0.9.18R10 by enimaroah
    SB3UtilityCustom v9.9 by bbas2011
    SB3UtilityAA by darkhound
    SB3Utility with 3D Studio Max + Okino Polytrans DirectX Import/Export by J1327 [Broken link]
    SB3Utility with Skeletal Animation Editing by profundis

    Supports: Battle Raper 2 (partially), Oppai Slider 2, RapeLay, Sexy Beach 3, SchoolMate (Figure/Trial/Retail), Artificial Girl 3 (Welcome/Retail), Digital Girl, Hako (Trial/Retail), SchoolMate Sweets, Esk Mate, @Home Mate (Figure/Trial/Retail), Yuusha (Trial/Retail), Real Girlfriend, SchoolMate 2 (Trial/Retail), Sexy Beach Zero, Characolle AliceSoft/BaseSon/Key (Benchmark/Retail), Artificial Academy (Trial/Retail except jch*.pp)
    3-D Formats: Metasequoia (text import/export, no normals, no skeleton), DirectX (binary & text import / text export), Collada (text import/export), FBX [recommended] (binary & text import / binary export), Ogre (binary export)

    Requires
    - Microsoft Visual C++ 2008 Redistributable Package (different from the editor)
    - .NET Framework 3.5 SP1 (different from the Compact Framework)
    - Latest DirectX 9.0c

    Changelog
    (v0.9.18) [SB3UtilityGlobals modified]
    - Reverted decryption algorithm to v0.9.15. Removed support for the compressed .pp format (jch*.pp)
    (v0.9.17) [SB3UtilityGlobals modified]
    - Fixed opening various .pp formats
    (v0.9.16) [SB3UtilityGlobals modified]
    - Added support for Best Collection and Artificial Academy
    - Fixed editing frame names again
    - Renderer will no longer throw an exception if a bone is missing
    Spoiler
    (v0.9.15)
    - Fixed morph export for .mqo
    - Fixed editing the name of frames that don't have meshes
    (v0.9.14)
    - Fixed importing Collada with matrix transforms and unused vertices
    (v0.9.13) [SB3UtilityGlobals modified]
    - Fixed DBNull errors when removing bones in the Mesh Object Editor
    - Importing Collada with Z-up will now be automatically converted to Y-up
    - Fixed importing Collada from Blender
    - The Editor now shows a selected image if no .xx tab is open
    - Importing .mqo now defaults to the CopyNear method for bones
    - Fixed replacing mesh objects when using the Merge option for a Mesh and added it as an option for Mesh Objects in the Workspace
    (v0.9.12) [SB3UtilityGlobals modified]
    - Fixed showing the number of mesh objects
    - Fixed error checking for bone operations
    (v0.9.11) [SB3UtilityGlobals modified]
    - Changed "Characolle Bench" to "Characolle AliceSoft" for .pp formats
    - Added support for Characolle BaseSon & Key versions and AA Trial (thanks to bbas2011)
    - Added bone operations (by pidey)
    (v0.9.10) [SB3UtilityGlobals modified]
    - Changed "Characolle Bench" to just "Characolle" for .pp formats
    - Collada importer can now parse empty visual scenes
    - Added support for .dxf, .3ds, and .obj
    (v0.9.9)
    - Fixed animations in the Renderer
    - The Object Tree tab in .xa Editors is now hidden since it isn't used
    (v0.9.8)
    - Fixed "Add Animations From XA Tab" not adding animations to the Workspace
    - Added ability to remove Animation Tracks in the Workspace
    - Removed resetting the Diffuse lighting value for the Renderer when opening a .xx file. Also, the value is now saved
    - Fixed the renderer showing exploded meshes for Rapelay and some others
    (v0.9.7) [SB3UtilityGlobals modified]
    - Fixed loading .xx textures in the renderer that aren't .bmp or .tga (thanks to varicham)
    - Replacing a mesh that has a base mesh no longer shows a warning about adjusting unknown data
    - Added a culling option for the renderer. Checked will render one side, and unchecked will render both sides of a face
    - Fixed the crashing when exporting morphs if a child node is selected
    - Fixed Hierarchy conversions between formats (< 4) and (>= 4) in the Workspace
    - Fixed the renderer to use directional lighting
    - Added code for an .xm parser, but it's not used
    (v0.9.6) [SB3UtilityGlobals modified]
    - Added support for SBZ and Characolle Bench (thanks to darkhound)
    - Fixed when the comma is used as the decimal separator in Frame and Bone tabs
    (v0.9.5)
    - Changed Matrix to Translate/Rotate/Scale in Frame and Bone tabs
    (v0.9.4)
    - Fixed memory problem when exporting large animations using DirectX format
    (v0.9.3)
    - Fixed .xx format conversion and merging bone lists when replacing in the Workspace
    (v0.9.2)
    - Added FBX import/export for morphs
    - FBX import will now skip empty animations
    (v0.9.1)
    - Added Add & Remove in the Bone tab
    - Added options for bones when replacing in the Workspace
    - FBX export will now make locators for nodes with no children and groups for nodes with children instead of making them all joints
    - Fixed FBX export for skins
    - Added FBX import
    - Added FBX support for multiple textures in a material. They will be connected as diffuse/ambient/emissive/specular textures even though they may actually be used for different things like normal/bump mapping or animation
    (v0.9.0)
    - Added export for FBX
    (v0.8.27)
    - Fixed saving .sb3uws for .xx Format Type 4-5 (RGF/SM2)
    - Changed the default "Merge" option for Meshes to "No" in the Workspace
    - Changed the default "Copy Hex" option for Hierarchies to "Yes" in the Workspace
    (v0.8.26)
    - Fixed target build to x86 (thanks to ScumSuckingPig). This was only a problem on 64-bit systems
    (v0.8.25)
    - Added support for SM2 Retail (thanks to ScumSuckingPig)
    (v0.8.24)
    - Added support for SM2 Trial (thanks to ScumSuckingPig)
    (v0.8.23)
    - Added .pp format auto-detection for .xa subfiles
    - Fixed saving .sb3uws for RGF
    - Application starts at the default location if offscreen
    (v0.8.22)
    - Fixed renderer aspect ratio for widescreen and dual monitors
    (v0.8.21)
    - Fixed replacing meshes for RGF when it has more vertices than the original
    (v0.8.20)
    - Added support for RGF (thanks to ScumSuckingPig & J1327)
    - Updated MOGRE from 1.4.8 to 1.6.5 beta r49
    (v0.8.19)
    - Added support for Yuusha Retail (thanks to ScumSuckingPig)
    (v0.8.18)
    - All frames used as bones and their children are now exported as joints for Collada
    - Fixed the positions of skinned meshes for Collada export
    (v0.8.17)
    - Added ability to add selected meshes from the Mesh list of the selected .xx Editor tab to the Workspace. If none in the Mesh list are selected, then all of them will be added
    - For replacing mesh normals, there are now options of replacing them (Replace) or keeping the normals of the base mesh object according to vertex order (CopyOrder) or the nearest vertex (CopyNear)
    - Added Morph Lists to "Align Vertices" and "Copy Near Vertex Normals" for the Workspace
    - "Calculate Normals" controls have been moved to a dialog box for the Workspace
    - "Align Vertices" in the Workspace now works similar to "Copy Near Vertex Normals"
    - Added the option to copy normals from the nearest vertex (no threshold) in the Workspace by using a negative threshold in "Copy Near Vertex Normals"
    - Fixed keeping base mesh object normals when replacing meshes
    (v0.8.16)
    - Fixed replacing materials for BR2. Some material RGBA values might still crash BR2, so it's not recommended to do so for that game
    - Fixed showing the Editor's bottom panel for the first opened .xx/.xa file
    - When replacing materials, used texture hex data is now copied if the texture name is the same
    (v0.8.15)
    - Added support for the BR2 character addon
    (v0.8.14)
    - Fixed mesh distortion by some bones for the Renderer
    - Fixed the Renderer when there are animation tracks with different numbers of keyframes
    (v0.8.13)
    - Fixed copying the mesh object unknown field when replacing a base mesh object
    - Fixed texture paths for Collada import
    - Added a "Merge" option for when replacing hierarchies in the Workspace
    - Re-added option to copy the Frame unknown hex for Hierarchies when replacing in the Workspace. The default is on, except for when dragging from the .xx Object Tree
    (v0.8.12)
    - Added partial support for BR2. Read this post for more info
    - When replacing hierarchies from the Workspace, it will always try to copy unknown fields instead of it being optional
    - Fixed keeping backups of base meshes when the hierarchy has been previously replaced. The feature was introduced in v0.8.7
    - The priority of the last auto-detected .pp format upon opening is bumped to the top
    (v0.8.11)
    - Fixed morphs for target meshes with multiple mesh objects
    - Fixed Collada import
    (v0.8.10)
    - When importing a DirectX .x file, unnamed materials with a texture will have the texture name followed by the material index
    - Unskinned meshes now move with animations in the Renderer
    - Added an optional mesh material offset for Hierarchies in the Workspace
    - Improved .pp format auto-detection when the .pp file contains .xx or image files
    - Fixed the animations/morphs already existing error
    (v0.8.9)
    - Fixed restoring "Selected Tab" / "All Open Tabs" settings in the Workspace
    - Fixed saving "Keep Backups" setting
    (v0.8.8)
    - Added preview of morphs to the Renderer. You can preview one morph keyframe per morph clip. Morphed normals aren't shown in the Renderer
    (v0.8.7)
    - When replacing, mesh unknown fields are now copied when the hierarchy with the base mesh has been previously replaced with a hierarchy without the base mesh within the same Workspace
    - Fixed parsing .xa files with multiple morphs of the same name
    (v0.8.6)
    - Fixed Collada export for unskinned meshes
    - Fixed Collada export of unused bones as joints for skinned meshes
    - Added normal calculation with no duplicate vertex detection by setting a negative threshold in the Workspace
    - Added ability to copy normals from close vertices in the Workspace. Read this post for more info
    - Added support for Esk Mate, AHM Figure, and AHM Trial (thanks to ScumSuckingPig)
    (v0.8.5)
    - Fixed removing all previous mesh objects when replacing meshes if not merging
    - Added option for replacing normals in the Workspace for meshes
    - Added export and import for simple morph editing. Read this post for more info
    (v0.8.4)
    - Added PNG, JPG, and DDS texture support
    - Removed check for valid names
    - Fixed incorrect rotations in matrix decomposition
    - Fixed adjusting unknown data for non-zero Mesh Types
    - Fixed displaying 0 as the last weight for unskinned meshes in the Mesh Object Editor. Actual bytes weren't affected
    - Added editor for unknown Hex fields in .xx files
    (v0.8.3)
    - Fixed using Yuusha MIK Trial in the Workspace
    - Fixed using meshes with different .xx formats in the Workspace
    - Fixed adding more skeletal animation clips
    - Fixed adjusting mesh material indices when removing materials
    - Added editor for mesh objects
    (v0.8.2)
    - Fixed mesh replacing
    - Added option to display bones in the Renderer
    (v0.8.1)
    - Fixed auto-detecting .pp format
    (v0.8.0)
    - Added support for SM Sweets, AHM Retail, and Yuusha MIK Trial (thanks to ScumSuckingPig and lauris71)
    - Changed some underlying code structures
    - Changed Collada format to Autodesk FBX v2010.0.2
    - Added support for SJIS filenames in .pp files
    Known Issues
    - Controls aren't locked or synchronized when performing tasks. Don't perform simultaneous tasks like saving again while it's already saving
    - May crash under 64-bit systems
    - When importing Collada into Maya/Max with Autodesk FBX, normals are reset. Exported normals in Collada from Maya/Max are retained when importing in SB3U


    Resources
    .xx File Format (partially outdated) by alessi
    .xx File Format (partially outdated) by RawMonk
    .xa File Format (might be partially outdated) by Alamar
    .vci & .vcs File Formats by Alamar
    .tty File Format by Alamar
    Parser for .xm by Alamar
    Parser for .js3krs by Alamar
    SB3 BotuPlay Cameo Mod Tutorial for SB3Utility v0.4 Pre22 by Alamar
    SB3 Body Accessory v6 Mod Tutorial for SB3Utility v0.4b Pre5 by Alamar
    SB3 Kokonoe Rin (SaYaKa Project) Mod Tutorial for SB3Utility v0.7.17 by Alamar
    Modding Club Tutorial Thread
    Various Posts About Transparency compilation by Sinbad
    Modding Digital Girl Rin by mariokart64n
    Utilizing .sfd Files by trogdor0071
    SB3U Vertex Options Explained by darkhound
    Last edited by Inquisitor; 04-19-2014, 06:00 AM. Reason: Add prefix

  • Nope, everything is fine when materials are not there - and the frame generation is much more faster, too.

    By the way after a few hours of testing, finally I have imported a map and a (brand new) helicopter, with satisfactory result
    I have been testing with different shaders. Turns out using shader with transparency cutoff is the best choice, except a few objects (e.g. lights, glasses, webs) requires a transparent shader.
    This do help me minimize the steps because only 2 shaders are used. And I used basic shaders so the map loads quite fast, too

    Spoiler



    I guess I can release the mod soon after adding a few more maps and items
    Hopefully it can be done tomorrow. It's 5:30am now, I am going to have a nice sleep
    Attached Files

    Comment


    • Alright, sleep well then! I will release the next greek version with the Texture fix and sorted imported submeshes.

      Download of SB3UGS_v1.0.22iota:
      ge.tt, zippyshare
      Last edited by enimaroah; 11-14-2015, 02:05 PM.

      Comment


      • Thanks for the rep! v1.0.22iota works fine and finally, I have released the mods now
        Everything is smooth except that changing shaders are still a bit tedious - you have to copy and paste new materials (with changed shaders) to get things done.
        I wish the shaders can be directly assignable, and everything will be perfect. I will be waiting for this

        Comment


        • Directly assignable shaders cant be implemented properly without analysing the shader's source code. When an arbitrary shader would be assigned, how should Sb3UGS know that there is a "SpecTex" or a "Cutoff" property? If this could be resolved for all attributes, the next problem will arise: the file may not contain the required shader because it is external.

          External shaders is also the subject for the next update. Sb3UGS considers all opened files during "Paste All Marked". When a Material has external shaders and those shaders can be found in an open file then the shader is copied to the destination along with the pasted Material. The result is an internal shader for this Material.

          The attached example shows a marked Material cf_M_bra_00_03 and you can see that there is no Shader in that file. In the background you see that shader.unity3d has been opened. On the left is the destination file ItemObj_03.unity3d. And this receives all used shaders present in shader.unity3d. Further external shaders would still remain external.

          To learn which files contain external assets for the source file: unselect any asset of the current tab and click "View Data" in the Options menu.

          Unreachable shaders: if you see the reference "library/unity default resources", please create a "library" folder and copy the file from the "resources" folder there.

          Download of SB3UGS_v1.0.22kappa:
          ge.tt, zippyshare
          Attached Files

          Comment


          • Okay, I'm gonna report this because it's been bothering me, I don't know if it's been reported or if it's been said why it happens.

            Every time I import a new texture or replace an existing one in SBPR files, they end up flipped in Y.

            I know there's a new checkbox to flip them, but I'm not checking it.

            This means I either have to use the checkbox, which isn't good for already compressed DDS because it silently edits it, or have to flip the original uncompressed texture to keep the best possible quality.

            EDIT: I tried it with 1.0.20k and it works as expected, the texture doesn't get flipped, imports as is.

            The version that is giving me this problem is 1.0.22k, and I noticed it happened in SB3UGS1021 too.
            Last edited by roy12; 11-25-2015, 06:32 PM.
            My blog, you can find my mods there too.

            Comment


            • The problem here is that someone has to flip the texture, either you externally or Sb3UGS. DDS Textures are stored upside down in Unity.

              Older versions of Sb3UGS flipped silently and this flipping lowered the quality of the texture a bit. Current versions still flip silently, but give you the option in the Texture editor to NOT flip (which is the default). When Sb3UGS exports the texture unflipped, you will receive a flipped texure - quiet confusing, but this is because the texture is stored like so. On all other occasions but in the Texture editor Sb3UGS flips textures as in older versions.

              This means when you get a texture from somewhere else (not from an export of Sb3UGS), then you have to flip it externally and use the Texture editor with unchecked flip option. This would retain quality. Or, you use the file menu's "Replace ..." or the Texture editor with set flip option and lose a bit quality. (Same when dragging textures from an imported workspace.)

              Would it help to change the default of the flip option to checked? Or should Sb3UGS save your choice of the flip option? Or both?
              Last edited by enimaroah; 11-26-2015, 05:58 AM.

              Comment


              • Originally posted by enimaroah View Post
                The problem here is that someone has to flip the texture, either you externally or Sb3UGS. DDS Textures are stored upside down in Unity.
                I wonder what Unity Dev thought this was a good idea...

                In my case, I didn't know Unity had this strange design choice in it, so I didn't know SB3U was flipping it by default in previous versions, so pretty much nevermind.

                Damn it Unity.
                My blog, you can find my mods there too.

                Comment


                • No no, this is no problem for Unity. They just flip better on import than Sb3UGs. They also use a different coordinate system, so may be they let the gpu flip the texture by using inverted v coordinates. I guess, the reason for using different coordinate systems is just to demonstrate that they have good mathematicians, like TeaTime/FullTime, Real/Interheart, Illusion and now Unity. They all use(used) different coordinate systems. Unity has an extra point here, because they support very different platforms. Even on Windows you could switch to OpenGL.

                  Comment


                  • mmm... One question about texture flipping - does the quality drop accumulate?
                    I mean, if I export and import the flipped texture numerous times, will it act like photocopying a photocopied document?


                    Edit: Another question. Can SB3UGS give a warning when a mesh contains more than 64K vertices?
                    All it needs is summing up the vertex count inside a mesh transform?
                    Last edited by aastaroth; 11-28-2015, 01:45 AM.

                    Comment


                    • When Sb3UGS flips the texture it is converted into an RGB32, which means a compressed texture will be uncompressed. Then it is flipped and gets compressed again. What I could not find out is if DXT compression is like JPG or loss-less. I saw some degradation, so it seems to get worse.

                      A warning, when? On import or during replacement? Ah, I think it is on replacement when merging additional submeshes. I will check that.

                      Comment


                      • Would be better if the warning occurs at different occasions: 1) after importing a file 2) during replacement, and 3) opening/saving the .unity3d file containing that invalid mesh.
                        And have some warnings like, e.g. Mesh "xxx" contains 10 submeshes with more than 64k vertices.

                        Comment


                        • @enimaroah

                          DXT is lossy. Thus recompressing will always reduce quality. So yeah, it is cumulative. An option (sometimes) is to flip the UV. The problem is that if the UV is not "square" (don't know how to explain it better), it won't fit correctly the flipped texture. I had this problem a while ago.
                          My blog, you can find my mods there too.

                          Comment


                          • Thanks roy12 for confirming. Hm, if I would flip the texture by coordinates, then I would just apply -V. But this should work for non-square textures as well.

                            I added this possibility in the Material editor a while ago, but Sb3UGs' renderer doesn't use this setting and you would see the texture in all previews flipped.
                            [ATTACH]302768[/ATTACH]



                            @aastroth:
                            I had a hard time to search for a bug where there was none. When Sb3UGS extracts a submesh is compensates indices exceeding 64k. The submesh itself must not exceed the limit of course. This is quiet cool, because this allows you to have such invalid meshes in Sb3UGS and you can edit and correct them. But before that you could use such meshes to improve a skin of a mesh with a smoothed extra high poly model.

                            The warning is in and the mesh must be corrected before using the file in the game. I will also add a warning when an Animator opens with such a mesh.



                            Also, the Properties tooltip can now show differences of Materials with external Shaders. Like when you "Copy & Paste" Materials, if the shader can be found in an opened file it will be loaded and handled like an internal shader. The difference lets you see that it is safe to switch to another shader, because you could switch back and will find the same properties. While when this is red and the tooltip shows any properties, those will be lost. Such Materials could be duplicated with "Copy -> New" before switching the shader to have a backup in the file.
                            Last edited by enimaroah; 11-28-2015, 03:04 PM.

                            Comment


                            • I have done a little bit more testing on the 64k vertices warning.
                              It is shown correctly when there are only two submeshes.

                              Spoiler


                              But there is no warning for three submeshes even they clearly exceeds the limit in total.

                              Spoiler



                              P.S. I am not asking for disabling this feature
                              I just need a warning to draw my attention on such mesh transform, because it is not easy to figure out what goes wrong for map imports.
                              Attached Files

                              Comment


                              • The warning you see there is from the renderer, and uh... not very precise. Whenever DirectX (SlimDX) raises an exception this message is shown regardless of the real cause. It is not (only) shown because the limit has been exceeded, Sb3UGS just waits for any error. I will also present the cause or at least the error number from the exception.

                                The new messages are based on quantity of geometry. Please no more testing about this until the new version has been release. Thanks for your effort!

                                I'll release another intermediate release now with some of your requests. A description with the new/changed features follows.

                                SB3UGS_v1.0.22lamda:
                                • Support for LODGroup and Tree assets
                                • Added removing and renaming assets in Filtered tab
                                • Fixed renaming assets in unity3d files (AssetBundle not reflecting the name change)
                                • Fixed MeshFilter assets weren't removed when the MeshRenderer was removed or replaced
                                • Added warnings for Meshes with more than 65534 vertices - thanks to aastaroth
                                • Changed "Convert" considers all selected (Skinned)MeshRenderers - thanks to aastaroth
                                • Changed export/import and clipboard copy/paste of Shaders adding/stripping dependencies
                                • Fix for "Copy & Paste" of Materials when pasting from an *.assets file
                                • Added "Warning! Orphaning the following assets: ..." which is shown after deleting Transforms with non-Transform childs. Should these assets be removed automatically?

                                The result of a shader check visible in the tooltip of "Properties" if there are differences. But that might change, I am currently working on this point.

                                Download:
                                zippyshare, ge.tt, solidfiles - Dont click the Download button!
                                Last edited by enimaroah; 11-30-2015, 12:01 PM.

                                Comment

                                Working...
                                X