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, 07:00 AM. Reason: Add prefix

  • Edit 3: SB3Utility v0.8.27 has been released with the fix. You'll have to redo any .sb3uws files with RGF/SM2 content.

    Edit 2: I can confirm loading a .sb3uws file does make it corrupt. I'm working on it now.

    Edit 1: The mesh also has invalid (NaN) vertex positions, so it was corrupt to begin with. SB3Utility shouldn't generate invalid meshes, but no check is done in the workspace, only when adding/replacing. If the .sb3uws was created with originally valid sources, I need to know.

    The problem is the A01_O_Akarada00 mesh in the workspace with 111 vertices has 10 bones, but the vertex bone indices have numbers greater than 10. I don't know how those incorrect bone indices got into the workspace in the first place, but I'll change it to remove them.
    Last edited by Alamar; 06-29-2010, 10:07 PM.

    Comment


    • I did some weird stuff (well, not so weird - import/export to 3ds max) with some meshes, but A01_O_Akarada00 is just a edited .mqo (I think) loaded in SB3U and then moved to the workspace... I have no idea how it could get corrupted but it doesn't really matter now. Thanks for your answer.

      [ School Mate 2: Uncensor | Clothes ] [ @HomeMate: Uncensor & Clothes ] [ Yuusha: Uncensor ]
      [ AG3+: ExpandingPussy Uncensor ] [ Itazura/Ichazura: Uncensor & more ] [ Tech48: Uncensor ]

      Comment


      • Hey, I'm trying to get back into character editing and I'm having issues with the autodesk DAE importer. it adds a extra naorted back to DAE and then importedming system. i think its called PIDS which when exp into SB3U causes bad names. like my hierarchy would have ALL_ROOT>HIP>CHEST>HEAD .. so forth but the PIDS are actually taking the place of the real names, so SB3U tries to import the PIDS, or both the name and PIDS.. donno. example everything would say ALL_ROOT-node>HIP-node>CHEST-node>HEAD-node.. etc..

        just wanted to know if anyone has experienced this same problem? if not what DAE plugin or import settings are you using?

        though the issue isn't an issue with SB3U really, its more or less a quirk of the importer.. thought it was worth noting

        I'm trying to get back into the flow in preperation of the new SB4 and DGR2 ^_^

        ..oh one other thing is it possible to create a XX converter? I was trying to import some stages to DGR, but they are XX type 1 when DGR uses XX type 2. I exported to .X direct x then re-imported and this converted my XX format into type 2. but it losses alot of something, cause the model layers are screwed up.. like transparency overlap.. I thought there might be a way to rebuild the XX format, while retaining that extra hex info... sorry if you don't understand what I'm ranting about lol.. but its ok. cheers
        DOWNLOAD DIGITAL GIRL MODS
        http://digitown.leadhoster.com/

        Comment


        • If the frame names have only been appended, you might be able to open the .dae file in a text editor and replace "-node" with nothing to remove them. If that doesn't solve the problem, you can send me a sample .dae, and I'll take a look at it.

          I think using a workspace will work for .xx conversion. It isn't a direct conversion but more like a workaround:
          - Create a new workspace.
          - Drag-n-drop nodes under the Frame tab or items in the Materials and Textures tabs to the workspace. The hex data remains intact if you drag-n-drop frame nodes, and they'll show up as Hierarchies in the workspace.
          - Open the .xx destination file, and click Replace.

          When there's a higher type number, it means that there's more data. Converting lower to higher types will just fill that new data with null bytes when replacing Hierarchies.
          Last edited by Alamar; 08-23-2010, 11:23 PM.

          Comment


          • whoa, lol I didn't even know that you could drag and drop stuff into that box. (NewWorkspace?)

            thanks for the info, that's pretty handy. also I'm still not sure why I get this extra naming stuff. I checked the DAE exported from SB3U and its fine.. but once in max that info gets added i think by the importer. once I export out it saves with the file.. really weird.

            edit
            w00t! it works .. well sorta. I ported a stage model from @homemate to digital rin. DGR is format1, as AHM is format2. the workspace merge copies all the hex, but I'm still getting layer overlapping from transparent materials. I'm sure that the drawing order info is being carried over in the workspace utlity.. but it seems DGR's current engine isn't great at handling layers.

            ohwell, least this saves me from manually hexing lol
            Last edited by mariokart64n; 08-24-2010, 08:17 PM.
            DOWNLOAD DIGITAL GIRL MODS
            http://digitown.leadhoster.com/

            Comment


            • Originally posted by mariokart64n View Post
              I'm still getting layer overlapping from transparent materials. I'm sure that the drawing order info is being carried over in the workspace utlity.. but it seems DGR's current engine isn't great at handling layers.
              I'm experiencing this quite often too. This has nothing to do with the game you mod.

              The problem appears when there are two meshes: both have the same vertex positions and bone weights, one of them is transparent. Now, when you edit them, the transparent mesh starts to overlap the other mesh in a weird way (as if there was a tiny difference in vertex positions, but there's not!). Nothing seems to help, except...
              This never happens when both meshes are in the same frame. So if you move everything from the first mesh to the other mesh and then edit them, there's no problem.
              This led me to believe that this problem is somehow related to frame transformations (precision again?)

              [ School Mate 2: Uncensor | Clothes ] [ @HomeMate: Uncensor & Clothes ] [ Yuusha: Uncensor ]
              [ AG3+: ExpandingPussy Uncensor ] [ Itazura/Ichazura: Uncensor & more ] [ Tech48: Uncensor ]

              Comment


              • my issue is with transparency overlaping but i don't think it is related to the frame data. since I copied over all the unknown hex bits using that workspace trick

                here's a pic of the problem, using the transparency of the leaf in @homemate, and the port I did the other night into DGR.. you can see that the leaf is using 2bit transparency in AHM.. and in DGR its not 256bit transparency.



                from modding games in the past, games ALWAYS have problems using 256bit transparencies.. 2bit works like a charm. and actually alot of the games now are limited to 2bit, being rendering engines are now getting soo complex withi lighting.. anyway enough ranting.. I'm going to double check my materials and try and force on 2bit, that should solve 1 of serveral other model porting issues I'm having.
                DOWNLOAD DIGITAL GIRL MODS
                http://digitown.leadhoster.com/

                Comment


                • Sorry, it's something different then. I was thinking about clipping problem...

                  You're probably right, it's the game problem.
                  Last edited by profundis; 08-26-2010, 02:35 AM.

                  [ School Mate 2: Uncensor | Clothes ] [ @HomeMate: Uncensor & Clothes ] [ Yuusha: Uncensor ]
                  [ AG3+: ExpandingPussy Uncensor ] [ Itazura/Ichazura: Uncensor & more ] [ Tech48: Uncensor ]

                  Comment


                  • oh yeah! clipping is an entirely different issue, which is easy to fix. just bring it into max and toss a PUSH modifier on it. adjust the push to about 0.02 which should avoid most clipping. the clipping effect will vary on the proximity of the active camera. donno why
                    DOWNLOAD DIGITAL GIRL MODS
                    http://digitown.leadhoster.com/

                    Comment


                    • I released SB3U v0.9.0, but only FBX (Autodesk 2011.3) export was added. I'm still working on the importer. Unchecking the "Skins" export option will make skinned meshes exported as unskinned. It's there because normals are recaluated by the FBX plugins if the mesh has deformers.

                      It looks like FBX is the format I'll be focusing on, and it'll be the only binary format that SB3U can both import and export. The good Collada plugins and API became commerial, so I abandoned that format.

                      The next SB3U version should have the FBX importer, add/remove in the Bone tab, an option to keep the original normals when replacing, and options for bones when replacing. Just don't expect it anytime soon.

                      Edit: FBX export with multiple meshes or with "All Frames" may give a bugged skeleton.
                      Last edited by Alamar; 08-27-2010, 03:03 PM.

                      Comment


                      • yeah I was having troubles importing new normals.. does SB3U.8 support import of normals?

                        in 3dsmax they are calculated through the smoothgroups. but when exported in MQO or DAE.. it doesn't show in SB3U.8
                        DOWNLOAD DIGITAL GIRL MODS
                        http://digitown.leadhoster.com/

                        Comment


                        • Originally posted by mariokart64n View Post
                          yeah I was having troubles importing new normals.. does SB3U.8 support import of normals?
                          It does when you use DirectX (.x) format (there are free exporters for 3ds Max).

                          [ School Mate 2: Uncensor | Clothes ] [ @HomeMate: Uncensor & Clothes ] [ Yuusha: Uncensor ]
                          [ AG3+: ExpandingPussy Uncensor ] [ Itazura/Ichazura: Uncensor & more ] [ Tech48: Uncensor ]

                          Comment


                          • I just released SB3U v0.9.1 with fixed FBX export and added FBX import. There are also options for bones when replacing meshes.

                            It looks like .sb3uws files from v0.8.x don't open in v0.9.x, so I'll look into making a converter if it's easy enough. Supporting morphs in FBX will also be on my todo list.

                            I forgot to recompile SB3U v0.9.1 after removing the test code, so download v0.9.1a. It should be the same as v0.9.1 without it trying to load some .pp files upon startup.

                            Edit: The good news is I can make a converter for v0.8 to v0.9 .sb3uws files, and I'll probably release it when SBZ comes out. The bad news is it'll have to be a separate program instead of embedding it in SB3U because it needs the old executable. Sometime I'm going to change the .sb3uws format again to make it fully compatible with future SB3U versions.
                            Last edited by Alamar; 09-11-2010, 12:49 PM.

                            Comment


                            • The FBX import works great! I used to have huge problems with DirectX/Collada (the only formats Blender seemed to support), but everything's easy now - I don't have to mirror objects, flip normals, etc. Thanks!

                              I seem to have a problem with saving RGF .pp's, though - PPExtractor refuses to extract them. The simplest test I did was:
                              1. Open rk10.pp in SB3Utility
                              2. Delete a bunch of objects within it.
                              3. Save it as somethingelse.pp
                              4. Extract it with ppextractor; This fails, gives me the error "somethingelse.pp: Error reading file."

                              Extracting vanilla rk10.pp works fine. Saving as a Yuusha .pp works fine, but the extracted .xx files are way different in size, which I think might be causing RGF to crash when they're re-inserted. I'm using version 0.9.1a.

                              If someone gets a chance, would you please confirm this? I just want to make sure I'm not doing anything stupid.

                              Comment


                              • PPExtractor autodetects the wrong format when you change the filename. You have to use it with the "/RG" switch like "PPExtractor.exe /RG somethingelse.pp" to force it to use that format.

                                I just released SB3U v0.9.2 with FBX import/export for morphs. Like in the .mqo format, the morphed vertices (the only ones you should edit) are colored blue. The rest of the vertices are colored white because I couldn't figure out how to show the underlying material. Only the mesh, not the morphs, is colored since FBX doesn't save a morph's material or vertex colors. Just a warning that the FBX plugins recalculate normals when a mesh is deformed, and morphs count as deformers as well as skins.

                                Edit: There are 2 node names where SB3U figures out which morph needs replacing. One is the mesh node that has "_morph_", and the other is the blend shape name. For .morph.mqo, the 2 names come from the filename (in between the dashes) and the object name. In FBX, the blend shape name may be prefixed with the mesh name, so SB3U tries to correct that. Let me know if the names don't match when importing in SB3U.

                                A short tutorial how to edit morphs:
                                - Open a .xa file with morphs and a .xx file with the target mesh.
                                - Select a Morph Clip, its corresponding .xx file, and an export format. Click "Export Clip".
                                - Open the exported file, and edit the blue vertices. Only move them. The number and order of vertices must remain the same, so don't add or remove any in either the mesh or morphs.
                                - In Metasequoia, make one of the objects visible and edit it. In Maya, make the blend shape visible and edit it.
                                - Save/Export your changes, and open/drag-n-drop the file to SB3U.
                                - Select the file under the 3D tab, select the .xa tab in the Editor that has the morphs, change any Replacing Options in the Workspace, and click "Add / Replace".

                                Edit 2: To the curious programmers, it's possible to change the number of morph vertices and which ones they are, but it's a little messy because of how the data is organized and its restrictions. You basically have to rebuild all of the "morph keyframes" that a "morph clip" uses.

                                A MorphClip has 2 arrays of vertex indices, a list of MorphKeyframe (blend shape) names, the name of the target mesh, and some unknown data. One array has vertex indices of the target mesh, and the other has indices of the MorphKeyframe, so it's a map from MorphKeyframe vertices to mesh vertices. The same 2 arrays are used for all MorphKeyframes that the MorphClip references.

                                I'm not exactly sure how the game uses the MorphClip's list. It references the MorphKeyframes by name, and it may contain the same one multiple times. The list length can be different for each MorphClip, so the number of eye references doesn't have to match the number of mouth references.

                                A MorphKeyframe simply has a name, an array of vertex coordinates, and an array of vertex normals. Its array lengths must match the MorphClip's array lengths. The MorphKeyframes are all mixed together in their own section, so all the blend shapes for all the meshes are there. Sometimes there are MorphKeyframes with the same name, but I believe only the first one is used since they're only referenced by name in the MorphClip.

                                So, now that you know how the data works, you can rebuild it. First, you need the target mesh. Make a list of all vertices that are morphed in all blend shapes that are referenced by the MorphClip. (I don't know if you need to include all vertices of a face, even though only one or two of them are morphed.) Create the vertex map. When making the MorphKeyframe, copy a vertex from the target mesh if it isn't changed in that particular blend shape. Otherwise, use the blend shape's vertex. Repeat the process for each MorphClip that has its MorphKeyframes modified.
                                Last edited by Alamar; 09-14-2010, 09:31 AM.

                                Comment

                                Working...
                                X