KartaVR v4 Freeware Edition  [SUBMITTED]

Moderator: SecondMan

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

KartaVR PanoView + LifeSaver.fuse + EXR outputs

#16

Post by AndrewHazelden » Wed Jan 02, 2019 3:25 pm

avclubvids wrote: ↑
Wed Jan 02, 2019 3:13 am
AndrewHazelden wrote: ↑
Wed Jan 02, 2019 12:25 am
You could also use a LifeSaver Fuse and set it so that node's output is rendered to disk interactively as you view it. Then the footage would exist on disk and PanoView could display it for you.
Again, maybe user error here, but it seems that LifeSaver only does exr? GoProVR and other apps like it don't support EXR so I was not able to use this for HMD on OSX, even though I really wish I could use it now that I've seen that you have that awesome interactive saving option in there!
Hi @avclubvids.

The LifeSaver fuse uses the EXRIO library that is a fairly new invention. EXRIO uses a mostly undocumented API and functions that are found inside of Fuson Standalone (Free) 9.0.2 and Resolve (Free) 15.

EXRIO was basically made in Fusion 9 to power things like the cryptomatte.fuse nodes' direct EXR file I/O needs. That EXRIO library dependency is why on the surface it looks like the LifeSaver fuse only does EXR output when you do things like render a finished composite in the Fusion 9 Render Node outside of the Fusion GUI.

Since your question seems to be asking for more options to make working with the GoPro VR player easier in Resolve, I will post a followup message on this thread in a few minutes that will help you get the Panoview script to save out an instant PNG/JPG image snapshot from a LiveSaver node, using the Fusion viewer window's native graphics context to do the heavy lifting.

The good news is you can enable this option of a PNG/JPG/TGA/etc.. output using only the delete key on your keyboard on the LifeSaver centric code inside the Panoview script, and then hitting save so you can do the edit without having to write a single letter of new code. The downside is with the edit of making GoPro player happy, your copy of PanoView will no longer pass full-length EXR sequences from a LiveSaver node to DJV View, Adobe Speedgrade, RV, and Scratch. Which was a nice thing if you used those apps.

Sometimes you can't win if the GUI of a tool like PanoView is already at 100% full height on a 1080p monitor with all of the existing controls that are exposed in the script's Lua AskUser based dialogue... :)

User avatar
Midgardsormr
Fusionator
Posts: 1311
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 6
Location: Los Angeles, CA, USA
Been thanked: 116 times
Contact:

Re: KartaVR v4 Freeware Edition

#17

Post by Midgardsormr » Wed Jan 02, 2019 3:48 pm

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 3:35 am
My issue is the edit page preview mode on WSL doesn't fully show the post in a WYSIWYG fashion so I tend to have to hit "post" and then re-edit quickly, as fast as I possibly *can* when there are many images and BBcode tags that might not have been closed fully, or if I should have added a few more URL links for context on things that would be rather confounding without a direct hotlink to a resource.

I heard my name, so I'll just pop in to say I do that, too. Rather frequently. I just don't get caught at it! ;)

And while I'm here, I'd also like to extend my thanks. I haven't needed KartaVR yet, but I'm sure I will eventually, so I'm very happy you've made it available. And I'm almost certainly going to tear it into little pieces to see what I can learn!

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#18

Post by AndrewHazelden » Wed Jan 02, 2019 5:09 pm

Midgardsormr wrote: ↑
Wed Jan 02, 2019 3:48 pm
And I'm almost certainly going to tear it into little pieces to see what I can learn!

Hi. It's great to have you on this thread! Your RSCameraExtractor.fuse got me going and motivated to do fuse coding for the first time in my life. :)

The one script in KartaVR that I think you might enjoy tinkering with most for your Muse pipeline needs is the Send Media to After Effects.lua script that does a Lua FuScript to CLI to Adobe JSX ExtendScript hybrid workflow for a Fusion comp to AE comp based footage transfer. It could be expanded to pass a far wider range of data into a live generated pre-comp.

User avatar
Midgardsormr
Fusionator
Posts: 1311
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 6
Location: Los Angeles, CA, USA
Been thanked: 116 times
Contact:

Re: KartaVR v4 Freeware Edition

#19

Post by Midgardsormr » Wed Jan 02, 2019 5:41 pm

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 5:09 pm
our RSCameraExtractor.fuse got me going and motivated to do fuse coding for the first time in my life.
Glad to hear it! I can't believe I resisted Fuse building for as long as I did; it's really fun! I need to get back in there and do some more of it.

