#blueprint
402296 messages ยท Page 418 of 403
Wow. If I did any amount of BP work regularly I'd buy it
id buy it just for the shake lol
There's a ton of features
The shake on/insert nodes are my favorite
oh oh oh
and the scissors thing is really satisfying
For some reason it doesnt look like scissors in the gyazo
Ooh
TAKE MY MONEY
send money payments to gallonmate@ 123 street american town, usa
Can you just select a whole graph and make it automatically align every node?
Like in the let gif
Last*
@static charm im sending you my credit card you can use it to take the money but send it back
nvm, it didnt work like i thought
@fathom portal did it break?
The overlap thing?
Yeah
No sir thing, just showcasing how the node graph assistant plugin works for these fine people
It just became my first Marketplace purchase. It seems pretty awesome on video... https://www.youtube.com/watch?v=CaPnqe5mIh4
Oh yeah, why was I making gyazos, I forgot they had a video
In case anyone is watching the video, their nodes are spread apart in order to show off the "Scroll around while holding widgets or wires" feature
It's intentionally setup to showcase it
Hey friends, is this video out of date, from 2015:
What is a Blueprint Interface in Unreal Engine 4 Blueprints?
Source Files: https://github.com/MWadstein/wtf-hdi-files
When I try to right click in my event graph and do "Event [insert name of my interface's function]", nothing shows up, while in the video is makes an event with the fancy interface icon in the top right
I added a basic function inside the interface, and I'm trying to get my actor to respond to said interface calls
And I added the interface to the interface list in my blueprint's class settings:
I see who I think made the video in the list of users here ( @trail crane) , but I don't know them enough to know if they're cool with pings
uhh, apparently it autocompletes if you don't add numbers? Rip for the unexpected ping
I fixed it. Apparently, you're not allowed to have an output on an interface?
Oh, weird, what?
Oh.
You wanted to put it in the event graph
Nununu
You have to override it in the function list if it has a return
I tried to edit the interface panel it makes
uhh
Like click override, thjen select the interact attempt?
I was just trying to pass back "sucess/fail" type thing
I'm going to get some sleep and try again in the morning, thank you @sand shore, you get an A+ for today
Okay so this is an interesting behavior. I have a data asset with a struct variable. When I play the game in editor, the struct variable works fine. When I run the project as a standalone game, however, the struct variable reverts to the default for the struct type.
HELP! Can anyone help me figure out how to reset a selected character once it's unselected? As I select a character and choose another, the previous player I selected stays disabled. How can I "refresh" the array of selected characters when I click a different character?
@cobalt slate you can probably fix it by using an enum/switch system instead
or a select node
still with enum
in both cases the enum will ensure only one selection is valid at a time
might even be worth to do a map<enum, character> or make a characterData struct
@fathom portal you know you can use the snipping tool and paste directly into discord instead of using gyazo right?
is it possible to access the "select asset" list from ingame?
closest i can find is this:
but it seems like it's been removed ?
might only be available at editor time
if you want to do something like it's probably through cpp and a lot of work if you want new nodes
otherwise you could try and make your own blueprint widget setup
where you populate a widget with a list of elements and then map those to be loaded and spawned in world
what is your case though?
the second option seems perfect for what i need...
never played with editor widgets before
I'm assuming it's all pretty much the same ?
are you doing this runtime or editor time?
consider you won't have editor time in a packaged product
so unless it's an editor only feature then you only have runtime
hello is there any plugin that handls UI screentouch
yeah, it's just for editor use
do you know what parent to assign to an editor blueprint @odd ember ?
@fallen glade you have to do it when creating the blueprint
you can't do it retroactively
mmm, I still don't know how to create one ... it asks me to pick a parent class?
you have to look for editor blueprint
or utility blueprint
it's not in the same category as normal blueprints
Hi guys.
I have a package called Ballistics VFX and it seems cool to start a new project, but I can't add some scripts for example: Reloading
Could you give me a hand?
Hi, I have a function in blueprint and one of its parameter is passed by reference, within the function, when I promote this parameter and store it as local variable for the function, the parameter don't reflect the values of the local variable when I call that function... there is something to pass a variable by reference within blueprint function?
I use 4.22
@tall plume set var by ref
@odd ember like this? or there is something that I missed
@tall plume it's a node
@odd ember thanks, I should place the node at end of function I guess, just before the return node?
yup, it is simply, I just want the function to modify the value of that variable after calling the function.... I'm using this variable in different part of my blueprint and I want it to update each time I call this function
do you set the local variable at any time?
keep in mind that using local variable goes counter to using refs
and if it's a basic type you're better off using Set
object variables are refs by default
@odd ember re: snipping tool: yes, but I use gyazo for easy peasy gifs. I have gyazo pro tooo
doesn't beat copy pasting straight into discord
Help, how to reverse the animation, please turn off your audio before playing this video
I have different different global variables and I pass them as parameter to that function, within that function the parameter as cached as local variable for that function only.... so whenever my blueprint calls that function at runtime I want the value of that local variable get reflected back by to these parameters that is why I pass them as reference to that function but it don't works... I just figured that not creating a local variable and directly drag the pin from input works , in that case the value are reflected back to global variable passed as reference
thanks
once you set the local variable the reference is gone
ah okay, I see now
Hi can anyone tell me a good way to create a delay in The GameMode (the delay node isn't available in GM?)? I need to delay possessing the player characters since possessing right after spawn causes player pawns to break in multiplayer.
Right now I cast to PC where I use a delay node and than go back to the game mode to possess but that seems wat too hacky.
There's a function called Set Timer by Event which i think you can use? @tribal wave
great thanks, will give it a try in a bit
@tribal wave pretty sure the delay node works in GM? just not inside functions
aaah, I was wondering thanks for pointing out my stupid mistake @odd ember
yeah i just checked as well to make sure loool
you can use a delay before your function ofc
and they work in macros and nodes
hey i forgot i was on this discord and was wanting help with a small prototype
so ive been working on a top down shooter where you can aim and get head shots like in Synthetik but a little more in-depth. like maybe you could get arm shots or leg shots too. i took a third person template and moved it above and locked the camera
but getting to shooting has been difficult i knew that i would need to do more than just a single line trace so i asked around and someone said i needed one from the camera, and another from the player. So. i got the player line trace working but as i thought it doesnt aim where click and i dont know where my node line trace under mouse cursor fits into my Blueprints
i have some pictures but im probably so far off course thats its hard to look at
thats when i first got it together
this is my "im desperate and just attaching stuff hoping it works"
what you trying to use the line trace under cursor for?
i was told by mutiple people that i need both line traces so i can pin point where the player is clicking
becuase if i dont use the line trace under cursor the game doesnt know where the player is clicking
Depends if you really need to know where they are clicking if your rotating your character to face the mouse point anyway
atm the first line trace is fine, you shooting in the direction the character is facing
look at your actor blueprint and make sure its pointing along the x axis i believe
could have some funky rotation going on in the character
or atleast the visual part of it
like make sure that the actor location and actor forward vector is correct
it could be wrong but i dont think so
damn dude your right i fucked on the thing
but still
right now i want it to be in the direction of the cursor
doesnt matter if he is facing that way
and i want the ability for the game to see if itsa head shot
ok then you'll need to trace from the characters location to the cursor location
right now what your doing is tracing from character towards his forward direction by 5000units
Get player controller>convertmouselocationtoworldspace
then you can set the Z manually
so do the trace from actor location to that
@royal rain that should point you in the right direction, i'll be on again in about 40mins, if you still need help gotta pop out
I'm trying to use a Get Game Mode node from an Object derived blueprint... but its not showing up. Is there a way to get the game mode from an Object blueprint? It seems to work with other Blueprints.
Sorry I'm in school now so i might not be able to respond and have a conversation
But thank you for that info. If I need more later in the day I will update you
Becuase I forgot to tell you something but I had to leave
@clever cedar any reason you need it to be an object one? there completey stripped out and have access to pretty much nothing
Yeah I'll probably make it an Actor, even though it doesn't really need to be placed in the level. Why is everything stripped out of Object in Blueprint though? You could do a lot of that stuff in c++ with UObject
@clever cedar not sure honestly maybe just how they handle blueprints compared, I'm rubbish at actual coding so do as little as poss in c++ ๐
@clever cedar uobjects don't have a world by default, so they can't access other world-based stuff. need to hop into C++ to change that
Quick question. Will a hidden level stream still run logic? My assumption is that it will just be invisible but still functional in its level BP.
can anyone tell me how to get the pawn the Player Controller is controlling? Can't find it withing my PC blueprint, thought there was getControlledPawn or something but that isn't it?
get player pawn node
thanks for the quick reply!
@tulip iris I don't think that it will. You can put a print string in the logic that you would expect to fire while hidden and see if it actually does or not.
I checked and it does not continue to tick if hidden
It wasn't hard to test I just wanted to see if someone knew off the top of their head. Thank you though ๐ .
Sure thing ๐
Hey friends, I'm finally moving away from random generation, but for some reason I'm getting this error when trying to save my level:
I have a paper tile map with one, basic layer that looks like this for now:
@spark bridge helped fix my problem, with the classic "closing project, deleting intermediate/saved, generating visual studio files, and reopening"
Do you guys know if theres a way of making this simulation a little bit more subtle lol? Would be dope if it didnt look like he got blown up by a landmine https://youtu.be/8xG0_nx4rUg?t=350
In this video we take a look at how we can set up ragdoll physics for our zombie enemy character so when it dies from a bullet induced death it will drop to the ground using realistic physics actions.
โบ Resources: https://www.virtushub.com/game-dev
Unreal Engine 4 Beginner T...
This is the node he is using
Also:
Maybe just using an entirely different tool, @spark robin? There's a number of ragdoll options out there:
I dont have a budget for paid stuff โค๏ธ
So Unreals built in physics are always this intense?
Cant I like affect how it acts somehow?
I mean I'm no expert in ragdoll, but it would appear if you removed the impulse added by the projectile it shouldn't freak out like that
Like the projectile might have something like this:
It would also appear the physics asset is a complete mess
Which you can reduce or remove altogether
I mean you can't expect that to act normally
The thing is, if he is running when he gets hit, the flies in the direction he is running towards, so Im not sure it matters
And no, theres no add impulse node
Yeah, but you need to manually adjust the physics properties
I mean that one isn't even symetrical
But even if it was, I dont think that would fix it flying like it does
Right now I'm willing to bet all those physics bodies collide with each other
It if doesn't simulate properly in the PHAT tool it won't in the world either.
it takes a long time to adjust them to be stable
You can disable collision between bodies
But physics tuning takes forever
Where would I turn that off then?
We use boxes instead of capsules too, because capsules just roll around indefinitely
It's a setting per-physics-body
Is each individual capsule a body then? (lol sorry, Idk the terms)
can't get my editor to open RN because of code, but some of the template projects probably have a semi-decent setup you can look at
Idk, I will just leave this for now. Im not planning on using this character for anything anyway
(My first attempt on fixing it didnt quite go very well so, lol)
Otherwise if there are any nodes that can manipulate how the physics acts
is that possible to create a BP function in C++ that changes the output type of the array depending on a type passed?
Like make them more subtle and maybe increase the gravity
say, I have a function that collects certain types of objects into an array
@verbal bolt are you talking about generics?
I got pretty decent results with these settings ๐
(He just falls to the ground now, no more flying around)
@ocean radish I just read what you told me and it sounds great and hopefully is what I need. But I was wondering if this would understand depth as well as horizontal plains. What I mean is if I want to shoot above me or below. Or if I want to shoot someone leg instead of their body.
I'm also not at a computer
I will be but it doesnt have unreal
@royal rain why don't you just change the camera to isometric for shooting?
@royal rain That wouldnt by itself no, you could either it really depends on what you want to acomplish, if its top down how are you intending to aim at a lower elevation?
newer is fine
Yeah I've played those
And I dont know but I know when I was searching the topic other people had the problem and probably found something out
@royal rain something iso or 3d would be better if your looking to add player skill aiming, in rather than say random or character skill checks
Wait I mean I am in 3D I took the thrid person template and just moved and locked the camera
Maybe I should have said that
So I have wasd
but you put it into a top down view?
isometric presents more challenges than top down, but it's not insurmountable
Yes I put the camera above the player
after 2 years working with unreal engine at home i finally figured out how to use blueprint interfaces!!! yay me
So my question is how did you intend for the player to aim for headshots or legshots, was you going for a random chance, eg hit them and then had a 20% chance to hit the head, or somthing along those lines?
a very strange thing to learn in isolation
@royal rain not even the slightest, I am a 3d artist by trade ๐
@soft lark Grats welcome to massive world of protentional that is interfaces ๐
thanks
so how do you use them @soft lark
before i would always cast like an idiot ๐
in my example I made a character spawner that set an actor variable at the start inside my player controller
So it is in real time. Of course the game would take into affect how the gun shoots. Like if it's an AK47 then it might not be as accurate. And I know it's possible to at least get headshots becuase other games figures it out. Even if it's not unreal and it looks isometric.
if it's real time stick with one camera
I wanted to figure out if maybe I could figure out head shots and body shots. Then leg and arm shots could work too
I am
It only has one camera
ok i think i see what you mean, you want random variance to the shots that could possibly hit other parts of the body, rather than aiming directly at them
That too
But in the camera angle you could technically see the arms and legs
Mahbe
Maybe
If the mouse cursor always looks at the lowest point it is pointed at
If it is pointed at someone's leg
It will aim there
And if its pointed at a head it will aim there
and everyone is wearing clown shoes with biking thighs..
ok so just setup hitboxes on the enemies on the different parts
That's what I was thinking too
Like if the mouse is over a hitbox. Then it will aim there idk
you'd need that regardless
I wanted the ability to shoot different body parts but not yet the ability to cripple them becuase that's way too far off
I know
But how I get to that point of targeting those parts
then if you do a trace from cursor down, and get the hitbox, and add make that the z value, i do think it will add a weird aiming system in a top down
It's not so much that the player will always shoot the limbs
But that they can
They might go for the head most of the time
But it's not always guaranteed that if they aim towards their feet that the shoot their feet
Becuase recoil and handeling
I think that's besides the point
Ye maybe
Ok so the thing you told me before wouldn't work here or what. I understood the thing you said before
For the most part
But I didn't explain everything there.
you could make that work, you would need to get the Z value from another trace, but i think that would really add randomness to a TD
so hit under cursor and get the hitbox hits z value and set that to the traces x and y
Now I might come back to ask more questions now that I am on a better track but I wont have to ability to use unreal for a while. I hope I can pull a big brain and actually understand these things
I'd stop trying to cram stuff into a camera that doesn't support what you want to do
if it's hard to implement something like this, it will also be hard for players to read it when they're playing
For the most part I would need to be in unreal to understand what you are referencing @ocean radish
@odd ember I would agree here, if you want to add variance to the hits let the recoil effect do that for you
I mean I'd rather find out that for myself and put it in a portfolio and explain what went wrong and why it didn't work
And I'm not having the camera do the recoil
If that's what you tought
Thought
And this is under the assumption i go by what someone said that I needed two line traces
I'll be honest if I saw that in a portfolio I'd be thinking, "yeah that's obvious"
but sure try your luck if you want
One from the camera and one from the player
there's no need to reinvent the wheel though
Am I allowed to make my mistakes while learning to make games @odd ember you are being pretty harsh here for trying to be creative
you do need 2 traces but not from camera, if you're looking to aim under the cursor it needs to be the cursor because the camera will just be pointing down, and assuming your player is in center will just hit there
Ok
@royal rain dont take it as a negative, hes not meaning to be demoralising or attacking you, just trying to help not go down a route that probably wont work, but if you really do want to do it, I will help you understand what you need to do, and ofc you can do anything you want to do, when you get into unreal next message me if im on
I mean I would like to know a better way of doing it I always would. It just doesn't seem constructive when you dont give a different way of doing it. Maybe I missed a message but he didn't seem that patient of a person to help on what could be different.
Maybe you weren't clear enough or idk I missed it
And you didn't want to expand upon it. Idk do we really have to get like this?
I gave you some pointers on what to look for, like what do you expect?
no offense but you're acting pretty entitled
we're all volunteers here
I am not you seem to be toxic towards people looking for help.
And I know that
I dont expect anyone to help me
I mean you are the one attacking and blaming me currently
Cranz is a super helpful guy here. I am too lazy ot read back but I highly doubt he criticized without offering suggestions
I do expect that toxic helpers dont jump all over people
I just said if I saw it as a portfolio piece I it wouldn't be a positive
read into that what you want
but honestly this attitude isn't really what I'd expect of a designer looking to join the industry
At this attitude isn't from someone I expect who is in the industry theres a reason why people joke that message boards are toxic. Becuase of this crap
alright man, good luck with your project
Thank you
is there anyway to remove this notification when taking screenshot at runtime?
@hollow flame that notification doesn't play in a shipping build
But to my knowledge there is no way to remove it in the editor when you PIE
hey i got a question about collision if anyone can help
@trim matrix just ask
so Im using the overlap event to add map collision to a projectile, do i need to enable overlap on every single part of the map or is there a easier way? @odd ember
every single object*
you only need to enable overlaps on things you want to trigger from the projectile
the project settings, it's in the edit menu I think
okay
once there it's all under "collision"
hello, how can I unset a bool variable?
It's either true or false, right? I don't think there's a third state.
Set [name of boolean variable] with the box unchecked?
@static fjord set it to false
add it to a boolean array but then delete the index 
in blackbord need to have the variable back to unset
for a bool that's false
is set is the same as true
IS SET ou IS NOT SET
yes but in the case of a bool it's what I wrote
the blackboard has the same interface across all variables
for object based variables set/unset is different
for bool it is not
the same goes for all other primitive types
like how are you going to unset a float?
or int?
in php have the unset() destroys the specified variables.
right but this isn't php
like if UE4's behavior trees and php had a venn diagram, those circles would be astronomical distances from each other
but let's be clear, you can't destroy blackboard variables
most likely unset will set them to their null value, i.e. false for bool, 0.0 for float, 0 for int etc.
Hey guys!
So, I'm having a slight issue
Random Float in Range seems to be outputting the same result every time the program is run :^) which isnt great, lmao
(zoom in (tell me if discord compression makes this imposible to read)) im trying to make it so that if you get close to another player there hover ui gets shown but its not replicated to other clients and it only shows the server's hover ui anyone knows what went wrong?
(the server's cast always fails and i dont think making a wdiget visable is replicated)
edit: replication works now but the cast only works for the opisate chactor
is it possible to make variables independent in an actor?
What do you mean @trim matrix
Do you mean like
having the variables be pulled by any actor?
yes
Yea
You can save the variables in the game mode
Then cast to the game mode, where you can then pull the variables
how do usually do with global variables?
because I have two actors, of the same type in the map, and the control for the variables programmed inside the actor works only in the last actor inserted
what would be a cause for a crash on server travel?
I think you're gonna have to provide more information
is it possible to try/catch in blueprint or to see if a varible still exists
you mean I have to pass more information to the actor by creating more variables?
No, as in I don't know what problem you're facing, lol
ah sorry xD
You have two of the same blueprints placed in a scene, that contain variables
What kind of variables?
What are they used for?
Only the most recently spawned blueprint of the two has functioning variables?
How arent they functioning?
I have a wardrobe (my actor) that should open if the player character is inside the triggerbox of the wardrobe and presses the interaction button (spacebar).
so I created a variable inside the actor (a bool variable) to check if the player character is inside the triggerbox, so,
if the player character is inside the triggerbox and has pressed the interaction button, the wardrobe opens, moving a component.
and this works.
the problem is that if I insert the same actor 2 times in the map, the previous wardrobe will no longer work but only the new one will work.
@sand shore Ty for link yesterday on communication, watched entire thing, learned some stuff, now have to think how to implement for my scenario
Excellent. No worries!
Hey guys! I know there's a way to select actors and turn them into one static mesh in the editor, but how I make this using hypothetically meshes in BP?
Anyone have a list of blueprint exercises I can follow? Like challenges/quizzes that get you thinking.
Sorry if this is the wrong channel but can anyone help me create an active ragdoll similar to this and it doesn't have to be exact. The only thing I really want to try and get working is like when you have a foot not on the building you fall or just when you fall from a high place you ragdoll or when you get shot
here is a video of some of what I mean
(Watch in HD)
This is the physics engine (sorry, not graphics or ragdoll as previously stated) Rockstar games used in their newest Grand Theft Auto game, out this coming Tuesday, April 29.
Company web site:
http://www.naturalmotion.com/euphoria.htm
This engine allo...
I am using the following workflow to communicate within a top down template between controllers; please let me know if there is a more effective or efficient way of doing it:
the first case is set through a singular false boolean
the second is when the boolean is true
and you can toggle between the control schemes
is there a way to find out if the player is in PIE or not?
https://forums.unrealengine.com/filedata/fetch?photoid=1674193 Not sure if this discriminates between actual PIE and running a standalone process
Hey all, just quickly hacking something together and wondering if it's possible to change camera settings in BP of the default pawn that spawns in a blank level with a PlayerStart?
Just wanna change the FOV at begin play
i do have a custom game mode with a custom bp controller if that helps
@unborn turret Can create your own cpp function in your project BP Library
UFUNCTION(BlueprintCallable, BlueprintPure, meta = (WorldContext = "WorldContextObject"))
static bool IsPIE(UObject* WorldContextObject)
{
if (WorldContextObject && WorldContextObject->GetWorld())
{
return WorldContextObject->GetWorld()->WorldType == EWorldType::Type::PIE;
}
return false;
}```
Right now i'm just casting to default pawn but i can't seem to grab anything camera related from it
i have a widget inside of a pawn how can i get a refrance to that pawn from the widget code?
I would have the pawn change a variable on the widget that is a reference to that pawn on begin play
i cant refrence the widget's varibles
get player character -> cast to class of your pawn -> get widget component -> get variable
or if you want do it from your widget (as i read it now ;P)
get player only returns the current player's client
i need to get the client that controlls the widget
its still should work
or maybe you can try to get owner of that component
like that
i think i already tryed that but i will see
i have a physic constraint on a static mesh actor. When hover into a sphere i want this mesh to snap to the sphere
but it snaps but wont stay there in a locked position
@thorny cedar probably have to disable physics on snap
Have you tried get player controller then get hud to bypass getting it from the variable? or are you trying to reshow the widget?
Nvm sorry just read up the chat
Make a base class for players with a function to show the hud, create a child class if you want different abilities or other things and then check with pawn sensing for another of the base player and cast to the base player to access the show hud function from the pawn it saw?
If i rushed the explanation please tell me I'm terrible for doing that
How would I/can I get references to the overlapping classes filtered by this node?
I basically want to either get variables or call functions from the SimpleAI classes within the sphere collision
(Please ping on reply โค๏ธ )
@spark robin Have you tried a for each loop on the array and then casting to the Ai you are looking for variables of
@spark robin if you have to use that node, pull out the array and do a foreach and use a blueprint interface to call events on them
if i have a umg widget component in world space (as opposed to screen space) attached to an actor, it casts a shadow. i dont want it to do this but there wasnt an obvious way to turn that off. how do i, please?
Ugh, could you give an example? Im not sure I get what either of you mean
The reason to that Im using the get overlapping actors node is because its a grenade, so all Simple AI characters within the sphere collision must be destroyed right as the grenade goes off, and not as soon as a simple AI enters the sphere collision
I cant open unreal right now but drag off the overlapping actor and search for each loop, then drag out from loop body and get destroy actor and drag from array element to the target actor of the destroy actor
Yeah well I want to be able to call a function from within the Simple AI or access variables from it, not just destroy it
have you used an interface before?
Nope, probably not
This is the function I would like to call
(Which is within SimpleAI, tho I dont mind if I have to recreate it within the grenade blueprint)
are you trying to implelement falloff damage?
Yeah
Thanks, what does it actually do tho? I have my SimpleAI's health as a variable atm, can I make it affect just that?
https://www.youtube.com/watch?v=asZZ6awygtc thats gonna make it easier to understand, it will take you through what it is and how to do it in 10mins
What are the Apply and Receive Radial Damage Nodes in Unreal Engine 4
Source Files: https://github.com/MWadstein/wtf-hdi-files
but yes its what you can use for your case
I will have a look on it in a bit โค๏ธ
Im trying to generate a level out of tiles, I tried to make an attach point and generate the next tile at the attach point and everything looks right but when the ball rolls over it it bounces up like theres a small lip at the edge its bouncing off, anyone have any ideas?
The attach point has only been moved along one axis so it should be exactly inline (It looks like its inline but its apparently not)
@south dome this happens because your tiles have a small gap and a sharp edge in their collision profile
You can solve it in few ways. One is to try to increase the contact offset for the ball.
The other is to create smarter collision volumes for your tiles
Ive tried moving the attach point that didnt work, smaller collisions might thought
you may want to move this discussion to #legacy-physics
I can show you how to shape your collision volumes
Ah yeah that makes sense i wasnt sure which channel it should be in
I didnt make the collisions for the floor its using the template floor at the moment so its the collision in their mesh
Ill give changing the collisions on the mesh quick and see if it helps, im not sure if i tested if the same happens on the bumpers to be fair so it might just be the floor
Should look something like this. Orange is the visual tile, black is the (custom) collision volume.
So it shouldnt be the same shape?
Not necessary and actually in this case you don't want them to be the same shape.
Collision volume is for physics and the visual tile is for rendering.
So purposely overlap them to try and create a smoother transition?
Correct
Okay makes sense thank you, heres how it was setup
The triangulation triangular tessellation of the top collision face may also play a role. Not sure how accurate that is.
Yeah im gonna change it to a simple box quickly and see if that helps if not ill try the shape you showed above
Here is how the two collision volumes overlap when the visual tiles are placed side by side
oof
Okay, the simple box helped it slightly, is there any way to make that shape in unreal?
a frustum shape?
Yeah as collision
not as simple collision
I assumed convex would allow it but it doesn't give many options
currently the collision system is very limited
Yeah im seeing that okay ill have to do it in 3ds thats cool thank you
once chaos is out I'm hoping for more options personally
it's very limiting, especially for concave collision
I'd also like to see a greater selection of simple collision, but perhaps the formulas are more complex so it might not be worth it
@odd ember what would you do with concave collisions?
I dunno if they count a sphere as simple collision it cant be that hard, they have a lot more points
@atomic salmon fuse meshes so they can have a single lightmap
@south dome For collisions it is not the shape itself that matters, but how easy it is to calculate whether there is a collision or not for that shapes. Sphere are very easy if you think about it. Collision is when the distance between their centers is == to the sum of their radii. Very easy to calculate.
Yeah true i was trying to think how would you for more complex shapes but yeah
@odd ember concave collisions made of overlapping convex ones are not that expensive. That is more likely to be the way.
Anyway I think it is going to be a while before we get a fully featured Chaos able to replace PhysX.
So i'm making a game like hearthstone, on the upkeep phase some cards trigger certain effects. When the upkeep phase starts, how do i sent out a notification that every card can pick up on? Is this possible or do i have to loop through every actor on the board and check if it has an upkeep effect?
basically every phase i want to send out an event that says "hey this phase is starting" and any card that does something on that phase triggers
Could you check in the card if a condition is met in the main game blueprint instead?
sure but how does the card know WHEN to check?
yeah it would only work with event tick which isnt ideal but it would work
i feel like there's a better way than event tick for 30+ cards lol
but i haven't been able to figure it out
are you currently tracking all your actors in an array?
tick would be my last resort
Yeah just checking you knew it was an option sorry
@ocean radish i mean there's the built-in array GetAllActorsOfClass
@atomic salmon it's not an ideal solution if you need to have a single mesh due to lightmap constraints
yea but that goes through all actors in the scene
ue doesn't do great with modularity unfortunately
If you keep an array of the card actors you could use tags on actors to check if it triggers certain effects
If it has the tag upkeep run affect
still looping through all actors but doesnt use event tick
yeah i mean i was thinking of when a new phase starts, run a function that scans all cards in play
Again it comes down to a blueprint interface, track all Card actors in an array, or use get all actors of class, then trigger and event on them using a blueprint interface
and if they have an OnUpkeep function trigger it
@odd ember I think you are mixing up collision volumes (physics) with visual aspect (lightmap), but I see what you mean
the array can only be as big as the number of cards the board takes so it shouldnt get out of hand or take much time to run
@odd ember they are two different aspects
yeah but they're usually part of the same asset
unless you're custom building your collision
which again isn't an option in ue4
so idk why you're putting such emphasis on the distinction here
Yeah i just didn't know if there was like some sort of listen function that i could trigger
@odd ember You can custom build collisions in the mesh editor within UE4. You don't have all the flexibility you have in a DCC tool but it is possible.
not with great results
it's very buggy
hence why for now there is a strong coupling between asset and collision
Not that ive found someone else might know of something
and because there is already a strong coupling between asset and lightmaps, it's hard to separate them
again, in ue4
@cedar sparrow Yeah thats exactly what blueprint interfaces do, all you to call events on any objects and if they have a corresponding event on them it will trigger
at work I use an in house engine that doesn't have this issue for instance
so it's one of the areas of unreal I wish would improve
and maybe it will with chaos
@odd ember I don't see any strong coupling to the point that you can easily import your own custom collision meshes regardless of the visual aspect of the mesh, but ok.
complex concave collision will be buggy
sounds to me like you haven't tried it
that is all
@odd ember sure
happy to continue the discussion on the #legacy-physics channel
but careful before stating what one has or hasn't tried
I said it sounds like
there is a difference between what is possible and what the realities of the engine are
Using that collision shape made it worse, im really not sure what it is
@south dome let's move to #legacy-physics
Cool
the problem may be with your sphere are well
Hello!
How do I go about saving variables like an integer inside a spawned actor? I'm using unreals generic SaveGame.
It saves some actors integer but some not
@ocean radish do you have any good resources on blueprint interfaces?
@cedar sparrow https://www.youtube.com/watch?v=G_hLUkm7v44
What is a Blueprint Interface in Unreal Engine 4 Blueprints?
Source Files: https://github.com/MWadstein/wtf-hdi-files
@cedar sparrow the official UE4 training on BP communications was the best resource imho.
There are way too many ways to use BPI and each time a video like Mathew's try to talk about it, they really narrow the scope of BPI and what you can do with them.
https://www.youtube.com/watch?v=EM_HYqQdToE&t=3123s
Announce Post: https://forums.unrealengine.com/showthread.php?101051
This Training Stream takes a look at Blueprint Communication. We find that Unreal Developers of all levels can sometimes struggle through the concepts behind moving data between objects. So in this video we'...
@cedar sparrow based on what your original query was, I'd suggest event dispatchers
In fact, most BPI tutorials out there plain suck...
well most people using interfaces don't know how to use them
there are many better ways currently of doing what an interface does
I haven't read back that far.
he wanted something that was notified of a state change
e.g. game switches to "upkeep phase"
notify cards that trigger on upkeep phase
which is pretty much exactly what an event dispatcher does
I would set this up within a single hierarchy under a BaseCard class
that handles all dispatch information
ah yes, I haven't had experience with that but I was reading up on it
I wanted to make a turn based combat and indeed event dispatchers with BPI to pawns was what I concluded was the easiest way to handle turn phases
the fringe cases for interface use is where you have multiple, separate hierarchies that need to convey similar implementations, but in their own way
e.g. an interaction prompt across interactive objects and characters
^ yup
actually, I got a question.
Other than finding all actors of class withing your scene, get 0th and then casting to it; is there a better way? It just looks very awful in execution.
I know which one it is and it is the only one controlled by my custom AIController; however I cannot even call the custom AIController unless I call the pawn it controls... so it's a circular logic
So Im spawning an actor with the "Spawn actor from class" node and got a Event Beginplay on that actor blueprint that Im spawning, however it wont trigger ๐ค
Anyone got any idea what could be wrong?
The BeginPlay never triggers, to be more precise
If I just drag in the actor into the 3D viewport from the file manager however to make it spawn when the game starts, beginplay does trigger when the game starts
click on the being play and press f9 to toggle a breakpoint to be certain it isn't triggering
because the actor is spawning after the game has started?
I've already tried removing the actor I tried placing into the scene to spawn in the beginning, it wont make a difference for the beginplay node to trigger when the spawn node spawns it
Personally I would avoid doing stuff like that and instead make a function that you call on the actor after spawning it
And ugh is there another way of "toggling a breakpoint" than hitting F9?
I have F9 assigned to a media key
(In Windows registry, lol)
@zealous moth yeah generally if you have proper communication in your blueprints you never need to use get all actors of class
I mean, I guess I could do that @shut fiber . I will come back again if I dont get it working that way (or run into some other issue)
Thanks ๐
You can edit any shortcut for UE4 in editor preferences
@odd ember what would be a more proper communication in this case? How can I call that controller and its 1 pawn?
I couldn't really understand your case from what you wrote, perhaps you can explain it more thoroughly?
Actually @shut fiber I have a delay in the code that needs to execute in the class Im spawning, ugh, any ideas?
Yep, otherwise the grenade will explode right as it gets thrown lol
And I mean, sure, but how?
also @zealous moth there are built in functions for referencing pawns, use those. It's hard to suggest what to do without any context of when this event is happening and where
@spark robin https://blueprintue.com/
BlueprintUE.com is a tool for sharing, rendering and rating blueprints for Unreal Engine 4. UE4 is a game engine which use visual scripting called blueprint.
it is pastebin but you copy and paste your blueprint nodes ๐
Also a delay does kinda make sense here so use custom events - they can be called just like functions can
Oh this is cool
Its WIP after Spawn Sound At Location, so ignore that part
But yes, I need the delay unless I recreate this inside of the blueprint that is spawning this class
@odd ember I upgraded the topdown template with an AI pawn to get better click to move logic. The original has simple move to which does not have any parameters. The better alternative is Move To which requires an AI Controller. So I separated the camera from the pawn and basically the setup is that the player inputs are sent to the camera and if any click events occur from the player, I send that to the AI controlled pawn. It works. However the solution is not elegant.
When I try to talk to the pawn, it is very difficult to specify it through casting. The only alternative that worked was to find it manually.
Here's my "move to":
@shut fiber I know there are. I don't know how to use them for non-player controlled pawns without finding them manually.
are you only ever controlling one pawn?
I mean for now its just 1 player controlled pawn and blueprint in the game if that is what you mean
Why?
Then just expose "My Pawn" as a public variable and set it manually
Or do you mean the grenade? Because people will be able to carry multiple of those
I figured it out, case closed
@zealous moth so you can setup your controller to know your pawn and vice versa in the game mode
erm...
your inputs should be delegates/event dispatchers that you bind your controllers to react on
you're also not using interfaces the way they're supposed to be used
right now all it does is act like a tag
which you might as well use tags for
I am using the interfaces for a double whammy. Why use tags and interface when you can just use the interface ๐
it is used for interaction purposes depending; not shown here
k
@odd ember "your inputs should be delegates/event dispatchers that you bind your controllers to react on"
I think I see what you mean. I will look into that
usually this can be done automatically because the engine is good at ensuring inputs are bound
so it might be the case of using the mouse click input in your AI controller
but the AI controller cannot get inputs from the user
and the whole game mode thing, I fail to understand what you mean. Where can I specify what my AI controller is and what its pawn is? All I see are options for the player controller
Is there a way I could detect collision with a HierarchicalInstancedStaticMesh and detect what instance I'm colliding with?
@odd ember event dispatcher is literally exactly what i needed! thats working perfectly
@zealous moth can I see your AI controller setup?
like where is it located?
and how does it reference the player character?
the controller is pretty much empty, but I am planning on moving stuff from the character to the controller
here's the character:
by default, if it exists, it is controlled by the AIC unless the PlayerController says otherwise
and since I just need the AIC for MoveToLocation and MoveToActor commands, I did not populate it with anything
I mean where do you set up your controller to know the pawn
your AI controller that is
based on how I set it up, the pawn existing in the world spawns the ai controller
I don't know of any other workflow for this
that's fine since the AI controller is not our main controller
what you should do though is probably let the player controller spawn the AI controller though
in game mode
there is a function called SpawnDefaultPawnFor in the override menu
you need to use that function
the function is called automatically
when the game session is created
the idea is that you get a window into that process
you need to manually spawn your pawn, but this also gives you a space to let controller(s) and pawn get to know each other without creating weird bindings
so
on the character you need a reference to your player controller
on your player controller you need a reference to your pawn and your AI controller
and your AI controller just needs to know your pawn
you can use the Spawn Actor from Class node to spawn your character, and if you tick the box called Expose Variable on Spawn you can hook the AI controller and player controller into the pawn
likewise you can spawn an AI controller that knows your pawn as well this way
for the player controller, you can use Set AIController/Character to ensure they have the knowledge too
How come its not doing any damage?
@twilit lily hey mam, how did you solve this?
i have a similar problem
solve what?
I'm having a issue where the Any Damage node isn't getting called
not sure I'd need too see your bp
the is indeed happening
(also, sorry if i misspell something, English isn`t my native language)
how so?
I didnt call a hit actor
you used the other actor instead?
sure, thank you
What are the Apply and Receive Damage Nodes in Unreal Engine 4
Source Files: https://github.com/MWadstein/wtf-hdi-files
oh, i have seen this one
This is what I used to resolve any issues with apply damage
ok then, thank you so much, if i discover there is some other reason i will get back in here to share the solution
again, thank you
You're welcome, hope you can get it resolved
hello, how can i disable an inherited function? I mean parent class does something and i need to have its child not to do it.
already tried to override that function in the child to be doing nothing?
Hep peeps, hopefully someone can help me with this one, Im trying to setup a string array of names using BP is there a way to populate the array defaults through a BP rather than manually assigning them?
oh, sent it a bit late haha
still thanks for helping ๐
@ocean radish sounds like you want to populate the array during the event construct process
Where is the array of names currently located?
@fathom portal dont really mind where it is, just need to be populated in the editor as I dont want to have it do it at the start of a game or anything
Sure, but I mean where is the data currently? Like where are you trying to read it from?
@fathom portal a text file, which i have to expressively point to
Ah, yeah, no idea how to do that. I'd populate it through a datatable or just put the string into a variable then parse it out from there
If it's only every going to be one string, I'd use a straight up variable inside either the relevant blueprint or the game instance
If it's going to be a few different strings, either an array inside the game game instance/game mode/etc or a few rows in a data table
@fathom portal Yea, i have no idea how to get it to do it in the editor and it update the default values, tried it in construction script but that dont change the defaults so only goning to populate on game start and theres 3000 lines of strings converted to an array
@fathom portal Done it another way, used a CSV file as its more compatible and made it into a datatable
Very nice, proud of you
are you trying to empty the array or actually destroy the components that are referenced in the array?
^
Destroy the components
for each loop - destroy
Are they all the same type of component?
They should all be destroyed at the same time tho
And yes, they are emitters
Or a particle system component
that's as close to all at once as you're gonna get
unless you bind the destruction to a different event in a parent actor
You don't need a loop iirc, you can just plug it straight into the array
I didn't actually test this, but the editor didn't yell at me when I plugged it in
I wish it was more obvious which functions you could do that with - I always forget that's an option in some cases
Yeah, I usually do it and see if the editor yells at me
Doesnt quite seem to work
Detail time
Idk if it just removes the array or something, but the emitters dont get destroyed
Code show time
Lol
uhh
you're using an unpopulated array?
Am I being punked lol
I dont get these 2 to work as I intend either:
(Was a try to make it destroy emiters spawned 5 loops back)
?
You need to change "make array" to whatever array you're trying to work with
I used that as pseudo code to just show an example, since I don't have your variables
Wdym by that?
Oh, so it makes a new array each time then?
It will always be empty, so none of your code attached to that will work
Nono, where is the array you're storing stuff in
disconnect the array from add, right click array and promote to variable
How are you storing these emitters?
Lol I honestly dont know how arrays work, I thought I could just hook it up like that
How should I create an array then?
They work how you hooked it up, as in it's a valid set of code, but do what @shut fiber said
Pull off this:
And do "Promote to variable"
Then hook that new variable into all the things that "make array" is currently hooked to
Are you trying to repeat this set of code? I'm trying to figure out what the code is supposed to do, can you explain?
Smoke grenade
All the smoke still wont disappear tho, is there something else that I have to do?
Are you trying to get the smoke grenade to be timed, then go away?
If so, there should be a built in "lifespan" (not at my computer right this second or I would go look) float you can set
lifepsan will only work if its an actor, in thisw case he'd need to destroy it
The emitter spawn node doesnt seem to let me set the lifespan by itself from what I can tell
okay
Ah, thanks @candid dirge, I think they're also on projectiles
Which may be actors themselves
If you have any suggestions on other ways of achieving this, Im open to anything really
what exactly do you want to do, spawn smoke, then destroy after a certain amount of time?
Yeah basically, and its looped because I Want it to sorta follow the grenade in a trail
Any specific reason you don't just make the grenade an actor, so it can hold its own code/auto destroy after a certain time/etc?
It is its own separate actor/blueprint
DestroyActor wont destroy the emitters it have spawned tho
yeah, make it it's own actor, this do this, it will disappear
Ah yes
make the emitter itself an actor
Thank you lmao, seems like a good solution. I will try it
Yep, works great
Do you guys know how I could make it sort of fade out before it gets destroyed?
you could control opacity in material
@spark robin Is it a particle effect in a blueprint? Deactivate the particle effect (use a generic "Deactivate" node), then set lifespan. Deactivating it will stop the emitters from spawning further particles.
@rough wing Use the "Set vector parameter value" node
I'm using the side scroller template and i want to be able to move the character front and back ( closer and away from the screen) .. I'm thinking it needs to be set up like this ?
@wanton echo probably the Y or X axis
this does nothing ;/ I just tried changing the World Direction to x = -1 but that just makes the character turn around and face the viewer or back
Y is already set up to move screen left and right
yeah it should be X
Can I change this setting with nodes?
@fathom portal I hope its okay that I ping you like this
I believe I might of found a solution, so nvm
Ping me whenever, just dont be upset if I'm not on all the time
And if you find a solution to a problem, please post it so the rest of us know how to do it as well
How to use copy bone delta?
Hey all, I have a UI widget set up with "on clicked" functionality.... I'm wanting to map a key to have the same functionality as the "on clicked" for that specific widget. I know i can set up custom key bindings in the project settings, but how do I get that custom key to fire off as if it were the same thing as clicking the widget?
@torn crow i think you can do this by using Blueprint Interfaces.
Hey guys, does anyone know how to make the touch manager project done by @AlanJWillard interact with interaction points scattered in the scene ?
i'm trying to get it done for weeks with no use. if there is anyone who can help me with this or even tell me how to contact Alan Willard ๐ข
Hit the dropdown in the top left of the viewport and enable "Game View"
Perfect, thanks @slow hill
@wanton echo I had this hurdle before. You can either make the character switch onto a spline where the controls for 2 directions go one way along the spline and the inverse for the other 2 controls. Other you can change the gamemode/controls from sidescroller to thirdplayer and back when you get out of that corridor
Is anyone willing to help me out for 10 mins with a bug on blueprints? Thanks
I have a box collision and I want to get the scaled extent, but its not in the world coordinate space but (of course) is there a way I could convert it to world space?
just add which ever extents to the objects world location
That's what I'm trying. Maybe theres an issue somewhere else. I'm trying to see if a InstancedStaticMesh has a object inside the box collision
This is how I'm doing it right now
Yes, its ugly but I'll fix that after I get it working
well do that math manually on that
and you'll see why it's not working
x y z of a box
plus world location just adds an entire offset to the location
Isn't that what you said to do?
no i meant which ever extents
as in whichever piece of the box extents you need
but seeing your setup
i dunno id just try this
also you already have the "item collision" i dunno why you'd then get overlapping in box
instead of just pulling the overlapping stuff from the item collision itself
Because I need to find the instance of a InstancedStaticMesh that it is colliding with
I need the instance's index
I am using "OnComponentBeginOverlap"
To trigger the check
Got it working @static charm
So Iโve got a save game object with an array of strings and an integer value. Is it possible to edit that array from another Blueprint? I can modify the int with no issue, but Add, Append, and Set seem to have zero effect on the array as it always stays empty. No idea if it matters but it also says the array is out of scope, but I just canโt seem to modify it no matter what I do. The same goes for maps as well. Other variables seem to work fine though.
just to be clear, yes that will work but. you're just using the box size as an offset number, instead of the same size box. I think the new box you're making is gonna be twice as big. I dunno i dont use make box or that overlapping intance box
and most overlap type will give you the index of the instance
but id rather you just use the working code and move on lol
@unkempt granite
i never used save game but the documentation doesn't make it look like thats how it's supposed to work
you're supposed to edit stuff to it by using the Save nodes
i believe
This is the tenth in my video series on creating a game in UE4. This follows my process in making "a-Maze", my simple game using the Unreal Engine 4.
In this video, I use my Save Game data to compare the saved Best Time for the current level to our Current Level time. If our t...
yeah here the guys edits a more local array and then saves it to the save game object's similar array
@static charm Oooh thanks! First time using save objects haha. Thanks for the help!
Could anyone help me with clamping/limiting my velocity? Someone told me to use this, but not sure how translate it entirely. current += (target-current)*0.1
Hey there. I got that big rookie prob, that i start mixing too much different ways. So i have ~ round about 20 different projects but cant combine the core-features.. now i need some overhaul and logistic help. Maybe somebody can help me out?
My biggest problem is: Where i have to put my major features? Always in ne Char? Should i put some in the level BP so it works for other stuff later what i didnt see yet? and so on, and so on.
There are not so much "theory" videos out there, sorry.
@trim matrix, it entirely depends on the feature. If it works it works, but this is the guide I've been using:
Can put stuff in components so your work is modular
The key thing is that the game instance is the only thing that keeps it's variables (Other than like save games and such) through different levels
Everything else (game mode, game state, player state, player controllers, etc) all reset when you change levels, so you'll either need to use the game instance to pass stuff between levels or use a save system
Aha! Okay, that explain some big "???!" in my brain.
About "If it works, it works", sure - but maybe i try to ask bevor i start. First i prepare all items by hand till i got the hint with structure/tables and improve that on a big way faster.
Sure, right, of course
But thanks @fathom portal. Yeah sometimes it helps to ask about the "keyword".
Keyword in a meaning of.. to do more research and read documentations bla bla bla
easy question: is there a way to compare the current game mode into a boolean?
Get game mode gets me a value but it always returns false when I == compare it to itself
@zealous moth what's the end goal? Trying to see which game mode to switch to?
my NPCs have a decal on them scaled to 0 but if you use the WASD game mode, they will scale it back to 1 if you are overlapping their detection box; in the point and click game mode, the decal is permanently scaled to 0
so I need to get a reference to the current game mode to enable the decal scale up
this is always false
Cast it to the game mode you want to check ---> If cast works it's that one?
what would the wildcard object be?
"Get game mode ----> Cast to [whatever game mode you want to check]"
oh, pft, duh
close enough
worked
ty ๐
this is a bit off topic: when you spawn projectiles, you basically create a new object and on impact you destroy it. Does anyone know the limit prior to garbage collecting impacting performance?
you'll impact performance due to physics and the number of objects/draws before garbage collection has negative effects
a few thousand about
also depends if they are interacting projectiles
ie, bounce off eachother
or jsut the world
And curving projectiles
oh, no just normal straight line projectiles with expiry distance/timer
i had a few thousand bouncing in the world no problem on a low spec gaming pc
I was thinking of saving performance by having a limit of projectiles stored on the character and simply scaling them up and down and reseting their position after each shot. This way you never create objects more than once.
but I might be doing overkill here
save the frames
is this pc or mobile game
high end PC, but I want the player to be able to have 20 tabs on chrome and watch a movie on the side
20 projectiles re-creating them-selfs are going to have no frame rate costing effect
Hey friends, how would one go about checking to see if a level name actually goes to a level?
Without making an array to keep every map name, I mean
not a streamed level, correct?
Naa, just another level
I'm assigning level names to various exits, just want an extra layer of validation, so it doesn't crash anything
and you're using open level
Yupyup
Hm, I did some tests but I think you'd be better off with an array or heck even an enum for your exit
make a semi automated test
then gets exit name vs current level name
assuming you have many levels
What are the first things that load when you open a level? i'd think it's the game mode, no? can't you put a try catch on load?
i mean i'd imagine there's a way to check asset names if a level asss exists vs the level string name etc
i think thats what he originally meant
I am checking the documentation, I cannot find anything related to this
I guess that's why QA is indispensible ๐
hm, found a plugin
Talk about Level Design, Static Meshes, Physics, and more.
it gives you "get all map names" as an array
you can always check it
and it's on Github
The fact you need a plugin is kinda jank, but I appreciate the link anyway
is there a way i can create metaballs in blueprints and check if the player is inside them? (like under them)
@fathom portal well, if you know c++, you can get all the project directories, look for specific file extensions and save it as an array.
Thanks for the suggestion, @zealous moth
when i begin play, i usually have this node to instantly focus on the game itself
however, i use clicking inputs
when i click for an input, the game unfocuses the mouse
so I have to double click each time after to trigger my input
anyone have an idea why?
if i disable, unless i click inside the game, I cannot do any other inputs but it fixes the clicking inputs
@zealous moth again what are you trying to do?
i have a top down set up where i use the WASD to move my pawn around and the lmb/rmb to shoot projectiles. When I start the game, the game is not focused, so i need to click in before I can use WASD. If I use the set input to game node, it allows me to use WASD but clicking doesn't work as intended.
if i don't focus, the clicking works as intended
have you tried set game and input mode?
not sure what that is
it's an input mode you can select, just like game mode only
this?
hm, here's the issue
@odd ember yeah, the other set input mode won't work. apparently, in the engine code, it resets the mouse capture so you need to double click afterwards
@zealous moth in my tests, spawning fairly simple projectile actors (i.e. actors with a movement component and one or two other minor components) would cost roughly 400 -600 microseconds. using a pooling system to deactivate/activate them instead reduces the cost to around 60-70 microseconds. this was in C++ though, but I imagine it'd be the same in BP. object poolers are one of the most basic optimizations you can do, but if your game doesn't have a lot of bullets it may not be worth the time
@true yew thanks HoJo, good to know for the future
(remember your budget for 60 FPS is about 16,666 microseconds per frame)
node overhead costs are expensive in bp
so the pooling system has potential to cost more just because it's bp
... highly unlikely, but i would agree it may not be as useful
most important takeaway is that object pooling is not a micro-optimization. whether you have to buy a plugin to do it or do it yourself in c++ (if BP isn't effective)
saying it saved a few hundred microseconds in c++, sounds like a micro optimization
for a blueprint chat
saying that saving nearly 1ms when your budget for a smooth framerate is 16ms is not worth examining? ok
id like to actually see 20 projectiles in blueprint pool system cost/save 1 ms
now now folks, let's not get into a knuckle brawl
hello friends a question how can I do that when I enter the zone the run button does not work until I leave the area and it works again
I'm no expert, but probably something like on overlap set a bool to false. When you press the button check for the bool first and if it's false it stops before doing anything. Then, on end overlap you set it back to true.
I don't know how good of a solution that is, but just a thought
dude...
just realised changing an engine file in one project affects the actual files
Can someone send me the default sky sphere blueprint please?
I'm an idiot sandwich
@marble tusk you can take a view with images to guide me your idea
I'm not entirely sure how it'd be put together. Was just throwing an idea out there ยฏ_(ใ)_/ยฏ
how to move to spectator mode
if (TestPC && TestPC->IsLocalController()) {
TestPC->PlayerState->bIsSpectator = true;
TestPC->ChangeState(NAME_Spectating);
TestPC->ClientGotoState(NAME_Spectating);
}
or do something for use spectator mode in game mode
@amber grotto Start Overlap when you enter zone end overlap when you go out of zone
@amber grotto 1. Create Variable type of Boolean with name blocker inside actor zone. 2. When you start overlap this zone set to true. 3. when you end overlap zone set to false. 4 when you start overlapping check that var