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

Driver

Modder
  • Posts

    1,335
  • Joined

  • Last visited

  • Days Won

    89
  • XP

    65,682 [ Donate ]

Blog Entries posted by Driver

  1. Driver

    Modding
    There's a small hack on my Xbody based Latona body.
    With this small patch you can make Latona body back to FBV2 with the one slider.
    !!VX.KlubExile.XBody.Sliders.zip
    This patch works only if you have the latest version of Xbody (v1.9.60).

    15.mp4    
  2. Driver
    I added ambient sound to my public bath room for a break, so I'll make a note of how to do that before I forget.
    Chapter 1 - Sound design
    First you should consider what ambient sounds can be heard and at what volume from what location.
    In my case I decided to put two ambient sounds.
    One is the sound of stream from hot spring.
    The second is the sound of a koto playing and a noise coming from a distant room.
    Sound of stream locates near and the right of camera position.
    Sound of music locates far and the left of camera position.

    Chapter 2 - Creating Sound file
    As technical information, sound file must be vorbis format (Ogg Vorbis) and monaural sound. I used app called "Audacity" both in making mono sound to which multiple sound sources are combined, and in exporting Ogg Vorbis. The reason why the sound source should not be stereo is that you do not always hear sound in constant position in the game. In fact the camera position moves and rotates, and that results in sound mixing being changed as if you were the mixer yourself, and that's why stereo sound doesn't have point here.
    I recorded a part of ambient sound on this web site that my friend told me about.
    https://mynoise.net/
    I merged sound of wind chime and shishi-odoshi into the stream sound as the "near" sound, while bustle and rumble sound into the koto sound that I got from other source as the "far".
     
    Chapter 3 - Coding
    This is the main part of this topic.
    There are 4 files in a room addon you need to edit to put ambient sound in it.
    AcRoom AvRoom Scene file Sound file Lets see one by one. I use my room addon "DriverRoom1" as the reference here.
    1. AcRoom (Addons\VX.DrvRoom1.BlankRoom\Scripts\Luder\DriverRoom1\AcRoom.bs)
    In the .ComponentArray those entries are inserted:
    AppImportSound . { .NodeName "DrvRoom1_Ambience1"; .ParentPath "/Room" + :room + "/sound_ambience1/sound_ambience1_offset"; .SoundFile "Shared/Effect/DrvRoom1_Ambience1"; .MixerFlags "SC3D"; .Category "Ambient"; .Volume F32(-10); }; AppImportSound . { .NodeName "DrvRoom1_Ambience2"; .ParentPath "/Room" + :room + "/sound_ambience2/sound_ambience2_offset"; .SoundFile "Shared/Effect/DrvRoom1_Ambience2"; .MixerFlags "SC3D"; .Category "Ambient"; .Volume F32(-10); }; Probably you don't have to have the same name in the sound file as the node name, but I did, not to make mistake. Also you can edit the volume, it only works in a minus direction I guess but not tested yet.
    2. AvRoom (Addons\VX.DrvRoom1.BlankRoom\Scripts\Luder\DriverRoom1\AvRoom.bs)
    AvSituation :ROOM . { .WithoutFurniture True; .Def [ AvPose . { }; ]; .Do [ AvPlay . { .SoundName "DrvRoom1_Ambience1"; }; AvPlay . { .SoundName "DrvRoom1_Ambience2"; }; ]; }; Simply insert the code below the .Do
    3. Scene file (Addons\VX.DrvRoom1.BlankRoom\Scenes\Luder\Room\DriverRoom1\DriverRoom1.bs)
    This is the most difficult part, so please keep up! But no worries, all you need is basically to insert code in existing addon.
    TTransform :local_Base . { TNode.SNode STransform :local_SBase; TNode.Parent TTransform :local_Scene; Object.Name "Base"; }; TTransform :local_sound_group . { TNode.SNode STransform :local_Ssound_group; TNode.Parent TTransform :local_Base; Object.Name "sound_group"; }; TTransform :local_sound_ambience1 . { TNode.SNode STransform :local_Ssound_ambience1; TNode.Parent TTransform :local_sound_group; Object.Name "sound_ambience1"; }; TTransform :local_sound_ambience1_offset . { TNode.SNode STransform :local_Ssound_ambience1_offset; TNode.Parent TTransform :local_sound_ambience1; Object.Name "sound_ambience1_offset"; }; STransform :local_Ssound_ambience1_offset Object.Name "Ssound_ambience1_offset"; STransform :local_Ssound_ambience1 . { SSimpleTransform.Translation Vector3f( -13.500, 0, -5.00 ); Object.Name "Ssound_ambience1"; }; TTransform :local_sound_ambience2 . { TNode.SNode STransform :local_Ssound_ambience2; TNode.Parent TTransform :local_sound_group; Object.Name "sound_ambience2"; }; TTransform :local_sound_ambience2_offset . { TNode.SNode STransform :local_Ssound_ambience2_offset; TNode.Parent TTransform :local_sound_ambience2; Object.Name "sound_ambience2_offset"; }; STransform :local_Ssound_ambience2_offset Object.Name "Ssound_ambience2_offset"; STransform :local_Ssound_ambience2 . { SSimpleTransform.Translation Vector3f( 4, 0.4, -0.5 ); Object.Name "Ssound_ambience2"; }; STransform :local_Ssound_group Object.Name "Ssound_group"; STransform :local_SBase Object.Name "SBase"; "Local_Base" comes first, this is parented to "local_Scene", the root of room scene file. You can name it Base/Ground/Papa/anything, but anyway I call it "Base"😎
    The structure is kinda like below:
    Scene---Base---Sound_Group---Sound_ambience1---Sound_ambience1_offset
                                                  ---Sound_ambience2---Sound_ambience2_offset
    Probably you can ignore the Sound_ambience_offset, I don't know how they work. Perhaps someone kind will enlighten us. Most important thing here is to set the position of sounds in STransform :local_Ssound_ambience1/2. Here you must specify the coordinates at which to place the sounds. The easiest way to get them is to use h5 object in game.

    001.mp4 Now you got the coordinates and wrote them in the scene file, let's go to the final step.
    4. Sound file (\Addons\VX.DrvRoom1.BlankRoom\Sounds\Shared\Effect\)
    You already made 2 Ogg sound files in the chapter2, so all you have to do is just put them in \Sounds\Shared\Effect\
    The name of sound files must be identical to those of AcRoom.bs
    In my case they are:
    DrvRoom1_Ambience1.ogg
    DrvRoom1_Ambience2.ogg
    Here is the outcome. Enjoy the bath!

    002.mp4    
  3. Driver

    Modding
    If there is a fact that everybody has his/her preference about what balance of facial parts looks best, there is another fact that an ideal balance of facial parts do exist. This is basically a reflection of the ideal in the face of Caucasoid though, I think it has also somehow universality in it, so I want to introduce it here. I used one of my model as an example because her face has some typical good balance among my models.

    As you can see it's not so complicated, is it?
    Lower lids is the center of head vertically, the length from lower lids to chin equal to from lids to top of head. The width between eyes is same as eye width, so as to nose wings width. So I can say this model has bit smaller nostrils than ideal ones. Mouth width is wider than nose wings but fits within the inner width between iris. The nose length is twice the length between nostrils and the center of lips, but it's typical male face ratio, if the model is female it would be better being 1.2 or around that. The distance between the contour and the outside of the eye varies greatly depending on the FOV. It says "0.5" in that image but if the fov is very low like 0.2 the value should be 0.75, on the contrary if fov is like 0.8 to 1.0 the value should be much smaller than 0.5. It would be easier to understand if you imagine a fisheye lens.

    At last,
    it's not that I'm thinking the balance between facial parts should be follow this theory, rather uniqueness of faces should be respected I think. But when you are lost at creating face of models, getting back to this theory wouldn't hurt.
    Thanks for reading
  4. Driver

    Modding
    Hi there folks,
    it's been a while since the last entry. This will be the final update in 2023 most likely so I'd like to show you something I've been working in this year.
    This is a demo of auto knee correction mod. In this video same bone translations as "Knee R" or "Knee L" in the Pose editor are used. I think you know both of em already 😁 but probably they are more unique sliders then you've thought because all the other sliders are about scaling of bone (vertex group) but only both of them are translation, that said, you are moving knee bones using those sliders.
    In this video, I not only moved the knee bones but also changed the length of knees that is because the position of knee caps moves a lot along with knee bone's movement so that shortening the knee length prevented the major change of knee cap positions. Those movement of bones are automatic, triggered by knee rotation (angles of the knees), it's the same idea as Sammrchssn's knee correcting morphs but the difference is, he used morphs while this mod uses bone translations.
    After I finished knee I also noticed thigh can be bent more decent way using this method. Then I tried. The left is normal, the right is modded (but only right leg)



    I think it's not bad as a starting point.
    Problem is, they look better without doubt in 75% of poses I have though, in some poses the butt are deformed in ugly way and spoils the looks significantly. I haven't thought about how to deal with it yet. Before I could work on it, I was getting bored with the work that had been going on since September and started playing other games gradually. (Unfortunately, there was a major update to the game I'm playing😂)
    So I will see what can be done for that.
    I wish you all the best for the coming year
    See you soon
     
  5. Driver

    Modding
    I noticed that the sliders responsible for closing eyes don't have the effect till the end of their limit, so I did a research to solve this issue.

    Although the sliders lose their effect in the middle of the way, I know that it is working up to 100% of its output, because I tested it on a shape I made myself. However I want to fix this because not being able to use the full width of the slider can be an obstacle in creating poses, and above all, it doesn't feel good.
    If you look into GUI scripts of the face (uiPoseEditFace.bs) you'll find lines related to closing eyes.

     .SliderMin :faceSliderMin;
     .SliderMax :faceSliderMax;
    Both of lines determines range of the slider, in this case both are under the default settings of PE face sliders. The default values appear in the very first line of the same file.

    var :faceSliderMin F32(-1);
    var :faceSliderMax F32(2);
    This means, minimum value of this slider is -100% of the shape, and the maximum is 200% of the shape. The default (neutral) slider position is 0%. But in this case the eye closing sliders seem to be limited to a possible maximum of 100% for some reason (that's why the slider stops at 100% even though it has a range up to 200%. Don't know why), and that's why they can't use the full width. So all I can do is to change the value of .SliderMax from "faceSliderMax" to "F32(1)".
    Here the outcome.


    The range changed to -100% to 100%, the center became the neutral position. The sliders are available with the full width. But is there anything to look in this world that we should spread our eyelids so wide that they dig into our foreheads? Maybe it's enough to be -50% at minimum so that neutral position won't change as before, like below.



    Here I share the both -100/+100 and -50/+100 version. Be noticed that they can change the movement of lids in a pose.
    EyeClose50-100.zipEyeClose100-100.zip
    When you want to get rid of this, replace this "uiPoseEditFace.bs" with the one from 10.1.01p (KE) update, that is located in
    (Game folder)\VX-Mod\Scripts\Shared\GUI
    or backup your file before install.

    Application
    There's PE Mod, that uses the same logic as the PE face sliders but with more complicated and functional way. I'll look the items one by one.
    CombineMatrixArray - This is the output power, we use only the first entry for PE mod, 1 is 100%, 0.5 is 50%, 0.25 is 25%.
    OutputMin/OutputMax - The limit of output power at maximum/minimum. In my opinion you can set the same value as SliderMin/Max in most cases.
    SliderMin/SliderMax - Works same as PEFace above, they are located in \VX-Mod\Scripts\Shared\GUI and each of PEmod, namely Body, Head, Hairs, Toy... has dedicated values.
    In the case of Head PEMod, the SliderMin/SliderMax are set as
     .SliderMin F32(-1);
     .SliderMax F32(3);
     
    So that neutral position (0) is always in a quarter, and if the output power is 100%, then also if OutputMin/OutputMax is the same value as SliderMin/SliderMax, the minimum power is -100% and the maximum is +300%. +300% means a morph has the features that are enhanced 3 times more. If you make a morph to close the lids at 100% of output power, they will be crossed and penetrated by each other at 300%.
    To prevent from being such, you can reduce the power of output (CombineMatrixArray). If you need 100% of output when maximize the slider, then set 0.33 in CombineMatrixArray because 300% of 0.33 is 0.99, nealy 1 (100%). In that case minimum output will be -0.33 (-100% of 0.33, that is -33%). If you need a bit more effect, 0.5 would be not bad choice, in that case the range of the slider will become -50% to +150%.

     
    Thank you for reading.
  6. Driver

    Modding
    123.mp4 Have you noticed a difference between the left eye and the right eye?
    Recently I heard a modder of this game told that he's trying to make eyes with real depth and I'm interested in the topic. As to the depth of eyes, hook5 has a function to make fake depth using parallax, but here I'm talking about a real, physical depth. Here goes the result. In the preview, only the left eye has a depth in the mesh.

    Eye mesh in this game is not high poly so the corner edge was shaped bit wildly, I thought if I got a good result then I would make the high poly version but...

    (showing the images in small size because I don't want you to be shocked)
    It looks rather nice when viewed from an angle, but from the side...😂 ...Needs more effort I guess.
     
     
  7. Driver
    Although Latona body has a little bit shorter torso than default body, they are almost the same approx. 7.9 heads tall. They say average adult is 7.5 heads tall so you can say models of TK17 have quite better proportions.

    I uploaded some "proportion checker" thing that originates from Honey Select game, and that indicates their models have longer legs/shorter torso than TK17, that said our models have more "realistic" proportions than them, nevertheless I think TK should have 7.5 heads tall model as well. So I made a morph that enlarge the head by about 5%.

    It turned out that it makes the model 7.4 heads tall.
  8. Driver

    Modding
    Recently I tried to make typical Caucasian face (especially north European) and had difficulties to create it on any existing face mod. That said, strong brow right above eye sockets, deeply incised eyelids, sloped forehead, high nose ridge, deeper nostrils, and probably mouth at a major setback from the line connecting the tip of nose and the end of chin.
    The image above is the result of my attempt using GE head mod. It's not too cartoon-ish, but still distant from realistic Caucasian faces.
    So I made two morphs (body morph, not face) to achieve the goal, one is responsible for forehead/brows/nose, the other is for setback of whole lower face. I use shape keys for most of mesh work lately as it is easiest way to develop three kinds of body at the same time. The result is below. I think there's room to polish, probably I should make the forehead more feminine at least.

  9. Driver

    Modding
    LATONA Morphs 001 "Crotch Fix"



    This "crotch fix" is the first ever morph Latona body has, moreover this is what has annoyed me for almost a year so I'm grad that I could finally give it a treatment, and here I devoted a whole blog entry for this morphs. 😋

    They appear at the bottom of Body tab.
  10. Driver

    Modding
    This is still WIP, some vertices look spiky when model's hands are down because of weight painting I did long before (but somewhat better than default weight for slim breasts). I'm not sure if I publish this as official Latona mod cause spamming new body shapes when cloth compatibility issue is still there, isn't good it seems to me.
    The file is available from the link below
    https://mega.nz/folder/cGQxhL7S#kWXOoxTHw7qB9gAN2ZDqGw
     

  11. Driver

    Modding
    A few month ago I made Latona shaped TRS body in blender for convenience and it has BB and Slim version as its shape keys. It was made to make cloth conversion easier (gives me more options, to be exact), but at that chance I wanted to test this body morphs also in actual game play. It was successful and additionally I took their screen caps and compared it to original version. Here the outcome.


    I don't know which version looks better in your eyes though, one thing that is certain is, morphs don't have its normal data. That said vertices behave as if they are still in the same positions after they shifted their actual positions, and that is to say they reflect light in wrong angle. This result makes me think about how should I take advantage of morph in this project.
  12. Driver

    Modding
    I'm preparing minor update of GECartoon face mod.

    Have you ever been disappointed when you flipped a portrait you thought you got well done? That may be because model's face is not symmetrical in TK. The face meshes are perfectly symmetrical in Blender, but somehow they get distorted in the game. In this update (0.8) I distorted the mesh in Blender to get the face look more symmetrical in the actual game play.

    Edited 18/09/2003
    I'm going to deeper in this problem and I found GEC v0.8 was completely mistake because I didn't set the camera in right orientation strictly when I worked on it. So probably the distortion of the nose became worse than v7.0. You can throw v0.8 away from your window. I'm working on from different approach right now, via anim script, hoping it can fix the distortions of all the face mod.
  13. Driver

    Modding
    I'm preparing major update of Latona body. In V2 the weight has renewed, that reduces visual glitches coming from default weight.
     













  14. Driver

    Modding
    I'm preparing a minor update of Latona body mod. It's about the upper arms, upper chest, and shoulders. It has been so from the very first of my game play, the shape of shoulders of the villa model when their hands are down (and they are down during most of time) makes me feel a bit off. So I tried to solve this through redoing weight painting of the upper arms and shoulders.

     
    v2.63 video preview
    123.mp4
  15. Driver

    Modding
    Basically done, at least in the chest. The nipples are more defined and also the entire shape of breasts became more natural for a big tits body than cx, I believe.
    https://mega.nz/folder/cGQxhL7S#kWXOoxTHw7qB9gAN2ZDqGw

  16. Driver

    Modding
    Some of you guys may already know that "eyespass" shader can be used with any kind of textures unless they cannot have pass.txt file, in Hook5. I've been using eyespass shader to everything I want look wet or moist, like theeth, tongue, oral cavity, and maybe some dildos, indeed the shader is best thing to apply to the stuff that should have wet surface. But one thing I have problem with is, it's affected by main.fx settings like iUseEyeShadowing, or fEyeShiftUp, etc.. I use almost default settings for those eyes related entries though, if you have highly customized settings, it might not be look good. I'm sharing one for the teeth and tongue here, try it out if you're interested.

  17. Driver

    Modding
    When I made my Customizer Expander (CE), I did a little deeper research on the "ConnectionGroup :local_22" which is responsible for main vertex groups of the body. There are 60 entries in "ConnectionGroup :local_22" and each of them is connected to a specific body scaling or rotation. I'll write all the "connections" here below before I forget.
    clavicleL(1/2/3), clavicleR(4/5/6), 
    shoulderR(7/8/9), shoulderL(10/11/12), 
    elbowR(13/14/15), elbowL(16/17/18),
    spine04(19/20/21), spine01(22/23/24),
    spine02(25/26/27), spine03(28/29/30), 
    buttR(31/32/33), buttL(34/35/36),
    nil(37/38/39/40/41/42),
    kneeL(43/44/45), hipR(46/47/48), 
    hipL(49/50/51), kneeR(52/53/54), 
    forearmR(55/56/57), forearmL(58/59/60)
    Those number from 1 to 60 is ordinal numbers, and each body parts have three parameters each corresponding to (Y,X,Z) axis. For example, "Upper chest width" in CE is seen like below.
    VertexDataF32 :spinec_vert_upchesty VertexDataF32.DataArray Array_F32 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    As you look, only 20th entry has a content, and that points X-axis of spine04. In this case if you increase upper chest width slider, spine04 expands along the x-axis. One more example, bellybutton, that is the one of default slider, is coming up like:
    VertexDataF32 :spinec_vert_button VertexDataF32.DataArray Array_F32 [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0.5, 0, 0, -0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    It's telling +0.5 on Y-axis of spine01, -0.5 on Y-axis of spine02, thats said if you increase this slider, spine01 will become longer and 02 become shorter at the same rate. If you've read this through, you already understand what CE is all about. By using application like WinMerge, you'll find instantly what was added in anim01.bs in CE.
    Thanks for reading.
  18. Driver

    Modding
    Jokes aside, I did big boobs version too. I aligned the top of the breasts with nsbcx's so that I thought I could use those bras for this body but...

    clearly there's major gap in the back. Although the top positions are the same, the bottoms are much lifted compared to cx, it may look more natural than that, still it's silly huge tho. I haven't decided I should keep this halfway compatibility, so I'll share this later.


  19. Driver

    Modding
    NBP's been updated to version 0.44 now and I don't think this bodymod needs any more significant revisions, so... this project has been finished. Thank you for reading this blog and testing my mod, your feedbacks are really helping and encouraging as well. I'm showing the result of some effort I had in these weeks, 44 blender saves, and countless game restarts...
     
     
     
    and this is what I'm working on now.

    Hope to see you soon
  20. Driver

    Modding
    I feel like I'm getting closer,
    this version is s minor update of version 0.29 but a lot of body parts are reshaped/adjusted without loosing touch of previous release version. Will upload the comparison images in the next entry. If no fatal flaws are found for 0.42, I'd like to release it after a couple more minor revisions.
    !!VX.KlubExile.XBody.Default.182.NBP042.7z
    Added another v0.42 which is based on Xbody v1.93 for your convenience. Try it if you're on Xbody1.93.
    !!VX.KlubExile.XBody.193.NBP042.7z

×
×
  • 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.