I'll take a look at the AE export; thanks!

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Forcing Panoview to Snapshot a JPEG or PNG Image from the LifeSaver fuse

#20

Post by AndrewHazelden » Wed Jan 02, 2019 5:52 pm

Hi @avclubvids.

I've had a late dinner and put together a screenshot, some textual notes on customizing things, and a Lua code snippet that should give you exactly... kinda... what I think you're looking for in a stopgap Resolve (Free) > PanoView > GoPro VR Player like HMD previewing mode. πŸ‘

Note: If I was to assume that GoPro VR player might be an EOL casualty from Kolor's closure, you might look at using "Whirligig" in a similar fashion for an HMD based review of immersive media on your Windows PCs. You could also look at the Japanese made "Amateras Dome Player" which has VR and fulldome preview modes and HMD support working inside of the Panoview script, too.

You should feel free to edit Panoview.lua to work exactly how *you* want it to

KartaVR was made with full source code accessibility and no DRM so people with minimal scripting skills could tweak it all infinitely to fit their exact needs inside a studio environment. That was a horrible design choice for originally trying to sell a VR Plugin with no trial version possible but in the usage side of things that is very liberating for the people who want to have their creative tools work just the way they want them to. 8-)

If you really want to make it so the LiveSaver node works in Panoview by sending a live Fusion viewer window "viewport" snapshot image as a PNG or JPEG, instead of the EXR filepath to the full image sequence on disk, you could open up the PanoView.lua script and merely delete this block of Lua code from lines 974-983 in the script:

Code: Select all

	elseif toolAttrs.TOOLS_RegID == 'Fuse.LifeSaver' then
		print('Note: If you see an error in the console it means that you have scrubbed the timeline beyond the actual frame range of the media file.')
		if selectedNode.Output[comp.CurrentTime] then
			mediaFileName = selectedNode.Output[comp.CurrentTime].Metadata.Filename
		else
			print('[Loader Node Filename Field is empty] ')
			err = true
		end
		
		print('[LifeSaver] ', mediaFileName)

That would remove the Panoview script from actually thinking of the LifeSaver fuse as a "media I/O" type of node that has a Filename attribute that should be read directly and accessed as media loaded from disk.

With that extra data gone, the PanoView script automatically treats a LifeSaver node like any other 2D image operation node in Fusion such as a ColorCorrector, GridWarp, Transform, Merge node, etc...

You could also do this same Panoview code editing trick to the Saver node related code in the Panoview script if you wanted to have it so Resolve's Saver node wasn't expecting you to have media pre-rendered on disk, too. This way, the active Saver node when selected would be used to send a single frame that was live snapshotted from the *Left* Fusion viewer window context to your HMD.

Now with those types of Lua code edits done, when you press the Panoview "TAB" hotkey or use the PanoView menu item in Resolve, you could save out an instant single frame Panoview snapshot of your comp that is pushed to your preferred media viewer tool as a JPEG/PNG/etc.. image.

The one downside from my perspective to this quick-fix is that in Panoview, the DJV View, and other EXR sequence aware tools like RV, and Adobe SpeedGrade, Scratch Player, that are options in the Panoview preference dialogue lose their Resolve based LifeSaver/Saver node image sequence playback support. LOL. But that isn't likely your current concern today. :)

Panoview Media Formats

If you wanted to switch from the Panoview default JPEG file format for snapshots to another image type like PNG, you can do that using the "Edit PanoView Preferences" dialogue. You do this by customizing the "Image Format" control that is the 2nd from the top Combo Control in the GUI.

