Jump to content

Greenscreen background


Fattyshow
 Share

Recommended Posts

Would there be a way to change all the backgrounds of Rocksmith so you could use a chroma key to remove everything except for the notes, amps, text,...

 

This would be very nice for my live stream.

If anyone knows how to do this, please tell me.

Link to comment
Share on other sites

@@Fattyshow I would try first changing the configuration in the game, so the are not visual effects(filters they use) and then disable the change to the venues. That way I think there will be only the wall, and thats easy to change.

 

@@SA_JK I can't try right now, but have your tried changing the posteffect_vignette_riffrepeater.dds to green and making transparent the other posteffect textures?

 

 

Link to comment
Share on other sites

I got something similar, even trying different kind of vignettes and I think that's not a vignette. I think that what the game does is just put the brighness lower in the corners. I think that we would need to modifiy the showlights.xml inside loft01_Pc\gamexblocks\venues\loft01.xblock.7z\assets\gameplay\showlights.

 

I've been looking a bit into it but I can't find the way since I have no idea about xmls, here is it, maybe someone can help:

 

<?xml version='1.0' encoding='UTF-8'?>

<showLights>

  <venues>
    
    <!--
    Available light types: "blinder", "led", "par", "intelBright", "intelStreak", "intelLaser".
    Probabilities should add up to 1 for each venue and tier.
    Note that LED light will only spawn when spawner has at least 200 units clearance to other spawners. Fallback: PAR can.
    Intelligent Streak lights are currently deactivated because of rendering issues. Fallback: Intelligent Bright.
    -->

    <venue size="small" maxSpawnerCount="16" masterBrightness=".7" maxGroupSize="2">
    
      <tier type="1">
        <light type="par" probability="1"/>
      </tier>

      <tier type="2">
        <light type="blinder" probability="0.5"/>
        <light type="led" probability="0"/>
        <light type="par" probability="0.5"/>
        <light type="intelBright" probability="0"/>
      </tier>

      <tier type="3">
        <light type="led" probability="0"/>
        <light type="intelBright" probability="1"/>
      </tier>

      <tier type="4">
        <light type="intelStreak" probability="0.5"/>
        <light type="intelLaser" probability="0.5"/>
      </tier>

    </venue>

    <venue size="medium" maxSpawnerCount="70" masterBrightness=".7" maxGroupSize="6">

      <tier type="1">
        <light type="par" probability="1"/>
      </tier>

      <tier type="2">
        <light type="blinder" probability="0.5"/>
        <light type="par" probability="0.5"/>
      </tier>

      <tier type="3">
        <light type="par" probability="0.1"/>
        <light type="blinder" probability="0.2"/>
        <light type="intelBright" probability="0.7"/>
      </tier>

      <tier type="4">
        <light type="intelStreak" probability="0.4"/>
        <light type="intelLaser" probability="0.6"/>
      </tier>

    </venue>

    <venue size="large" masterBrightness="0.7" maxGroupSize="16">

      <tier type="1">
        <light type="par" probability="1"/>
      </tier>

      <tier type="2">
        <light type="blinder" probability="0.5"/>
        <light type="par" probability="0.5"/>
      </tier>

      <tier type="3">
        <light type="par" probability="0.1"/>
        <light type="blinder" probability="0.2"/>
        <light type="intelBright" probability="0.7"/>
      </tier>

      <tier type="4">
        <light type="intelStreak" probability="0.4"/>
        <light type="intelLaser" probability="0.6"/>
      </tier>

    </venue>

  </venues>
  
  
  <behaviors>

    <!--
    available behaviors: <brightness/>, <circle/>, <figure8/>, <sway/>, <zigZag/>, <animation/>
    
    common attributes:
    - length: duration in beats (b) or measures (m) this behavior will play
    - loopLength: duration in beats (b) or measures (m) after which the behavior will start over
    - stagger: intervall in beats (b) or measures (m) between individual lights when starting the behavior
    
    <brightness/> attributes:
    - progress: "static" (default), "linear", "smooth" (Sine-based curve from A to B)
    - a: number from 0 to 1
    - b: number from 0 to 1 (ignored if static)
    
    <circle/> attributes:
    - angle: number from 0 to 180
    - mirror: 0 (default) or 1
    
    <figure8/> attributes:
    - angle: number from 0 to 180
    - mirror: 0 (default) or 1
    
    <sway/> attributes:
    - progress: "linear" (default), "smooth" (Sine)
    - yawRange: number from 0 to 180
    - pitchRange: number from 0 to 180
    - mirror: 0 (default) or 1
    
    <zigZag/> attributes:
    - angle: number from 0 to 180
    - mirror: 0 (default) or 1
    
    <animation/> attributes:
    - progress: "static" (default), linear", "smooth" (Sine-based curve from A to B)
    - a: "neutral" = "narrowBeam" (default), "wideBeam", "spinningBeam"
    - weightA: number from 0 to 1 (default)
    - b: "neutral" = "narrowBeam" (default), "wideBeam", "spinningBeam" (ignored if static)
    - weightB: number from 0 to 1 (default)
    
    Note: Either length or loopLength (or both) have to be defined, all other attributes are optional!
    
    Behaviors can be chained. For example:
      <behavior>
        <brightness loopLength="1b" a="1"/>
        <brightness loopLength="3b" a="0"/>
      </behavior>
    This will result in the light only being on (at full brightness) during the first of 4 beats, repeating the pattern as long as the section is active.
    
    A more complex example:
      <behavior>
        <brightness loopLength="1m" progress="linear" a="0" b="0.5"/>
        <circle loopLength="0.5m" angle="30"/>
        <sway loopLength="0.5m" progress="smooth" yawRange="30"/>
        <animation loopLength="1m" progress="linear" a="neutral" b="narrowBeam"/>
      </behavior>
    This will result in the light fading from off to half brightness within 1 measure.
    The circle and sway behaviors only apply to lights that can rotate.
    In the first half of the measure it will move in a circle once and in the second it will sway to one side, then to the other.
    This will repeat for each measure until the section is over.
    The angle of 30 degrees is the limit in which the light will rotate up-down left-right to perform the circle pattern.
    The yawRange is the limit in which the light will rotate left-right for the sway.
    The sway will slow down at the extremes (left and right), according to the Sine function. (This tends to look more natural.)
    Lastly, the animation will cause the beam to narrow down over the course of a measure, provided the light type supports it.
    -->

    
    <!-- Put a behavior for testing here and check the console variable "ShowLights_TestBehavior". -->
    <test>
      <light type="par"/>
      <behavior>
       <brightness loopLength="2b" stagger="3b" progress="smooth" a="1" b="0.7"/>
        <brightness loopLength="0.5m" a="0.1" b="1"/>
        <zigZag loopLength="4m" mirror="1" angle="30"/>
        <animation loopLength="2b" progress="smooth" a="neutral" b="wideBeam"/>
      </behavior>
    </test>
    
    
    <tier type="1">
      
      <behavior>
        <brightness loopLength="4b" progress="smooth" a="0.3" b="0.6"/>
        <brightness loopLength="4b" progress="smooth" a="0.6" b="0.3"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" stagger="4b" progress="smooth" a="0.5" b="0.8"/>
        <brightness loopLength="6b" progress="smooth" a="0.8" b="0.5"/>
      </behavior>

      <behavior>
        <brightness loopLength="2b" stagger="2b" progress="linear" a="1" b="0"/>
        <brightness loopLength="2b" a="1" b="0.3"/>
      </behavior>

      <behavior>
        <brightness loopLength="2b" stagger="2b" progress="linear" a="0.7" b="0.1"/>
        <brightness loopLength="2b" a="0.7" b="0.1"/>
        <brightness loopLength="4b" stagger="2b" progress="smooth" a="0.5" b="0.1"/>
        <brightness loopLength="4b" a="0.5" b="0.1"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="3b" progress="linear" a="0.7" b="0.3"/>
        <brightness loopLength="1b" a="0.7" b="0.1"/>
        <brightness loopLength="1b" stagger="1b" progress="smooth" a="0.5" b="0.1"/>
        <brightness loopLength="1b" a="0.5" b="0.1"/>
      </behavior>

      <behavior>
        <brightness loopLength="4b" stagger="2b" progress="linear" a="0.6" b="0.1"/>
        <brightness loopLength="4b" a="0.6" b="0.1"/>
        <brightness loopLength="4b" stagger="2b" progress="smooth" a="0.5" b="0.1"/>
        <brightness loopLength="4b" a="0.5" b="0.1"/>
      </behavior>

      <behavior>
        <brightness loopLength="2b" progress="smooth" a="0.4" b="0.6"/>
        <brightness loopLength="2b" progress="smooth" a="0.5" b="0.6"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="2b" progress="linear" a="0.7" b="0.1"/>
        <brightness loopLength="1b" a="0.7" b="0.1"/>
        <brightness loopLength="1b" stagger="2b" progress="smooth" a="0.5" b="0.1"/>
        <brightness loopLength="1b" a="0.5" b="0.1"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="1b" progress="smooth" a="0.7" b="0.2"/>
        <brightness loopLength="1b" a="0.7" b="0.2"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="2b" progress="linear" a="0.8" b="0.2"/>
        <brightness loopLength="2b" a="1" b="0.2"/>
      </behavior>
           
      <behavior>
        <brightness loopLength="4b" stagger="2b" progress="smooth" a="0" b="0.8"/>
        <brightness loopLength="4b" progress="smooth" a="0.8" b="0"/>
      </behavior>
      
      <behavior>
          <brightness loopLength="2b" progress="smooth" a="0.08" b="0.7"/>
          <brightness loopLength="4b" a="0.7"/>
          <brightness loopLength="4b" progress="smooth" a="0.7" b="0.08"/>
          <brightness loopLength="6b" a="0.7"/>
      </behavior>
      
    </tier>

    <tier type="2">
      
      <behavior>
        <brightness loopLength="2b" stagger="2b" progress="linear" a="0.8" b="0.2"/>
        <brightness loopLength="2b" a="0.8" b="0.3"/>
        <sway loopLength="3m" progress="smooth" mirror="1" yawRange="60" pitchRange="100"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="2b" progress="linear" a="0.7" b="0.2"/>
        <brightness loopLength="2b" a="0.7" b="0.2"/>
        <circle loopLength="1m" mirror="0" angle="60"/>
        <circle loopLength="1m" mirror="0" angle="10"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="2b" progress="smooth" a="0.7" b="0.4"/>
        <brightness loopLength="2m" a="0.4" b="0.7"/>
        <circle loopLength="4m" mirror="1" angle="90"/>
        <animation loopLength="1m" progress="smooth" a="neutral" b="wideBeam"/>
        <animation loopLength="1m" progress="smooth" a="neutral" b="wideBeam"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="3b" progress="linear" a="0.7" b="0.3"/>
        <brightness loopLength="1b" a="0.7" b="0.3"/>
        <brightness loopLength="1b" stagger="2b" progress="Smooth" a="0.5" b="0.1"/>
        <brightness loopLength="1b" a="0.5" b="0.1"/>
        <figure8 loopLength="4m" progress="smooth" mirror="1" angle="40"/>
        <figure8 loopLength="6m" progress="smooth" mirror="1" angle="90"/>
      </behavior>

      <behavior>
        <brightness loopLength="1b" stagger="3b" progress="smooth" a="1" b="0.7"/>
        <brightness loopLength="1m" a="0.4" b="1"/>
        <zigZag loopLength="6m" mirror="0" angle="30"/>
        <animation loopLength="2m" progress="smooth" a="neutral" b="wideBeam"/>
      </behavior>

      <behavior>
        <brightness loopLength="2b" stagger="3b" progress="smooth" a="1" b="0.7"/>
        <brightness loopLength="0.5m" a="0.1" b="1"/>
        <zigZag loopLength="4m" mirror="1" angle="30"/>
        <animation loopLength="2b" progress="smooth" a="neutral" b="wideBeam"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.5" b="0.8"/>
        <brightness loopLength="6b" progress="smooth" a="0.8" b="0.5"/>
        <sway loopLength="3m" progress="smooth" mirror="1" pitchRange="30"/>
      </behavior>
                        
      <behavior>
        <brightness loopLength="4b" stagger="2b" progress="smooth" a="0" b="0.8"/>
        <brightness loopLength="4b" progress="smooth" a="0.8" b="0"/>
        <sway loopLength="3m" progress="smooth" mirror="0" pitchRange="30"/>
      </behavior>

      
    </tier>

    <tier type="3">
      
      <behavior>
          <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
          <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
          <circle loopLength="3m" mirror="1" angle="40"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <circle loopLength="3m" mirror="0" angle="40"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <figure8 loopLength="3m" progress="smooth" mirror="1" angle="20"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <figure8 loopLength="3m" progress="smooth" mirror="0" angle="20"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="5m" progress="smooth" a="1" b="1"/>
        <figure8 loopLength="5m" progress="smooth" mirror="0" angle="20"/>
        <animation loopLength="1m" a="spinningBeam" />
      </behavior>
      
      <behavior>
        <brightness loopLength="2b" progress="linear" a="0" b="1"/>
        <brightness loopLength="12b" a="1"/>
        <brightness loopLength="2b" progress="linear" a="1" b="0"/>
        <brightness loopLength="2b" a="0"/>
        <figure8 loopLength="3m" progress="smooth" mirror="0" angle="20"/>
        <animation loopLength="4b" progress="smooth" a="neutral" b="wideBeam" weightB="1"/>
        <animation loopLength="4b" progress="smooth" a="wideBeam" b="neutral" weightA="1"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="5m" progress="smooth" a="1" b="1"/>
        <sway loopLength="3m" progress="smooth" mirror="1" yawRange="60" pitchRange="100"/>
        <animation loopLength="1m" a="spinningBeam" />
      </behavior>
      
      <behavior>
        <brightness loopLength="5m" progress="smooth" a="1" b="1"/>
        <figure8 loopLength="5m" progress="smooth" mirror="0" angle="20"/>
        <animation loopLength="1m" a="spinningBeam" />
      </behavior>

    </tier>

    <tier type="4">

      <behavior>
        <brightness loopLength="8m" progress="smooth" a="1" b="1"/>
        <circle loopLength="3m" angle="40"/>
        <sway loopLength="3m" progress="smooth" yawRange="40"/>
        <animation loopLength="4b" progress="smooth" a="neutral" b="wideBeam" weightB="1"/>
        <animation loopLength="4b" progress="smooth" a="wideBeam" b="neutral" weightA="1"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="8m" a="1" b="1"/>
        <circle loopLength="3m" angle="40"/>
        <circle loopLength="3m" angle="40"/>
        <sway loopLength="3m" progress="linear" mirror="1" yawRange="40"/>
        <animation loopLength="4b" progress="smooth" a="neutral" b="wideBeam" weightB="1"/>
        <animation loopLength="4b" progress="smooth" a="wideBeam" b="neutral" weightA="1"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <sway loopLength="3m" progress="smooth" mirror="1" yawRange="30"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <sway loopLength="3m" progress="smooth" mirror="0" yawRange="30"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>

      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <sway loopLength="3m" progress="smooth" mirror="1" pitchRange="30"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <sway loopLength="3m" progress="smooth" mirror="0" pitchRange="30"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <figure8 loopLength="3m" progress="smooth" mirror="0" angle="20"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="6b" progress="smooth" a="0.6" b="1"/>
        <brightness loopLength="6b" progress="smooth" a="1" b="0.6"/>
        <figure8 loopLength="3m" progress="smooth" mirror="1" angle="20"/>
        <animation loopLength="1m" a="spinningBeam"/>
      </behavior>

      <behavior>
        <brightness loopLength="8m" progress="smooth" a="1" b="1"/>
        <figure8 loopLength="3m" progress="smooth" mirror="0" angle="20"/>
        <sway loopLength="3m" progress="smooth" mirror="0" pitchRange="30"/>
        <animation loopLength="4b" progress="smooth" a="neutral" b="wideBeam" weightB="1"/>
        <animation loopLength="4b" progress="smooth" a="wideBeam" b="neutral" weightA="1"/>
      </behavior>
      
      <behavior>
        <brightness loopLength="8m" a="1" b="1"/>
        <figure8 loopLength="3m" progress="smooth" angle="20"/>
        <figure8 loopLength="3m" progress="smooth" angle="20"/>
        <circle loopLength="3m" mirror="0" angle="40"/>
        <animation loopLength="4b" progress="smooth" a="neutral" b="wideBeam" weightB="1"/>
        <animation loopLength="4b" progress="smooth" a="wideBeam" b="neutral" weightA="1"/>
      </behavior>

    </tier>

  </behaviors>
  
