Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Render Transform Override appears to mess with motion vectors / motion blur in cameras #1654

Open JackTheFoxOtter opened 7 months ago

JackTheFoxOtter commented 7 months ago

Describe the bug?

When looking at the default head and hands avatar through a camera with motion blur enabled, the head looks very fuzzy. Disabling the RenderTransformOverride on the head of the avatar or disabling motion blur on the camera fixes this.

To Reproduce

Spawn the default streaming camera and equip the default avatar. Notice how the head appears fuzzy in the camera render (but not on photos).

Expected behavior

The head not to appear fuzzy in cameras.

Screenshots

image image

Resonite Version Number

Beta 2024.4.3.1170

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index

Log Files

N/A

Additional Context

I noticed this in two YouTube recordings of new users now. I also have the same issue with the hair on my avatar which I hide with RTO. A temporary workaround for the content team could be disabling the RTO and instead adjusting the near clip distance, at least until the underlying issue is resolved. (RenderMaterialOverride won't work for the eyes, as they are canvases)

https://www.youtube.com/watch?v=rjYO6QAEtVo https://www.youtube.com/watch?v=T_l0WXQ2hkw

Reporters

No response

Dusty-Sprinkles commented 7 months ago

If this counts as a bug would the other RTO quirks (not being able to see items parented to an overwritten slot in a mirror unless its at pretty much 1 scale for one) also would they fit under this issue or need its own?

JackTheFoxOtter commented 7 months ago

That doesn't sound like a bug? If the transform is overriden, it will basically take whatever the overriden transform is as the transform for that render context. And that auto-applies to renderes underneath the slot the RTO is on afaik.

JackTheFoxOtter commented 7 months ago

In either case this issue is specifically for the motion vector issue, if you have another you should open a separate issue.

shininghero commented 7 months ago

Oh, this has been around for a while. I assumed it was a quick bandaid to mitigate crashing while they gear up for a proper fix. ...I think? Could be wrong about that.

I do know for certain that the main RTO crash ticket (#269) is blocked, pending a potential Unity minor version upgrade (#585). But that has its own rendering issue holding it up.

Electronus commented 7 months ago

I noticed this happens when you don't fill in the skinned mesh renderer in the component. Filling that out fixed this issue as far as I can tell.

shiftyscales commented 7 months ago

Ah, so this is a content issue. Good to know. Thanks for the additional clarification, @Electronus. image

shiftyscales commented 7 months ago

This would be a good one to fix up as I've seen streamers/content producers that have had this issue with the default headset avatar when they join the platform/show off Resonite, @AegisTheWolf @RyuviTheViali @RueShejn.

Frooxius commented 7 months ago

This is not really a content issue, it's a problem with RenderTransformOverride, which technically moves the object and generates motion vectors - this is not an intended behavior.

The content team could remove the component, but that's not really fixing the bug, it's just a workaround.

shiftyscales commented 7 months ago

Is the component intended to be used without assigning a renderer to it, @Frooxius? I thought the component was being misused in this case.

I'll change it back to being a bug then- but either way, working around it would be beneficial in the short term.

Frooxius commented 7 months ago

@shiftyscales Yes. You only need to assign renderer if it's a SkinnedMeshRenderer, because it needs to specifically flag those to recompute the skinning on the override.

With static MeshRenderers there's no recompute needed - they can just be naively moved, so they don't need to be references.

AegisTheWolf commented 7 months ago

The confusion at first was why it isnt on the one in the essentials but found the component in the spawn objects, now it is removed on the one in spawn objects once its uploaded, this issue should be fixed soon (once it is propagated across the cloud itl be good to go)

JackTheFoxOtter commented 7 months ago

@AegisTheWolf as of today (Beta 2024.4.26.10), the default avatar from the spawn objects still has the blur issue in cameras. The one in the Resonite Essentials folder is fixed.

sveken commented 2 months ago

I think due to the new update adding rto to everyone. this now happens all the time. In photo previews viewing yourself the head is blurry