(It's worth memorizing that pressing the "Shift+TAB" KartaVR hotkey with the Resolve nodes view work area/Fusion Standalone Flow tab "in focus" will open the PanoView prefs window instantly.)

Edit Panoview Preferences - Image Format.png

@avclubvids, for your specific needs, here is a modified version of the Panoview.lua script that has that simple-ish "delete only" based LifeSaver lines 974-983 code edit done with the resulting file saved to disk:

PanoView In LifeSaverless Mode.lua
You do not have the required permissions to view the files attached to this post.

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Next Gen Immersive Workflows

#21

Post by AndrewHazelden » Wed Jan 02, 2019 6:37 pm

I really enjoy following emerging trends on the web for immersive tech which you can spot if you keep your ear to the ground to listen to what avantgarde people are doing/want.

I heard a while ago, that a few people on the 6DOF Reddit hoped that Blackmagic Fusion would get 360VR disparity stereo and 6DOF tools that would work on an equirectangular frame out-of-the box. :lol:

The Brian Cabral "Facebook F8 2017" talk about 6DOF media production with the Facebook x24 camera was really influential to me. The Facebook x6 and x24 camera prototypes in 2017 were early pre-cursors to the current RED Manifold system that hopes to make live-action volumetric video easier to produce.

If you haven't watched it yet, this is a YouTube video of Brian Cabral's talk from 2017:




The KartaVR Z360 tools I created were made around that same period of time as Brians talk. The KartaVR tools were designed be able to work with media from depth capable cameras like the Nokia Ozo, and with media coming from systems like the first generation Facebook Surround 360 open source camera, and from Domemaster3D for Maya rendered content which could be displayed in the Maya Z360 player example.

KartaVR has PFM (portable float map) image conversion tools included in the Fusion GUI and from the CLI to be able to work with specialist 6DOF camera media formats like few tools can. I've used the PFM converter toolset in KartaVR mainly on macOS and Linux for volumetric R&D tests.

IMHO, in the Long-term BMD would likely do well if they finished up their direct to HMD output native options in Resolve, and also spruced up their immersive offerings. Having higher performance code, along with a wider range of VR tools like raytraced omni-stereo lens shaders, investing in doing 6DOF StereoVR depthmap workflows, adding volumetrics, video-photogrammetry, and a 100% real-time optical flow native 360VR stereo stitching toolset would push the core nodes in Fusion/Resolve further and make it possible for other cool technology (outside the area of VR media production) to happen, as offshoots too.

From my perspective, I'd be perfectly fine if *all* of the KartaVR haxies could be left in the retirement home and things would be done better in C++ as Fusion/ReFu SDK native tools that did things workflow wise, just as well, if not better then the other large players in immersive are doing them.

In the interim, KartaVR is there as a free download in Reactor to bridge the gap until BMD decides it wants to make VR happen in a big way that solves all the major domains of immersive production and fulldome tech. :)

User avatar
avclubvids
Fusioneer
Posts: 113
Joined: Sun Sep 17, 2017 7:51 am
Location: Los Angeles, CA
Contact:

Re: KartaVR v4 Freeware Edition

#22

Post by avclubvids » Wed Jan 02, 2019 9:04 pm

For the record, I wasn't angry about the ninja edits, just a bit feeling like I was chasing my tail keeping up with them while responding to them while trying to figure out these new tools :)

SecondMan wrote: ↑
Wed Jan 02, 2019 11:12 am
Just out of interest, what forum do you frequent where editing is not allowed? I mean, even Discord allows editing and that's a real time chat engine.

Some software time-limits edits, most make it more obvious what was changed, good ones notify you of the changes. My issue here is that edits to posts from many hours or even days ago are basically impossible to catch without re-reading everything constantly to make sure you didn't miss something. For instance, I've made a example edit just to prove this point, see if you can find it ;)

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 3:24 pm
I don't know what the best way is to do a complimentary and matching full knowledge base for talking about how to *use* all of the new Fusion custom add-ons, tools, and techniques being shared without a fully realized VFXPedia v2 like standalone platform happening again from either BMD/WSL.

I don't have much of an answer for this, but I will say that it would be good to either have a style guide or other way to enforce a more verbose and descriptive format of Atom descriptions in Reactor. It might not be possible, but if you can I would recommend adding clickable URLs to Reactor to make it faster and easier to link to documentation and samples. Also, images or videos to demonstrate each Atom would go a long way to encourage users to try new things out.

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:36 pm
a Lua code snippet that should give you exactly... kinda... what I think you're looking for in a stopgap Resolve (Free) > PanoView > GoPro VR Player like HMD previewing mode. πŸ‘

I'm in Resolve Studio and Fusion Studio but it's amazing to know these will work in lite too! HMD viewing working in Fusion but not ReFu so I'm incredibly excited about Karta plugging that hole.

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:36 pm
Note: If I was to assume that GoPro VR player might be an EOL casualty from Kolor's closure, you might look at using "Whirligig" in a similar fashion for an HMD based review of immersive media on your Windows PCs.

