SRIV SDK Release B: Adding New Customization Items

I have tried and got disappointed results. Yeah, you can, but to make it work right you should set right bone's Id, which prescribed in a sim_pc files. But we haven't any tool that can generate it and you must to set and try any numbers by guessing and see what happens.
 
I have tried and got disappointed results. Yeah, you can, but to make it work right you should set right bone's Id, which prescribed in a sim_pc files. But we haven't any tool that can generate it and you must to set and try any numbers by guessing and see what happens.

I see, This is the best i got, and i think i can get better results. But im afraid the way im doing will work only in a specific type of models.
 
Some guy on steam sent me template where bones already have right id, he said that got it from Flow754. I have written this tutorial based on this files https://www.saintsrowmods.com/forum/threads/sim_pc-files-information-summary.16354/
Hmmm interesting, it seems more complex than i thought.

upload_2019-1-3_21-42-47.png


This is my file, the first new bone order is 71 and the last one is 81. They appear in game, but not correctly. Here is the first test:


This is the result if i export it as how its shown on the pic. The bone position is wrong, and im not sure if the scale is smaller, or if it only supports up to a min number of bones per chain. It works, but my main problem is how the bone is loaded higher than it is supposed to be. Maybe a freeze option ?

On the other video I placed the first bone lower than its supposed to be, and i scaled bigger that chain, as you can see, the results are better, but the process is just messy
 
Last edited:
As I remember if bone index is wrong - vertices which weighted to it would be static. There is documentation about sim files but unfortunately I am not c++ guy and understand very little about file structure
Here's the data structures for cloth sim files (there may be some header before the main cloth_sim_info struct):

Code:
struct simulated_node_info {
    int8 bone_index;
    int8 parent_node_index;    // rotation is applied to the parent bone for each particle
    int8 gravity_link;
    int8 anchor;

    uint32 collide;        // binary list of colliders that this node collides with.

    float wind_multiplier;
    xxx_vector_conv pos;
    xxx_vector_conv local_space_pos;
};

struct simulated_node_link_info {
    uint16 node_index_1;
    uint16 node_index_2;

    uint32 collide;        // bit list of colliders that this linke collides with

    float    length;
    float stretch_len;
    float twist;
    float spring;
    float damp;
};

struct cloth_sim_collision_primitive_info {
    int    bone_index;
    short    is_capsule;
    short    do_scale;
    float    radius;
    float    height;
    xxx_vector_conv pos;
    xxx_vector_conv axis;
    xxx_vector_conv local_space_pos;
};

struct cloth_sim_rope_info {
    float    length;
    int    num_nodes;
    int    num_links;
    int    *node_indecies;
    int    *link_indecies;
};

struct cloth_sim_info {
    int    version;
    int    data_size;
    char  name[28];
    int    num_passes;
    float    air_resistance;
    float wind_multiplier;
    float wind_const;  
    float    gravity_multiplier;
    float object_velocity_inheritance;
    float object_position_inheritance;
    float object_rotation_inheritance;
    int    wind_type;

    int    num_nodes;
    int    num_anchor_nodes;
    int    num_node_links;
    int    num_ropes;
    int    num_colliders;

    simulated_node_info                *nodes;
    simulated_node_link_info        *node_links;
    cloth_sim_rope_info                *ropes;
    cloth_sim_collision_primitive_info *colliders;
};
 
I wish this question was made months or years ago ... so much info that I cant fully understand. Ill try to do what i can with all these.

Last question btw, maya related this time, is there a way to "fix" a bone or freeze its translation? I manually add those, but im not sure if im missing some attributes or something else, as the freeze option doesnt work with the skeleton.
 
I wish this question was made months or years ago ... so much info that I cant fully understand. Ill try to do what i can with all these.

Last question btw, maya related this time, is there a way to "fix" a bone or freeze its translation? I manually add those, but im not sure if im missing some attributes or something else, as the freeze option doesnt work with the skeleton.
As I remember it doesn't work with applied skin modifier. You can unbind skin and try it.
 
Some guy on steam sent me template where bones already have right id, he said that got it from Flow754. I have written this tutorial based on this files https://www.saintsrowmods.com/forum/threads/sim_pc-files-information-summary.16354/

I just installed this item and well... it works:

I changed my maya file bones properties so they are almost identical to the ones for this cape. However, i just cant replicate this effect. Im starting to think that is not only the fbx file that needs extra info, but maybe a trick or series of steps while using the converter? I guess we have to wait until Flow comes back:(
 
I just installed this item and well... it works:

I changed my maya file bones properties so they are almost identical to the ones for this cape. However, i just cant replicate this effect. Im starting to think that is not only the fbx file that needs extra info, but maybe a trick or series of steps while using the converter? I guess we have to wait until Flow comes back:(
This effect prebaked in sim_pc files, so all additional bones, where they attached to main skeleton, physic parameters like damping etc. So you can only use existed bones from items with sim_pc files. You can only change mesh in 3d editor. I wrote tutorial how to deal with characters with additional bones, but when i tried wearable items I got this.

View attachment 20396 When a physic simulation is failed
I didn't have time to test it properly so I still don't know would be it work or no.
 
Back
Top