#blueprint
1 messages · Page 104 of 1
ok, figured it out. Actually pretty simple, didn´t have to mess with any more complicated gameplay tag stuff: Just addded an "And Boolean" to the subparts visibility check, that also checks for the top group part visibility. So now when the top is hidden, the subpart is hidden as well, but when the top is visible, I can still separately hide the subpart.
Ok, just another quick question:
I have a bunch of branching nodes with boolean checkboxes. They should be editable, but only appear in the blueprint details panel, if they are actually on the branch that enables them. Is that possible, or are they always spawned in the details panel, if I check "Instance Editable"?
For example:
A- Enable material override?
If that is enabled it branches further to
B - Use Wireframe override?
So, if A remains unchecked, B shouldn´t even show up.
anyone now good resources for localization? trying to use string tables but can't get a way to ONLY have string table text be used/gathered, i don't need to gather text cause i have everything in string tables already, and gather can't find string tasbles for some reason, but it is finding tooltips in niagara particles which is just.. very useful
you can't show/hide variables like that, they will always be visible
you could have certain branches always set a bool to true/false to hammer home the idea they cant be editable tho
seems you can't have string tables in content/localization, pretty fucking dumb
This is a C++ only thing. You'd want details customisation, or EditConditionHides
Hm, yeah, its not that important...would be neat, but thats purely aesthetics, our team isn´t that big...:)
i want it to trace randomly in a 180 degree angel infron of actor
Think I´ve asked this before...but is it possible to create layers in the outliner through a blueprint construction script, or is that something I´d need to do with an editor utility script?
The one thing I don´t like about this blueprint approach right now:
Its a bit difficult to animate/change single skeletal meshes inside the blueprint in a level: I basically have to add the blueprint to the sequencer and then manually select the correct skeletal mesh by name, because I can´´d directly pick it in the viewport.
Is there a way I could implement a similar functionality as in the packed level blueprints, where I have an "edit" button directly in the blueprint, that makes it editable in the viewport?
Is it incorrect?
Currently doing a line trace which is supposed to return true if the actor is BP_CarSlowDown, but it just keeps returning false even though it is colliding with the right object
Am I missing something obvious right now?
Why would you let the car 'talk' with slowdown?
Isnt it more logical tomplace that responsibility in the slowdown bp?
The answer is yes
The slowdown is just a collider to let the car know that it should slow down when it sees it and then speed up once it no longer sees that object
It should tell the car
Not have the car ask it
Did this a few days ago in a chaos vehicle
So ray trace the other way around? I'm also planning on making it slow down if it sees a player, so that's why I initially put everything on the car, but I will look into it!
Still confused as to why it's not registering as true when it hit the object though
Feels odd to trace when theres a collider
Try checking the class instead
Or simply cast it instead
That is what it's currently doing i believe
Class is purple
Ohhhh my bad! That worked like a charm, thanks!
Also, when you made the car slow down, did you just lower throttle input or did you also apply breaking?
Oh so you set breaks to 1 a single time every time the speed goes above a limit. I seeeeee
Thanks!
Here is the convo
This is done on tick
Oooooo thanks! Appreciate it
Im sure it can be cleaned up abit but it was proof of concept. Mind the fix a few comments dowm
There should be atleast 1kmh between braking and throttling to avoid weird behaviour
On/off braking...
Why can't I find this node in search?
I honestly don't even remember how I got it there in the first place
no matter what I type in search this node can not be found
not even with content sensitivity off
It's an event of the PawnSensing component
just right click the component > add event
event dispatchers only show up in the search when they are implemented by a parent class afaik
Aaah kk
or subsystems
visibility of a Decal component is Off for Parent character, and i want to set in On for Child character
these nodes dont help, so, how to do it right?
Maybe I'm not understanding the question. Why don't you promote "New Visibility" to a variable on the parent blueprint and then make sure it's set to Public (instance editable). Then you should have access to it on each instance - you can either manually set it off or on in the Details panel, or you can change it using BP code if you need to.
Does that help?
mm... nope
@faint pasture no real fancy logic here, but managed to do it without a priority system
the last bit of logic I need is just to compare whether or not the data assets are the same, and if they are we don't do anything
trigger inside of trigger no issue now
@gentle urchin yee
get mouse position returns screen coordinates. top left pixel is 0, 0 and bottom right pixel is whatever your screen resolution is
you are taking that value and setting the world location of the camera to it
I don't think it has anything to do with him.
when I click the mouse again it goes to the position I clicked before
When I drag the mouse again from where I left it, there is no problem.
So whats happening vs expected?
? yea what I said, you are taking the screen coordinate of whatever pixel the mouse is on and setting to world space location of the camera to that value
behaviour is as expected, but I assume that is not what you're trying to do
no offset location
scroll the screen according to mouse position
functionally the same thing, location relative to the springarm, then
what is your solution
should move according to where I click
should not throw back to previous position
what I'm trying to do
yoo someone is giving away free $50 gift cards <@&213101288538374145> get them before they run out
give me a sec
ok
for starters you can trace for the world location directly under the mouse cursor using "Get hit result under cursor"
Dragging is simple enough in UMG, and that's probably how I'd recommend you handle a map that's an image
I don't want to do umg
fair
when the mouse is pressed down you can have the map move along with the world location under the mouse or the inverse of that with the camera
It might work. I'll try it. but I prefer the camera to move
this approach seems alright
ah, I suppose this is what you were going for but you got confused with the term offset being used in relation to the springarm
(you can and probably should use get mouse position instead of get input touch state btw)
how hard would it be to implement a turn based system similar to magic the gathering? As in creating a turn to do xyz via. "Draw card">"Roll d20">Result of roll = /4 different results 1 draw another card from a different pile 2. encounter a creature' enters combat 3 heal party 4 take damage/ "Draw another card and roll d20 again for results of next "area"? like what sort of things would I have to use? Arrays for random drawing cards, would I use a state system for the turns? I asked in the programmers hangout too but thought id also ask here. The d20 system that I've been working on has been perfected i think using a different dice model to calculate rolls Ive just been tinkering with getting a turn based thing going on here any help would be appreciated 😄 cant thank you guys enough for being here
didnt read much into it but i found this last night sometime if this is what youre trying to do https://www.youtube.com/watch?v=b1_efR9hrT4&t=273s
What is the Convert Mouse Location to World Space Node in Unreal Engine 4
Source Files: https://github.com/MWadstein/wtf-hdi-files
Id probably make some player manager which handles the turns themself. Then some sort of enum for the players state, if they're doing event rolling, attack/defence etc
Hard to put in a few words
And without knowing the full overview of how it would work
Never played any d20 game
Any D&D for that matter
i could spell it all out if you have a bit of time 😅
imo its not too complex im more trying to learn how it would work logically
I suggested the get hit result under cursor node as the mouse location in world space alone only gives you the start location for the trace
But yea working with an offset from screen coordinates like in the tutorial is better
i just wasnt sure how relevant it was being that it was UE4 i feel like a large portion still translates to 5 🤷🏻♂️
hello everyone, I spent hours trying to figure this out online. I made a tile blueprint that activates when my topdown character steps on it. I'm trying to make another blueprint that manages the puzzle of "all tiles are activated". I made a public variable array and selected the 2 tiles in my level for testing, but I cannot figure out how to check if all actors in the array have a true boolean. This is what I have currently... any help would be greatly appreciated 🙏
you cool if I send you a DM? @gentle urchin
Set the all tiles boolean to true before running the loop
thanks for the reply, but it still doesn't work
Well i mean... are you actually setting the "is active" boolean properly?
this is in my tile blueprint, and it seems to work as it's changing materials when I step on it
Oh
this is also in the tile bp
It's because you're doing this check once on begin play
You need to do the check everytime you step on a tile
should I do it on tick?
No -.-
Tick seems expensive 🤔
Depends on how you use it.
He just doesn't need it in his particular case
Whenever you step on a tile, cast to whatever actor is doing that tile loop check, and then tell it to do the check again
You could use an event dispatcher as well but you probably are not at that level yet.
Or simply make a timer on beginplay that checks the tiles every second
Hey, I am trying to make my player be able to switch between his normal playing camera and controls and a drone which he can access by pressing X. So the drone should move independently and have its own Inputs and so on, like a second character. Does anyone have an idea on how to achieve this?
what node would I use to "tell it to loop check again" ?
A custom event bro. Maybe you should go with the other option and just make a timer that checks every second
2 seperate pawns, in your controller class you'd want to put the input action there for switching between the two.
Save references to them both in your controller class as well... finally when switching you need to unposses from one, and then posses the other
Just create a method to know which pawn to possess next
If you tell me how to create a pawn i will try
Huh
It's the same thing as making a character or an actor
Ah, found it thanks
It doesnt have to be a pawn specifically
thanks man, got it working with the timer check
In your case you likely will have a character (your main player) and a pawn (the drone)
Characters are also pawns
Thanks man! Got it to work
Can someone explain the difference between these two floats in SetTimerByEvent? I don't really understand the distinction of the mouse over text of them. If delay is say 10 here. Does that mean my event is going to happen at 10, 10.1, 10.2, 10.3 etc... But the Variance description says in leiu of... so it's just random 0 to this value?
hey,
suggestions on how to make the random armor array not being able to fire twice ?
Hey I'm having an issue with a blueprint based third person aiming system
The blueprint itself is just casting a line forward from the camera and returning if and where it hits, but as can be seen from the video there's a lot of weird additional extra offsetting when the saucer moves around, like the point of contact, the black and white target billboard, jumps around weirdly
Copy your array to a new Var
Get a Random off the Copy and remove it from Copy
yah , Random and Remove Random will pick a different random
As long as you have enough elements to not looping over elements larger than the size of array. It'll get smaller as you remove. Can do a ReverseForLoop for safety
Guys can anyone help me? i just fractured a static mesh, but when i hit play it just explode into bits. How can i help that?
Guys is it possible to shift object position from point A to point B without using tick, or timers, or timelines? Or if using timer for example, but with lower update than tick and transition smoothly between values? What I'm trying to do is to move a lot of instanced meshes, but really don't want to load them with unnecessary frequent time updates, so I wonder is there any way to smoothly lerp for example each 0.5 or 0.1 seconds for example from one position to another, without timelines and all of the heavy stuff
Initial start delay + random delay in range (variance)= end start delay i think.
Any help? BP doesn't want to fade my screen and my camera stays in default (0,0,0) position (I spawn the player after an intro "cutscene")
Blueprint: https://blueprintue.com/blueprint/_qjgenni/
(sorry its all packed up ;/)
Is it not possible to simulate physics on a mesh that is using "Complex as simple" collision setting in the mesh?
@versed sun nice ty!
nope
Gotcha, in that case I need to delve a little deeper as to why my golf ball is reacting so erratically when launched up curved track sections
if you mean the track is using complex collision, that shouldnt be a problem
in your case the ball can't use complex collision which i assume you already know
Yea I had that at first, but decided to change it back to simple collisions as the track pieces are just simple flattened cubes. I am using a spline to use many pieces creating curved tracks.
Question:
I have a first person character that can go up to a table, press E, and switch to the tables camera. Whats the best way of setting up movement for that tables camera (up, down, left, right, scroll, etc.)
afaik splines dont affect collision unless the mesh uses complex collision
I reckon my problem might be that the impulse velocity is too high? Causing it to bounce off what is essentially a curved collision surface. I am already using CCD and Trace Complex on Move
can you show me a video of that
Yea sure, it is not a 100% repro, so let me get a video that shows it
maybe a pawn with a camera, where you can put the events on
So i should possess the table actor and use its graph from there?
i mean it's an idea
not sure if it's the best, but it has movement built in
so you can possess and use it
Here is an example of the issue. This is still pretty mild, sometimes the ball bounces back to where it came from. It has been quite a challenge to get this relatively simple aspect to work reliably
mkay ill try that out, thanks
i am once again asking for help with my balls
And this is how I am adding the impulse. A simple float x forward vector (excluding the Z).
have you tried messing around with the physical materials
so you want to get rid of it bouncing too high right?
I also figured maybe the golf ball is too light? It 'weighs' 0.1kg, and changing it to 1kg whilst also increasing the impulse by 10 times, makes no difference in the end result
Its more that it bounces unrealiably. So sometimes it will go up the hill perfectly fine, and other times (from seemingly similar positions), it reacts eratically
another person with erratic balls
might be due to frame rate i believe
Ah, as in the physics update doesn't update frequently enough?
i was told yesterday to ramp up physics iterations in project settings
it didnt help me but you might wanna check
if physics is tied to the frame rate it always creates problems lol
You mean these settings?
yep
Gotcha, let me take a look at this and the substepping section. Time to crash the engine 🫠
dont forget to reset it if it doesnt help not that it creates problems down the line lmao
lmao, yea been there done that. Thanks for the reminder lol
Okay, looks like enabling substepping and increasing the Bounce Threshold Velocity from 1.0 to 0.2 * my world gravity value (188.0), it looks to make the interaction with the surfaces way more stable.
Thanks for the suggestions @radiant aurora @atomic light you have rescued me from this physics nightmare. Knowing physics though, I will likely be back in the near future
my balls are now swirling off into the distance
i need to lock some rotations i think
Also, substepping for those interested: https://docs.unrealengine.com/5.0/en-US/physics-sub-stepping-in-unreal-engine/#:~:text=Unreal Engine 5 uses a,ticked multiple times per frame.
theyre thrusting off the floor once they look up
what does this do
apply velocity to my balls into the direction theyre facing
i can see that but why
because i want them to move at a constant speed
it will always cause the ball to fly away once they look up
add the velocity parellel to the ground
your current code will cause it to ascend to heaven once it starts rolling
how so
yeah im trying to circumvent this by having it not rotate to begin with but id like it if they did rotate for the visuals
is there a specific direction you want to push the ball in?
the camera forward vector for example
they have their fixed spawn location, then i rotate the balls towards the center, and from then on they should just constantly move
this node can help
V is the vector you want to project, plane normal is the normal to the point on the ground
currently trying to wrap my head around how that fits into what im trying to do
it will make sure the velocity you want to add aligns to the ground
else it'll fly away once it faces up
so i want my force/vector to be applied only perpendicular to the ground basically clamping all vertical force to 0
wouldnt perpendicular to the ground be upwards
parallel yeah
yeah
that node helps with that
you could just remove the z component but that breaks things on a slope
wouldnt recommend that
yeah i might want elevation and slopes later on so id rather get a solid functionality before all that
brain isnt braining
normal would basically be the elevation of the ball, no?
nope
do i have to account for the spheres rotation
iirc the hit result returns a normal
its running on tick so you can do a line trace to the ground
this is doing my head in i cant help but feel ive overcomplicated this massively
i did this for a floating robot thingy
visualizing the movement of the ball in my head to go through my logic
you dont need to account for the rotation
if you want that you can apply a force which will roll the ball
cant make sense of this still
im gonna open paint and make some drawings and try and understand lmao
sure
i feel like theres something inherently wrong with using "get forward vector"
how would you roughly implement the logic of what im trying to do
get a vector towards the target location
align it to the ground
apply force along it
yeah thats what I had for the initial push
before I added the part where theyre rotated at spawning
i just applied to each ball a fitting vector that pushed it towards the middle
but the issue is id like to be able to vary the balls speed individually, so add on to it and reduce it etc
but i feel like the moment i add a speed variable id also need a direction to go along with it
you can multiply the force towards the center with a scalar for each ball
i meant moreso after the inital push
that direction would just be the direction towards the center
yeah but i were to fixate that speed by repeatedly applying it it would just suck all balls towards the center
thats what she said
okay ill lay out the entire process
the balls start scattered around a centerpoint and i want them to clash around boucing off of each other and the ring around them
so the fair thing would be to make em all start towards the center and then let the bouncing start
this is all simulation i have no control over the balls movement other than its speed (in the future not yet that important)
so beyond the very first impulse the direction the balls go to (at a constant speed with no friction no fall off etc.) is determined solely by what it clashes with
did i explain that well enough :S
thats the blueprint of each sphere that is spawned, as in their logic to keep moving at that speed
cant you just turn restitution all the way up and friction to 0 in the physics side
i do have that
does it still lose speed
instead of relying on physics why not write the interaction yourselves
add an offset each frame, in the direction of the last collision
without simulating physics
mate im struggling with making the balls move to begin with 😭
also i havent really decided yet on how the interactions should be with balls of different sizes
replacing get forward vector with a normalised velocity vector can maybe help here
i dont know how rigid body interactions will work here though
i was thinking of having collisions happen with an upright cylinder collider so from the top down view (which is how it would be looked at mainly) so that different sizes can still collide easily
but if want to have elevation id probably have to go with regular spheres
elevation from the top view wont be visible tho
a capsule collision will work well in that case
i wanted to make like a randomized last team standing simulator where the outside ring has holes and stuff
so i havent decided fully yet on whether they should be locked on the plane
dont keep them locked in a plane
always better to have something and not need it than not having it and needing it
you can always contraint it later
yeah i do think the ability to lift off with gravity ofc would make it more interesting
oh i only had that in mind if i wanted to have 3d meshes but no elevation
since smaller balls would otherwise knock up the bigger balls from hitting them from below the diameter
with elevation and 3d free movement i dont think id need a standalone collider, shouldnt the mesh suffice
okay so
beginplay i give them an impulse towards the center
and that works so it rolls towards the center and it a smaller ball, that launches it in the air
now i want it to keep moving but only in x/y so i take its velocity and project that upon a plane
no worries i appreciate the lengthy support
i will keep pulling out my hair over this
good luck with it mate
thank you mate have a good one
Hi all, ive started out trying to make my own game recently, im trying to figure out how to add items and an inventory to my game.
My idea is that i have 3 files; An info.s file, which contains the physical properties of the item. An obj file for the model. And a description file.
as for the inventory i have no clue how to do that yet
so you will have three files for each item ?
ye
obviously you want that in a folder
ofc
and maybe a file that organizes it
how are you saving anything ? theres some built in stuff for that
idk yet
but i like to use custom files
was thinking i could just have a simple txt file
give each item a number
ironsword
ironsword
goldsword
but if you have two ironswords they gotta be different in some way
say one does more damage, you dont have to make two seperate sets of files for that imo
well i wasnt really intending that
but ok
i could have like
ironsword {modifier}
the modifier being a certain number pointing to another set of folders
because i do have enchantments planned
it's always good to atleast have an id for a record in a file that your using for data
well when i said database this is what i had in mind
id | name | description | damage |
1 | ironsword | sword made out of iron | damage |
pipes are perfect too
so you have default values for all, and if your enchantments are simple +5 damage you can combine those
well see the damage was going to be in the info.s file
What's the cleanest way to do a list of lists in BP?
Specifically I need a list of lists of vectors
ill be honest i have no idea how to do this
you can read a file and parse the data
maybe i should work on getting attacks with one weapon done first
i feel like splitting those things up into multiple files would be hell to keep track of
That's a good first step. Then figure out how to do an inventory just in blueprints, then maybe try to add in the file-loading angle. Work in sequential steps of complexity
well, now to figure out how to do that
Actually wait this is fucked I need a TREE of vectors
Man this is hard to google. It's all either behavior trees or, like, foliage. I need the data structure lol
N-tree
yeah youre cooked fam
im gonna cry bro it shouldnt take me 4 days to make balls roll around
why is this so messed up
You really don't want to go implementing custom data structures in bp
Be kind to yourself, use C++
But I like BP, and I dislike C++
I already built a whole savegame system in BP to avoid C++
Well unfortunately it can't do everything
Blueprints is a trial version of the engine essentially
In fact the engine has some implementations of trees already, just not for bp
im gonna consult bing ai i never thought id stoop so low
Ironically a save game system is one of the huge strengths of C++, because you can just iterate properties and check for CPF_SaveGame
Actually the realization I had was that you can't. Like, you can do that and set the properties to what they were before save, but if you do that naively you're going to run into problems again and again because it's not enough to set the world to what it was, you need to wind time forward. For example, for an NPC, it's not enough to remember their health was 0. You need to go through the process of having them die, and everything that entails, but in a way which is non-distruptive to the player. You need them to be dead.
It's work every time.
You can easily restore world state like that, because that's how the plugins work, with a few specifics
There's always going to be some work involved. But it's less than bp
Is there a simple C++ save writup araound?
I've noted that tag but I've never really tried to use it
alright so for my first weapon (a dagger) i need to have two attacks, stab and slash, i have no clue how to do this
Ooof if you use blueprint struct
Describe a stab
like just
Stab sounds like an animation + some data about how much damage it does right?
stabbing someone in the stomach
ye
Not that I've found.
I might have to have a deeper dive and write on up
I just know it on a very surface level
Research anim montages
huh
you can do moves as just montages if you want
well i dont really have any animations rn
since a montage can have notifies on them, and the you can make a custom notify where you can type in how much dmg and whatever
k so make them
i dont even have head bobbing
or get them
Those take down , finishing attack etc are done with montages normally.
U better off getting some anim first
so describe how your system works.
The first draft should probably look something like this:
Input button -> call DoThing on MyCurrentHeldItem
Dagger is a subclass of Item or Weapon, and the base class (Item or Weapon) has DoThing event
the dagger would override DoThing to do the dagger things
or use an interface
i dont know what half these words mean in this context
no
next step is implementing any custom logic at all
try this
make it so you can press a button and it'll knockback anyone around
ok
Button -> hello
Button -> sphere trace -> print name of everything hit
Button -> sphere trace -> print name of every CHARACTER hit
Button -> sphere trace -> knock every CHARACTER hit up in the air
Button -> sphere trace -> knock every CHARACTER away from you
i doubt they have characters, start off with a cube
they have characters im pretty sure, probably started with 3rd person template
i find those templates very misleading
yeah but running and jumping day 1 is alluring
just set you up for failure
In this episode, we'll cover how to make and open a new project, how to move around in 3D space (it's really fundamental to everything you'll learn later!) and how to navigate UE4's editor to find what you need.
Get Unreal Engine 4 here!
https://www.unrealengine.com/en-US/get-now
Music:
L e a v e s by Sachko - https://soundcloud.com/sachkobe...
Hey does anyone think they can help me try and figure out how to make my physics door locked from one side only? Currently I have a lock and key system but I also want to find a way to make the door only locked from one side.
What happens if you don't hook those bools up
How so?
uhhh
does that input action even fire? Put a breakpoint on it (right click)
It even have solid anim blueprints to look at
there we go now it works
Template is fine and sample project r good source to look at
If you're 100% brand new it's way too much at once.
yeah that
It's learning to drive in a sports car instead of a shitty beater
The anim bp is as simplest as it can be imo
Also the input
Tps template can't get anymore simpler
I'm talking about people who don't even know what a class/instance is
no chance in hell someone who doesnt already know how anim BPs are set up understands it
What will u learn with a box
everything
the template is useless to both people who know and dont know stuff
How much does someone learn about cars when they start with a luxury car with ABS and traction control and stability control vs starting in a manual trans rusted out shitbox
Gotta disagree when it comes to tps
you have to learn the hard way to appreciate what's given to you with the advanced start
At the end of the day when u want to move stuff it's also the same node
When you've made movement on your own, you learn to appreciate the fact that you can just call AddMovementInput and it'll automagically move around
unless you've done the whole Tick -> move the thing implementation, you'll never really understand how stuff is working
I think people should start with a 100% empty world and from a Pawn base but that's just me
Well if they start from 0 maybe it's good to know all the components
But in my latest project I just start with tps and expand from there
It has everything I need
If you already know how to code that's fine
The first project someone who barely knows what a variable or function are, should be something like Snake or Pong
the first project should be the ALS template
Is pong even easy?
pretty easy
The way I see it, u have to detect collision then negate the velocity
that's not too bad though
A lot better than someones first project trying to be Valheim but better
My first project was a fantasy brawler like Battlefield: Arathi Basin lol
made some cool mechanics but I eventually learned that no, I was not going to make that thing
Hi guys, any of you know why when I click install Quixel Bridge, nothing happening? It didn't start installing or anything.
the first project "im clever i can replicate an entire studios work" enthusiasm
how convenient you bring up balls
im still struggling with this
mfw i watch pong in UE tutorials and cant even replicate ball movement
Tick -> ???? -> Move
i made a replicated kart racer movement with network replication and prediction entirely in blueprints 
with box traces
easier said than done when the rothschilds are paying my engine to be buggy
cool now add motion blur and lens flares
I have to have a TINY bit
multiple ways really
slow walking is just a matter of setting max walk speed i think
since I have spinning things and you gotta be able to tell if it's spinning
if it's a character
remember how when you pressed a button you made stuff happen
now you gotta make another key slow you down
either held/toggled
watch some tutorials
fuck tutorials
I force motion blur on my players
drag your character movement component in the graph, right click it, look at what you can mess with
then how is she going to learn when doing it the first time?
game looks bad without it 🤷♂️
hint, you can change the max speed
well
the best way to learn is to just try to do the thing
ive been using tutorials
that's good
thats how i have headbobbing and moving
most tutorials arent good
they are but they always miss something important
Every tutorial sucks, there are some good ones but by the time you know enough to be able to tell which ones are good, you are way beyond them.
this is what i have so far
How do you think people learned this stuff in the first place, just try to do the thing.
well yeah because theyre tutorials in the sense that they show you how they did something
so all you learn is how they did something
if you planned on doing something else slightly different you just gotta hope their way of doing it overlaps with yours
what is that, why is your screen divided in 4?
actually the camera shake looks pretty good when running
VHS Project: https://erementalstudios.gumroad.com/l/VHSproject
Website - https://erementalstudios.com
Discord - https://discord.gg/q2MGdmXU9B
!If you want any further help join my Discord!
Make a Realistic Head Bobbing Effect in UE5 (First Person)
got it from this tutorial
In source, how would you make a slow walk?
you dont
every source game has the same movement
wdym by 'source'?
You can't modify the max movement speed of a character?
How do they run faster with a knife out in CS:Source
so idk how they do that funky stuff in css
just multiply a value?
Anyway, if you drag off the CharacterMovementComponent you can get and set all sorts of values
one of them is maxwalkspeed
changing that will do what you think it does
set it to 100k for fun times
changing the speed of the character 
so i just want to have a button that, when held, halves the movement speed of the character?
well if you set max walk speed, you'll then need to set it back
Begin play -> save the default speed
Button down -> set speed to half the default
Button up -> set speed to default
as we just said, you can set the value in the player character to properly slow the speed
you COULD just half/double on button down/up, but that can get out of sync if there's aynthing else modifying the speed ever, or if you do it a bunch of times and end up with float precision problems. The best bet is to have a stored default speed that you always reference when modifying
hold up i gtg
Is this actually necessary? Does anyone know if Location is sane on a non-blocking hit?
its 0 if no hit
im gonna cry ive managed to make my balls do a goddamn waltz
but not to zing around
im crying looka t his
some people couldnt eveb do this choreography if they wanted to
how are they supposed to move
like pool balls that dont slow down + have elevation (with gravity)
show sphere trace or whatever does the collision
i just have a sphere mesh
Show any code that modifies their velocity or adds forces to them
left is the spawner, nofriction_pm is on the walls and the spheres while the one with no restitution is only on the floor (dont want more than 1 bounce), and right one is sphere_bp that right now does nothing useful
alright so
how would i save the default speed?
what are you trying to do here?
When does the orientation of a ball change?
make a vector variable, name it, set it
uhhh
Properties that hold a value or reference an Object or Actor in the world.
could i just store it as float?
yeah sorry it should be a float, correct
why are you setting velocity on tick, do it on beginplay
Reasons but he's doing it wrong
he wants the speed to be constant
and it wasn't behaving before
so do i want a namedfloat?
set velocity to current velocity normalized, multiply that by 500
the orientation of the ball should change on collision, it should face wherever its going
show your code for that
then why are you suprised it's not working
just do what we're saying and it'll work
🫡 godspeed
because i just realised it after you mentioned it that the rotation should follow the velocity
not the other way round
ok i once again need help bc i dont know how to do this
orientation*
@exotic quest did you read this
no because thats for 4.26 and also because reading the docs usually just confuses me more
read it
its not like the concept of a variable has changed
make a float variable. On begin play, save the current MaxWalkSpeed to that variable
then when you press the button, MaxWalkSpeed = Variable/2
ok jeez dont have to be hostile
Simple workflow/optimization question.
See here, two similar events will update a different member in the same struct. I then use that Struct to update a component.
Those events (more than 2) will likely all run at the same time. So I only need to update the component with the struct value ONCE after all the events have run.
How do I set that up?
(the custom events do interp so this might run at every frame while active.. hence why I want to clean that up)
What percentage of the time is this interpolation running?
all the time, almost never, half the time?
idk like between 20% and 90%.. sometimes it might be running for 30 seconds straight
I'd just tick and interpolate everything all the time probably
I also intend to use this workflow like.. a lot.. for hundreds of parameters
BP only?
yeah bp only
so tick the Set Control Data..
when does event tick run? before or after the other events?
Quick question, is there a way I can exclude objects from a post process volume without using custom depth? Because I'm using custom depth for outlines and it would kind of ruin it, my issue is that it's a hatching shader and when applied to everything light doesn't really work lol
what is Duration, is it different all the time?
Duration will likely be the same but can be different, I need that flexibility
What happens if you add another call while one is running?
Interpolate towards 3.0 over 5 seconds
1 second later:
Interpolate towards 5.0 over 2 seconds
what happens?
for this struct, usually the duration will be the same for all of the members when I launch something.. but the next time I launch it, they will be the same, but a different value than last time
hmm i'd want the latest interp to take over
That's what'd happen right now anyway
If that's the case then it's doable with FInterpTo running all the time
yeah this part controls physics values.. which makes a bad example for this system since those wouldn't need to be interpolated as much.. but this system will apply to all kind of values.. material parameters, location, rot, etc..
i'm build an audio/visual instrument
This is very much NOT BP territory
to perform live visuals and adjust parameters on the fly.. like a synthesizer but it,s unreal engine
It'd be trivial in C++ and giga fast but anyway, I'd do it with a constant interpolation
is it all floats?
nah u said rots and locations
vectors.. rotators, transforms, colors.. floats.. that's about it
OK I'd do this
Struct
float array
rotator array
transformarray
color array
Then a speed array for every one of those
yeah I built different interp methods.. and so far they all do the job (kinda) but I'm still early and I will have hundreds maybe thousands of parameters so it's worth doing it clean
what does SoA mean?
ok its a float variable now
Structure of Arrays
how do i set this to be the max speed
drag character movement component in, drag off it, type "speed"
@ruby cobaltI would have 1 structure with everything in it in some central location.
Each frame, iterate through everything and interpolate it
the plugin I use also comes with stuff like this, so it's not always custom floats with sub events..
Your interface can still use duration, just you'd turn duration into speed
and where would that be..?
so it,s better to just update everything all the time than check if things need to be updated?
show your component list for your character
im gonna piss myself it actually worked
what did i miss the first 12 times i looked at that message
Probably, if it's mostly always updating anyway
I had bad experience with Speed.. since I tie this to sound event with specific duration.. it's easier for me to use duration
you still use duration, just it gets turned into speed.
Speed = (Target - Current) / Duration
and what's the advantage to using speed?
you need a speed for the interpolation
when you add a target value, you're changing a target AND the speed
ok and what do i do with that?
ok
fuck didnt stay there
but its saying you cant connect those
oh nvm
it was using something to do with wind
@ruby cobaltI'd structure it like this
Struct Everything:
float array FloatCurrent
float array FloatTarget
float array FloatSpeed
Tick -> for each FloatCurrent -> FInterpToConstant FloatCurrent towards FloatTarget[index] at FloatSpeed[index]
UpdateTarget(index, target, duration):
FloatTarget[index] = target
FloatSpeed[index] = Abs(FloatTarget[index] - FloatCurrent[index]) / duration
Keep that same energy for all the other types like vectors and colors etc
this?
@shy pecan @faint pasture it works now 🫶
i think the first time i read that "velocity = normalize(velocity)*500" message i also had the angle calculation above in the tick which messed it up
hey wait
Yeah I don't think there's even an edge case that breaks my environmental system 🥳 woo everything is perfect
the volumes?
with priority?
theres a node that just lets you set the max walk speed
yes thats setting that same variable within the CMC
you need to know what it was originally to set it back
ok this isnt working
well first of all the top of that blueprint isn't connected to anything.
All you're doing is setting a variable to 0.7, then on cancel setting the cmc's walk speed to itself
I highly advise you visit the pins of #ue5-general and find the link to the official learning portal. It's the best resource to get the editor basics, and blueprint basics down 🙂
Maxspeed != Max Walk Speed they are two different things
yeah, I made it without priority for now, but there's a priority variable if i ever need to use it
slows me down, not speeding me back up yet
now it works
i had to have it on completed
not canceled
all of those are overlapping
so you ar ebasically setting a variable in the playter called 'max walk speed'?
no i dont think so
so if they have the same data asset they will not change the environment stopping the resetting of music etc
okok that's good
but you wouldn't set it to 1 or 0.7(which is realyyyyyyyy slow)
if their data asset is different it will call set environment
ye its in the hundreds now
now to do sprinting, which should be exactly the same but with speed
instead of slow
yup!
oh and crouching
if i dont put a safeguard in to stop me from crouching while jumping, it should allow for crouchjumping, right?
Yes, you should try it to make sure it works properly as you want...
Guys, is there any problem with what I did? Through an overlap of a component that is in front of my character, I return from this object an actorComponent that implements my interface (Interactible_i), then I cast this actorComponent to the Interface, and then I store this object in an array of Interactible_i,
called "InteractionTargets. Would it be better to cast it to the actorComponent type itself and store it in an array of that type, instead of an interface? The first print below shows how it is currently, and the second print shows the alternative I am in doubt if it's better
I'll likely refactor it to use priority only at some point
Hi i have quick question. Im new into using blueprints in UE5. I created variable and i want to use it in another object. How can i do it?
you can cast to the other actor to get the variable
is the variable in the player?
any other questions?
Check the pins for a great guide on blueprint communication
i will check it ^^
Hello! Newbie here. Anyone ever have an issue where their macro library is not appearing for use? I've made sure to pick the correct parent class for the library. I've already tried resetting my program and that didn't fix it either.
Uh, I looked up the BP editor documentation and via Search i was able to find my custom macro so it does exist but the folder isn't appearing on the shortcut list "My Blueprint". Is this just an issue with 5.3?
Curious what you're using a macro library for
I've used unreal for years and never made created a macro
I'm going through a beginners course that's teaching the basics. I figured this woudl be nice so I don't have to retype or set up the same blueprints back to back if a repeat is ever needed I could use a macro.
A Blueprint Function Library is more commonly used
macros are useful at times, especially when there's multiple execution flows, but they're not the norm
When I hold right or left key (a, d), how do you get the info in animbp? It's not in velocity or rotation.
oooh, i see. I wonder if this course im following will mention that. Thanks for the link.
If i like to store evry logic in 1 place, 1 big blueprint how laggy it can become?
does "collapse nodes"or "collapse to function" helps with optimization?
no. that doesn't help with optimization
look at the S in solid.
Very laggy in editor and you can’t realistically put all your code in one bp without constantly making your life more difficult than it needs to be
use a blueprint widget interface and python to create the BP 😆
that would be hilarious
what if break everything to small functions and put all them in the main function library
would that function library be laggy?
You're going to have a hard time finding someone who's tested it because of how much of a bad idea it is
The link I sent earlier goes over common programming design patterns
SOLID is an acronym
The S insolid stands for the "Single Responsibility Principle"
It dictates that "A module should be responsible to one, and only one, actor."
btw how to even debug function to see what varibles values right now?
If I add a widget to an actor's viewport, how can I get a ref to that actor from the widget? Is that the owner, parent? Neither of these appear to work,
Prly less but still, doesn’t seem necessary
Laggy as f. Takes like 6 seconds to compile too for me
I used stencils, had no idea they existed apparently 😔
Pass in the actor to the widget when you create it
- Create variable in your widget blueprint of type actor. Call it actor owner.
- Make it instance editable and expose on spawn.
- When you create widget, set the owner on the exposed variable
any way i could do some sort of inventory system like the equipment wheel from ac3?
are you asking for someone to tell you how to make the inventory system from ac3?
Well not directly
Just asking if it would be possible to do a paused weapon wheel thing
And where to start in implementing it
well the image you've shown isn't really related to inventory, it's UI. Are you looking to make a cool ac3 UI, or the ac3 inventory
Moreso the inventory rn, but I'd eventually like to do the ui too
the UI is displaying what's in the inventory, but the inventory system itself likely doesn't know the UI even exists
does ac3 do something specific that other inventory systems don't do?
Well ye you can only have one of any type of item
And theres permanent items
Only one melee selected at a time in the quick menu, can carry like 3 different melees at once tho
At least that's how I remember it working on the ps3
are you new to making games?
Extremely
If I sound like an idiot it's because of that
Tho I have a decent bit of web dev under my belt
@exotic quest I see, the original question you asked can't really be answered quickly. If you like you can DM me and later when I'm available I can help you get started with your journey. It will be a hard place to start for a beginner though
Inventories can be rough
@exotic quest You should still follow my advice from yesterday and get on the official learning portal and start taking some official beginner courses. An inventory is a tall order when you're this new, and you'd benefit from the resources epic made specifically for people in your situation
Id ask in #materials
Material graphs aren't blueprints despite looking similar 🙂
Ah my bad
Homies,i have an interface ,i created an actor input there,and have firefly actor .I want to make this:when character overlap with firefly ,attach fire fly to a spring arm thats in the character
I have no idea how can i write this
In my character
I know i need a attach component to component,get class,get component by class and class is child of nodes,a branch but how do i connect them?
I tried this one and it does not work
Maybe i need the root of that class and then compare with static mesh
But this also does not work
quick question: I´m just starting out with blueprints, building a blueprint actor with tons several hundred skeletal meshes inside and I wanna control various visibility sets, animation for ALL of them, material overrides etc.
Its starting to take shape now, but the graph is getting pretty..long...its basically ONE long execution flow from left to right and everytime I insert another set of skeletal meshes, its just growing...
Whats best practice here to sort things better?
I still need to add comment boxes, but other than that...are there better ways to sort things?
Lets say I have several sets of meshes that are all referencing the same assets and then I just wanna join them in the end to have stuff like animation and material overrides applied to all of them...
Is there a way to NOt just have one long execution order graph?
Wrap them in functions at the very least😄
Actually just found a youtube video that has a ton of good tips...:)
Support the channel on Patreon:
https://www.patreon.com/CobraCode
Being able to keep your Blueprints clean and tidy is a very important skill to have as a game developer using Unreal Engine.
In this video I will give you 15 tips on how to keep your Blueprints clean, tidy and organized. No more spaghetti code (or nodes).
● Subscribe: http://www...
Tip 7 😉
quick question again...when would I collapse nodes into a function and when would I just collapse nodes?
If its purely a cleanup thing and never gonna be called again,
Collapsing can be fine (altho i dont likenit at all)
Otherwise functions 🙂
Functions cant be latent tho but thats usually not an issue
Hm, if I collapse to a function, I get an extra "target" pin, thats a bit irritating...don´t know what to do with that.
It's just there so you can call the function on another instance of the class, if you want to
Then you put the reference there
If left untouched it defaults to "self" which is fine.
Can anyone tell me why this doesn't work, please.
Got no target
Its not a magical broadcast thing
It needs a reference, and it needs implementation on the reciever
Ok, set the target to BP1. What do you mean by implementation on the receiver?
Ah, I think I know what the problem is, thank you
I want to thank you for your hint, you inspired me to totally rethink how I can handle thousands of visual actors on screen which are not actors naturally. Now I'm able to draw 5000+ drones in one frame without serious performance hit utilizing ISM + my own way how to handle all of that in blueprints entirely without even touching C++
I want to cast to a Notify Blueprint inside my Character Blueprint, does anyone know what I have to put into Object?
Why would you cast to a notify bp
If the notify contains info that the pawn needs to know about, it should be passed along with the event call
Now add animation control through per instance data entry in the material, and you're good to go !
Hello, can you help me ? i have an issue with my inventory problem
the findslot function is used to know if the item is already present in the player's inventory, for each element in the player inventory (content) I retrieve the item id and compare it with the one to search for, and return if the item is found in the inventory
But i have an issue "infinite loop"
unfortunately it won't work because of how I made this. You see, I'm actually moving instanced static mesh component, while it moves - I add drone mesh instance when needed. After that I calculate when it reaches "end destination" and move instantly position of component to the previous drone. That way I stop after some time adding instances, I also don't remove them and so on. Problem is if I add animation control - after instant shift of component animation jumps and bugs, well it's not actually bugs, just because of the shifting, state of previous drone become state of last drone, and because of perinstancerandom this will be different which will cause visual artefacts
the way I did this to move entire component and not instances itself to avoid for loops which are very slow in blueprints, and also don't spam add/remove instances
You should be able to have a 5k loop in bp without to much issue
But can ofc move that specific part to c++ for some gains
Sounds very rigid, the way you've done it
Except for the 1000 iteration limit by default :P
Isnt it 100k?
No
It cannot be 1k
tested in 5.3.2 just yesterday, it's about 20 000 now
No way
after that it says "infinite loop detected"
Every exec in the loop counts as 1
Afaik
So if its doing 2 things, you half the loop count
You can up this of course, but a loop larger than 1k of already consider a C++ candidate tbh
I dont disagree
Iteration is one of the pitfalls of bp
that's why I avoid iteration through thousands of instances when I can move the entire instance holder instead. And because I don't know C++ at all 😄
No time to learn like the present :P
As long as you're aware of the drawbacks, approach however you see best
I'm making a Vault/Mantle system.
I need to let my character know that he can move by turning a Boolean to true inside the Character Blueprint after notify event is triggered
So far I got to do this inside the animnotify blueprint which I think is not suitable.
I do understand the pitfalls of blueprints, but I love them so much that I just can't skip them. Learning C++ for UE is still not an easy task and will consume a lot of time, but yeah, sometime I will need to do it anyway 🙂
If you focus on doing a single thing in c++
They really are quite amazing
after all, if it works like intended and not making your PC a microwave who cares what was used to create it 😄
Are you talking to me?
The only thing I'd say that might be advisable is taking odd times to go through a chapter of learncpp.com passively
No^^
Ah
is C++ a good thing for loops? I just don't know, how good it will work if for example it will just iterate through for loop from 0 to 10 000 in one frame?
You could loop a million in c++ and barely feel anything
hm, interesting, might consider to switch one thing to C++
In a lot of cases C++ can be up to 100x times faster if not more
Do it
wow that's sounds nice
I dare you
Bet you could have it done by the end of the day
And be surprised by how easy it was
and what about blueprints nativization? It won't help in such cases as for loop in BPs?
Deprecated
oh
I spent 5 years in bp only
Then started touching c++
And maaan
I wish i dipped my toe sooner
Way sooner.
Yeah nativisation never really worked and got removed
I've been programming on javascript years ago but man, when I look at C++ I'm just scared, it looks way too strange to me 😄
Learncpp.com is a good resource. Stop just before the chapter on exceptions.
It's a lot of reading and doing, but if you passively take it slow it will be a breeze
Once you get the hang of the syntax
thank you
Its gonna be alright
hi guys why my camera zooms in when the sequencer is finshed
When you're a little more familiar with the language itself, there's a top pin in #cpp that details a bunch of the traps epic leave in.
(By default they leave a lot of things enabled and accessible that can nuke projects.
Side note: source control. Use it now if you aren't already)
thank you again, will note that. Of course I'm using source control, even thinking about my own NAS to setup just to skip cloud
phew
for what it's worth you don't even need a NAS
your remote can just be a different folder or drive partition
I need it for more things also, not only that, that's why I consider it 😄
then that makes sense :D
There's also a great breakdown on blueprint performance, third pin on this channel 🙂
Again, don't worry too much if it isn't causing you problems, but it's a super awesome skill to have and unlocks so much more scale and engine features
Yeah it's just I picked up a fricking crazy size of the project that I want to create, working about 7 months on it already +- in my free time. And I want to reach something like early access phase to actually make this project my full time work after which I can dedicate more time to things like C++ and so on 🙂
plz help : (
I wish you luck in your journey 🙂
thank you 🙂
from what I see you instantly shift your character after sequencer ends, that's why camera might move, if you want more smoothing use "set view target with blend" to shift between sequencer camera and player camera
Got it, thanks so much for the help!
Hey @gentle urchin!
Just want to get back to you in regards to the DoubleJump/Launchpad-issue you discussed with me last week. I was able to fix the problem the other day without going into C++. Felt really nice. But I want to thank you again for taking the time talking to me about it! 🙏
Ok, quick question: I have a blueprint with hundreds of skeletal meshes...is there a way to create a functionality similar to level instances, where there is a button called "EDIT" that "opens" the level in the editor, so I can select single assets inside of it?
Hello everyone
I need guide how I can make this interaction system when mouse move like video pouch and then camera.
Nice! How'd you solve it? 🙂
First image is inside CharacterBlueprint and second is inside the Launchpad : )
Launchpad Casts to CharacterBP etc
Oh
so you went for incrementing JumpMaxCount
instead of reseting current Jump Count
Haha yes, I realize it might b a bit of a scuffed solution. But thats my skill-level atm lol
Only issue i can imagine with that is
you somehow miss the part where it resets jumpcount to what it should be outside of launchpad space
so lets say you had 13 launchpads
and somehow lands on something that doesnt reset the max count
you run around with 13 jumps x)
Haha that is true. But I believe the nodes in the CharacterBP would solve it since it is "On Landed" and it reverts back to 2 jumps if Double Jump is unlocked
I see ^^
Unless I make the player land in water or something
Heh
Then I'd have to make additional solutions ofc
just a hypothetical
Ye, good heads up!
Can you help me understand this error? I understand its meaning but do not understand its function which is the problem
show the function/logic
infinite loop, so you hit the infiniteLoopDetectionTreshold
its for an inventory system, find slot detect if item is already in inventory, if true i add one , else i give a new slot
and that's where cpp comes in place
you're also doign a while loop pre this loop and the other loop
sounds kinda rip
not sure why its a while loop in the first place?
makes no sense to me.
there's nothing to "while" wait for
now i have this ?
Do you think that the first while loop is of no interest? I follow a tutorial 😅
yes the while loop makes 0 sense
If its from the tutorial
i'd seriosly reconsider
well if there's no stack, he creates one and then it loops and call the addToStack function
so the whileloop is there for if you add several unstackable items ?
why wouldn't you handle that in the CreateStack function if so
I'm a beginner, I'm not copying 100% of the tutorial, it uses features that don't interest me so I'm just getting inspiration, it's likely that the modifications I made made the loop useless 😅
If you add 100 apples, and they are stacklimited to 20, then CreateStack should create 5 stacks imo 😄
and if it doesnt, then why is there a quantity input on it ?
i dont use a stack limit
inconsistent imo
you should delete the loop and place the function addToStack after creating a newStack
oh ok
i use a weight system, the stack is unlimited, juste i check if the item already exist in inventory, if exist i add the new item to stack, else i create a new 😅
.
why addtoStack after a new stack ?
actually if slot not found, i create a slot and add item to it, else if slot exist the item are add to the stock
Id just let the create stack add directly to the new stack
In the same loop
So instead of the hardcoded 1 inputz connect the quantity from the calling function
Same with add to stack
You want the input Quantity connected.
When I try to open the default unreal walk animation blueprint unreal crashes this is version 5.3.2 by the way
How can I check if the element has been added to the array content?
actually this function doesn't work, nothing to print
yes, its for test
i think multi sphere trace or sphere trace by objects would ve do it
well yeah more of the curve,line start-end points im after
Multisphere
Filter by angle
If its really that accurate (doubt it)
Is just do the multisphere
Probably just one frame as its so fast anyway
I've never tested it at least.