I've been testing KartaVR on OSX so far, but will be on Win10 starting tomorrow so I'll be using a variety of players and other apps. I'm excited to try the AE bridge in particular. Have you looked into Adobe Dynamic Link? I'm curious if it is a closed system or if there is a path to a true roundtrip connection between Fu / ReFu / AE / Pr? I think GoProVR is going to go the way of the dodo, but for now it is one of the best options on OSX. But Whirligig is indeed great, and there are other very good options on Windows. Honestly OSX is not the place to work on VR but my mobile machine is a mac laptop so it's where I do my experimenting.

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:36 pm
If you really want to make it so the LiveSaver node works in Panoview by sending a live Fusion viewer window "viewport" snapshot image as a PNG or JPEG, instead of the EXR filepath to the full image sequence on disk, you could open up the PanoView.lua script and merely delete this block of Lua code from lines 974-983 in the script:

This info is deeply appreciated but I think it'll be ok the way it works now, the issue I had was some kind of gremlin that went away with a reboot wherein only rendered saver nodes were showing up in GoProVR but now it is working as designed for me. But I will look into the LifeSaver code and poke around to see what I can learn.

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:37 pm
I heard a while ago, that a few people on the 6DOF Reddit hoped that Blackmagic Fusion would get 360VR disparity stereo and 6DOF tools that would work on an equirectangular frame out-of-the box. :lol:

I'm still playing with the Karta tools but I don't think I saw any for extracting depth or disparities from an equirectangular stereo pair, correct?

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:37 pm
IMHO, in the Long-term BMD would likely do well if they finished up their direct to HMD output native options in Resolve, and also spruced up their immersive offerings. Having higher performance code, along with a wider range of VR tools like raytraced omni-stereo lens shaders, investing in doing 6DOF StereoVR depthmap workflows, adding volumetrics, video-photogrammetry, and a 100% real-time optical flow native 360VR stereo stitching toolset would push the core nodes in Fusion/Resolve further and make it possible for other cool tech (outside my area of 360VR interest) to happen, as offshoots too.

Hear Hear!

AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:37 pm
In the interim, KartaVR is there as a free download in Reactor to bridge the gap until BMD decides it wants to make VR happen in a big way that solves all the major domains of immersive production and fulldome tech. :)

You're doing the lord's work Andrew, we appreciate it deeply :)

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#23

Post by AndrewHazelden » Wed Jan 02, 2019 11:59 pm

avclubvids wrote: ↑
Wed Jan 02, 2019 9:04 pm
AndrewHazelden wrote: ↑
Wed Jan 02, 2019 6:37 pm
I heard a while ago, that a few people on the 6DOF Reddit hoped that Blackmagic Fusion would get 360VR disparity stereo and 6DOF tools that would work on an equirectangular frame out-of-the box. :lol:
I'm still playing with the Karta tools but I don't think I saw any for extracting depth or disparities from an equirectangular stereo pair, correct?

The Reason why KartaVR has *so many* random comp examples included is to present small workflow ideas one-by-one. Then when you add in the fact the macro nodes are all exposed as GroupOperators, it means artists who love tinkering with nodes can tear it all open to be able to remix the tools and do things that no individual other person has done exactly as you want. :)

If you feel like getting your hands dirty, and would like to get something neat learning wise out of it, poke around *inside* of the macro nodes in the following examples, and you will have started the journey to build on your own a solution that gives you disparity from stereo equirectangular pairs with the ability to refine how things work done under your control.


Step 1. Create a 6 DOF Fisheye to Equirectangular based Z360 Disparity Stitch

2019-01-03 West-Dover-Forest-Z360-Disparity-Depth-Stitch.png
This example shows how 6 circular fisheye images shot on a nodal ninja with a single Sony A7SII camera, a Peleng 8mm fisheye lens, and a Jasper Engineering stereo slide rail can be stitched with disparity depth output.

West-Dover-Forest-Z360-Disparity-Depth-Stitch-2x3-Grid.jpg

This fisheye media was processed and stitched in Fusion Studio as 3 stereo pairs into an equirectangular stereo 6DOF stitched output done to an over/under RGBZ "Z360" layout.

West-Dover-Forest-Z360-Disparity-Depth-Stitch-Z360-Left.jpg

To explore this scene:

Go to the KartaVR Example 360VR Stitching Comps webpage and download the "West-Dover-Forest-Z360-Disparity-Depth-Stitch.zip (73MB)" files.

And also read the overview summary that goes along with the fusion comp titled "West Dover Forest Z360 Disparity Depth Stitch".




Step 2. Explore the PanoramicWrap Filters to see how a seamless left/right border effect was done

2019-01-03 Defocus Blur Glow Sharpen Unsharpen examples in docs.png

There are many possible ways that you can get Fusion to do a left/right border seamless expansion of an equirectangular frame so your effects don't get a hard seam line in the output.

Here is one of those approaches:

