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

  • Your projects are Unity projects, I assume?

    Then you would have three folders to place files which are supported by Sb3UGS:
    • abdata - as the names suggests it is used for AssetBundle files only
    • {game exe name}_Data - normal game files
    • {game exe name}_Data\StreamingAssets - for AssetBundle files



    For the first folder you would deploy your AssetBundle files like this:
    Code:
    ...
        [MenuItem ("Assets/Build AssetBundles - Uncompressed")]
        static void BuildAllAssetBundlesUncompressed()
        {
            EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.StandaloneWindows64);
            BuildPipeline.BuildAssetBundles
            (
                "abdata",
                BuildAssetBundleOptions.UncompressedAssetBundle,
                BuildTarget.StandaloneWindows64
            );
        }
    ...
    Just adapt the blue marked path accordingly.

    Comment


    • Originally posted by enimaroah View Post
      Your projects are Unity projects, I assume?

      Then you would have three folders to place files which are supported by Sb3UGS:
      • abdata - as the names suggests it is used for AssetBundle files only
      • {game exe name}_Data - normal game files
      • {game exe name}_Data\StreamingAssets - for AssetBundle files




      For the first folder you would deploy your AssetBundle files like this:
      Code:
      ...
      [MenuItem ("Assets/Build AssetBundles - Uncompressed")]
      static void BuildAllAssetBundlesUncompressed()
      {
      EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.StandaloneWindows64);
      BuildPipeline.BuildAssetBundles
      (
      "abdata",
      BuildAssetBundleOptions.UncompressedAssetBundle,
      BuildTarget.StandaloneWindows64
      );
      }
      ...
      Just adapt the blue marked path accordingly.
      What i meant by the project, is the thing that I'm working on, which may or may not involve Unity Editor.
      The reason I'm asking for this, is that i don't fancy (kinda selfish, but doubt I'm the only one) having unnecessary files inside the folder with my work files, and *_Data has quite a few that are in the way.
      Making futa/yuri master model
      CM3D to CM3D2 mod porting
      Lesbian dual vibrator fix
      Furry maid set
      CM3D2.CategoryUnlocker
      COM3D2.ModLoader
      COM3D2.CategoryCreator

      Comment


      • Then you can still mimic the target game's folder structure in your project directory without copying game files. And the file will be fine for automatic saving from Sb3UGS and will be correct when copied into the target game later.

        Comment


        • Originally posted by enimaroah View Post
          Then you can still mimic the target game's folder structure in your project directory without copying game files. And the file will be fine for automatic saving from Sb3UGS and will be correct when copied into the target game later.
          That's not something that I even considered doing. Thanks for the tip, as it does indeed work. Though I wouldn't call creating dummy _Data folder to be an ideal solution (obviously than copying ofc.). Would it be possible to add an option to SB3UGS for assumed folder structure, for set and forget solution? Like, if I set it to CM3D2x64_Data, the SB3UGS would assume that all bundle files are opened from CM3D2x64_Data, despite their actual location.
          Making futa/yuri master model
          CM3D to CM3D2 mod porting
          Lesbian dual vibrator fix
          Furry maid set
          CM3D2.CategoryUnlocker
          COM3D2.ModLoader
          COM3D2.CategoryCreator

          Comment


          • SB3UGS_v1.9.13 relevant for KoikatuTrial and COM3D2 (Unity 5.6+ and Avatar fix)
            • Added copying normals/uvs from UVNB into the mesh
            • Fixed version break for Unity 5.6.2 / support for KoikatuTrial
            • Fixed Avatar corruption when new Transforms were merged in Unity 5.4.2+
            • Fixed Mesh channel 5 in Unity 5+ seems to be another UV
              (crashed when reading a Tangent in the last stream)
            • Added display of unsupported channels in Mesh editor Attributes dialog

            Click image for larger version

Name:	UnsupportedMeshChannels.png
Views:	1
Size:	138.9 KB
ID:	5925054
            Details for KoikatuTrial will follow in the pre-release discussion or in the modding thread for that trial (after being created).

            Download:
            github

            Sources:
            github

            Comment


            • I just realized that I can't open exported fbx in 3ds max 2012 anymore
              Is it because of the new fbx 2018.1.1 export format? Do I need to get 3ds max 2018?

              Comment


              • Originally posted by senz View Post
                I just realized that I can't open exported fbx in 3ds max 2012 anymore
                Is it because of the new fbx 2018.1.1 export format? Do I need to get 3ds max 2018?
                Yes to the first question, that is very likely. But in Sb3UGS you can set the Export format to Fbx 2006. That format should be compatible and work for older versions of 3DS Max.

                Comment


                • Thank you very much! Fbx 2006 works great!

                  Comment


                  • Originally posted by enimaroah View Post

                    Yes to the first question, that is very likely. But in Sb3UGS you can set the Export format to Fbx 2006. That format should be compatible and work for older versions of 3DS Max.
                    What are people doing to workaround this change for Blender?

                    Neither 2018 nor 2006 can be opened in it. I could use Autodesk's Converter to convert from 2006 to 2012, but would the file structure stay compatible?
                    My blog, you can find my mods there too.

                    Comment


                    • Originally posted by roy12 View Post

                      What are people doing to workaround this change for Blender?

                      Neither 2018 nor 2006 can be opened in it. I could use Autodesk's Converter to convert from 2006 to 2012, but would the file structure stay compatible?
                      are you on older version of Blender? 2.79 has no issues opening 2018. if memory serves, enimaroah mentioned that he was reluctant to switch to FBX 2018 , because that resulted in odd bone orientation in Blender and i pointed out that this can be solved by manually setting primary and secondary bone axes on import to Blender, and after that he, presumable done some tests, and switched to 2018.
                      Making futa/yuri master model
                      CM3D to CM3D2 mod porting
                      Lesbian dual vibrator fix
                      Furry maid set
                      CM3D2.CategoryUnlocker
                      COM3D2.ModLoader
                      COM3D2.CategoryCreator

                      Comment


                      • roy12
                        roy12 commented
                        Editing a comment
                        Yeah, figures, I was still at 2.78c because I read around that 2.79 had some big changes, but now I'm not sure. I'm just gonna get 2.79 then if SB3UG works fine with it. Thanks.

                    • Hm, I just checked Blender 2.79a to verify the exchange with several UV sets, and that worked fine. The problems were with Blender 2.78(c?) or before.

                      I would need to get the Unity file to produce such an FBX and check Sb3UGS's exporter.

                      Comment


                      • SB3UGS_v1.10.0
                        • Fixed loss of vertex colours when a mesh was reused and the number of vertices changed
                        • Fixed new Meshes never got vertex colour channel masked in Mesh m_CurrentChannels
                        • Added support for up to four UV sets in Unity5+
                        • Identified problem in FBX 2018.1.1 for single colour vertex and single tangent elements
                          when several uv sets are created before them. Maya drops vertex colours in this case.

                        Download:
                        github release

                        Sources:
                        github release

                        Comment


                        • enimaroah Could we have a "replace asset in assetbundle without changing pathID" option when doing copy & paste.
                          My current retexture workflow is building material in unity and copy paste into the original assetbundle, then change material in every submeshes to the new ones. The last step usually takes a lot effort, and not easy to locate a mistake.

                          Comment


                          • SB3UGS_v1.10.1
                            • Fix in Fbx importer not considering the combined mesh matrix of skinned meshes
                            • Noticed issue in FBX with imported leaf bones matrices for asymetrically scaled bone frames
                            • Fixed tangent computation (bug introduced in 1.10.0)

                            Download:
                            github release
                            Sources:
                            github release
                            Last edited by enimaroah; 03-01-2018, 03:50 AM.

                            Comment


                            • plasticmind
                              For unknown reasons I haven't seen a message for your post in this thread. So, sorry for the delay.

                              A replaced Material will or better should retain its pathID as long as it was existing before. New ones get their pathID upon saving the file. But I will check that again.

                              Edit:

                              Verified, and found as described. A pasted Material retains its pathID. Hm, this means that you had something else in mind.

                              Could it be that you would have wanted the original pathID from the source file? That would be a problem: what, if that pathID would already exist in the destination file?

                              Edit2:

                              Would it help to change the material selection in the Mesh editor to assign the selected material to all selected (Skinned)MeshRenderers?

                              Or is your workflow using scripts, then you would just call animatorEditor.SetSubMeshMaterial(meshId={mesh number}, subMeshId=0, material={material number}) several times?

                              Comment

                              Working...
                              X