Jump to content

Costume Customizer Mod (v2.5.2) - Added Yukino Support, plus skin/shadow fixes and additional menu.ini fixes


Recommended Posts

@minazuki - I can confirm the issue, however not really sure what to do about it for now. It does appear to be related to replacing the pixel shader. If i revert the "run = CommandListDrawAlpha" and put them back to "drawindexed=auto" it does fix the shadows, but then I'm back to not being able to mix the ps-cb2.

 

Seems like similar to your findings earlier, replacing the shader either in ShaderFixes or with a custom shader seems to result in the same loss of shadows. The fact that the ShaderRegexes don't seem to cause the issue. I did notice, my custom shader does interfere with the ShaderRegex that already existed although I'm not even sure if ShaderRegexes run against custom shaders or only the pre-existing ones.

 

I can try to look at switching my shader modifications to ShaderRegex, however it may be costly performance wise, since in order to not mess up everything else. I may have to copy over the ps-cb2 into the ps-cb12 buffer every draw call which isn't ideal.

 

@psbox001 - Some clothing categories should have their weights imported from the body mesh while others should be imported from the clothing weight paint. In the blender file, transfer weights (or match the vertex group order) from any of the "SuitWeights" meshes for the Bra (2), Panty (3), or Skirt (4) categories. All other clothing categories should use weight transfer from "BodyWeights" meshes. All custom body meshes themselves should transfer weights also from "BodyWeights."

Link to comment

@minazuki - For the short term, a potential compromise could be forcing CC mod to use the compatibility mode for the alpha shaders by disabling the [ShaderOverrideClothesPS4] in ShaderOverrides.ini. This would trick it to thinking that it can't safely use the custom shader and it will instead overwrite the ps-cb2 completely rather than merge with it. It wasn't intended to be used all the time (mainly just to be somewhat future proof for some level of functionality) so its still a compromise seeing any of the parameters that are supposed to be dynamic would then be static.

 

ShaderOverrides.ini

Link to comment

Thanks for the reply.

The ShaderRegex seems to be a solution, but I'm not understand very well how to use it.

 

I know it have a compatibility mode in CC.

And I already made my WIP swap mod have a key to switch between it.

 

And because I'm lazy, I want all mesh use the same alpha mesh hash for swapping.

But due to this issues I may need to use a solid mesh hash too.

Link to comment

This seems like it may work out. Still need more testing, but this should switch over any of the following to use the provided ps-cb12 buffer rather than the original ps-cb2 buffer. There are some ini changes in the mod other than the ShaderRegex to remove the CustomShader calls (along with their compatibility fall-back logic).

 

Spoiler

[ShaderRegexCB2Override]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override.Pattern]
cb2\[(?P<index>[0124679]|1[016789]|2[012345])\]\.
[ShaderRegexCB2Override.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override.Pattern.Replace]
cb12[$index].

 

Main thing I'm not sure about is when the pre/post definitions I listed are actually evaluated. From the limited testing i did before it went back in to maintenance, it seems at a minimum post ps-cb12 = ps-cb2 was needed otherwise the whole body was affected. I'm not sure if the pre is needed or not, but it didn't seem to make it worse (as far as I could tell so far).

 

Basic Premise:

search for "cb2[#].", replace with "cb12[#]."

 

# only matches the following:

0, 1, 2, 4, 6, 7, 9, 10, 11, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25

 

which are basically all but the following ps-cb2 parameters:

  • gShadowCsBias
  • gEyePosition
  • gEyePlane
  • gIblDiffuseColor
  • gIblSpecularColor

  Note: these were the ps-cb2 parameters I identified changed over time/location and were too dynamic

 

if found, add declaration for importing ps-cb12.

 

The concept is with this change, if a mod wants to replace the ps-cb2 parameters, they would assign their custom ps-cb2 buffer into ps-cb12 prior to drawindexed=auto. If ps-cb12 isn't replaced, it should have defaulted to the original contents stored in ps-cb2.

Link to comment

Hello Kuro Kaze78: Now I'm wearing the model on the thigh root, but the perfect thing you do should be that I brush the wrong weight. How to brush the right weight (I tried the weight in the body model you provided)

DOAX-VenusVacation_190327_161931.jpg

DOAX-VenusVacation_190327_160632.jpg

How to use the modifier? Every time I set it up and press the application, I didn't respond.

Torso_wDataTransfer.png.70ecc216f9ce7b74b379dddba4b952c5.png

Link to comment