Open up any of the KartaVR "Source Composition files" that have "PanoramicWrap" the end of their name. Those files are provided by the Reactor "KartaVR/Tools/KartaVR Tools | Source Compositions" atom package and are installed to:

Reactor:/Deploy/Macros/KartaVR/SourceComposition/

The examples you would see in that folder that are named with "PanoramicWrap" the end of their name include:

  • BlurPanoramicWrap attrs.txt
  • BlurPanoramicWrap.comp
  • DefocusPanoramicWrap attrs.txt
  • DefocusPanoramicWrap.comp
  • DepthBlurPanoramicWrap attrs.txt
  • DepthBlurPanoramicWrap.comp
  • GlowPanoramicWrap attrs.txt
  • GlowPanoramicWrap.comp
  • SharpenPanoramicWrap attrs.txt
  • SharpenPanoramicWrap.comp
  • UnSharpenMaskPanoramicWrap attrs.txt
  • UnSharpenMaskPanoramicWrap.comp

The .txt file that is next to the .comp file gives a basic guide to how the raw nodes where turned into GroupOperator macros, along with a very short summary of what the attributes are that needed to be exposed in the macro, the default control ranges, and other notes.

If you opened this file for example:

Reactor:/Deploy/Macros/KartaVR/SourceComposition/DepthBlurPanoramicWrap.comp


You would see the following content inside of Fusion or Resolve:

2019-01-03 DepthBlurPanoramicWrap.png

The .txt file that lives alongside the "source compositions" folder .comp file lets you browse the Fusion composite, before the node has been made into a macro, and get an idea of what controls are adjustable.

2019-01-03 DepthBlurPanoramicWrap Textual Notes.png


If you add a DepthBlurPanoramicWrap macro to your comp using the Select Tool UI you can see how the GUI was laid on top of the raw nodes you saw earlier. Since this macro is a GroupOperator node type so you could still expand the node and peek inside of it at any time, too.

2019-01-03 DepthBlurPanoramicWrap Macro.png


The "Defocus Blur Glow Sharpen Unsharpen.comp" example is provided by Reactor in the "KartaVR/Comps/KartaVR Example Comps" category. You should install that atom package, along with the sample 360VR media that comes in the Reactor "KartaVR/KartaVR Images" atom.

The KartaVR documentation page here shows the PanoramicWrap nodes at work.


You can open up the example file on disk at:

Reactor:/Deploy/Comp/KartaVR/Defocus Blur Glow Sharpen Unsharpen.comp

Defocus Blur Glow Sharpen Unsharped Comp Example.png

This example was neat as you can have an internal gradient control that lets you change the falloff strength of the effect on the PanoramicWrap nodes. This could be used for a soft diffusion effect to make the frame misty looking, or it would be possible to move the control handles to the bottom of the fame and do a nadir based tripod blurring effect with low effort.

Step 3. Remap multi-channel image data into an equirectangular frame

The next example is here to help you try to get comfortable "shuffling" your Fusion 3D system based non-RGB beauty pass data into the different image channels in your comp.

A CustomTool node is one way to do this.
Or you could use a ChannelBooleans node.
Or you could write a fuse if you were into code.


Lets open up the "Boxworld EquirectangularRenderer3DAdvanced.comp" example from:

Reactor:/Deploy/Comp/KartaVR/Boxworld EquirectangularRenderer3DAdvanced.comp


If you view the output of this comp it the Fusion Viewer windows channel controls you will see lots of extra image data is merged into an Equirectangular projection. This has more channel data that goes beyond the typical RGBA data most VR people use if their media was coming from PNG/JPG/MP4 sources.

2019-01-03 EquirectangularRenderer3DAdvanced viewer.png

If you expand that GroupOperator node you can see all the live-rendered cubic views being merged into Equirectangular image projection outputs. Then a series of ChannelBooleans take that data and help to push it into a custom Equirectangular based multi-channel output.

2019-01-03 EquirectangularRenderer3DAdvanced Channel Operations.png

You can see another variation on this approach in the Z360 atom provided "Z360Renderer3D.setting" node. If you have the KartaVR comp examples loaded then you can access an RGBZ based roller coaster track example comp at

Reactor:/Deploy/Comp/KartaVR/Roller Coaster Ride Z360Renderer3D.comp


This example nodes shown above generates the following RGBZ top/bottom color + depthmap output in the Fusion viewer window:


2019-01-03 Roller Coaster Ride Z360Renderer3D.png

