LogicBricks2

Plugins LogicBricks2

HAL9001

Well-known member
Messages
84
Reactions
362
Points
53
HAL9001 submitted a new resource:

LogicBricks2 - An extension to the already awesome LogicBricks collection by MacGruber

This is a collection of more LogicBricks that hopefully add useful features to the already awesome set by @MacGruber. Check out the included scene for a demo of all the additional bricks' functionalities:
View attachment 341002

ValueDelay​

Applies a delay and smoothing function to an input value, so that the output value only changes gradually with a configurable delay. Useful, e.g., for setting an erection...

Read more about this resource...
 
Hello, this looks to be an interesting plugin, but I have a question. I'm making a scene, but I want to use an option to make my person atom appear and disappear. Its sort of like a magic trick that I want to do on a person atom. Would this plugin allow me to do this? if not, what would I have to use to pull off such a feat?
 
Hello, this looks to be an interesting plugin, but I have a question. I'm making a scene, but I want to use an option to make my person atom appear and disappear. Its sort of like a magic trick that I want to do on a person atom. Would this plugin allow me to do this? if not, what would I have to use to pull off such a feat?
"(dis)appear" as in fade out/in? Or as in Person Atom enable/disable?
The first: Check out my "GoingGoingGone" plugin.
The second: Simply use AtomControl in an action
 
"(dis)appear" as in fade out/in? Or as in Person Atom enable/disable?
The first: Check out my "GoingGoingGone" plugin.
The second: Simply use AtomControl in an action

I meant like to use in timeline. For example, in timeline, I want to make a scene in which a person atom disappears and then reappears in front of another atom, but triggered on timeline.
 
I meant like to use in timeline. For example, in timeline, I want to make a scene in which a person atom disappears and then reappears in front of another atom, but triggered on timeline.
You don't need anything in my resource for that. Use a trigger track for turning the atom on/off (Person Atom/AtomControll/on true/false), and use the "control" on the person as a target to move the atom around. That's basically a Timeline question; Acidbubbles has a Discord channel for each of his plugins, so you could ask for further help there.
 
Incredible plugin! Adds much needed logic!

Curious if it is possible you could extend the functionality of the "OnLoadingActions" part, or perhaps make an additional plugin which can:

- Look at a CustomUnityAsset, specifically when it is being loaded into Memory/RAM as seen in the picture I attached

1709459136942.png


I would love the ability for something similar like OnLoadingActions but specifically for CustomUnityAssets

(Usecase example: I want VaMOverlay to fade the screen out whenever a CUA is loading in, and then fade back in the moment the CUA has finished loading. With your plugin I hope to automate this so that I don't have to bother with a whole bunch of timers specific for different CUA'S etc.).
 
Incredible plugin! Adds much needed logic!

Curious if it is possible you could extend the functionality of the "OnLoadingActions" part, or perhaps make an additional plugin which can:

- Look at a CustomUnityAsset, specifically when it is being loaded into Memory/RAM as seen in the picture I attached

View attachment 341265

I would love the ability for something similar like OnLoadingActions but specifically for CustomUnityAssets

(Usecase example: I want VaMOverlay to fade the screen out whenever a CUA is loading in, and then fade back in the moment the CUA has finished loading. With your plugin I hope to automate this so that I don't have to bother with a whole bunch of timers specific for different CUA'S etc.).
Should be possible as there's a hook in VaM to latch into. I'll see what I can do...
 
Hey, @darkesthours443. It seems to be a bit trickier than I thought as the SuperController does not directly provide this information. Question: How do you load a CUA dynamically? At the moment I would assume, you have a CUA already in the scene with the assetpackage file selected, but leave the choice on "None". When the time comes, do you use an action to choose an asset name? And if so, that's where you'd like an action back from the CUA that loading has finished?
If so, I think I might have an idea... Basically the OnLoadingActions plugin could change its behaviour when attached to a CUA... I need to work on that, but it would make it "logical".
 
Hey, @darkesthours443. It seems to be a bit trickier than I thought as the SuperController does not directly provide this information. Question: How do you load a CUA dynamically? At the moment I would assume, you have a CUA already in the scene with the assetpackage file selected, but leave the choice on "None". When the time comes, do you use an action to choose an asset name? And if so, that's where you'd like an action back from the CUA that loading has finished?
If so, I think I might have an idea... Basically the OnLoadingActions plugin could change its behaviour when attached to a CUA... I need to work on that, but it would make it "logical".
No completely different.