@minazuki - The ShaderRegex isn't the only thing that was needed, but because I haven't done that much testing I didn't want to release an update of all the modifications. The other changes included modifications to the common.ini, marie.ini, and honoka.ini main files:

  • replace the assignment of ps-cb13 -> ps-cb12
    • NOTE** didn't realize initially that ps-cb13 was already in use by the one of the d3dx.ini's ShaderRegex, the old custom shaders mixed using ps-cb13, while the ShaderRegex mixes ps-cb12.
    • likely reason why it didn't mix for you
  • "run = CommandListDrawSolid" => "drawindexed=auto"
  • "run = CommandListDrawAlpha" => "drawindexed=auto"
Link to comment

@minazuki - Ok, did more digging. Not quite sure yet why it seems to work with the cb2 overwritten altogether but not mixed, however, when i don't allow the following parameters it seemed to work find.

 

Spoiler

[ShaderRegexCB2Override]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ref ps-cb2
post ps-cb12 = ref ps-cb2
[ShaderRegexCB2Override.Pattern]
cb2\[(?P<index>[124679]|1[016789]|2[01235])\]\.
[ShaderRegexCB2Override.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override.Pattern.Replace]
cb12[$index].

 

[ShaderRegexCB2Override2]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ref ps-cb2
post ps-cb12 = ref ps-cb2
[ShaderRegexCB2Override2.Pattern]
cb2\[(?P<index>0|24)]\.
[ShaderRegexCB2Override2.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override2.Pattern.Replace]
cb12[$index].

 

It's not making any sense, but if i try to include cb2[0], cb2[24] in the first one it messes up on the alpha shader (it still finds matches and replaces something apparently, but doesn't seem to function correctly). However, adding the second ShaderRegex appears to still process and apply the second wave of updates. If I can find whether there is an log option to dump out the result of shaderRegex matches, it'd be much easier to see maybe why it isn't working with only the 1 ShaderRegex.

Link to comment

@psbox001 - The last screenshot you are showing is for performing matching the normals at the mesh seams (mainly only affects the shading). Your issue is really just where the meshes overlap.

 

In the stuff I've made, I've done a few different things depending on the circumstances.

 

Leveraging existing DOAXVV body meshes

The cleanest route is attempting to splice the body meshes together. This only really works when the body mesh is a near match with differences where the clothing meets the body. If the body came from DOA5LR/DOA6 or if you transformed the mesh to convert something from Marie to Honoka or similar again you have to perform one of the other techniques.

 

Anyhow, if the body meshes are similar enough like shown below, you can do splice them together.

Red is the original Costume Customizer mesh. Blue is mesh that corresponds to the body mesh from port. Purple corresponds to where the 2 meshes match as closely as possible (the closer the better).

 

Crude diagram:

image.png.0352667c1d08f138a165d6b98cf6cf0b.png

 

At this point, we want to take the portion of the ported body mesh, and separate it at the seam where all of the edges/vertices along that seam nearly perfectly match the edges and vertices from the base Costume Customizer body mesh. Then you also remove the vertices from the base Costume Customizer body mesh that you don't need anymore. Then you merge the 2 meshes together and remove-duplicates (which removes vertices that overlap at the same point).

 

If they weren't close enough to each other, then you may have to manually merge like vertices together. If you have to resort to that, you will also want to merge those same vertices together in the UV map as well so that there isn't a jump in the textures.

 

Manually adjusting Body Mesh to account for seams

If the body meshes are too different from each other, then instead you'll likely need to adjust the base Costume Customizer Mesh yourself to deal with the seams.

 

Below is intended to represent a cross-section of an leg in black and a sock/stocking mesh in blue. The red dots represent vertices along the body mesh. In #1, you'll likely encounter clipping because the vertices of the leg don't line up with the vertices of stockings. In order to fix that, we use the knife tool (cut shown in light purple in #2) in blender to create a line of vertices that line up with the edge of where the stocking mesh meets the body mesh. Now that there are vertices that match the location of the vertices in the socks (shown in #3), when they share the same weight paint, they'll move together much more closely. To reduce any clipping and prevent gaps at the seams. I tend to taper the body mesh inward (select the rim of vertices and use the shrink adjustment) and I also taper the lip of the stockings further into the body so they at least cut into the body mesh (shown in #4).

 

Note** when you use the knife tool, it will generate vertices along the line that you cut on. You will need to also select all the affected faces and perform "triangulate faces" to generate new polygons since DOAXVV only supports triangular geometry.

 

Another crude diagram

