NVIDIAGameWorks / NVIDIAGameWorks/rtx-remix

[Runtime Bug]: Left Handed Z-Up games capture instances with negative scale

Open
#684 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug jira runtime
Dominant language
No language data
Stars
1.7k
Forks
99
PR merge metrics
No merged PRs in 30d

Description

Describe the bug

In Z up Left handed coordinate system games, instances are captured with a (-1. -1, -1) scale and (-180, 0, 0) rotation applied to them. This causes 2 big issues.

Main issue

The main one being that any imported meshes that you add to the instance are flipped inside out and render incorrectly.
Imported asset:
Screenshot 2024-11-27 012907
Attached to instance:
2024-11-28 00-22-19
In game:
image

Workaround

The current workaround is to add this transform before ingesting the new asset:
image
Adjusted Imported asset:
Screenshot 2024-11-28 001013
Attached to instance:
Screenshot 2024-11-28 001028

Secondary issues

The other anoyance this causes is that all the captured mesh data is also inside out.
All the mesh USD files have their meshes under a visual_correction prim which applies the -1 scale and rotation flip to correct for this when viewing the model externally.
This however causes issues within blender as it does some magic to try and keep normal direction if it detects a -1 scale.
And then the capture scene needs to reference the mesh prim directly so as to not apply this transform. The whole setup just feels quite janky that this is required.

I believe this is related to and was introduced by the fix for bug #312

How do you reproduce the bug?
  1. Capture a scene from a LH Z-Up game (Unreal Tournament)
  2. Add a reference to an ingested mesh on an instance
Version

2024.5.1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the capture with Unreal Tournament, then inspect the generated mesh USD files and the visual_correction prim described in the report. Compare the instance transform and the capture scene's direct mesh reference, with bug #312 as context. Done should mean imported meshes render correctly without the reported transform workaround or janky reference setup.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.