I use subscenes to load different environments in my project. (This, so that I can load and UNLOAD a multitude of environments at the same time, when required (clearing a subscene that has CUA'S in it, will free up RAM automatically, this is the prime reason why I use subscenes for cua environments), but I also found that using a subscene makes saving your progress during scene/story creation 1000% easier compared to saving your entire scene(which causes other issues if you have allot of trigger logic in your main scene), anyway..

- As far as I know, loading a subscene is internally the same process as loading a preset on an atom, so technically it's:
The subscene determines which atoms needs to be added and adds them -> Presets get loaded onto the atoms the subscene just added -> CUA atoms will undergo the "Loading please wait" part as shown in previous screenshot -> once this finishes it automatically selects the correct asset within the CUA due to it being saved in the "preset" that was applied in step 2.

So technically, internally, in other words, how I load the CUA into the scene is by applying a preset, I think.


I can / have created a multitude of workarounds for my subscene environments to still get the desired effect that I want (as described in my previous message), this is not the issue.

I was hoping your logicbricks might open up a new door for me to circumvent allot of the workarounds, but alas it appears that the plugin won't be able to read the required data as you mentioned.


- The main issue arises from a handfull of CUA assets that take ~30 seconds or more to load.
It's not a big deal when the subscene only takes 2-3 seconds to load a certain environment, I don't require the screen to fade out/in at those moments.
But whenever I load a CUA/subscene that takes a solid 30-45 seconds to be "unpacked/loaded into ram" then yes, I would like to add in a fade out/in effect (HOWEVER, as the loading times are not set in stone, combined with the fact that some assets/subscenes take more time then others, it would require me to manually set up allot of different timers (Logicbrick delays) OR use the oneventsceneload triggers, like tons of them, in every single environment/subscene to activate the fade in/out.)

Bassically, if you could expose that specific CUA loading part, I could bypass 99% of the trigger logic I require for a simple fade in/out effect.
The example I gave above, is only one usecase of many for this trigger/plugin.
 
Last edited:
Hi, @darkesthours443 , I think I have good news and found a way to monitor CUAs' loading process. A bit of a weird way (mostly because CUAs have the option to load "None", which makes the flag isAssetLoaded not always indicative of a loading process), but it seems to work. I just need to do some more testing before release. Didn't want to rush that at 2am... ;-)
For the user of this plugin (=you), nothing changes other than ticking a box "Monitor CUA Loaders".
And thanks to your feedback/info, I've actually started learning more about and using SubScenes in my projects as well, now, so I'll also "take my own medicine".
 
You don't need anything in my resource for that. Use a trigger track for turning the atom on/off (Person Atom/AtomControll/on true/false), and use the "control" on the person as a target to move the atom around. That's basically a Timeline question; Acidbubbles has a Discord channel for each of his plugins, so you could ask for further help there.

Well, I found out a very interesting way to do it. So I changed the scale of the atom to 0.030 and then used a trigger to trigger it to change to 1.0. At the 0.030 size, the atom isn't noticeable until you change it to the size of 1.0. It gives the affect that the atom has appeared or disappeared, and it pulls this is off very very well. Just a fyi if anyone is interested in a simple way to make your atom or anything else Appear or disappear.
 
Well, I found out a very interesting way to do it. So I changed the scale of the atom to 0.030 and then used a trigger to trigger it to change to 1.0. At the 0.030 size, the atom isn't noticeable until you change it to the size of 1.0. It gives the affect that the atom has appeared or disappeared, and it pulls this is off very very well. Just a fyi if anyone is interested in a simple way to make your atom or anything else Appear or disappear.
It's def. a method, however for person atoms themselves I'd always use the Person->AtomControl->on (uncheck it) method because turning the actual atom off will free up cpu and gpu utilization but also, this way collision will never be an issue with this atom.

1710011700184.png


If for some reason you do require the atom to always stay on, then i'd suggest adding the atom's scale slider within timeline to the segment where you require it to be hidden/scaled to size 0.030, it makes the atom scale a bit more versatile and you can avoid having to use triggers, this also works great to hide a CUA without needing to put in a trigger to hide it in every single animation (If you add the scale parameter, while the scale size of the atom is at 0.030, then it will add it as a scale of 0.030 on all animations by default, instead of 1.000).

1710012048193.png
 
It's def. a method, however for person atoms themselves I'd always use the Person->AtomControl->on (uncheck it) method because turning the actual atom off will free up cpu and gpu utilization but also, this way collision will never be an issue with this atom.

View attachment 343214

If for some reason you do require the atom to always stay on, then i'd suggest adding the atom's scale slider within timeline to the segment where you require it to be hidden/scaled to size 0.030, it makes the atom scale a bit more versatile and you can avoid having to use triggers, this also works great to hide a CUA without needing to put in a trigger to hide it in every single animation (If you add the scale parameter, while the scale size of the atom is at 0.030, then it will add it as a scale of 0.030 on all animations by default, instead of 1.000).

View attachment 343222


You are just awesome, this is in even better way to do it than I had even thought of. Your a genius, thank you for you great advice, I've already implemented this method to my scene, and its absolutely flawless. Thank you again!
 
Hey there HAL, I come to ask for your magnificent power!

Would it be possible to expose/link the functionality of this button
1714489577191.png


"Trigger Memory Optimization Now"

To an actual trigger function?

I apologize incase this is already existing in VaM, but I for the life of me cannot find it.
 
Hi HAL! I found your plugin because i nedded a way to display a float value form another plugin on an UISlider. It works great but... it seems to have a little problem: It stops working if I turn off and on the containing UISlider atom. Any solution?
 
Back
Top Bottom