image.png.4fde1e00e3f6b5c1aa1a31ff6cbfeab6.png

 

 

 

Hopefully these help.

Link to comment

I can turn my mesh to red with my Highlight.buf file in this setting only

Spoiler

[ShaderRegexCB2Override23]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override23.Pattern]
cb2\[23\]\.
[ShaderRegexCB2Override23.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override23.Pattern.Replace]
cb12[23].

OR something like this

Spoiler

[ShaderRegexCB2Override23]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override23.Pattern]
cb2\[(?P<index>23)\]\.
[ShaderRegexCB2Override23.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override23.Pattern.Replace]
cb12[$index].

 

It will not work even like this

Spoiler

[ShaderRegexCB2Override23]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override23.Pattern]
cb2\[(?P<index>0|23)\]\.
[ShaderRegexCB2Override23.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override23.Pattern.Replace]
cb12[$index].

 

And I tried this

Spoiler

[ShaderRegexCB2Override0]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override0.Pattern]
cb2\[0\]\.
[ShaderRegexCB2Override0.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override0.Pattern.Replace]
cb12[0].

[ShaderRegexCB2Override1]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override1.Pattern]
cb2\[1\]\.
[ShaderRegexCB2Override1.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override1.Pattern.Replace]
cb12[1].

[ShaderRegexCB2Override2]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override2.Pattern]
cb2\[2\]\.
[ShaderRegexCB2Override2.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override2.Pattern.Replace]
cb12[2].

[ShaderRegexCB2Override4]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override4.Pattern]
cb2\[4\]\.
[ShaderRegexCB2Override4.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override4.Pattern.Replace]
cb12[4].

[ShaderRegexCB2Override6]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override6.Pattern]
cb2\[6\]\.
[ShaderRegexCB2Override6.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override6.Pattern.Replace]
cb12[6].

[ShaderRegexCB2Override7]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override7.Pattern]
cb2\[7\]\.
[ShaderRegexCB2Override7.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override7.Pattern.Replace]
cb12[7].

[ShaderRegexCB2Override9]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override9.Pattern]
cb2\[9\]\.
[ShaderRegexCB2Override9.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override9.Pattern.Replace]
cb12[9].

[ShaderRegexCB2Override10]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override10.Pattern]
cb2\[10\]\.
[ShaderRegexCB2Override10.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override10.Pattern.Replace]
cb12[10].

[ShaderRegexCB2Override11]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override11.Pattern]
cb2\[11\]\.
[ShaderRegexCB2Override11.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override11.Pattern.Replace]
cb12[11].

[ShaderRegexCB2Override16]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override16.Pattern]
cb2\[16\]\.
[ShaderRegexCB2Override16.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override16.Pattern.Replace]
cb12[16].

[ShaderRegexCB2Override17]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override17.Pattern]
cb2\[17\]\.
[ShaderRegexCB2Override17.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override17.Pattern.Replace]
cb12[17].

[ShaderRegexCB2Override18]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override18.Pattern]
cb2\[18\]\.
[ShaderRegexCB2Override18.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override18.Pattern.Replace]
cb12[18].

[ShaderRegexCB2Override19]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override19.Pattern]
cb2\[19\]\.
[ShaderRegexCB2Override19.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override19.Pattern.Replace]
cb12[19].

[ShaderRegexCB2Override20]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override20.Pattern]
cb2\[20\]\.
[ShaderRegexCB2Override20.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override20.Pattern.Replace]
cb12[20].

[ShaderRegexCB2Override21]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override21.Pattern]
cb2\[21\]\.
[ShaderRegexCB2Override21.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override21.Pattern.Replace]
cb12[21].

[ShaderRegexCB2Override22]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override22.Pattern]
cb2\[22\]\.
[ShaderRegexCB2Override22.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override22.Pattern.Replace]
cb12[22].

[ShaderRegexCB2Override23]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override23.Pattern]
cb2\[23\]\.
[ShaderRegexCB2Override23.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override23.Pattern.Replace]
cb12[23].

[ShaderRegexCB2Override24]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override24.Pattern]
cb2\[24\]\.
[ShaderRegexCB2Override24.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override24.Pattern.Replace]
cb12[24].

[ShaderRegexCB2Override25]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override25.Pattern]
cb2\[25\]\.
[ShaderRegexCB2Override25.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override25.Pattern.Replace]
cb12[25].

It can mix some to cb2, but the result is quite different than using the pixel shader method, especially the specular color, it just like the original ps-cb2.

 

