Jump to content

Hi There

Welcome to Klub Exile. If you happened to make your way to the site either from Lovers Lab or a Search on Google, we are glad you found us.  To unlock the entire site you will need to have a account registered.  Don't worry it is free but in the mean time you can read up on why we made the site and other little tidbits.  Feel free to join or Discord Server also if you have any more questions.  Thanks for stopping by and See You on the other side.

admin admin

hfg2

Modder
  • Posts

    476
  • Joined

  • Last visited

  • Days Won

    1
  • XP

    20,486 [ Donate ]

Posts posted by hfg2

  1. There is another real option where you start following a couple of tutorials on how to make addons and start learning Blender. After two weeks of watching Youtube videos for basic Blender lessons (Object mode, Edit mode, Sculpt mode, Weight painting, how armatures works, materials/textures, etc) you should be ready to start working on your own addons.

    You will continue to learn Blender your entire life, in fact you will never learn Blender entirely, but you could start ACTUALLY working and produce addons after a couple of weeks.

    • Thanks 1
    • Agree 1
  2. };
    TTransform :local_root_rotation_group . {
    	TNode.SNode STransform :local_Sroot_rotation_group;
    	TNode.Parent TTransform :local_OpenWedges01_group;
    	Object.Name "root_rotation_group";
    };

    There is something wrong with this root_rotation_group maybe, or one item in the hierarchy tree.

    Try to parent it different...

    TTransform :local_root_rotation_group . {
        TNode.SNode STransform :local_Sroot_rotation_group;
        TNode.Parent TTransform :local_root_pivot_rotation_group;
        Object.Name "root_rotation_group";
    };

    Also the fact that your resulting bs file has stuff inside like:

    TTransform :local_Camera . {
    	TNode.SNode STransform :local_SCamera;
    	TNode.Parent TTransform :local_Scene;
    	Object.Name "Camera";
    };
    STransform :local_SCamera . {
    	SSimpleTransform.Translation Vector3f( 7.48113, 5.34367, 6.50764 );
    	SSimpleTransform.Rotation Vector3f( 63.5593, 46.6919, 0 );
    	Object.Name "SCamera";
    };

    makes me think you are exporting the entire scene, not just the TRS tree and the mesh.

    • Thumbs Up 1
  3. 7 hours ago, vi363R said:

     

    ok making good progress with some python scripts to treat Raw textures.. group them by number, create normal from bump, apply transparency mask layer, save as indexed png, create spec map from roughness, glossiness and emission files.. automating the boring stuff

    Could be useful if you publish conversions scripts for those, maybe more people will be using (adopting and adapting) those in their workflows.

    Where I got stuck in the past was when I was trying to import some rooms that used whatever texture, but with a scale like 1/30 when applied to the UV map. Daz can do 1/30 texture scale, Blender can do 1/30 texture scale, but this info is lost when exporting as OBJ from Daz. And the TK17 game can do only 1:1 textures, which also must be in powers of 2.

    Also had some issues with converting textures from Daz where everything was just a bump texture with a diffuse color applied to it, with a possible blend mode.

    I both situations (UV scale and texture with color applied) those cases must be catch somehow in Daz or Blender and converted properly.

     

    5 hours ago, HDiddy said:

    I mean if most DAZ items use them, why wouldn't we? So depending on how many you use, ports vs custom, etc that adds to your workflow.

    Imo, most Daz morphs are a non-sense and never used, not even in Daz. I find myself wasting a lot of time figuring out what every morph does in Daz, trying to know those, to actually see if I need something or not. I mean this is a basic show-stopper for me when it comes to speed porting something. 🙂

    5 hours ago, HDiddy said:

    Where I find most of your time spent is fine-tuning and primarily getting your weight painting correct. 

    This was always a problem, and there used to be no short path, you are either a good weight painter or not. For some people this comes naturally, while others struggles with this their entire life (or should I say modding career?!?).

    But there are actually ways to improve things a little, understanding and following weight painting tutorials can open eyes, bring new solutions to the workflow.

    And at last, in newer versions of Blender there are better weight painting tools, like Corrective Smooth Baker, which helps with the process, you start with a basic weight transfer or even with automatic weights and the tool does then everything for you while you go to the kitchen to make a coffee while the tool stretches its muscles and your character joints. At the end you might still need fine tunning, but I noticed this helps a lot and I personally use this for my bodies weight painting.

    5 hours ago, HDiddy said:

    As far as textures go, I have started to use Substance Painter a lot to handle this more effectively.  I find the workflow there just creates a cleaner texture versus me modifying things by hand...which is also time consuming.

    Few people goes that far, to learn new tools and acquire new skills. And this is still a challenge, because you must stay on the "path" and not steer away from it, whatever what this might be. 🙂 

    • Like 1
  4. There are ways to make skin to support transparency, but this comes also with its own issues. Vast majority of games (not only this one) supports only single face rendering, and this is problematic because those faces will not be rendered. Back in modsgarden days there were more attempts to get "translucent" skin, for example Oyster Mug I remember tried to do something like a ghost.

    So to cut this story short, why don't you search for "ghost" on this forum and see what you get?

    • Thanks 1
  5. havent tried this in a while for g8f but doing it frequently for g3f and everything is smooth and fine.

    Morph Loader Pro always needs to be working with Base Resolution so make sure to set that before doing an Obj export.

    If you have "geometry not matching" then this is usually a problem of exporting something else along the body or exporting the body in the wrong resolution. For G8F you need to export only the body, not eyelashes. Also, I assume you dont have clothes, hairs, genitals, etc in your scene.

    image.png

    • Thanks 1
  6. I was a noob myself long time ago, and still feel like a noob in certain areas of the game. But if you keep doing and doing and doing it, eventually you will understand how things works more and more, and your learning process will become faster. New skills, better techniques. 

    Keep pushing!

    • Agree 5
  7. Hairworks can be pinned and you can enable simple collision using spheres and cylinders from one sphere to another.

    One manual way would be to edit directly in the APX file.

    Example:

    Quote

        <array name="boneNames" size="164" type="U8">
          99 108 97 118 105 99 108 101 95 76 95 106 111 105 110 116 0 99 108 97 118 105 99 108 101 95 82 95 106 111 105 110 116 0 104 101 97 100 95 106 111 105 110 116 48 50 0 110 101 99 107 95 106 111 105 110 116 48 49 0 98 114 101 97 
          115 116 95 115 99 97 108 101 95 76 95 106 111 105 110 116 0 98 114 101 97 115 116 95 115 99 97 108 101 95 82 95 106 111 105 110 116 0 115 112 105 110 101 95 106 111 105 110 116 48 52 0 115 112 105 110 101 95 106 111 105 110 116 48 
          51 0 115 104 111 117 108 100 101 114 95 76 95 106 111 105 110 116 0 115 104 111 117 108 100 101 114 95 82 95 106 111 105 110 116 0
        </array>

    Converting this with a char to string utility will tell you the bones names.

    You should get something like:

    Quote

        0 clavicle_L_joint
        1 clavicle_R_joint
        2 head_joint02
        3 neck_joint01
        4 breast_scale_L_joint
        5 breast_scale_R_joint
        6 spine_joint04
        7 spine_joint03
        8 shoulder_L_joint
        9 shoulder_R_joint

    Also added their index above.

    Then, there is this part with (Comments added by me so is easier to understand):

    Quote

        <array name="boneSpheres" size="17" type="Struct" structElements="boneSphereIndex(I32),boneSphereRadius(F32),boneSphereLocalPos(Vec3)">
          3 6.25606775 -4.42817688 -0.660001755 3.27663656e-008, //neck_joint01
          
          1 6.89817524 12 3.59999084 -0.908362389,                //clavicle_R_joint
          0 6.89820004 -11.9999962 -3.59999084 0.908399105, // clavicle_L_joint
          
          2 7.35465384 8.30802917 4.71977043 -9.74764362e-007, //head_joint02
          2 8.21044064 8.07322693 0.328305006 -9.62023478e-007, //head_joint02
          2 5.46806669 -1.38447571 8.31080437 1.94076733e-007,  //head_joint02
          2 6.26980019 0.468505859 0.360000134 -5.4642328e-008, //head_joint02
          2 4.61963892 3.84417725 1.57000041 -4.53536463,        //head_joint02
          2 4.58024883 3.83618164 1.57000065 4.53490877,        //head_joint02
          5 7 -3.81469727e-006 -0.680007935 0,                    //breast_scale_R_joint
          4 7 0 0.680000305 0,                                    //breast_scale_L_joint
          6 10.5 2.56001282 1.37000036 -4.94777346,                //spine_joint04
          6 10.5 2.55999756 1.37000036 4.90900469,                //spine_joint04
          7 8.82939911 0.819992065 5.20072937 -4.58446026,        //spine_joint03
          7 8.85961342 0.449996948 4.48338795 4.36999989,        //spine_joint03
          8 4.15110016 -27.1500015 -1.71000671 -1.21000075,        //shoulder_L_joint
          9 4.18319988 27.6699886 1.69998169 1.21999741            //shoulder_R_joint
        </array>

    One way here is to try and edit the sphere radius if you need more volume somewhere.

    For the connecting cylinders you have:

        <value name="numBoneCapsules" type="U32">11</value>
        <array name="boneCapsuleIndices" size="22" type="U32">
          1 0 2 0 3 5 3 4 4 6 0 6 1 2 11 12 13 14 1 16 2 15
        </array>

    Quote

        <value name="numBoneCapsules" type="U32">11</value>
        <array name="boneCapsuleIndices" size="22" type="U32">
          1 0 2 0 3 5 3 4 4 6 0 6 1 2 11 12 13 14 1 16 2 15
        </array>

    The indices tells you how those speheres are connected with cylinders(from index n to n+1).

    At last there also seems to be pins inside:

    Quote

        <value name="numPinConstraints" type="U32">0</value>
        <array name="pinConstraints" size="0" type="Struct" structElements="boneSphereIndex(I32),boneSphereRadius(F32),boneSphereLocalPos(Vec3)"></array>
     

    image.png

     

    In the screenshots there is an import from a Blender plugin for APX (https://github.com/ArdCarraigh/Blender_APX_Addon)

     

     

     

    • Like 1
    • Thanks 4
    • Thumbs Up 2
  8. At least for Physx, the collision markers are injected in some bodies and those appear (should appear in the scene unless the H5 engine rejects them 🙂 ).

    But most people are not aware of those because those collision markers are actually tiny tiny tiny tiny triangles which makes them invisible even in non hook5 scenes. That and also the fact that all those are actually hidden inside the body.

    However, if you replace their puny size from 0.0001 with something more visible like 0.05 then those markers will show up in the scene as in the screenshot.

    image.png

    Those use the eyeball texture, and are single sided, so you will see them only if you are looking at their pointing normals.

    Every single collision marker is assigned to a joint, but it can be moved if a TTransform is also introduced, parented to the original bone parent and the collision reparented to the new TTransform. (Untested, but... should work I guess).

    It might also work if this could be reparented to a total different object in the scene, like a bed (this really was not tested at all 🙂 )

    Lastly, I would try and check what happens if you use the marker of an invisible model (those all have markers) maybe the hand, or clavicle positioned on the bed where you want the collision to take place.

    • Thanks 2
    • Thumbs Up 1
    • Hmmmm 1
    • Confused 2
  9. Never tried to play much with collision markers for physx at that time so not sure if those works or not. But from what I've seen those markers are just basic simple geometry based on TTransforms, and those could be manipulated using sliders.

    If someone would be willing to give those a go then those markers could be easily repositioned in places you want to have better collision. 

    Never tested this idea, but why not?

    • Hmmmm 2
  10. I'm all into beautiful models, but I agree that some ugly faces or some specific traits sometimes are interesting and could lead to highly atractive characters.

    From experience I can also say that just because there is something awesome in a Daz rendering, when brought in the game it looks mediocre on my screen, so yeah, the scene, the lights, the face expression, the pose/posture, the clothing could be more than the character itself.

    But at the end of the day I'm more like a modder and not an artist, if I spend time modding then I have less time for creative work, that means I rely mostly on work/characters produced by other people, and thanks God I have plenty to choose from.

    When I decided to ditch the stock game bodies I did it because I was unhappy with the face geometry of female models, to me all villa faces looks almost the same (normal after all because those shares same vertex topology and low vertex count). Daz faces are much more customizable.

    Also I never saw a single male face in villa that is not looking like a retarded face that always smile. I still get haunted my nights by those male models faces produced by an user I forgot his name during modgarden days.

    • Thumbs Up 1
  11. On 4/28/2023 at 6:13 PM, Xalas said:

    I woke up this morning and decided that I want to start creating add-ons beginning with hair first. 

    That is the most funny motivational shit I've ever read this year probably. 🙂

    Alpha Blend Hair is not that hard to port if the sources are clean/non intersecting geometry. 

    But there are some steps which can make it easily an almost impossible process:

    1. Source of hairs must be clean, hair straws making up the mesh must not be intersected. (just said that)
    2. Faces must be sorted (if point 1 above is true, then you could sort hair using the entire straws)
    3. Hair is duplicated (one inside hair, one outside hair)
    4. CollaTkane is going to produce hair that works more like clothes.
    5. I have a tool that injects required extra data to make hairs like clothes produced by CTK to work as real hair.

     

    At last, HW hairs could be good also, but I think there are some things to apply just like for regular hairs when creating those.

    HW hairs are much easier to make than porting alpha blend hairs.

    • Love It 1
    • Hmmmm 1
×
×
  • Create New...

Important Information

WARNING! Adult Only Content You must be 18 years of age or older to enter. By accepting you agree to Klub Exile's Terms of Use and Guidelines upon creating an account.