By expanding the GroupOperator node contents, you will see the internal nodes, including a set of CustomTool nodes that help to remap the rendered image z-depth range.


2019-01-03 Z360Renderer3D node innards.png

Step 4. Check out the Z360Stereo and Z360Mesh3D macros

Z360 Omni-stereo XYZ view rotations.png

After you have played around inside of the other KartaVR examples on this page, it can be fun to open up the Z360Stereo and Z360Mesh3D nodes comps in Fusion to see how they use common nodes inside the macros to attempt to give omni-stereo based 6DOF conversions without relying on a raytraced stereo lens shader and slit-scan style rendering.

Sure a dedicated C++ Fusion SDK based node that does this process would be better. And having your own Red Manifold filmed footage would be great, too. I'd sure love to have one of those cameras. :D

But for kicks, you can get pretty far with just plain old Fusion nodes. Since the Z360 macros don't generate disparity data on their own, you could still use them in a bind on Fusion (Free) if you were cool with 3840x2160px media max as your output resolution.

Here are the two main Z360 comp examples to poke-through.


Reactor:/Deploy/Comp/KartaVR/Z360 Stereo.comp
Reactor:/Deploy/Comp/KartaVR/Z360Mesh3D.comp


The Z360 Stereo demo looks like this:

Z360 Stereo Example.png

It's all nodes - Do with them as you want!

If you kitbash the node workflow concepts in these demos, you could start to make a slightly crude but very workable stereo disparity tool for processing just about an image projection.

@avclubvids, after you explore these Fusion examples and poke around inside them for a while to get comfortable, I'd be happy to step you through how to build a "disparities from an equirectangular stereo pair" node in a step by step fashion over the next few days once your feet are wet... assuming this is something you'd like to push further. :)

Also, if you want to see an explainer on how Fusion macros are packaged, I made a "Macro Building Essentials" WSL thread that shows a few techniques on how you can encapsulate any collection of your own Fusion nodes from your personal comps into your own macro's with the GUI controls you can choose to expose to the end artist and set their ranges.

At first, macro building can look like a scary topic to someone who hasn't done it before, but after a few small tests, you can make some customized tools that will save you lots of time on repetitive tasks. And with those macro editing "skillz", you also have the power to re-work any MacroOperator or GroupOperator node you come across in your time using the Resolve Fusion page and Fusion Standalone. :)
You do not have the required permissions to view the files attached to this post.

User avatar
avclubvids
Fusioneer
Posts: 113
Joined: Sun Sep 17, 2017 7:51 am
Location: Los Angeles, CA
Contact:

Re: KartaVR v4 Freeware Edition

#24

Post by avclubvids » Thu Jan 03, 2019 11:12 am

This is a goldmine. As I have said several times in this thread, you are the MAN Andrew.

...or... did I say that yet?...

FlatUnconsciousDove-size_restricted.gif
You do not have the required permissions to view the files attached to this post.

User avatar
avclubvids
Fusioneer
Posts: 113
Joined: Sun Sep 17, 2017 7:51 am
Location: Los Angeles, CA
Contact:

Re: KartaVR v4 Freeware Edition

#25

Post by avclubvids » Fri Jan 04, 2019 12:19 am

I'm going through your samples slowly (returning to work now so I've got less time than I've had the last few weeks). In the West-Dover-Forest-Z360-Disparity-Depth-Stitch sample I think something has broken. Could be a Fu vs ReFu issue, but I do not think that your Fisheye2Equirectangular tool is working as designed in R15:

Screen Shot 2019-01-04 at 12.04.37 AM.png

Viewer 1 shows the Left Coordinate Space tool, and Viewer 2 is showing the Left Renderer 3D (the last node in the group). I'm using UV maps from AutoPano to warp my lenses from fisheye to equirectangular so I don't need this node, but I'm putting this here in case something has indeed broken in your tools. If not, something else is afoot – let me know if you need more info on this one.

So far I've learned a few neat tricks that should help simplify and improve my workflow, thanks again for posting so much info, this is a great deep dive I'm enjoying taking.
You do not have the required permissions to view the files attached to this post.

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#26

Post by AndrewHazelden » Fri Jan 04, 2019 2:45 am

avclubvids wrote: ↑
Fri Jan 04, 2019 12:19 am
I'm going through your samples slowly (returning to work now so I've got less time than I've had the last few weeks). In the West-Dover-Forest-Z360-Disparity-Depth-Stitch sample I think something has broken. Could be a Fu vs ReFu issue
Hi @avclubvids.

