#blueprint
402296 messages ยท Page 870 of 403
new is hit actor, and old is interactable hit actor
idk if you needed to know that
when i throw the gun and it is more than 200 away from me i get this error
you know there's an extra cost associated with every reroute node?
wdym
it costs memory to use it
oh
it's not just free
good thing i removed them
agreed
generally I try to make setups that don't require reroutes
a little cleaner
otherwise the spaghetti monster will just continue to grow, and eat up from my screenspace
it's a good sanity check in and of itself: if you need reroute nodes you can probably rewrite your logic
in a more sane way
๐ฐ
what you are saying is not the issue rn
I was more referring to this comment
I mean this still isn't particularly readable
well ik but it works for me
Sequence, branch, double do once,
another sequence with two branches
this part
cool, but if you want someone to help you then maybe that's a reason to clean it up
these two are mutually exclusive
so there's no need to check them both
the issue is when i get close enough to it it is not getting the outline
well, perfect 200.0 would not be exclusive, but i bet that's not by intent
wh
what are you on about-
i'm confused for why this cast fails 
if i do that it is inverted for some reason
i'm trying to get the parent actor of my player character...
Also your do Once doesnt have resets to them , which may also cause trouble
how would i add a reset to this?
well a reset to "stop tracing" would normally be "start tracing"
No. Parent actor is just the actor you are attached to or who owns. Its nothing to do with class hierarchy here
If there was need for such a doOnce, that is
that's not how inheritance works
no?
there is
hm
@onyx token you should remove the parent actor node there and it will work
This is tick driven, right?
*should
me?
but my variables are part of the parent blueprint tho
not part of the child
because yes it is
child has access to all parent variables
Its also hard to say whats really going on. Whats "activating" the outline?
but what do i cast to then?
"Start tracing" ?
@onyx token probably just your character parent
a child of a character_parent BP will return true when you cast to the parent
๐
Right , ok
so I'd clean this up a bit really
I'd probably also use an interface for the highlight
it is going up and down so you can see it all
otherwise id have to send two screenshots
thank you for the help! 
yepp, it's not really what i ment by "clean it up "
I dont care much about how you handle your visuals ๐
but there's a lot of stuff here that doesnt need to be here
...okay
tick event
you want me to send it to you?
xD
yes
kk
oh my days it keeps going
just real quick, what is it that you want to do that requires this much code in one place?
outlines
for a gun
@ancient sirenVariables my man
never heard
You've never heard of a variable?
omg
when you say outlines you mean like trails?
im kidding
nope, just an outline
of a character you mean?
ill send a vid
That's an unreadable clusterfuck. Reorganize it in such a way that only execution is traveling all over the place and it'll be a lot cleaner
because if it's anything to do with just visuals
I promise you setting up a postprocessing material is less work
when you are in range of it (and you can pick it up) then it has an outline
if not you dont have an outline
and the issue is that when i throw it and it is out of that range and the outline goes away
it doesnt come back
dang inheritence 
So how would i solve this? Only my player character - the child of the character parent - has a "follow camera" component, the Character parent doesn't.
Why does it go away? What is driving whether outline is shown or not?
okay that's really simple. on the weapon on the ground, make a collision sphere that is the size of the radius you want it to be. then when you enter it, set Use Custom Depth to true
when you leave, set it to false
i just followed a tutorial man idk
im new
once you have that, all you need is the postprocessing material
Yeah that's the core of your problem. Learn to paint, not just paint by numbers.
which is like a 5 min job
i already have a material and everything
sphere, and check for distance
I mean why
Show where in your code the outline is shown/hidden
just use collisions on the weapon
yeah so highlight them when you enter a collision
that could highlight several
the collision is on the weapon and has a radius
its a focus thing
then make an additional check to see if it's where the place is facing
it's really not more complicated than that
Then you have 2 glowing weapons etc. This is a 2 part problem.
Part 1
Have a variable on item representing whether or not it's focussed/highlighted
Part 2
Have that variable drive the material.
He already has Part 2, just doesn't have Part 1 set up correctly
can i temporarily disable code like doing this in normal languages?
// if (wtv)
how?
alt click the execution thread
Just unplug the white pin
the best things in code are simple
nothing is ever simple 
agreed
@ancient sirenHonestly though, stop where you're at, and do SOMETHING on your own. You're way over your head just following along to a video.
i learned gml this way and it seems to be working in ue4
OK so, start with this. Figure out where in the code the outline hiding/showing happens.
something like this should work
well ik where it is
hows the anim state machine going?
it's goin, right now i'm trying to simplify my character so i don't cast a bunch of times
the idea is to have a parent character class, and make a bunch of player characters / npcs / whatever as children
and just let the highlightable item react to the hit
How do you change a specific material in the Materials section at runtime by the Element? This horse for example has 4 mats, one for eye, hair, main body. Want to swap "Element 1"
set material ?
good thinking
Im trying to use splines to draw into the terrain virtual texture for roads and such . Does anyone know what actions I need to add to draw into it ?
well now i'm struggling with inheritence 
This doesn't work. I'm trying to access something in my animation blueprint that only one of my child classes can have
well that's embarrassing
what is your full hierarchy?
quickly change your username before someone sees it! /jk
my excuse is im coming from unity pretty fresh and everything is pulling teeth and i simply... assumed it was very difficult =/
experienced major issues with virtual texturing, but you may have better fortune . Otherwise Render Target is an alternative ^^
that's not your hierarchy
No worries, we've all been there
your class hierarchy
oh, it's parent character => player character
And the idea is that the animation blueprint is specific to the parent character and can be used by all children
But now my player character has a camera and no npc does
and the camera manipulates some bones
does that mean i should make 2 different animation blueprints?
Multiple skeletal meshes can use the same skeleton and animbp
If you by chance choose to go by the render target route, all there is to do is walk along the spline and draw at location
okay don't do that
@onyx tokenWhat's your goal, what are you trying to do?
Have a concept of LookDirection and modify animation for that?
ok then put a rotation or vector on your character and drive it
how do you mean?
it needs to use these
and i've made it so it can go 180ยฐ without looking weird
Thanks Squize I'll try that. My plan was to use a mesh instance and apply a texture / renter to virtual texture to each instance so it would raw into the terrain..
you shouldn't ever do on the animBP something for just one class. the whole idea is taht it is generic
otherwise you need an animBP subclass
Sounds like it would work better than what i tried to do tbh! there were clear issues with overlapping and segmentation during my attempt with virtual texturing, but the tutorial may have been.,.. questionable aswell ๐
yeah I do lookAt for all my characters
hey guys, with event bindings, is it 'safe'/not-inefficient to do this? ('null' is an empty function since its a by-ref input that cant be left empty)
Maybe the player lookat is kinda special tho...
https://cdn.discordapp.com/attachments/847253861403197471/934983847995658270/UE4Editor_1f2au165S5.mp4
i'm not sure
OnComponentBeginOverlap
and
OnComponentEndOverlap
@gentle urchin Got it working and it seems to run fairly well. I just had to make the Virtual texture variable visible when placing the spline so it could be selected. Thanks for your help!
you can add a bCanLookAt in your parent character and set it to false
ok how about this then:
Fuck the calculating head rotation in anim blueprint-
I'll just get the rotation from my character blueprint, and i do all the calculating in there 
that way the child class can do whatever it wants
this doesnt look right
the gun is Interactable btw
no OnComponentBeginOverlap is an event
it'll be a red node
that makes way more sense
you'll need to select the collision component
then it'll appear at the top of the right click menu
wdym
in the hierarchy
How can I get the "furthest left" vertices from an array loop on a procedural mesh?
depth first search?
ok, I'll look that up.
I don't think you can in BP
oh, pain
I just need to check this array for the nodes that are furthest left. So I suspect I can just compare each index's value to the "max" value of any index.
So first I need to know how to get the max value out of the index, and then I can just run the compare to pick the ones I want.
but can you reliably know that for any rotation?
Rotation doesn't matter, left was just a word I used to draw the point out.
okay but still
help?
I'm going to send the line checks outward from the floor, then consider where walls belong.
the location of that point will change
show the code where you set custom render depth
okay so
the outline, I don't know what you have made
but if it's a postprocess material you'll need to do on the player
this is the players bp
okay, so you need to set custom render depth on the gun
idk how to do that
but isnt that just this
oh shoot
i just
i just did this and it showeds
yep
showed
but
on the cast
you have the gun
as a variable
so just set it through that
and then when you leave just remove it again
that's literally all you need to do
no complex distance checks etc.
you don't need to reinvent collision
set what??
BP-gun
sorry the mesh component on BP-Gun
remove the get component by tag
you dont need any of that
just the cast node itself
and from the cast node, get mesh
sorry
well that's the same image lol
i just removed something dumb
idk if discord is f'ing with people today
FP_Gun
when i drag off of the As BP Gun and type FP_Gun nothing shows up
try and type in "skeletal" and see if it finds anything
it said Get Skeletal Mesh
so i pressed enter
and it popped up outside of the As BP Gun
nope
OH
I GOT IT
fucking FINALLY
THIS SHOULDNT HAVE TAKEN ME THREE HOURS
tysm
i really appreciate it
some kinks
it is when i collide with the gun, not the collision circle
precisely
^
that is an issue because it only has the outline when i am directly on it
not on the collision circle\
so i want to use the on component end overlap (collision circle)
so id make a custom event with that?
the same way you made it with your capsule
just do it with whatever other collision you wanna use
the issue is that the collision circle is in the gun BP
and i cant get it in the player bp
should i make the collision circle be in the player instead of the gun?
if you make it in the gun, just cast to player to check for the player
but yeah you can make the same setup
a common suggestion to improve performance is disabling tick on actors. But I often worry about unexpected consequences of this. If no code is being run using event tick inside the blueprint, then tick can be disabled, simple as that? Or could this impact other things, perhaps net updates for example?
very good to know. thank you!
just don't disable tick on player controller. that is all
wait that's a thing?
You monster...
I have some pretty fancy BPs so can I use Papyrus?
Everyone knows Papyrus is fancy
How does this not return the object?
Return what object?
bascially im trying to recreate a ray tracer
*not ray tracing
does it matter how large it is?
so like 200?
Assuming the player controller 0's position and rotation are what you actually want to use, then you want to trace from its location to its location + Forward x SomeBigNumber
oh wow
ah thanks
thanks to you to Lorash
looks like some UE5 nonsense. but also I love the comic sans
this is the first I hear of it, but yeah I always wanted this
so it's like an early holiday present
I have just done this for my project
I consider that my work on my project for the week dusts hands
thanks
That's the worst productivity killer.
"welp, I commited something, time to fire up Elden Ring"
yeah if only I would actually play games then I could at least rationalize that as "research". instead I'm on discord doing nothing ๐
Man I cannot find any way to hook into the points or sections of terrain splines to toss to pathfinding. How we contact the devs ๐
That's a good idea for a tool.
Though I can only do Dear Imgui lol
Speaking of fonts.. can you overwrite roboto with your own asset so it updates everything using it?
Prototype with default but obviously will want to replace it later
I can overwrite it?
Gg
Works for me ๐
Sometimes I wish I never learned unity. I'd have less concerns ๐
Not to say that Roboto is a bad font, but you may donโt like it being in the editor or just bored with it after a long time. Time to give the editor a new font! The modification isnโt as straightforward as drag and drop solution, but I think itโs easy to do even without programming experience. Hereโs how. This modification does not require sou...
Oh I don't care about the editor font just what's in all my widgets
If I'm not mistaken the editor font asset uses the same font files as those
I'll check it once I'm done dealing with C++ stuff
Hmm ya it does so if I replace it would it change the editor lol
I might want to make a new ttf for my widgets called game font that I can replace before I get too deep in UI
That's way better and more preferred. Normally you shouldn't mess with editor .uassets
Sure hope someone can ever answer my terrain spline question on how to get the points via API or hook into it during editor to at least create a run time accessible data set to use with pathfinding
Really critical to the game idea
If they only made it for editor time and you can't hook into it to duplicate a spline that'll be a huge blow
I haven't used terrain splines in a while, but weren't they bunch of actors?
It's not anything that shows up in the hierarchy
I just really like how it conforms the terrain and can put down a texture without actually deforming the terrain
If you delete the layer it simply restores the terrain
Additive
Tell about ads
Like what code to get ads
There is code
Show intestitial ads
Load interstitial ads
Show banner ads
What are these
Ew no, ads, gross ๐คฎ
๐ง
is there anyway to do delay by parameter for sound cues?
Screw in-game ads.
Unreal marks a BP as dirty when a Breakpoint is enabled on a node. Is there a setting to turn this behavior off? It's quite annoying to have multiple Blueprints that are marked dirty which are then saved (it's easy to forget which BP actually has changes and which one is marked dirty only because of breakpoints) and pollute a commit with BP changes that really have no real changes.
is there a better way to do this? is this way dumb? goal is to increment a value while X is held, decrement while C is held
its not dumb if it works. using the flip flops is a little obfuscatory in as much as crossing streams of code is generally a bad idea. it works here since flip flops use local variables internally (and thus isnt actually crossing between code paths). i still would be inclined to just have boolean properties set when input is held. Technically, a "cleaner" way you might do it is set your inputs up as axis inputs so that they constantly trigger. then you would not need to use the event tick node at all, as they tick for you.
its not dumb if it works.
hooo (idk what i'm doing so ๐ )
and okay yeah that makes sense, thank you
i'm probably going to be setting a couple other variables like this in the same blueprint, which is probably gonna get messy since it's all on event tick :/
oh just saw the last part of what you said
yeah, having a bunch of code hooked into tick that conditionally fires like your code above is generally going to get messy eventually, and should be separated out into event driven systems when possible. in your case since your system does do stuff per tick you need something running on tick in order for it to increment/decrement per frame. thats why i suggested the axes input method as that would still be per frame, but not required using the tick node
*ALSO, your current code is going to not run the same on computors running at differant framerate (higher fps pcs will have their fov change faster, since they are ticking more)
to fix that, multiply the addition node result with the delta seconds pin
unless you want high fps computors to have fast fov change, obvs
awesome, gonna try switching to input axis now, thanks! and that is good to know
as a general rule thumb, you should multiply whatever you on doing on tick by the delta time. that is why they provide the pin
if you do use axis inputs, the same problem exists, but axis nodes dont give you a delta pin. in that case you need to use the world delta node instead
this way is much better! thanks again
np! youll pick up these tricks over time
Just have them set Increment to 0 when released
or add/subtract on press/release
Do note however that World Delta Seconds is affected by time dilation. If you have slow motion going on in gameplay by reducing global time dilation, it will affect whatever that use World Delta Seconds.
I haven't attempt to do anything like that yet, but good to know
I've encountered something I don't understand while running macros with built in delay. Part of the macro function is adding and removing from a structure array. If I run it multiple times, it will always do the first part before the delay (which is adding to the array). Then after the delay it will only fire the removal from the array once. Does anyone know why this happens?
Guys, why can't you return ref from an array of Objects?
Because it's an array of object reference?
Can just call SetArrayElem if you need.
I made a custom event with a pass by reference property but it's showing me a warning that no value will be returned?
why not? :(
Found out why the macro isn't working. Apparently when you fire multiple instances of macros with delay, the later instances are canceled while the first macro is waiting to finish its delay. I tried splitting the macro into two with the delay running in between, but it seems it doesn't work either.
I wonder how do I create an over time intensifying shake?
Timeline node, if you don't want to clutter the Event Tick
yea that for sure :o but how do I get the shake itself to update? as far as I can see i only have the option to start a shake with a certain scale
I'm certain you can save camera shake object reference ๐ค
I guess that could work :o
Hey guys, I've got a small 'understanding' issue with timelines inside a Blueprint actor. I've set up my Blueprint in a way that there's a 'reset' event at the start of sequencer to reset the animation back to its initial state. However, when I've got sequencer in 'playback loop' mode the Blueprint actor animation starts to 'snap' on the second and following rounds of playback (as you can see from the video below).
From what I can see, it's because the timeline hasn't finished playing yet. If I wait a couple of seconds before playing sequencer again, the animations behave as expected.
However, I don't want to wait! ๐ So how can I force the timeline nodes for the Blueprints to be finished and reset to their respective start positions when sequencer loops back to the start?
I'm trying to smooth my Character's Capsule from its half-height to crouched half-height but the problem is whenever it does so, there's some sort of offset (perhaps due to the shrinking of the collision capsule?) going on, which means the character's position kind of jitters on the Z axis.
In fact, if I take my character's location before crouching and after crouching, the Z location differs.
I'm simply lerping with a Timeline and then using SetCapsuleHalfHeight to set its new height.
The value lerps correctly between its start and end values, with a difference of 55, but as you can see in the video, by taking into account the starting location of the crouch, the end location is not exactly endZ = startZ - 55, but differs by it by some decimal points and as such the character gets pushed down / up.
I mean if you want to have a specific value just set it to that specific value if you need it? :o
Thanks Ayes, I've done that though using the reset event at the start of sequencer, right?
It's only that the Blueprint doesn't seem to get that information.
I'm barely ever using the sequencer So Idk
Hello im following a tutorial made in UE4 in UE5 and i know some nodes changed and i cant find the node they are talking about
๐ I'm using it all the time.
The vector plus in yellow i cant figure out how to get that
there might be some people in #cinematics who can help you better
Thanks a lot Ayes, I was just about to ask!
Why cant I connect multiple executions sockets to a blueprint function output?
So I wondered if I get a float... is this treated as a reference ? Can I do set-by-ref?
drag over the triangle... not the node
also this isn't going to work
return breaks functions
hm
so is there even a way to wrap the For Loop node?
I want to input an amount of iterations instead of two indices
Cuz functions are designed that way. Use a macro if you need multiple execution pin outs
macro
ooh thank you. thats the keyword i was missing. I will look into it
Or if you need multiple returns, just add more funtion returns
So still o.o Are get-nodes of floats or vectors actual reference? or just copies?
There are two get nodes from arrays. There is one for both get ref and get copy
Or are you talking about straight variable getters for float var and vec var?
not arrays
that's what I wanna do
I could obviously just switch but it looks cleaner that way :o and is less copy paste
Whatever works
yea that's the thing I don't know if it works xd
Oh so its just like using pointers or & in c to pass a var by ref in a function parameter
Well only way to know if it works is to unit test it
I think the target is supposed to be your function's vector input. And the value the selected location vector
The target is whatever variable I wanna set
The value is... it's value
It seems to work but I'm currently tryna figure out what's saving my progress o.o Because I unplugged it but still works
Only reason stuff saves between play sessions is the save and load functions. Or between levels is gamed instance
Made it into a macro. Thanks a lot for the help
Huh. A for loop macro for the for loop macro. That's new
i have a function thats there to offset and rotate a vector array.
basically i have a procedural mesh at the root component that builds a convex collision.
as we know only the root component checks for collision if he moves, thats why i am taking the mesh data of attached parts and add this in form of a convex collision. basically tricking the procedural mesh to add a collision where those parts are. this works.
however and this is the point i need help with, picture two shows the convex collision on the ship that has not rotated
picture three shows how my function handles rotation if the ship actually rotated. the location works, only the rotation doesnt wanna play nice.
any help would be appreciated, i think its literally a few nodes that would fix this but i am no expert at vector math so i am stumped
inverse transform did it
Given a world transform vector, a rotator, and a double, is there an easier way to get the world transform vector in the direction of the rotator at the distance of the double without doing a lot of math and using a lot of nodes?
The world transform in this case is pointless unless you're looking for a world offset of the transform in the direction of the rotator.
I'm still not sure if you're looking to just rotate the vector. Or multiply the rotator's vector by the double and add it to the world location you have.
Not sure what Known vector on that is, as it's a line.
neither i need to find a new vector given a vector, a rotator from the initial vector, and a distance along the direction of that rotator
guys the hits arnt registering any help
when i shoot it sometimes goes through the A.I.
pls can i have help
what should i do
thanks man but its 3d so its complex
How is that different?
i think ive almost got it though
Looks like classic pythagoras equation
i have to figure out a 2d triangle in 3d space before i can do that
i know but in 3d its harder
Given this you would find the magnitude of the unknown vector. To find the angle(direction) you would want to use the dot product of the unknown vector and the known vector/known distance
That's not really an AI issue though. Nothing to do with Behavior trees or AI programming.
You need better information. What is hits? Line traces? Hit events from a moving projectile with collision? What is sometimes?
He actually asked there before I told him to ๐ , but yeah you're right
In case anyone was curious, I found an easier way: make a new vector with the size of the known distance, rotate it with the known angle rotator, and add it to the known vector
Avoids a lot of trig
You mean hides the trig inside the rotation node ;)
:)
Well yeah it's simple addition/subtraction of vectors. The fact that I didn't see arrows(vector directions) made me think about triangle laws lol
Did you use the correct trace channel?
Yeah I was definitely not explaining it clearly
uh
can/should a function not wrap another function?
If you're using bps then by default the trace channel for the line trace should be "visible" if that's the case then maybe check the collision channels for your pawn and check if it's blocking against the visible channel or not
Do you mean like calling a function within a function? If so yeah you totally can
If you don't want to do the -1 each time, there's a foreach node
look, im knew to ue4
but i have the collision lines shown
but when i hit with a bullet
that applies damage
it doesnt register
even though the A.I. has
a damage reciever
it works sometimes
but most of the tikmes it doesnt
is that better? I would still need a list of indices would I not? Doing it like this was convenient for me because I had another node that needed those index and iterations inputs so wrapping the for loop likt that seemed like a good idea
so
Well you get the Array Index in a ForEach node too
But you need an array for that. I'm not sure what you're iterating though
just indices
Ah ok, then this node isn't relevant for you
ye
im having issues with action mappings and axis mappings being different in packaged builds
is there anyway I can make sure that the action/axis mappings in the editor are synced with packaged shipping builds
why do FBX files I import are always giant, and .obj files are always small?
format differences, export/import differences, etc.
at least in blender you can configure the scale and such for your scene and for exporting, so you can get the scale to match in both it and UE
Would anyone know how to make a character rotate at the mouse position smoothly?
Hi everyone! i have an object with 200 tiny LED lights geo on it, and i need to animate each lights with differents colors, and intensity... do you know how to do so? would it be better to do it in BP or in the material?
Probz in bp but you will have to make a timeline for the alpha
There is this function: https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Game/Player/GetHitResultUnderCursorbyChannel/
Get Hit Result Under Cursor by Channel
You can use it to get the location to which you should rotate your character, I do it by simple SetActorRotation. If you want to do it smoothly, you can use for example Lerp.
for 200 lights material would be cheaper
managing 200 lights in BP will be very expensive
and you'll have to consider performance
in materials the LEDs could just be emissive
Is there any way to add another widget here by pressing a button inside the first widget. Or can i only just create a widget into the viewport or change visibility
You xan use add child instead of add to vieeport
But why do you have 2 nested canvas panels
don ask
would I use find look at rotation?
You can, just ignore Z
would i also use add or set? (sorry ive never used this function before)
rotation
ok will do!
Is there a way in blueprints to force Fullscreen (F11) when Play in selected viewport is clicked in the editor? I'm not talking about standalone game
Found a solution, use the command LevelEditor.ToggleImmersive
glad we could help ๐
But i am asking cause its bad
woah man that's #toxic
whats toxic about it
Oh no ;-; my life is ruined
Just a lil joke
Is there a way to detect PIE exit? I want to trigger an event when ESC is pressed...
in CPP most likely, but you'd have to expose that to BP. generally intra editor operations are handled through cpp exclusively
Yeah I just wanted a slight modification to the solution I have above. Remembering whether they were in immersive (F11 fulscreen) or not and on exiting pie reapply whichever mode they were in
right but that does not change anything
you'll still have to go through cpp for stuff like this
tbh the entire thing sounds like something worth considering an editor subsystem for
NP, just wanted to be sure. I've seen there are ways by rebinding exit to something else, but that's not something I want to do
It's just for an editor tool
and it's handy that it fullscreens when PIE is hit for UI stuff
I've never seen anything like this before in BP. in fact I wouldn't even know which class would access this that would be exposed to BP from the get go. generally editor functionality through BP is severely limited, and I've hit roadblocks myself when making tools
This vid might help. Here I haven't got the UI up yet, but you can imagine that there are some controls there for variables. Excuse the Soundgarden ๐
I'm not in fullscreen here but would imagine the ideal use case would have fullscreen enabled
like I said, I don't think you'll find a solution outside of cpp
this is different than the console command hack
because you need the delegate that triggers when PIE stops
which is probably deep inside the engine
No problem, it's not the end of the world
Thanks for the insight though
I think they can live with having to press F11 on exit, or I'll just make the UI a little more tolerant to weird aspects
Never mind I solved it
๐
end play event
just remember that that will trigger regardless of PIE
As long as it's only in this blueprint which is only used for this tool that should be ok?
This tool is only for editor side and would never end up in a packaged game etc
it generates content for the content browser
right but right now it's going to get packaged. you can see if there is a tickbox for the BP event to make it "editor only"
good find
Also this just lives in a level BP for the level for this tool
so if someone puts this in their game.. thats on them ๐
But thanks for the sounding board ๐ onward ๐ฅ
Hello, is there a way to make an actor interactable only once ? Currently struggling with this, would like to make only one actor activated at a time while making a loop with the three other ones
you can use a DoOnce or use a branch with a bool that is true the first time, but then gets set to false afterwards
oo thanks ๐
hey guys, how do i turn on so i can se my flow when im testing the game ?
like thee BPs i can se the actual flow when doing stuff
On the top of the editor in the blueprint you want to view the flow of you can select the instance you want to view the flow of in the debug filter(character, controller, etc.).
@hexed glade"Simulations" ?
Definitely Set
First you open up the blueprint you want to watch. On the top right, next to play there should be a debug filter.
What type of blueprint are you trying to view?
In general. You have to have an instance available in the level for the blueprint when you want to view the flow. So if it is a character, then you need that placed in the level. If it is a controller you need to have it attached to something that is active when you hit play. If it is something that spawns in, I think you can select it later after you've hit play.
ah i se
oh i had to press play before selecting the degbug
gotcha ๐
also you know ov any help - sections on discord for newbies ?
cant find any
๐ค
I've mostly used the blueprint section and some others that fit the theme of my questions. Pretty new here myself ๐ People here are pretty friendly so just ask around and they'll probably guide you in the right direction.
Got a question here I hope someone can answer. How do you use timers for a function that will activate multiple times before the timer finishes without having the timer refresh (aka, separate timers)? I've tried using delays, but that doesn't seem to work.
can you rephrase that in a non technical way? what is it you want to have happen?
I have an ability cooldown system. I'm trying to after having set the ability on cooldown, make it available again after a certain time. I have multiple abilities that can be on cooldown simultaniously.
each ability has to have its own cooldown timer
Yes, and I forgot to mention that the abilities are contained in a structure as there is only 1 ability slot.
so if you have each ability on its own cooldown timer... you should be fine?
I'm just having a bit of trouble finding out how to set up multiple timers from a event (ability activation). Any tips?
okay that makes it sound like you have a different issue?
because setting up multiple timers shouldn't be an issue
it's just putting them onto the same execution thread
Only 1 ability slot but multiple abilities with different timers? Huh?
Just do a timestamp
When used
You can work out the rest based on time delta and cooldown time
yeah I'll wait for a better explanation
my current take is that you have an architecture that isn't setup properly atm
Yeah thats what i got from it aswell really
Then again im clearly missing a lot of context &&
Yeah I think I can get it working by using timestamps. Thanks for the advice. In case the explanation helps. I have a single ability slot that you can swap inn and out abilities that, when used goes on cooldown. So when the ability is swapped out it goes back in the array containing all abilities. I have gotten everything to work about the system, just need to fix getting the ability off cooldown.
you should really setup the system first
before trying to do individual things with abilities
Whats the most elegant way to enter a transition based on an enum? E.g. if the character is jumping, this transition should be true and happen
code architecture has done be done top down
Comparator
if you search in this channel I gave some advice on how to setup animBPs correctly to @onyx token
Stupid april fools, i can't trust this server now
thank you alot, i'll look for it! 
hey guys i have a issue ive been tring to solve for ages its quite complicated to explain and (help with i suppose) im following a tutorial doing a inventory / equipmentsystem but ive got some bugg that i cant find the solution for.... look at gif and if u got time to help let me know
the weapons work as intended as based on same parent bp
the "breastplate works as intended from the same parent bp as the (shield & helmet) but they dont work and when im equipping the breastplate well you se what happens
Need some help
Trying to perform an off-axis fulcrum shift to prevent pop out of objects within a scene which have a positive parallax
But can't figure out a way to get a change on the matrix values, at all -.-
what's this thing and how do I make it go away <-<
How will something like this compile - will you get the new last index or go out of bounds getting the index you just removed?
since you're removing last you're getting new last yes
that's confusing, then the two lines from the "last index" node would return different values
They will return different values because it's begin called at different times
Thatโs for debugging but as AnimBP are always evaluating it shows up in editing. There is a flag in editor settings to turn if off.
I'm not even inside the anim bp :o
Or... have one at all
Where is it? What BP class?
that's inside a gameplay ability class
but I had it in pawns
playerstates
basically everywhere
And itโs during editing or during debugging?
Thatโs weird. As said you can turn it off in settings.
do you roughly know what it's called?
Found out a solution to my ability cooldown trouble and thought I'd share.
I used a basic actor to track the cooldown with a On Destruction effect tied to the event cooldown effect. Thanks for pointing me in the right direction guys ๐
[Question] Do enums not automatically get updated across blueprints? I've got my animation blueprint transitions hooked up to enum states, the animations work in the preview window, in game, the enum states are being changed, as I print them to the screen, but the animations do not work?
[Answer] Depends on how you have set it up
I think it's the Enable Pin Value Inspection Tooltips setting in Editor Preferences
Ive got got the enum as a variable inside the animation blueprint. I've done the same on my movement script, and that lets me update the enum, but those changes dont seem to trigger inside the animation blueprint
Are you sure it's setting this exact variable?
First image is inside my player blueprint, second is inside animation blueprint
How do I get the instance of the enum after the event update animation?
Sorry im not sure how to implement that, can you explain how? How do you get the enum value from the other blueprint within the animation blupeprint
theres probably some node that's called Owning Character or smth like that... idk... never using animations
get that-> cast to whatever class your character is -> get the enum
set it
so i have a rail grind system, and i know how to make it go backwards, but i need help, how would i make it so it automatically decides if the player should move forward or backwards along the spline?
not sure how your system works but...
Maybe at your "attachment" logic you can check the direction the character is facing
Is it possible to have a local variable work as a reference to a list?
so you'd set a local variable to the list of another class
Further explanation required
On it, one sec
i have it to where the player sets its location along the spline on tick, based on a speed float, and to reverse it i multiply by -1, but i don't know how to make it so the player direction changes the direction variable
I'm very unexperienced with splines... what you could try is messing around with the "Find closest x to world location"
might work if you somehow can determine the velocity direction relative to your spline
I have an object blueprint which has a list of the same object. The idea was to use this object like a node in a tree structure, so each node contains a list of further nodes. I'm now trying to create the tree structure and traverse it without using recursion.
For this I have set up a second class which holds the root node object. Then in this object I would like to have a variable to which I can assign these sublists. For traversal, I would assign to this local variable the list of subnodes that the root node contains, so that after that I could add subnodes to this list.
Then in turn I could assign one of these subnodes to the local variable and alter that list, and so on and so forth
but I'm not sure that's possible
I'm very unsure what you mean by "list"
Currently I'm using a map:
like an array?
yeah
Then for traversal I'd need a local "reference" map like this:
and then I'd assign to this local reference the map from the object
Literally don't understand o.o
So you Have this map right there...
And you want this map to store multiple references of itself?
:s
The NestedBinds on the KeyBind object is a map that contains more KeyBind objects
yea sure
Then I have a second KeybindManager class which contains one KeyBind object, the Root Keybind
but why?
So that I can create a tree structure with these Objects
Why do you need to nest it so much?
Can't you just create a "key" value like the buttons you're binding
attached with your keybind object?
I'm making some program which contains a fairly large number of keybinds which contain multiple keys
and there's lots of keypresses a second
So you want to be able to assign multiple keys to one action?
For context these are MIDI keys
if so just make it a structure give it a name, and array of Keybindings then make this structure an array instead
The thing is if you use an array with combinations
you'd have to check against all combinations with each press
So you basically index with a combination of keys?
In player controller i overrided the onpossess function, is there a way to reset to default?
delete it
I did and it still isn't back to normal
well... i do not know what your intent is. So...
What you can do is since it's midi keys you probably get some kind of midi value returned if you press a button right?
yeah
Yes it's an integer
1-88 for keys
no 0 ?
probably reserved for something else
That would work if it weren't key combinations
subtract by 1
so you press like for example 1 and 5 and stuff happens?
so I'd somehow have to combine these into an index. You can technically do that with a map
yeah
I overrided the onpossess function in player controller and now my pawn isn't spawning, its just possessing a camera. I don't know how to undo
I don't know if midi works with enhanced input but you should absolutely try using that
im trying to make it stop animating when i stop punching, because when i stop it continues the last frame of the animation until i do something else. if you need any more code or a video to show the issue that is completely fine- heres the bp (im new ish btw)
Those are just events then?
yea
and you can do multiple keys which fire multiple input events
(if they don't consume input)
then you can bind this action to one or more keys
k
I think I don't even need that then. The MIDI plugin as is generates events for all sorts of stuff. Like key down, key up, the value of a slider, and so on. Along with a control ID (for the specific key/slider), and a value (how far up, how fast it's been pressed).
I think I can simply keep track of a set of currently held control IDs. Then do something funky like combine these into a string, and use that to index a map of keybinds
which will then be a flat map, not a tree
sounds good
I just assumed it was exactly what you needed :o As I said I do not know if that works with midi as it replaces your input actions
does no one know how to undo an overridden function?
you delete it
and if it still doesn't work it's something else
Something we do not know about tho
When I overid it (onpossess in player controller), it appeared as a event in bp, I deleted that and now at begin play my characters are just cameras
Might be one thing left to figure out though. The main reason why I wanted to do a tree first is because in practice you use it as such. e.g. you press one main key, then it displays nested keybinds and you press a follow-up key. With a tree this is easy since you can just get the follow-up keybinds from the list the first key stored. But with a flat list you can't do that as easily (since it's not easy to find the binds which require one more key)
have you tried restarting?
Can probably get away with storing a separate list with keybinds required to display it. Which would be all the keys up to that point in what would have been the tree. This is breaking my brain :)) Thanks for thinking along
I need a thinking break
You will have to add the animations to your anim blueprint and make a new var call is attacking and then play the animation you want and the conditions is when your attacking
Hey guys, in today's video, I'm going to be showing you how to create a basic punching and fighting system in which a random animation will play for both punching and receiving a punch, sound effects for punching and dying, and then obviously death and health as well.
Punching Animations: https://drive.google.com/drive/folders/171NtvA1NhXsDLR92...
bruh I just left home ok
ty
I'll look into it later
Also your question is for #animation
I sent it in there
Hi everyone! do you know how set relative position and make sure object won't overlap?
right now i'm spawning 200 spheres using random unit vector, but many of them overlap each other, and i would need to avoid that...
(avoid collision)
ohhh now I know what you're after :o
WELL
Since you have a "Keybind"-Object (I don't even know how you're constructing them)
but basically you'd go like this:
(Note that you still need to create child classes to change specific values)
This looks very promising
similar to what I had already made myself, I'll have to compare it to see what I have to change
Well I don't know if it works XD it's just a theory
Where did you find this?
my game's broken by clicking one button
I made it?
I see
when I click play the games not spawning a character for my player controller to possess, im just a camera, how do i fix this
try this... if it overlapps it retries with a random vector further a way if you need it to be more far away each try try increasing the 10 to something like 25
Or even more if you need it
Oh I forgot the most important part lol
there u go
what's the difference between the target being actor and controller. How do i access the default onpossess function
One would think it's the target
Hello there. I'm encountering a weird bug and hope someone has experienced this before and can help me resolve this.
No matter what I do, I can't get the Input node to ever get to delete pins / variables, adding seems to work fine. In this example I deleted all Inputs were deleted, the Input node still shows them though.
I tried refreshing nodes, the blueprint, all blueprints, 4.26, 4.27 and 5.00 P2. I can still connect the non-existing nodes and compile just fine. It will obviously crash though when hitting play.
I assume you already did restart?
Yeah.
what if you copy n paste the function?
You can't paste an input node.
Hi Ayes! awesome! trying right now!
Where do i find the function for spawning default pawn on begin play?
right click on pin > split
alright done. my issue is i can't connect the list of objects to the "get world location"
mine are static mesh component
how did u do it there?
simply like this
yea but what's the target pin? like show what's it connected to
drag off of get static mesh component and use get world location
Hi all, my flappy bird clone is almost complete... one last thing I want to add is the rotation on the bird when the player taps (rotates upwards to 20 Y axis), and the rotation downwards when the player isn't tapping (rotates downward -90 Y axis).
I'm trying to work out the best way to do this... I've tried a LERP but it didn't really work (maybe I am using it wrong), it never seemed to get to the full 20 degrees unless I was spamming the button really fast.
I've also tried without a LERP and just setting some arbitrary values, adding these to a temporary rotation (float) variable, multiplying by delta time and then setting the rotation. This seemed to get me closer to the result I wanted but I couldn't seem to get both the upward and downward rotation to work as expected with this approach.
Any thoughts on a suitable approach? Perhaps something I've not thought of that would be more straight forward?
Trying
The print string is giving me the right segments of string, but after its converted into text var the first two "Sets" are blank. But only the 2nd time
Even when the print is connected to the to text it works
I assume youโre running the rotation lerp only once, believing this works over time
But it doesnโt
Its in Event Tick... so being called multiple times, I'm applying the delta time to the alpha, and also multiplying that by the velocity of the bird.#
If you have vertical velocity, remap it to the angles you want and you're golden.
I've seen a node for that, but its name escapes me...
MapRangedClamped
?
Yes
Map what z velocity you want to corrosponds to what angle and hit it on tick
So it doesn't respond to the tap, it responds to the actual velocity, which gets a bump whenever you tap
hmmm, ok... bit confused as to what I plug into where... there's two "ins" and two "outs" etc... presumably one of the ins would be its currently rotation.... and the two outs would be the "20" and "-90" degrees?
Post pics
I can, but its a bit of a shit show at the moment as I've been trying different things and its a mess... will see if I can declutter it a bit...
Map Range Clamped
That's all you need. Plug velocity Z into the input and select what velocities you want to map to what angles and then set the pitch
The velocities would effectively be anything "above" 0 and anything "below" zero...
There's not really a "range" for that
?
Call it 1 and -1 then
But it'll look a lot better if it's like 100 and -100 so it doesn't snap and smoothly rotates at the peak of the trajectory but you do what you want
Try these inputs.
Velocity.Z
100
-100
30
-30
Then tune to taste
ok... and then the output goes to the Y for the rotation I guess?
It goes into whichever rotation you want the thing to rotate around, I don't know if you're pitching, or rolling. Just plug it into something and see what happens. I'll take you two seconds
will try now
This is just a function that transforms velocity into an angle. You pick what velocity corresponds to what angle and then plug it into a make rotator and set the rotation
It's basically a remappable linear transformation. Very useful all over the place in games
So which of those values you suggested are the angles?
I can't quite see how it gets the "20" and the "-90" from this?
(yet seems to be almost spot on, albeit a little snappy)
The first input is the actual input value you're reading, the second and third are the min and Max for that that you want to consider, and the fourth and 5th are what outputs you want to map to those.
So what the numbers I gave you, an input of 100 would result in an output of 30
And an input of -100 would result in an output of negative 30, and in between, it would interpolate
If it's too snappy, make the input range bigger.
turns out I was still running half of my previous code for the "fall"... so this was only being applied for the "flap"... will cut out my other code a sec...
But if your velocity is instantly changing, your angle will also instantly change. If you want it to lag behind you will have to do an interp to.
Sorry @faint pasture, I'm getting quite lost quite fast at the moment...
Get this remap range working and then if you want it to lag, you can use the output of this remap range as Target angle, and then interpolate towards Target angle with a finterpto
This should be the only thing touching your bird rotation.
Yeah, it is... but it doesn't end up -90 degrees vertically etc... changed the second out to -90 to see what would happen, gives me the vertical fall, but the bird now starts off pointing towards the floor a bit...
(when it has zero velocity)
(main menu screen)
Yeah so think about it. You want zero to map to zero, so if you have uneven outputs, you want an uneven input range as well.
How can I delete variables from the output node of a custom function? I can add variables but don't see an "x" or remove option
ah solved it, I have to delete the return node and just add a new one
Im feeling really kinda stupid because this isn't making any sense to me...
I get that if I had a range of 1-10, this could map that to 10-100 for example... but my velocities are not constant (so to speak), the only thing I know is the angles I need.
it is close though...
Make the third input a little lower.
Making it take a higher downward velocity to reach negative 90ยฐ
Slowly getting closer, but it does nose dive a little too fast...
these however are much better...
out of interest... at the moment I'm only plugging in the birds velocity, this is being run in Tick... do I not need to plug in the delta time at all?
Because the save is a playsavegame object not a customizationsavegame
so i have to save them to two different slots?
If they are two different objects yea
You can combine the classes if you want
Wherever you are creating and saving your save game, you see creating one of a certain class, in this case it seems to be playsavegame
yes, before I switch levels, i overwrite "Save" with playsavegame
Yea so by definition, the saved slot at "save" becomes a playsavegame, therefore cant be the other one
so should I save the other one to a different slot, or just move the variables over to playsavegame?
Its up to you, at that points its just a organizational thing, but you'll need to do one of those
Easiest is to save the other one to a different slot
ok thanks. i didn't know save game slots were object-oriented
Yea, there a little different because you load them from a string path, and then need to cast them to their proper class, so you do need to keep track of what class you're saving with what name.
because it's a string, the fact that it's case sensitive gets annoying at times
when I did something similar I created a couple of structs.... one for the player data, and one for the game data.... wrapped them both in a further struct and then saved that
Hmm, is it here? I didnt know that..
that might help
from memory, it was something like this:
BP_SaveData (inherits SaveGame)
- PlayerData (structure)
- GameData (structure)
each of those structures you can then add your own properties too as necessary etc
Nope.
You'd need delta time if you were doing some time dependent thing like an finterpto
This is just a simple function. You could just as easily do angle = velocity/3 or whatever
You can also promote the save name to variable that way you'll never have a mismatch between load from slot and save to slot as long as the variable is plugged in
Its much better, so thank you for getting me this far @faint pasture , the only minor niggle I have now is that, when I output the velocity the maximum value I see is 314... so it would make sense to set that as the first input, so it correspond with the 20 degrees...
If that's what you want then go for it
but working it then backwards, from the -90, would give me a velocity of -1413, which I never reach...
so, I either have not quite reaching 20 degrees up, or, not quite reaching -90 degrees down...
It clamps.
(in order to keep the inputs balanced so that they can zero out)
Oh, so the "actual" velocities dont matter so much?
I mean if you give an input outside of the range, it'll clamp to the range.
ok, so in that case I'd be better of working out the negative velocity for the -90 I think... plug those in more accurately, then use whatever the ratio is between those to establish the value for the 20 degrees... (I think)
Ok give numbers. You want what velocity to map to +20 and what velocity to map to -90?
I apply an impulse (calculated based on the gravity and enough force to get a specific height) of 331.299988... BUT... when I output the velocity, the max value I'm seeing is 314... I suspect this is because gravity has already been applied for that first tick?
Assuming so... 314 would be for the 20 degrees "up"
Yeah gravity is doing that
max downward velocity is a bit trickier to tell, as the higher put the screen the player is, the more it will be... in the original game however, it will often already reach -90 degrees before it gets to the floor, so guessing the value is capped in some way..
Try this
(doubling the values seemed seemed to keep that zero point that was needed etc)
Try 100 ->20 and -450 -> -90
So what it's doing there since this is map range clamped, is there anything above 100 still maps to 20
Anything below -450 maps to 90, and I pick those numbers so zero maps to zero so it's horizontal at the peak
big hugs ๐
thank you sooo much for taking the time to help me out with this (not the first time you've helped me I know)...
Hello, is there a way to make the "slots panel" grow elements / push elements to the opposite side?
it's currently growing [new] -> [old] I'd like it to be [old] <- [new] instead
Why does my trace go thought the character even though ive set it to respond to hit events on camera and visible?
both collisions need to have the same value. so whatever your trace is, it needs to be blocked by the mesh
ah ok
How can I learn what fancy blueprint words like "Transform" mean and what it's used for?
Roughly how many months does it take to learn all the Math API References? I'm also not very good at math but want to learn how to use blueprints
I feel overwelmed by how many Blueprint API reference there is will it take forever to learn all the available nodes?
all "fancy" blueprint words have their root in programming and math terms. a transform exists the same way outside of blueprint as it does inside
how long it takes to learn it is depending on your own ability
I should of stayed at school longer to learn the math terms ๐คฆโโ๏ธ
there's also a distinction in how well you can use blueprints. almost anyone can come in and do basic prototype work
but if you want to do something more substantial, and have something that needs to be more polished for a game release, you'll need a more thorough understanding of programming
math in a general sense is just a small part of what blueprints are. most of the time you're dealing with discrete logic
I just want to become proficient enough in blueprints that I can intergrate marketplace assets together and also create my own logic
I will pay $1000 to accomplish this proficiency
that's a very broad statement. marketplace assets don't come in just one variety, and you'll find that some are much more polished than others
I want to be able to call myself a developer and not just a designer
Without knowledge of blueprints it's quite difficult sometimes to intergrate various marketplace assets together without help
a "developer" won't just stick with blueprints, they'll delve deeper inside the cpp code that constitute blueprints
and equally, a developer will have to have a more thorough understanding of system architecture at a high level, and core optimizations at a low level
I feel like being profecient in blueprints is enough to earn yourself the "developer" title as it is still a form of programming.
Some developers are just more advanced than others
you can call yourself what you want. but will people hire you as a developer? unlikely
I think you are underplaying the doors that being proficient in blueprints opens
you can make a whole game in blueprints without touching CPP
I don't personally know of any studios that hire people as developers for blueprint only work, and I work in the industry
I'm not really interested in working in the industry. I am going the indie route
well then call yourself whatever you want
at the end of the day your title matters less than the work you are able to put forward
not really... i don't like to give myself a Title that i haven't earned, it's distasteful. Indie's have standards too
well that's your prerogative. do what you like.
if you're not worried about getting hired anywhere there's nothing to hold you back
I have respect for my fellow Indies who have learned blueprints and have become profecient in it, so I won't call myself a dev until I am profecient enough in blueprint that i don't have to rely on outside assistance for putting my games logic together
Don't touch marketplace assets until you kinda know your way around. Start with one of the template projects and add some stuff. Simple stuff. Simpler than you're thinking. Even simpler than that.
You're not here to learn Blueprints, you wanna learn programming in general. Someone who knows general programming can make something in BP on day one.
and youll always likely need outside assistance
you never stop googling things
True.
unless you put together your own pc, create your own internet etc.
start by mining your own ore
i mean thats the only logical route nowadays
Not unless they know CPP specifically
government cant track me if i make my own
but they can
hope you're good with circuits
nope


