Output a Unity project to vvvv


#1

Hello there

I have a Unity project that I want to mix with video using vvvv. I know lots about Unity, but am just figuring out vvvv, but enjoying it so far. I have figured out how to mix video in various ways using vvvv, but need to basically take the output of my Unity game and feed it as a video stream into vvvv

How is this achieved? Also can this be done with processing sketches also?

Thanks!

Bryan


#2

hello skooter500,

you can share textures between unity and vvvv directly on the GPU by using spout. with that you could send your unity output directly to vvvv:

there are a few unity implementations for unity, for example:

and


#3

Thanks tonfilm!

I didnt have time to test this until today

I have installed Spout and downloaded both of those Unity projects.

If I set the spout options to the default options:

DirectX 9 (unchecked)
Buffer (unchecked)
ShareMode Texture
NVidia Global processor Autoselect

I can stream Unity stuff to the spout receiver that comes with spout

But the demo spoutcamIn vvvv patch that comes with spout shows nothing in the renderer and this in the tty:

00:01:07 : VideoIn (DShow9).Video --> Spout Cam.SpoutCam
00:01:07 ERR : An invalid media type was specified.
00:01:07 : Adding node to filtergraph: VideoTexture (EX9.Texture VMR9)
00:01:07 : Connecting from: VideoIn (DShow9).Video to: VideoTexture (EX9.Texture VMR9).Video
00:01:07 : ds connect from: SpoutCam to: VMR Input0
00:01:07 : VideoIn (DShow9).Video --> Color Space Converter.XForm Out

Ive also tried a simple vvvv patch with a spoutreciever and a quad and a renderer and also nothing and this appears in the tty:

00:03:01 : E_INVALIDARG: An invalid parameter was passed to the returning function (-2147024809) Handle: 1073748738 Format: A8R8G8B8

If I try selecting the DirectX 9 option in the spoutdxmode program, then I get the error

Cannot create DirectX/OpenGL interop in the spoutreciever demo program that comes with spout and the same error:

00:03:01 : E_INVALIDARG: An invalid parameter was passed to the returning function (-2147024809) Handle: 1073748738 Format: A8R8G8B8

In a simple vvvv patch with a sprout receiver and a quad and a renderer. In fact I get this error in vvvv no matter which options I set in the spoutdxmode program

Next I tried the DirectX 11 spout patch here:

The instructions say to put the files in the packs directory beside /packs/dx11

But there is no dx11 directory and when I put the files in the packs directory, and try and find something that looks like Spout DX11, there are just the regular spout nodes and nothing that looks like Dx11. Had a look for dx11 pack on the vvvv website and can’t find anything.

Going to try the alpha build of vvvv next and see if I get any further

Any help welcome!

Bryan


#4

@skooter500 the dx11 pack is a separate download here: https://vvvv.org/contribution/directx11-nodes


#5

Ok I found this:

And unzipped into a newly created packs folder in vvvv (not the lib/packs folder I was originally using) so that my folder structure matches the instructions and now I have Unity streaming to vvvv!

Woo!