</showLights>

 

 

Link to comment
Share on other sites

  • 3 months later...

I've achieved kinda the same result with after effects, but yours seems cleaner.

It looks almost perfect, but the green notes gets also deleted?

 

I haven't tried it yet, but i am quite sure they will be. I'll try it out later tomorrow and report back and tell how it went. But the color can always be changed. The best color would be something that is not present in the game.

Link to comment
Share on other sites

  • 6 months later...
  • Administrator

So I was messing about with this tonight - got it "kinda working" in that my "green screen" effect works 80% fine within the menus - but not when playing. Is anyone able to point me to the right files to alter so my "green screen effect" works while playing? 

 

Also - how to remove the wall artefacts that still show, would be nice.

 

Video eg - 

 

recorded via obs, video is un-edited from live capture.

I used a canary yellow in place of the typical green, since I thought it might be easier to keep the note highway properly displayed. OBS variance factor is set higher than I'd ideally prefer for this test.

  • Like 3
Link to comment
Share on other sites

"...from live capture" Whao impressive,

"Is anyone able to point me to the right files to alter so my "green screen effect" works while playing?"

Sorry i don't know wich files to alter for this.

 

Hope we'll can use VLC or obs as a video player in background (it wouldn't require to psarc the big videos files in RS), maybe using the windows key to switch from RS to obs & change the videos when wanted.

 