I'm really happy to see you going through all the macros and exploring how they were constructed. I love seeing people go that deep with their nodes!

Edit: The simple summary I can give you is that a macro is a plain text file that merely holds presets for built-in Fusion nodes, that are connected control wise with expressions. If an existing macro works fine in Fusion Standalone v7-v9 (on macOS/Win/Linux) but is not rendering correctly in Resolve's Fusion page, then that is a defect in Resolve.

I don't really have much sway in what Resolve does to fix their issues. I've reported a lot of things from as far back as the Resolve 14.5 private beta in Feb 2018 and only ~5% of those reported issues have been addressed. ;)

The best way to inform BMD about Resolve issues is to extract a single node or two from a macro that has problems and to compare the results in FU and ReFU. Then post a reproducible example snippet on the WSL bug tracker that is generic to just those nodes and not related to anything custom in KartaVR. It takes a lot of time to do that effort so filing reproducible bug reports are often low priority things but are helpful long-term. πŸ‘ πŸ‘

You can copy/paste a node snippet on WSL with [code][/code] tags from your Fusion node area with the WSL Reactor provided "Scripts/We Suck Less/Forum Utilities" atom package.

User avatar
avclubvids
Fusioneer
Posts: 113
Joined: Sun Sep 17, 2017 7:51 am
Location: Los Angeles, CA
Contact:

Re: KartaVR v4 Freeware Edition

#27

Post by avclubvids » Sun Jan 06, 2019 12:06 pm

@AndrewHazelden I've got some recommended edits / additions to your manual for the PanoViewer:

This tool has 3 different modes:
β€’ On a Loader/MediaIn Tool it will send the source media to the external VR video viewer application
β€’ On a Saver this tool will send the current saved frame (requires a render first)
β€’ On any other node, this tool will send the image that is currently viewed in viewer 1

I know this information is sorta in the docs now, but this specificity would be helpful to other users new to KartaVR.

Also I was wondering if djv_view actually has an equirectangular viewing mode? If not, it seems odd that this would be the default viewer for Karta. Also djv_view is currently a little hard to find – I have it, but you might want to put a link to the current installer in the KartaVR docs if it is to remain the preferred default external viewer.

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#28

Post by AndrewHazelden » Sun Jan 06, 2019 9:11 pm

avclubvids wrote: ↑
Sun Jan 06, 2019 12:06 pm
@AndrewHazelden I've got some recommended edits / additions to your manual for the PanoViewer:

Okay. Let's see how close I got to meeting those requests today. :)

Panoview is Context Aware

avclubvids wrote: ↑
Sun Jan 06, 2019 12:06 pm
I know this information is sorta in the docs now, but this specificity would be helpful to other users new to KartaVR.

I added a new KartaVR docs section titled "PanoView | Panoview is Context Aware" to cover the Panoview operating states.

2019-01-07 Panoview is context aware docs.png

Where can you download DJV?

avclubvids wrote: ↑
Sun Jan 06, 2019 12:06 pm
Also I was wondering if djv_view actually has an equirectangular viewing mode? If not, it seems odd that this would be the default viewer for Karta. Also djv_view is currently a little hard to find – I have it, but you might want to put a link to the current installer in the KartaVR docs if it is to remain the preferred default external viewer.

KartaVR is about more than just equirectangular imagery. It was originally called the Domemaster Fusion Macros and was an "ecosystem" companion tool to Domemaster3D and PlayblastVR. Right now, as we speak, multi-view light-field imagery support and Looking Glass display functionality are being added.

My view of things, when defining a "default" viewer tool, the same program had to: exist for all three supported OS platforms, not be EOL, it had to be able to play back linear workflow gamma 1.0 multi-channel EXR image sequences at 6K+ resolution since KartaVR running in Fusion can output that type of media from stitching and HDRI video workflows, and ideally the viewer should be free and accessible.

I've been known to display static imagery above 16K in resolution so DJV has been super reliable for doing a quality check. DJV's RAM caching and full-screen modes have been amazing on my MacBookPro laptop.

There are quite a few viewer apps that are supported by Panoview so it's as easy as choosing the tool you prefer if that default isn't what you want. Long-term when Resolve gets a native HMD playback mode the PanoView script will be for a different type of user.

2019-01-06 DJV in Reactor.png

If you wanted to, you could use Reactor to install a copy of DJV_View. A version of DJV_View v1.25 from December 28, 2018 has been added as a new Reactor "Bin" category package for Win/macOS/Linux. These new files are installed to "Reactor:/Deploy/Bin/djv/".

