Slate Forums › Support › Are integration suggestions considered?
Hey there,
I just started using this last night and I am blown away by how awesome Slate is and easy to use. The whole realm of cutscene / cinematic creation always seemed like it would be something out of reach for me, yet with this I am chugging along like its no one’s business. It is very similar to I felt when I discovered UMotion a few months ago. I was playing around with Slate and Final IK, which is really nice in its own way but it got me thinking about just how much better it could be with UMotions ability to fully modify any and all aspects of an animation right there in the scene in real time. If I were working on a clip and could not seem to get something just right with Final IK, you could easily accomplish any and all changes you could need in just a few moments as seen in this video!
I realize it is probably a long shot but I wanted to request and see if it might be able to be taken into consideration to make an integration for Slate to work with UMotion similar to how it does in the video above?
I appreciate your time and keep up the great work, this is an amazing asset and I am thrilled the renewed excitement it gave me in being able to finally be able to have a go at something that I thought would always be out of my reach.
Thanks,
-MH
I also wanted to add on a question about Node Canvas. I don’t need the full version as I had already bought Behavior Designer a long time ago, and I got Bolt for free in a promotion and I have several other things like Dialogue System for Unity, etc. I see that there is a lite version which has integration with Slate and a few other assets I own. My question is, does anyone have any examples of what you can do with the integration specifically? Is it worth getting the lite version simply to have some additional integration features or might it not be worth it if that is really the only thing I can think of that I would end up using it for?
Thanks again!
-MH
Hello MH,
Thank you very much for your very positive feedback! I am really glad you enjoy Slate and that you find it easy and useful!
I don’t own UMotion to be 100% sure, but as far as I can tell, UMotion creates standard Unity AnimationClips.
If that is indeed the case (which I think it is), then you can simply:
– Drag and Drop your character which has the Animator component attached into the Slate editor to create an Actor Group for that character.
– Add the Animator Track if not already added into that newly created Actor Group.
– Add a “Play Animator Clip” into the Animator Track and select the Animation Clip created from UMotion.
– Scrub the time and you should see the animation playing.
The above workflow is also pretty much what is shown in the video, but instead done with Unity’s Timeline 🙂
Please let me know if that indeed works, or not!
Regarding NodeCanvas integration, the integration allows you to control a Slate cutscene from within a NodeCanvas Behaviour Tree (or also FSMs and Dialogue Trees in the full version), as well as control/animate NodeCanvas variables from Slate. Furthermore -as a bonus feature-, it also allows you to execute NodeCanvas actions from within a Slate cutscene.
Whether or not getting NC Lite for the integration alone is worth it, really depends on whether or not you actually need a Behaviour Tree in the first place 🙂 If you do not need a Behaviour Tree system in your project then I can’t justify the integration really.
If on the other hand you do need a Behaviour Tree system, then I think that the integration is nice and straightforward.
If you have any further questions, or need any further clarifications, please let me know!
Thanks again for your positive feedback!
Join us on Discord: https://discord.gg/97q2Rjh
I definitely appreciate the reply, as well as the honesty. I already own Behavior Designer for my behavior tree needs and I have Bolt, but that I could just never really get into. You essentially had to know every single method and what they do just as if you were an actual programmer, but now you have to do a bunch of extra steps and try to find the things you need, and maintain a giant board of spaghetti, lol. I usually just prefer simply writing the code, its easier and faster. I have yet to come across any of the “visual scripting tools” that actually ended up making things easier or better except for Behavior Designer (which I am sure NodeCanvas is probably quite similar), though I highly doubt I would need two complete behavior tree suites. I see that you have NodeCanvas and FlowCanvas, I had always thought FlowCanvas (since it was cheaper) was just a lite version of NodeCanvas, but I guess that is not the case since I now see you do actually have a lite version of it.
I am something of an asset whore though, if you will. I check the store daily for new assets that come out and for sales and things of that nature. I enjoy trying different things out and making reviews. Unfortunately, that is a very expensive hobby though, lol.
All that being said, I will have to try UMotion out with it as you mentioned and see what happens. Hopefully it works out the way I am thinking (the way it did in the video), as it would be great to be able to adjust whole limbs, and every part of the character all individually right in the middle of making the cinematic. I just, not but 10 minutes ago, ran into an issue trying to make my character jump, but the animation made his leg go too low into the ground so I tried to use Final IK, but as soon as I added the IK Limb clip the leg became mangled and was just going every which way, so it ended up taking an extra 5-10 minutes just trying to rotate everything around to get back to a human looking shape, lol.
Thanks,
-MH
—– Edit : I forgot to ask, is Slate compatible with PostProcessing V2, or only V1? I went to turn the option on in the settings and it is looking for postprocessingbehavior, which I thought was PPv1, I could be mistaken though.
Hello again.
You are welcome. Haha, I also do love checking out a lot of software (both Unity and not) and I understand what you mean 🙂
FlowCanvas is very different than NodeCanvas and by no means is a lite version of NodeCanvas. FlowCanvas is more like Bolt, or should I say Bolt is more like FlowCanvas, but more targeted towards the visual scripting integration of existing code, rather than the creation of everything within visual scripting only.
In any case, NodeCanvas and FlowCanvas are quite different products although both are built upon the same “graph framework”.
More specifically, NodeCanvas is a collection of three graph systems those being Behaviour Trees, State Machines and Dialogue Trees, while FlowCanvas is a completely freeform visual scripting node-based system.
Regarding PostProcessing, indeed, right now only v1 is supported, but as soon as v2 becomes more “standard”, I will of course support it as well!
Let me know once you try out UMotion + Slate and how, or if that works out.
Thank you!
Join us on Discord: https://discord.gg/97q2Rjh
Thanks for the explanation, I definitely understand. (Sorry in advance, I didn’t realize how long this message became until after I finished writing it!)
I had a few more questions, if you don’t mind, in regard to some complex effects I was just trying to use. In the image below you will see the object I have highlighted, that object has two materials one is a distortion, the other is the color effects for the force field. Normally what happens is on the top level parent (ForceFieldBasic08) there is a control script in which you would a few different options in which you can adjust how the forcefield behaves but I believe because of the nature of how Slate works in editor and not actually “playing” it is not wanting to work right. I contacted the dev of this asset and he helped me out but unfortunately, it is only partially working. On the materials themselves, there is a property called _maskAppearProgress and if I adjust it manually with slate instead of the property on the parent control script it works in Slate. The problem though, if you see in the second pic when I use “Animate Material Float” on the Sphere01 object from the first pic and have it adjust when it only is adjusting one of the materials. It is a bit hard to see because it is mostly clear, but in the second pic that distortion field is always there and is not adjusting along with/at the same time as the colored field. I tried to slowly adjust it by hand in the pic so you could see that when the blue fades in and out the other later is still there until I scrub far enough back that it disables the gameobject.
So my question is when I add Sphere01 to the Slate editor and I add a Material Float editor, how can I select which of the materials I want to adjust so that I can adjust them both at the same time? Do I have to have a script or something that can make it so that both can be changed at the same time by a single adjustment? The only problem I see with that is, that is what the original control script was trying to do and it would not work. Well, it would work the very first time you load the whole project, once you activated that gameobject the first time it would go through but if you scrub back and it disables the gameobject, the next time you do it, it would just instantly appear and would never animate anymore until you closed it and reopened. That has to do with how it was made though and the fact it is in editor and not actually “playing” which is fine, as it still seems like it will work fine doing the adjustments I mentioned.
I had to make this a link because it was a gif and the forum didn’t want to display it.
My next question is in a similar vein, I was trying to also use some magic effects from the “Realistic Effects Pack 4” which similarly also uses a primary control script which gets things started but then most have multiple subcomponents, which may have their own scripts as well. The first pic below is the top level parent which has the main control script. In the code for that one once it is enabled it essentially ends up running “Effect.SetActive(true);” for the child effects that need to be activated. In this particular example, it activates Effect24_Optimized, which you can see in the hierarchy of the second pic. One of the child components of that is the Lazy Load script which, of course, acts as a time delay for the different parts of the whole effect to take place. So the first one it loads is the Start Explosion, which in the 3rd pics you can see has several of its own components which make up the “first phase” of the overall effect. The highlighted example in that pic (ParticlesLight) also has its own scripts for turbulence and what not. So as you can see, it ends up being a fairly complex system. It all works just fine the way it is set up in a normal “play” scenario, but that is not what we are dealing with here.
So my next question is, how would you recommend I go about trying to make things like this work? Ideally, I could be able to just kick off the primary control script and let it and each of its subcomponents do its thing but it does not seem like that is going to work well. What is the best way to go about setting these complex “chain reactions” so that I don’t end up having to put every single component into Slate as its own complete and new group? I would probably end up with 30+ groups just for that one magic cast if I were to use every aspect of it as it is now.
Thanks a million!
-MH
Just a quick update on UMotion. It looks like it almost wants to / could work, it just is missing the functionality to sync UMotion with Slate as seen below. It is able to take control of the character’s skeleton while still in an active scene and I can move the bones and such, but since it can’t sync it doesn’t “know where it is” as far as in the action sequence. If it were synched, I could just adjust the bones where I want them, hit save and bam, just continue on with my business. (At least that is what it looks like, hard to really know since I can’t really move forward.)
—- Edit. Maybe its not quite as close as I thought. I just double checked the error logs and saw this.
Hello again,
Regarding your question about complex chain reaction effects that rely on script function for example and to avoid adding all components that need to be controlled within the slate editor as groups, one way to go about this, (depends on how the effect is set up though), would be to create a “master script” in the root of the effect’s gameobject (or some other gameobject) with exposed public properties and/or functions.
These properties and function in the master script can then be animated with “Animate Properties” clip, or functions be called with the “Send Message” clips. These properties and functions would then control all the other scripts that need to be controlled for the effect to work.
Thus, in essence, this “master script” would act as a “central hub” for the effect, where you would only need to animate/control this “master script” in Slate, and in turn that master script would control all the other required sub-scripts (like for example the components found in the “lazy load” gameobject in your screenshot).
Since the effect in question as you said, already has a master control script, you could only add that gameobject in slate and then use the “Events/Send Message” action clip for calling the function responsible for starting off the effect. Have you tried that and did not work?
As far as previewing such complex systems in editor of course, is a whole different story, because most script based effects like this are meant to be only playing in runtime, thus out-of-the-box realtime editor preview for such effects that rely on the Update loop or even coroutines, would unfortunately be impossible.
Please let me know.
Thank you.
Join us on Discord: https://discord.gg/97q2Rjh