Even I added this

Spoiler

[ShaderRegexCB2Override8]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override8.Pattern]
cb2\[8\]\.
[ShaderRegexCB2Override8.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override8.Pattern.Replace]
cb12[8].

[ShaderRegexCB2Override12]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override12.Pattern]
cb2\[12\]\.
[ShaderRegexCB2Override12.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override12.Pattern.Replace]
cb12[12].

[ShaderRegexCB2Override13]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override13.Pattern]
cb2\[13\]\.
[ShaderRegexCB2Override13.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override13.Pattern.Replace]
cb12[13].

[ShaderRegexCB2Override14]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override14.Pattern]
cb2\[14\]\.
[ShaderRegexCB2Override14.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override14.Pattern.Replace]
cb12[14].

[ShaderRegexCB2Override15]
shader_model = ps_4_0 ps_5_0
pre ps-cb12 = ps-cb2
post ps-cb12 = ps-cb2
[ShaderRegexCB2Override15.Pattern]
cb2\[15\]\.
[ShaderRegexCB2Override15.InsertDeclarations]
dcl_constantbuffer cb12[26], immediateIndexed
[ShaderRegexCB2Override15.Pattern.Replace]
cb12[15].

It still has the dynamic reflection.

Link to comment

@minazuki - So found the issue. I was hoping this wouldn't be the case, but figured it out after looking at the logged output. Unfortunately, for the moment 3DMigoto only performs 1 replacement for a given match. it does not keep performing subsequent replacements on all matches. This means, that every individual line needs to be singled out and replaced.

 

I'll request it to ausgeek, if there can be a way to specify a ShaderRegex to use the option PCRE2_SUBSTITUTE_GLOBAL to enable multiple replacements of the same pattern for the whole shader.

 

The reason why it only worked in certain circumstances, was because the order of appearance in the alpha shader for the cb2 references was:

  1. cb2[12] (excluded)
  2. cb2[13] (excluded)
  3. cb2[24]
  4. cb2[24]
  5. cb2[0]
  6. cb2[22]
  7. cb2[23]

...

 

It worked for me because I modified the Highlight.buf with editting the Material Multipliy Color (cb2[22]) to make it more apparent when it worked than the slight adjustment that you had in the Material Add Color (cb2[23]). So when I thought it was working, it was actually only replacing the cb2[22] but none of the others.

 

It'll take a little bit to develop a single pattern to correct all of them in each shaders. I'm not sure if I should try 1 replacement per shader that matches all references in one go, or separate replacements for each of the individual lines.

 

 

UPDATE: So, I originally was trying to target the specific lines, however after a few attempts I realized I can do something far more obnoxious that at least still works. Which is, if the regex i listed previously works but just updates only once, replace it multiple times. The only sketchy bit is that they need to execute in order since I only add the declaration and defaulting ps-cb12 in the first one. Anyways, see if it works for you. This is the modified test.ini from your Testing.zip trial.

 

test.ini

 

 

Can't say I'm proud of doing this, because I'm just brute forcing attempting 60 ShaderRegexes. I think the highest replacement count i saw in the log was 34 so all of them should have been updated in all shaders.

 

And, maintenance mode just kicked in 10 minutes ago. :dissapointed:

Link to comment

I recently reinstalled all my mods and updated them to the newest versions (3D Vision Mod 2.1, Modpack 7.7, Costume Customizer 1.5.1, BP Boobs 0.7) but now none of my changes in CC are persisting between play sessions. Does anyone know why?

 

Edit: Okay, I didn't realize I had to press F10 to actually save the changes.

Link to comment

Thanks for an amazing mod!

 

Got it to work but having trouble with Aradia on Marie Rose. Tried reading through all the posts on this thread but didn't find anything similar to it. I'm not sure if I missed anything with installing and enabling the mods.

 

Also, I'm a novice modder with only some limited experience modding other peoples mods in games like Skyrim/Fallout. If I'm looking to make my own mods for DOAXVV, where would you suggest I look to for guides to get started?

 

Thanks again

 

 

 

20190405185822_1.jpg

Link to comment

@mezzoforte - If i had to guess, I'm guessing you also have Knight77's "NormalSuit_RedHip" mod turned on with "Marie Swollen" option. When I ported my AradiaLace mod to Costume Customizer, I only did the original body mesh option which is why there is the obvious clipping. Either way, it's not recommended to have multiple mods replacing the same suit unless the specifically state they complement each other, since right now you likely have 2 bodies being drawn at the same time. one from CostumeCustomizer and another from NormalSuit_RedHip. If they don't have exactly matching weight paint, you may see both at the same time when they move (plus the extra rendering overhead).

 