This KartaVR doc pages have a supporting tools page that lists extra software people are encouraged to install. DJV's listed here:
Supporting Tools for VR Production

2019-01-06 DJV in the Docs.png

The KartaVR docs also have an installation page that explains topics like setting up your own custom Fusion Standalone "Bins" view.


Note: If you go to install the DJV Reactor atom, you might want to update your "KartaVR Scripts | Viewer" atom package to v4.01, too. The latest Viewer Script update allows the Reactor provided version 1.25 release of DJV to be the default executable program path on a fresh KartaVR install. You can also make the DJV version from Reactor act as the default program in Fusion after you run the "Scripts > KartaVR > Reset Lua Script Settings to Defaults" menu item.

Reset LUA Script Settings to Defaults.png
You do not have the required permissions to view the files attached to this post.

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#29

Post by AndrewHazelden » Thu Jan 31, 2019 8:40 pm

KartaVR Version 4.0.2 - 2019-01-31

  • Added YouTube 360Β° cubic 3x2 format movie conversion macros called YouTubeCubemap3x22CubicFaces, YouTubeCubemap3x22Equirectangular and CubicFaces2YouTubeCubemap3x2. There is a YouTube Cubemap3x2.comp example composite, and a sample youtube_cubemap3x2.jpg image as well.

CubicFaces2YouTubeCubemap3x2 Macro Output

macro-cubic-faces-to-youtube-cubemap3x2.png
You do not have the required permissions to view the files attached to this post.

User avatar
AndrewHazelden
Fusionator
Posts: 1529
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: KartaVR v4 Freeware Edition

#30

Post by AndrewHazelden » Thu Feb 07, 2019 7:59 am

Here are a few notes about the KartaVR v4.02 Update in Reactor:

The biggest improvement overall is that you now have easier access to dozens of example Resolve Fusion page composites in KartaVR:

Ricoh Theta Stitching.jpg

Resolve Effects Library Support


If you update your Reactor installed "KartaVR Tools" atoms you can access the latest revisions to the nodes. The KartaVR Macros are now available as "Resolve Fusion Page Templates" which means you can browse them using the Resolve "Effects Library" view.

With the KartaVR macros available as Effects Library templates it helps fix an issue where previously you could only see the KartaVR macros inside the "Select Tool" dialog in Resolve that is displayed using the "Shift + Space" hotkey. This issue of macros not being easy to browse on their own happens since there is no Fusion Standalone style "Bins" view, or a Fusion centric "Tools > Macros" menu which results in it beings hard to see *in one view* all of the Macros:/ PathMap based items that are active inside of Resolve.

Here is a screenshot of the KartaVR section in the Effects Library:

resolve-effects-library.png

Resolve DRP Example Project

If you install the updated "KartaVR Example Comps" atom package in Reactor you will now be able to access a new DaVinci Resolve .drp project file based set of example Fusion page composites. The .drp file can be accessed at the PathMap location of:

Reactor:/Deploy/Comps/KartaVR/KartaVR Example Comps.drp


After you install the "KartaVR Comps" atom using Reactor for Resolve, the next time you launch Resolve you can select the KartaVR Example Comps.drp file and import it.


resolve-import-project.png

Finding the "KartaVR Example Comps.drp" File on Disk

On Windows you can paste the following folder path into the Resolve Import Project file dialog window to browse to the exact location:

C:\ProgramData\Blackmagic Design\DaVinci Resolve\Fusion\Reactor\Deploy\Comps\KartaVR\


On macOS the KartaVR Comp example folder path is located at:

/Library/Application Support/Blackmagic Design/Fusion/Reactor/Deploy/Comps/KartaVR/


On Linux the KartaVR Comp example folder path is located at:

/var/BlackmagicDesign/Fusion/Reactor/Deploy/Comps/KartaVR/


When you open the "KartaVR Example Comp" project in Resolve you will see a large collection of compositing examples that are implemented as Media Pool based independent comps. If you want to view a comp, you can right click on it and select "Open in Fusion Page". This will open it up in the Fusion page and allow you to edit it.

resolve-media-pool.png

Known KartaVR Issues in Resolve 15.2.3

While importing all off the KartaVR comp examples I noticed a few of the KartaVR macros have issues rendering correctly on the GPU in Resolve 15.2.3.

I am looking at making a few Resolve bug reports on WSL for the issues that are present in the underlying built-in Resolve Fusion page nodes, and will explore workarounds to the issues in the meantime.
You do not have the required permissions to view the files attached to this post.