Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
farenheight's avatar
farenheight
Honored Guest
9 years ago

Render into textures before rendering into headset

Hello,
In order to desactivate the tracking, I render my world into two renderTexture (with two cameras separated by a IPD), these two cameras have the projection matrix of the final cameras, and the target eye is set to none. Finally I give these textures to two quads which are rendered by two final cameras (with a different target eye for each camera). To test if it works without custom tracking I re-use the tracking of the headset, but the final result seems off, when I move my head some objects move whereas they should not.

Is it possible to get some advice to make it through ?

PS : I have tried to cancel the movement, but the result is a bit laggy.

1 Reply

Replies have been turned off for this discussion
  • vrdaveb's avatar
    vrdaveb
    Oculus Staff
    Why are you disabling tracking? It will make users uncomfortable if the world doesn't respond to head tracking at all. If you're using a third-party tracking system, such as OptiTrack, then TimeWarp should actually complement it to improve latency. But you will need to render to the regular eye buffers (Camera.targetTexture = null) to get correct timing there. To reduce latency, Unity updates the view matrix just before submitting graphics commands to the driver. Today it isn't possible to get the same behavior for other RenderTextures - only the eye buffers. It may be easiest to disable position tracking and continue using the Rift's IMU for rotation tracking. Then you could set the position based on your external tracking system.