As for getting started. I would recommend the 3DMigoto Tutorial video first and try with a simple mesh mod first. As its the most basic and gets you familiar with some of the jargon and using the 3DMigoto plugin in blender.

 

After that, in my 3rd post of this topic, at the bottom I just now added similar explanations about what's needed to export an original mesh using 3DMigoto's plugin, if you want to try and port over something from Skyrim/Fallout into DOAXVV. If you've never fit a mesh to a different body type, you'll need to learn how to do that. I'd look up tutorials on how to use Lattice modifiers in blender as that's how I do most of my clothing fittings. That ought to get you to a point where you can import external meshes into the game to replace relatively similar in-game meshes.

 

After that, you'll hit a wall with the limitations of DOAXVV modding when you want to import something that is vastly different from any original body/clothing in game that will require tricks (and compromises) or much more complex solutions to work-around them. For those, you'll likely either want to use CostumeCustomizer or you'll need to come up with your own work-around to try and do what you want. I wouldn't recommend jumping into that until you have a basic understanding of DOAXVV modding first so that it's easier to discuss the more advanced tricks.

Link to comment

Hello @KuroKaze78 

Im sorry to disturb you as I encountered some issue here. The inner thigh collasped while modding Miko Rare.  

Also, some part like skirt from my mod will disappear while in some angle or close up, it didnt last long it will sometime flashy.

I dont know its whether the blender problem or my failure in coding. 

Thank you very much.

Spoiler

doa4515.JPG.0b5bbd7f86eed407172b0dd4fc177c02.JPGDOAX-VenusVacation_190406_023950.jpg.ddb4522bf23fd821de116707851ff77e.jpg

 

miko.JPG

Link to comment
59 minutes ago, KuroKaze78 said:

@mezzoforte - If i had to guess, I'm guessing you also have Knight77's "NormalSuit_RedHip" mod turned on with "Marie Swollen" option. When I ported my AradiaLace mod to Costume Customizer, I only did the original body mesh option which is why there is the obvious clipping. Either way, it's not recommended to have multiple mods replacing the same suit unless the specifically state they complement each other, since right now you likely have 2 bodies being drawn at the same time. one from CostumeCustomizer and another from NormalSuit_RedHip. If they don't have exactly matching weight paint, you may see both at the same time when they move (plus the extra rendering overhead)...

 

Ah! that fixed it. Much Thanks!

 

And thanks for pointing me towards how to get started in modding. Much appreciated!

Link to comment

@Fatdaddy69 - To be honest, i think you're in for a rough time with trying to add the rest of the body to the Miko suit. There so little of the original body, that I'm pretty sure its missing key vertex groups to move properly. Typically, the body I think has 114-116 vertex groups to cover full body motion. In the case of the Miko Suit, I noticed the stomach, and lower breast vertex groups aren't present in the body mesh. I've never attempted to add missing vertex groups as I'm not even sure it they are covered in the body's vs-cb2 (pose) at all. What that means is either no motion will ever occur for those vertex groups on the replacement body. Other than that, because its still so vastly different for the vertex groups that do exist, you likely need to rearrange the original vertex groups from the common body mesh you have rather than attempt to transfer them, but matching them up when they aren't as obvious is also going to be extremely difficult.

 

As to why it was flashing or disappearing under certain angles, generally that's bad INI logic. make sure you use IB hash + match_first_index or VB hash + match_first_vertex and see if it still occurs. At times when I tried using just matching only hash by itself I've had additional issues.

Link to comment

@kurokaze78

 

Thank you very much. I found out only the Skirt part will disappear only in indoor location.

Also, this SR dress top and skirt are all in one IB, so I wonder if this cause the flashing problem.

Spoiler

[TextureOverrideSkirt]
hash = d5d3198e
handling = skip
match_first_index = 13974
vb0 = ResourceSkirtVB
ib = ResourceSkirtIB
handling = skip
drawindexed = auto

 

[ResourceSkirtVB]
type = Buffer
stride = 76

filename = FionaSkirt.vb


[ResourceSkirtIB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
filename = FionaSkirt.ib

DOAX-VenusVacation_190406_145012.jpg.af8de1d2e28ca0511dd8be2f3ca78001.jpgDOAX-VenusVacation_190406_145006.jpg.230229872aa5ceb41ff5e756767bcd7a.jpg

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use