hey @alex.underhill I have a bug for You. Almost always when i am trying to create Optical Flow, it works perfectly with preview but when i pressed “Generate All” it generates only base 127,127,0 colored sheet.
To make it works i must changed “Storage Preset” from Default to something else (eg. Legacy + Maginitude), generate, and then back to default and generate again.
Are there still plans to get documentation pages up for Slate?
yup, I am aiming to get up some docs soon on a git page
hey @alex.underhill the motion vector maps out of Slate are absolutely stunning. After ironing out some AE workflow issues on my end and figuring out the Devolver tool better, everything snapped into place - Explosions for Games: Vol II - Optical Flow Improvements on Vimeo - thanks again for this great software
Hi @alex.underhillI made a small video about using slate to make optical flow textures with slate for unreal. Some questions popped up while doing this. If you want, I would be happy to see what my mistakes are.
Hey Simon, I just watched this, thank you so much again! I have taken notes on all your points I can act on. It was great to see you use it and see what the pain points were. I have been working on updating the timeline widget as well which seems like the bit that’s really letting it down.
Let me address some of your points.
Timeline playback
Very embarrassing and I will resolve this with a timeline widget update. You can change playback speed here
It looks like in your UI, the default means you have to scroll to see it but with no hints to do so. Not really a good start on my end!!
Strong values being packed in to first/last frames as default:
This is actually intentional, however maybe the defaults should be to leave blank. What Slate’s actually doing, is by default, looping through your texture sheet. So at the last frame, it considers the neighbouring texture to be the first of your sequence. And at the first frame, it references the last frame. For things like a one shot effect, the start/end of your sequence is quite different hence the super strong values. For looping animations, the values should help naturally flow from end to start and back again. Hope that helps.
Changing your numbers for Unreal
The “Current Minimum/Current Maximum” readouts are there to show how far the optical flow process has had to search for motion (in pixels) on the entire sequence. So a value of -10.0, 10.0, normally shows that it’s had to search 10px either direction to calculate motion. Normally that value doesn’t have much use for shaders as it’s in raw pixel space rather than UV space. Instead, you can dial it in to your “Distance Limit” field for the next time you generate. This will ensure you get a nice range of data in your image, rather than clipped white/black values where the data range is clipping.
The actual shader numbers
This is pretty tricky territory. From your video you mentioned it’d be good to know what the preview is using? The good news is, I made all the shader files I use for Slate entirely public, and are visible in the /ProgramFolder/Assets/Shaders/ folder.
The asset you’ll want to inspect is Shaders/UI/AnimationPlayback.glsl
It’s quite a messy shader (sorry!) as it has to do every type of animation playback but the key is, all I’m doing is using the uFlowStrength uniform, which is just the Shader Estimate values that are shown in the UI.
I’m not completely familiar with Unreal’s shipping motion vector shader, I think it came a little after I released Slate initially so the two may not play nicely together.
I threw up a shader on Github for using optical flow from Slate.
With this setup, the main thing I seem to do differently, is setting my Optical flow textures to “Normal Maps” to take advantage of unpacking the data to -1.0, 1.0 automatically.
I’ve just noticed that this set up tends to want the magic number from Slate, to be multiplied by 2 for better results. I imagine this is due to the texture data being expanded from 0.0-1.0 to -1.0,1.0, which would mean an increase of a factor of 2. I will fix this from Slate’s side for the next update.
Sorry for the long read. Hopefully that answers some of the questions and once again, a massive thank you for this as it has really helped me focus on some things I should resolve.
Thank you so much for the answer, super useful! I’ve added a link to this answer to the Youtube description so that others can read it. Now everything i way clearer Thank you for spending so much time giving us such a great tool!
Hi @alex.underhill , It might be a dumb question but can we save outputs as individual images, instead of flipbook format? I read through the menu but couldn’t find an option. Thanks!!
Hi!
Yes, sorry I have done such a bad job with the doc stuff but it is possible to do this.
You will want to open the “Layer Settings” panel and drill down to the layer you want to export (ie full color, optical flow, shader pass etc)
You can configure out the file path here too. It will use the render settings (ie file type) and root path your project is using in RenderingSettings/Output, so I normally have /Frames/ as a prefix for my tile file name and a _$F which is the current index that this frame is in your sheet.
On export, it will load up the full resolution assets even if the preview is low res.
Hey @alex.underhill, thanks so much for the reply!
I’m glad to know there is an option for individual export.
I followed your set up but somehow my individual OF renders gray. It OF renders fine when it’s exported as a flipbook sheet though. I tried all blend mode to test, but they are all grey, and image renders to be 170 x 102 pixel size. I only have “default” image sequence option instead of “December”, could that be an issue?
Thanks!
Hey,
so is it calculating the flow fine, its just when it exports as individual files it will be grey?
Yes, It exports OF as grey image when exported as individual files. Default(diffuse) also exports as black image when exported as individual files.
Both exports fine when exported as tile sheet.
Thanks!
hey gang!
just curious if Slate was abandoned? I’m trying the recent version and noticed that the documentation links don’t work and there are inconsistencies with what’s on the webpage and what’s included… ie: the recoloring shader.
I really hope not, as this is a great tool!
Hey, yeah thats my bad as I’m really bad at docs.
Definitely not abandoned - I have been working on a rewrite for some time now to make things much friendlier. Unfortunately it takes a lot longer than I was hoping. If theres ever anything I can help with just shoot me a msg though and I’ll be happy to help
If this is the wrong place to post this I am very sorry… So I am using slate Editor additive materials…I am getting some banding see photos please. any thoughts?
Hi, I’m recently using Slate editor, I have a problem, after I use devolved tool to split spritesheet into single images everything is fine but after I want to import the texture form file they will randomize and it’s really a mess, I can’t to organize them manually, so what should I do?!
after devolving (in Explorer)
after importing (in Slate Editor)
Hopefully this one’s a straightforward fix:
Once you’ve got an image sequence in the content browser, double click it to edit and you should find the Sort Files drop down, try changing it to either Numerical Asc(ending) or Last Edit. Let me know if none of them do the trick for you.
Thank you, it works. I haven’t try this method.
Hello,
This is probably a stupid issue but when I import my image sequence of 512px images Slate always sets them to 128px and I can’t find a way to get the original resolution. Am I missing something?