I've seen a"Video source plugin": Add video files and other media as sources (files supported by VLC should work).

Link to comment
Share on other sites

  • 11 months later...
  • Administrator

I decided to give this another crack recently. Loft, Gears and Static .psarc files were modded to give this effect.

 

Audio out of sync due to OBS being randomly stupid - can't find how/where to get rid of the speaker effects "sound waves" - but this was recorded using OBS / camera live in Luma key setting with black as the opacity. -

 

If using Luma key (like Chroma key but works with a black background) everything you see as black will be transparent. This was done so the game would still be playable to the person playing, but will also give a nice luma key base for changing the background.

 

Short version, it works.

 

Now If I could just get rid of the damned sound waves.......

  • Like 3
Link to comment
Share on other sites

I'll try this towards the end of the year, i have too much woodwork to do (planed for all this summer).

can't wait to run vids in the background on Rocksmith, it will change the playing experience in a very very good way.

It's amazing you've been able to link RS to one external program medias, this will allow to store the vids out of RS.

Great Job

Link to comment
Share on other sites

This is cool, 

 

Does this mean that we can add music video's into the CDLC's pack in the future?

Check out my Custom Inlays topic here

Customize those dots at fret 3, 5, 7,... with your favourite band logo!

Check out my Youtube channel here

Rock, Punk and Metal Rocksmith playthroughs, Just Dance Audio Swaps and Synthesia Piano Plays

 Rise Against DG - ADTR DG - Enter Shikari DG

