KVRPlane - Making text graphics for VR 180

44 views
Skip to first unread message

Nick Brazzi

unread,
Jun 30, 2025, 9:50:01 PMJun 30
to Kartaverse
Hi, Andrew,

I'm having trouble figuring out the KVRPlane tool. I'm trying to add text to a VR 180 sequence and use KRPlane to project the text into the side-by-side equirectangular format. I'm not getting any results.

Do you have a few minutes to take a look at this video? I'm hoping you can identify what I'm missing.


https://www.dropbox.com/scl/fi/4uf2dcsq12ftcw0z8dn35/KVRPlane_.mp4?rlkey=xv0k7m5t89i2s84l766n8glny&st=9gx1rvk2&dl=0

Andrew Hazelden

unread,
Jul 1, 2025, 1:50:03 PMJul 1
to Kartaverse
Hi Nick,

You might have to change the file permissions on the Dropbox video link you shared. Clicking the link results in the following error message:

"This item was deleted
You might be able to find it in your deleted files. If it's not there, try asking the person who shared it with you."

Regards,
Andrew Hazelden

Nick Brazzi

unread,
Jul 1, 2025, 4:04:20 PMJul 1
to Kartaverse
Sorry. I did delete one version, but I apparently pasted the link for that old version.

Here is the correct link:

Andrew Hazelden

unread,
Jul 2, 2025, 4:03:08 PMJul 2
to Kartaverse
Hi Nick,

I added the following note to the kvrPlane documentation entry:

kvrPlane Image Resolution

The kvrPlane node works with the idea that the plane image data is texture mapped to the "front" face of an imaginary cubemap surface. This means the plane at full width takes up a 90° FOV area.

When the auto-resolution mode is used, the kvrPlane node takes the current image input resolution as the size of a 90° cubic face. So a 180° monoscopic output would be processed as two times the image input resolution, and a 180° SBS stereo output would be processed as four times the image input resolution. Also, a 360° monoscopic output would be processed as four times the image input resolution, and a 360° Over/Under stereo output would be processed as four times the image input resolution.

Regards,
Andrew Hazelden

Nick Brazzi

unread,
Jul 2, 2025, 10:39:57 PMJul 2
to Kartaverse
Thanks, Andrew. But, I think you're a little over my head. 

I don't know if I am missing a setting in the node setup. In the video I shared, there is only an empty canvas when I set up the KVRPlane in fusion. Do you know if I have missed a step or a setting?

Andrew Hazelden

unread,
Jul 2, 2025, 11:20:43 PMJul 2
to Kartaverse
Hi Nick,

Try this:

Create a Text+ node. Set the "Size" attribute to something like 0.24 to adjust the font size. Then in the Text+ node's "Image" control page set the "Width" to 4320 px and the "Height" to 4320 px.

Connect a kvrPlane node to the output of the Text+ node. On the kvrPlane node, uncheck the "Auto Resolution" checkbox. Manually set the kvrPlane "Width" to 4320 px, and the "Height" to 4320 px.

Set the "Output Image Projection" to "180VR". Set the Stereo "Input Mode" to "Mono". Set the "Output Mode" to "Horiz" to enable SBS stereo 3D placement of the text.

You should now have a way to output SBS 180VR formatted Text+ content.

If you don't adjust the kvrPlane node's "Center Y" control and keep it at 0.5, you have the option of using the built-in stereo "Convergence" control to adjust the depth placement of the text. Otherwise you will probably want to use a Fusion native stereo 3D node like GloballAlign to tweak any SBS convergence changes required.

Note:
Part of the issue was your 8640x4320 px frame size content was being auto-formatted as 34560 x 17280 px output which topped out your GPU... Take a look in the Fusion viewer window at the top right corner of the image frame to see the text caption that lists the image dimensions for the current node's output. I can explain the math part of that, if you'd like, on how that happened in more detail.

If you take some time (down the road) to play with Fusion's native SphericalCamera node + Renderer3D node you will get a firmer grasp on how the resolution settings are typically defined in the Fusion page. I can go over a few things sometime via screen sharing if you'd like. :)

I'd also suggest you try out the LatLong Patcher node and explore how it can also be used to achieve similar results to the kvrPlane node, although it is far stricter on demanding a 1:1 aspect ratio source image at all times. No matter what the graphic element is. 

Regards,
Andrew Hazelden

kvrPlane frame size.png

Nick Brazzi

unread,
Jul 3, 2025, 12:08:10 PMJul 3
to Kartaverse
This looked very promising. But, somehow, I'm still not getting any output. 

I've attached a screenshot. Mine looks the same as yours, but there is no output. Am I missing something? Or is this behaving differently on each of our computers?



Screenshot 2025-07-03 at 8.33.13 AM.png

Andrew Hazelden

unread,
Jul 3, 2025, 12:50:00 PMJul 3
to Kartaverse
Hi Nick,

To help track down the root issue, open the "Workspace > Console" menu item. There is likely an error message printed in the Console window that would explain what went wrong.

Regards,
Andrew Hazelden

Andrew Hazelden

unread,
Jul 3, 2025, 1:56:42 PMJul 3
to Kartaverse
Hi Nick,

If you'd prefer to show the Resolve Studio v20 "native" way to make VR180 titles try the following process out. 

We are going to connect the following nodes together:
Text+ > LatLongPatcher > Combiner > GlobalAlign

Create a Text+ node. Set the "Size" attribute to something like 0.24 to adjust the font size. Then in the Text+ node's "Image" control page set the "Width" to 4320 px and the "Height" to 4320 px. Uncheck the Text+ node's "Auto Resolution" control.

Add a LatLongPatcher node to the node graph. Connect the LatLongPatcher node to the output of the Text+ node. Set the LatLongPatcher "Mode" control to "Apply 180". Your flat image will be warped into a monoscopic VR180 "half LatLong" image projection. 

Note: The "Apply 180" feature is new and it was added to Resolve Studio in the v20 release. This option did not exist previously.
Note: The LatLongPatcher node when set to use the "Apply 180" option ONLY accepts 1:1 aspect ratio source images.

Add a Combiner node to the node graph. Connect the Combiner node to the output of the LatLongPatcher node. Make sure the "Combine" control is set to "Horiz" to generate an SBS formatted output. Enable the Combiner node's "Add metadata" checkbox. This will let other nodes in the comp know that the footage is "hstack" (SBS stereo 3D) formatted.

If you want to adjust the convergence on the SBS formatted content, add a GlobalAlign node. Connect it to the output of the Combiner node. Set the GlobalAlign node's "Translation X > Balance" control to "Split" so any convergence adjustment is done equally to both eyes. Set the GlobalAlign node "Stack" control to "Horiz".

Use the GlobalAlign "Translation X > X Shift" control to adjust the horizontal convergence.

LatLong Patcher based 180VR Titles.png

Regards,
Andrew Hazelden

Nick Brazzi

unread,
Jul 4, 2025, 5:20:04 PMJul 4
to Kartaverse
I've attached a picture of the console error.

This is from a M4 Max with 64GB of RAM, running Davinci Resolve 19.

I've also had the same problems on a M1 Pro with 16GB or RAM, running Davinci Resolve 20. That one is tied up with an export right now, so I can't check the console error. But, I'm guessing it's having the same issue.

Any idea why I'm getting the out of memory error?
Screenshot 2025-07-04 at 2.12.50 PM.png

Andrew Hazelden

unread,
Jul 4, 2025, 9:16:47 PMJul 4
to Kartaverse
Hi Nick,

Do you also get a memory error using the Resolve v20 Fusion page native LatLongPatcher node set up for a Stereo SBS output at 8K?

Did you have a chance to try the exact steps I mentioned in my earlier reply?

Regards,
Andrew Hazelden

Nick Brazzi

unread,
Jul 5, 2025, 5:08:37 PMJul 5
to Kartaverse
I just got the chance to check this on my Resolve 20 machine. It's been tied up with exports for a while.

In Resolve 20, when I try KVRPlane, I still get the memory error:
"DVIP kernel KPLANEKernel failed to run, out of memory"

But, when I tried the "Native" option with the latlong patcher, that did work. That's some progress!

And interesting extra detail. After I got the "native" option working, I decided to try the KVRPlane method on a second clip in the same timeline. It worked completely as expected. BUT, as soon as I tried to adjust the convergence on the kVRPlane node, Resolve hard crashed. I went back into Resolve and tried the KVRPlane method again from the start, and I still got the memory error.

For my immediate project, the latlong method seems to be a good option. It would be great to get the KVRPlane method working, because that would be a good subject for a YouTube video. If you want to keep looking into that, I'm open to it. But I don't want to ask too much of your time.

Thanks!

Andrew Hazelden

unread,
Jul 5, 2025, 5:23:02 PMJul 5
to Kartaverse
Hi Nick,

It's good to know the new "Apply 180" option added to the LatLongPatcher node works on your system.

Thanks for your feedback and testing help on this message thread. It's helpful to hear what users experience across a variety of systems.

Regards,
Andrew Hazelden
Reply all
Reply to author
Forward
0 new messages