rtx-remix icon indicating copy to clipboard operation
rtx-remix copied to clipboard

[Toolkit bug]: Inverted normal maps on ingested references not working properly

Open KingDavidW opened this issue 1 year ago • 5 comments

Describe the bug

Basically if you create an object with normals facing inward, and do not tag it as double sided, you would expect the object to render only at the angle you can see the interior from. Picture is the actual result of what's happening. It still appears solid no matter what.

image image

How do you reproduce the bug?

Here are two files, one FBX, one USDA already ingested by remix, that have been confirmed to work on someone else's remix. Just put them in, and you should see one of them be see through from an angle.

https://cdn.discordapp.com/attachments/1028444668918235197/1243845965757026334/one_sided_test.fbx?ex=6656e9d3&is=66559853&hm=4a1b1de1d9d6fd5bdd2a181a198ac92c716d6cd5752f897925d26d2df62afce9&

https://cdn.discordapp.com/attachments/1028444668918235197/1243846239234031667/ingested_one_sided_test.zip?ex=6656ea14&is=66559894&hm=1b5a45a5e1d9541192afad430fbd261e748711e2a6bca6d2b324900c92efbdc5&

What is the expected behavior?

Created an object with normals facing inward, and it not marked as single sided, should produce invisible materials from the outside except for areas where you can see the interior for the model

image

Version

2024.3.1

KingDavidW avatar May 28 '24 20:05 KingDavidW

Jira created: REMIX-3127

sjgillard avatar May 31 '24 23:05 sjgillard

Is there any hardware information needed from me? It's very odd that this issue exists on my PC but not on the person above's. If someone from NVIDIA can see if this occurs at all on their machine that may be a good starting point

KingDavidW avatar Jun 17 '24 20:06 KingDavidW

More information is always appreciated. If you would like to provide any logs or machine details, it's always appreciated!

sjgillard avatar Jun 17 '24 20:06 sjgillard

Just for additional info, not sure if I am barking up the right tree here, but I asked a potentially related question and thought I should put it here as well.

"does anyone know if it is possible to have single sided geometry in remix in game? i tried using a 1 sided plane to block the sun on a certain part of my level, In toolkit it works perfectly and is not visible from underneath. but in game, it appears double sided for some reason:"

Image

BinqAdams avatar Jul 28 '25 22:07 BinqAdams

hey-ooooh i fixed it by explicitly setting the doublesided to false using the usda layers in the toolkit:


        over "mesh_693757ACC7229E32" (
            references = None
        )
        {
            def Xform "ref_27687e9caf564891b6ffa369234b4800" (
                prepend references = @./assets/shared/models/meshes/simplePlane2m_1.usd@
            )
            {
                custom bool IsRemixRef = 1
                double3 xformOp:rotateXYZ = (0, 0, 0)
                double3 xformOp:scale = (1, 1, 1)
                double3 xformOp:translate = (0, 0, 0)
                uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]

                over "XForms"
                {
                    float3 xformOp:rotateXYZ = (0, 0, 0)
                    float3 xformOp:scale = (100, 100, 100)
                    double3 xformOp:translate = (41.35218576502524, 256.0410737977835, -98.18248279552795)
                    uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]

                    over "AssetImporter"
                    {
                        over "Looks"
                        {
                            over "Plane__"
                            {
                                over "Shader"
                                {
                                    custom bool inputs:use_legacy_alpha_state = 0
                                }
                            }
                        }
                    }

                    over "World"
                    {
                        over "simplePlane2m_1"
                        {
                            over "Plane"
                            {
                                uniform bool doubleSided = 0
                            }
                        }
                    }
                }
            }

and i put rtx.enableCulling = True in the dxvk.conf to be sure.

Not sure if this helps on your end, but worth a try.

BinqAdams avatar Jul 28 '25 23:07 BinqAdams