Beartooth DG - Senses Fail DG - Just Dance Topic

 

Link to comment
Share on other sites

  • Administrator

This is cool, 

 

Does this mean that we can add music video's into the CDLC's pack in the future?

 

I really have no idea.

 

All I did was set all of the interface I didn't want to see to black, OBS uses luma key to make it transparent - the camera is recorded live "below" the RS interface. I have no idea how you'd link the active song to a preset video - or have it set to be the right time...... but in theory, if you could tell it to "play Prince - While My Guitar Gently Weeps.avi via VLC" it could be made to work.

 

My knowledge ends at removing the loft and amps.

 

files modified for this; https://1drv.ms/f/s!AvYwHVKnDAP7jekwDmwM8AqjlIQAaA

 

Turn off venue mode and replace the files on your system with the ones above to get the black loft effect (note the loft psarc is in a different folder).

  • Like 2
Link to comment
Share on other sites

I've got some very good news guys:

 

BY REMOVING AUDIO EXCLUSIVITY YOU CAN HAVE YOUTUBE STILL RUNNING IN BACKGROUND.

I've not tried with the MOD yet, but it should work:

using the win key to switch between RS and Windows/Youtube play/pause.

We'll just have to mute Youtube.

 

Can you please test if it works fine with the MOD ?

(I've use win 7 and Firefox).

 

Is it necessary to keep OBS running to enable the mod ?

 

I've never play RS without audio exclusivity and i can't try it today (hope everything is still ok (no lag or sound cracks etc..).

 

Thanks ZagatoZee for your work and the files, can't wait.

  • Like 1

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy