Jump to content

How to make opaque clothes transparent?


Recommended Posts

It depends on several factors. Most importantly being what pixel shaders are in use for the original clothing. This isn't the easiest thing to jump into if this is your first mod for this game mind you.

 

  1. The original mesh already has parts of it transparent.
    • Just adjust the textures as desired with an alpha channel.
  2. The original clothing has some parts that support transparency but not the mesh you wish to adjust.
    • Disable the original mesh.
    • Extend the alpha-enabled mesh to draw both the previous blended mesh, and the opaque mesh.
      • May require some rearrangement of textures (ps-t0, ps-t1, ps-t2, ps-t3) depending on the outcome.
  3. The original clothing has no transparency.
    • Export the pixel shader used by the opaque mesh
    • Adjust it accordingly to support alpha-blending (case-by-case basis on the original pixel shader)
    • Switch the opaque mesh to draw using a CustomShader with the modified pixel shader (some issues may occur for its shadows unless further conditions are put-in-place to only update the clothing shader and not the shadow shader for the mesh.

An example of number 3 would be the updated pixel shader i provided sayamonz. Its just an updated one back from ausgeek that includes the pixel shader updates from the recent DOAXVV updates.

 

Modified Shader: 0f90e32cbda59134-transparent.hlsl

 

INI Additions:

To use, rather than putting "drawindexed=auto" in a TextureOverride section for a custom mesh, use the following:

run = CustomShaderTransparency

 

Then also add the following to the ini file:

[CustomShaderTransparency]
ps = 0f90e32cbda59134-transparent.hlsl
blend = ADD SRC_ALPHA INV_SRC_ALPHA

drawindexed=auto

 

 

Also, be warned, that if you are adding transparency to something that was originally opaque, its very likely that there isn't a body underneath the clothing, so the body will also have to be replaced to include the newly exposed skin. To make matters worse, not all clothing fits loose over the body, so you will also have to play with the body shape and clothing fitting to avoid clipping issues.
 

Link to comment
On 12/30/2018 at 4:12 AM, KuroKaze78 said:

The original clothing has no transparency.  

  • Export the pixel shader used by the opaque mesh
  • Adjust it accordingly to support alpha-blending (case-by-case basis on the original pixel shader)
  • Switch the opaque mesh to draw using a CustomShader with the modified pixel shader (some issues may occur for its shadows unless further conditions are put-in-place to only update the clothing shader and not the shadow shader for the mesh.

 

I went back and had another look at this today, and if you just want to add a fixed transparency to an article of clothing there is a way that doesn't require editing the pixel shader. You still need a CustomShader section, but it is only used to modify the blend state:

[CustomShaderTransparency]
; Enable blend factors on render target 0 (neglecting the [0] here will enable
; it on all render targets resulting in flickering):
blend[0] = ADD BLEND_FACTOR INV_BLEND_FACTOR
; Set the RGBA blend factors:
blend_factor[0] = 0.47
blend_factor[1] = 0.47
blend_factor[2] = 0.47
blend_factor[3] = 1

; Transfer draw call to here:
draw = from_caller
handling = skip

 

Link to comment
  • 3 months later...

Sorry for digging this old post up but I engaged in this problem that some texture disappear when look through the transparent part after I transparented the top of this Miko Rare dress.

 

DOAX-VenusVacation_190410_004826.jpg.71792dc8bb6fd78c07dd285361c48092.jpg

Spoiler

;4a0c2046 = Body
;9287a782 = pants
;f96f1eb3 = Top

 

[TextureOverrideBody]
hash = 4a0c2046
vb0 = ResourceBodyVB
ib = ResourceBodyIB
drawindexed = auto
handling = skip
[ResourceBodyVB]
type = Buffer
stride = 80
filename = Body.vb
[ResourceBodyIB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
filename = Body.ib

 

[TextureOverridePant]
hash = 9287a782
vb0 = ResourcePantVB
ib = ResourcePantIB
drawindexed = auto
handling = skip
[ResourcePantVB]
type = Buffer
stride = 76
filename = Pant.vb
[ResourcePantIB]
type = Buffer
format = DXGI_FORMAT_R16_UINT
filename = Pant.ib

 

[TextureOverrideTop]
hash = f96f1eb3
match_first_index = 0
run = CustomShaderTransparency

[CustomShaderTransparency]
blend[0] = ADD BLEND_FACTOR INV_BLEND_FACTOR
blend_factor[0] = 0.2
blend_factor[1] = 0.2
blend_factor[2] = 0.2
blend_factor[3] = 1
draw = from_caller
handling = skip

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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