#blueprint
402296 messages Ā· Page 877 of 403
it's just one animation
Yeah maybe having it as a montage would make more sense if something like that?
ok i'll try it
You just need a montage slot in the anim graph and that should allow you to play them :)
how do i do that?
Google unreal montage slot or something
anyone has issues with UE4 bugging out (I have an nvidia gpu and a 2k display), I can use the editor with my 1080 monitors, but it bugs out when using my 2K monitor, I can work on blueprints like this
Show the problem
"bug out" doesn't exactly narrow it down.
any context menu in a blueprint doesn't show, I can't even screen share it because the screen share does show the context menu, but if I were to record it with my phone you would see that I cannot see the context menu
I'd personally avoid doing level bp at all costs in the name of modularity
Any tactics for dealing with specific instances then? ex: Not placing them in the level, but instead spawning them with the modular actor?
That question is very vague... sorry lol.
The situation that got me thinking about it is a title menu, where the user can go from screen to screen to screen, and levelsequences animate between them (and within them). I can easily handle it, but I'm curious what the current best practices are.
Like I learned about subsystems and how to effectively use plugins way too late for it to affect certain projects that they would have very much helped.
And how do these manager actors link together @trim matrix ? Getting all actors of class/interface?
Interesting.
Oh holy crap you can.
I thought you needed to poke the level blueprint and have it redirect stuff.
Yes. Ew. lol
I figured that was the big deal with LevelBlueprints, you could point it to references in the level. Huh.
Well I wrote a poop ton of unnecessary boiler plate. <shrugs>
It seems convenient for level logic like "on button interacted with --> unlock door"
Holy crap you can even see it from the dropdown if you click on the instance. Wow how did I not notice that since literally 2014...
Yeah, guess you'd need to have some kind of elaborate interface setup for it where a button can have a ref to an actor which implements the buttontarget interface
I mean I guess I did most of my stuff in straight C++ but yeah.
but it becomes annoying once you get into situations where you want one button to do multiple things, so now you either have to make the button support multiple targets, or have a proxy-target which does this...
Wow this makes things a lot more simple.
Annnnnd that's why I ask questions lol FML.
What even is a gameplay event lol
first time I hear of this
lol
I'd love to have a system where I could actually visualize it in the level
Eg. if you hook up a button to a door, you could see an arrow
would make it easy to not mix up logic and such for it
I've been using Unreal since like 2014 and have never once put anything in Level BP
maybe like a show menu or whatever if I didnt want custom pawn or controller, but that's about it.
It's been useful in my fps project since you can stick level logic for all kinds of purposes there
I could maybe see using it if you had some super level specific stuff but I tend towards systemic game stuff so never needed it.
and all you really need to hook things up is just delegates in the actors that send out events, so you don't need to know up front what kind of actions it needs to support, and what actors can receive them
That just gave me an idea, some sort of panel for visualizing all cross-references in a level
all actors that reference other actors in the level
why use projectile movement over simulated physics?
A million reasons. Physics is more chaotic and unpredictable, while a kinematic movement system (CharacterMovementComponent, ProjectileMovementComponent) is more controllable and fine-tunable.
@wanton imp Thank you!
You can add an arrow component to your blueprint
Yeah that's not quite what I was looking for :D
Does projectile movement have any kind of built in variance? An actor spawning the same projectiles at a constant speed is returning these impact results at about 500 yards. Ive noticed that on occasion they can be really off.
How do i run 2 functions at the same time?
I have a group of rabit instances that encounters another group.
Each different rabit in my group has different properties of combat.
So while the rabits are moving they are also fighting.
So i need them to move and at the same time calculate the outcome of the combats.
The problem is that when i move all my instances the function that deals with combat has to wait.
Is there a way i can make these two operations run at the same time?
Gravity or no?
@faint pasture gravity has not been modified
But you have gravity right?
yes
You'll get a flight path difference due to slight framerate difference. It's due to using semi-implicit euler integration
@faint pasture do you have any suggestions for someone who is trying to make a ballistics heavy multiplayer?
You'll want to roll your own projectile movement component using Verlet or something if it must be exact
Typically in multiplayer everyone sees what's happening on the server.
How much variance are you getting? That's a group how big at how far a range?
Not really but if it's real time, per frame (tick) they'll fight a little bit, and move a little bit. Are you asking for the AI controlling side of things or the pawn mechanics side of things?
@faint pasture
-I can give that a go! Thank you!
-Im trying a cheeky work around by not having the projectiles replicate (lot of units) and just have "fake" bullets for clients. But these tests have all been done in single player so its a moot point atm.
-Anywhere between a few cm all the way to a few meters. I think your framerate theory is accurate and will chase down making my own. It is always a variance of distance and never left or right.
I think its pawn mechanics, if i understood correctly.
The problem is that, some rabits are stronger than others. So i have a loop that moves all the rabits (with vinterp to) in the direction of the pink rabbits (the enemies). Then when they meet each other, the combat begins.
As the combat begins, both the blue and the pink rabits start dying (combat). But each time they die, the rabits need to move to find other rabits.
So you see i cant get my head around this
I'm doing something similar. If you want them to be as deterministic as possible given initial conditions (launch velocity, initial position) then I'd recommend making your own system doing line traces every frame and probably using Verlet integration (It'll be perfect if you don't have drag). If you have air drag, you're gonna have a bad time. In that case, I'd use semi-implicit Euler and a fixed time step. You would then lerp the actual bullet on the variable time step, but the simulation steps would be like 15ms or whatever.
OK so the root of the problem is that you can either move or attack, not move while attacking?
@faint pasture that sounds perfect - ive got some learning to do. Thank you!
I would do movement by, each frame (tick), moving towards TargetPosition, and checking if you can attack a target. If so, do the attack. Next frame, it'll move a bit more towards TargetPosition and check again if it can attack, etc, etc.
yup thats the issue. And when some of the others are moving (with vinterp to), the combat gets halted (because it needs to wait for the movement to finish)
but maybe thats the only way to do it
If air drag is a thing you want (probably is if you're doing semi-realistic ballistics) then you'll want to calculate paths at a fixed timestep. Just make sure the bullets are precalculating either their entire path or like 100ms ahead of themselves.
combat halts for the whole group when movement happens
That's really down to how you have stuff set up. Is this game semi-turn based or fully live action or what?
yup its fully live
So can a rabbit move or just a group of rabbits? Like what is "a group"?
I would set it up such that an individual rabbit has a target position (where it wants to go) etc, and a "group" is just a way to tell a bunch of rabbits at once what you want to do.
I have groups of rabbits that are instances
instance static meshes
So is there any logic on the single-rabbit level at all or is a group of rabbits the smallest it gets?
Like can you say "Rabbit 12, go over there"
no no, they are a group. so they fight as a group
yup i can
i can by getting the specific instance
it seems i need something to be synchronous
I'd start by breaking it out into framewise logic.
Tick -> Move towards TargetPoint -> Attack an enemy if one is in range and attack is cooled down
hmmm, well actually that gave me a light bulb
yup i can make each instance have 1 point of attack when its close
So is this like Rabbit Pikmin or something?
Sounds pretty dope "You came to the wrong briar patch m*********"
š the way they move its similar
but has more rabbits, and can get many many rabbits
because they keep popping
If you're gonna get thousands of them, I'd recommend making a global Rabbit manager (RabbitSubsystem or something) that handles all the logic, it'd go zoom zoom.
FRabbitStruct
enum TeamID
float Strength
float Speed
float HP
vector Position
vector TargetPosition
etc etc.
yup i created a struct for all those properties
i think i should make the combat in the event tick so that it goes asynchronous with the vinterp to movement. but i heard event tick is to be avoided
i either use the event tick. or i just make all rabit combat in all groups halt when they are vinterping to
You're still vinterping on tick thought right? If you're using a timeline it's still ticking
The whole reason to use some central manager is so you can bulk move everyone then bulk check for attacks then bulk update ISMs, etc.
i using the delta seconds for the vinterp to only
so the event tick is updating a float that is delta seconds, and thats what i put in the vinterp to. dont know if this is the right thing to do but it works
Thank you for the heads up
Yeah that's pretty much what I'm talking about, just with VInterpToConstant so you can enforce a speed limit.
Are you doing that on some Rabbit manager or individually in each rabbit?
individually in each group of rabits
so a group of rabits has like 50 rabits
they are instances
Yeah that'll work. If you get into performance problems move it to C++ and it'll be like 50x faster, move it all to one central manager and it would be a bit faster still. But if its fast enough, it's fast enough.
C++ is so hard š¦ im still trying to become good at blueprints
i think it will take 1 year for me to work with c++ in unreal
Took me 6, finally bit the bullet and did it though. I had zero programming experience before Unreal though so BP is sorta my first language.
Currently working on a 2d unreal project using blueprints. I want when an enemy is damaged to make it flash a lighter color. I currently don't know any way of making the flipbooks and sprites change their hue or brightness but I assume it would have something to do with materials, which I know very little about. If anyone has any info or a solution that could help me that would be greatly appreciated.
u could just have a parameter on the material instance that you change when taking damage
That seems like it would work, and I understand it, but, I still dont understand materials too well. I'll send the material blueprint I have rn and maybe someone will be able to point me in the right direction. The material currently changes the entire 2d character and replaces it with a square when Id rather it be almost like a filter over the character that I can make brighter when hit, if possible. Thanks for the help so far.
like this buddy
accept you trigger the timeline from when you take damage
except
sorry
and instead of "cube" use whatever the component the material you want to make flash is on
@shy patrol
okay, ima try this, thank you
np
Did they remove Camera shake from Blueprints?
Pls help me in ue5 general chat can't make a duplicate should have posted it here but I did not know XD
Yeah, But how do i launch it? i only see StartCameraShake but it does not work it seems
i got it :p
okay, the blueprints work great, when it takes damage the texture lights up, just how I wanted, but the same problem from before is that the character flipbook is completely replaced with a rectangle instead of the sprite. Still not sure how to fix this or if its possible with 2d sprites and flipbooks because they are so different from 3d objects.
Show your material
@shy patrol you want to tie in emissive with your flipbook material
Basically hit makes it brighter
yes
So do that..... Show your original flipbook material
the flipbook material is just the maskedunlitspritematerial
OK so copy that, modify it
Does anyone know how to convert a transform to relative transform? "Convert Transform to Relative" kinda works but it flips the location relative to my actor
okay yep, I think im on to something now, Ill let you know for sure, thank you
Swap the inputs?
You need the whole transform or just the location?
Inverse transform location
Inverse broke it even more, multiplying the location by -1 before converting it to relative fixed it
Question about castingā¦
If i am in a component and i want to cast to an actor⦠what would be the object of that cast? I tried get actor from class but still getting some error messages. Any help?
Do you actually know what casting is?
Casting is not "get the thing", it's a question.
You cast Something to SomeClass, and it'll succeed or fail if Something is an instance of SomeClass
Say you know you have an animal, but you wanna know if it can Bark.
You'd cast TheAnimal to Dog. If it succeeds, you can call Bark on it.
if TheAnimal was a Cat, it wouldn't succeed.
You usually only know you have an Actor from a trace or some other way of getting Actors. If you wanna know if TheActorInQuestion is a Character, you'd cast it to Character, and if it succeeds, do Character things with it.
What exactly are you trying to do?
Iām makinf a turn based rpg and Iām creating a status effect letās say burning⦠or poison.
I have my status component and i also have actor for each effect. But i would need the variables from the effect in my component to communicate with my battle system
Why do you have a status component and an actor?
Basically when a character gets poison⦠i want to keep track of the effect duration (with a float). At each start of their turn i apply damage and then -1 to the duration
I'd either have a statuseffect component with an array of active effects (structs) or just have an array of BuffActor references
Inspired myself from a Ryan Layle tutorial hahaha
Had to improvise to make it applicable to my game
K so in your turn
Get all status effects
Do the effects
....?
Profit
I'd consider maybe being lazy and handling what you're talking about via interfaces DowDow
You really only need status effects as actors if you have really complex ones IMO
I also have an interface (not too familiar with them tho) but right now it triggers the effect when the spell is casted
Sounds like you're in pretty deep, back up and get the basics working. I take it your status effects have OnApplied, OnTick, and OnRemoved events/functions?
once they recieve the status effect though, why does the damaging player need to do anything to them? would you not handle that on the status effected actor?
Right now on my burning actor i set the duration (float) at begin play. And have the particle effect
š¤¦āāļø yes hahhaahha
TurnTick -> Get all effects, call Tick on them -> burn effect applies burn damage, poison applies poison damage, etc etc, each of them subtract 1 from their duration -> do rest of turn
Yes itās pretty much what i have set up and everything works⦠but when i stop playing i get error messages because i guess my casting isnāt working properly
Or the communication more like
wtf do you mean casting, you shouldnt have to be doing any casting
Character has Array MyEffectActors. BaseEffectActor has reference of type Character..... what's the problem?
You want a BaseEffectActor and a BaseCharacter
Honestly, I'd probs have it setup like... Each "character" (enemies, players) have a "status effect" component. That component contains an array of a special status effect struct. (Actor = DeltByPlayer, Enum = Status Type, Int = Turns...) when you apply a status effect you add a struct to that array. At the end of the turn each "character" loops through that array, apply the damage, decrease turns by 1 and if turns = 0 remove struct from array).
In my character unit i create a variable called StatusEffectsActors and make it an array. I have nothing to do in the event graph to link it in any way, correct? And when you say Base⦠you mean parent right?
Sorry if Iām frustrating to coach, been teaching myself for almost a year now.
Yeah Pixel that sounds good. DeltByPlayer⦠meaning?
The player "giving" the status effect
just so we can give credit at some point down the line
(for instance if the status kills the character)
yeah
(Good option) š
I always find that the further I get into a project, I always end up wishing I was handing over a reference to something.
Hahahh for sure š
you're gonna need one anyway, especially if you start doing resistances. This really only works if the status effect happens 100% of the time.
So now the next step would be, when my character gets poisoned, in my status component i need to add a struct to the array. Iām pretty sure i know how to do it but since iām far from my computer now and canāt test it out⦠how would you do it if itās not too much to ask ahhaha
Yeah
There's many way of doing anything obviously... I don't actually know how your selecting the effected players
however, if I'm assuming you're getting a reference to the pawn that you're going to be effecting.
For status resistance i use a boolean to determine if they can or canāt get affected. I want to make a game where you have to calculate your moves and actions and donāt want to leave it too much to chance
you could either, cast to it and get the array and add the struct from the attacking player. or you could use an interface to simply hand over the struct
I find it very frustrating in a game you try to poison or something and it has a 70% chance of success and it fails⦠lost a turn and mp lol
That sounds like a rat's nest. Pick, is a status effect a struct in an array, or is it an actor?
and have the reciving player handle what to do with that info
yeah Adriel is right, that is something you need to know before going anywhere
Actors will be more flexible, structs will be more rigorous and easier to save etc
Structs are (as far as I'm aware) the simplest way to do this kinda stuff. But actors obvious allow you to have many more crazy stutus effects without having to recreate the effects code in every actor that it can effect.
so im looking for a blueprint for ue5 or a way to do this and wasn't sure where to ask this in this discord. im working on a game where 1 team is in first person and the other team is just 1 person but in a free camera view but invisible and has no collision and plays the game like an RTS sort of. im just having trouble trying to find a blueprint that allows a player to spawn as a free cam is all right now.
Yeah, and i guess for the particule system, i donāt need an actor i could place it on my character unit.
A poison struct might look like this
Name = Poison
ParticleEffect = FX_Poison
Duration = 4
StatModifiedForDuration = null
StatModifiedForDurationValue = 0
StatModifiedPerTick = HP
StatModifiedPerTickValue = -1
A sprint effect might look like this.
Name = Sprint
ParticleEffect = FX_Sprint
Duration = 3
StatModifiedForDuration = Speed
StatModifiedForDurationValue = 5
StatModifiedPerTick = null
StatModifiedPerTickValue = 0
maybe a ref to the char giving the effect as well.
The endgame of a system like this would be GAS but that's at the extremes.
Hey Steel, you'd probs want to spawn a free cam pawn and have the player on "team 2" or whatever, possess that free cam pawn/character.
Honestly tho for a turn based game, especially if you are gonna have any complexity to your buffs at all, I'd just make status effect actors
BP_Status_Poison
OnApply -> Play sound etc
OnTick -> Duration -= 1 Apply 1 dmg
OnRemove -> nothing fancy
BP_Status_Bomb
OnApply -> nothing fancy
OnTick -> Timer -= 1
OnRemove -> AOE Damage
Technically he could do both. just have a actor slot in the struct for "special status effects"
I would never ever do both, pick one and stick with it
ah gotcha, thank you mate
To be clear @agile hound Adriel's actor idea is the better idea when it comes to both complex effects and long term simplicity.
On tickā¦. Is it when itās called upon (once at start of turn) or itās like event tick?(which wouldnāt work for me) haha
That'd be your turn tick
no he means you fire a "tick" command at the end of each turn
You presumably have some sort of turn manager that tells things when it's time to do what they do right?
Yes
K then that thing can tell the status effects when to do their thing
that all depends on your design, if you want dots to tick at start of turn, whatever
Yeah š
Like if all status effects tick at beginning of their targets turn.
TurnManager gets CharacterWhosTurnItIs, gets their StatusEffectsArray, tells them all to tick, then the character gets to make an action, etc, etc,
StatusEffectsArray just being an array of BaseStatusEffectActors
Yes thank you Adriel and Pixel for your help. This helps a ton! You guys are awesome š»
np, gl+hf
After spawning the pistol bullet, the set parent name event is accessing nothing. Anyone know why that is?
this is the error specifically /\
SpawnActor isn't spawning your actor
Probably is colliding or something when spawned
Or he's skipping the spawn, we can't see why there's 2 execution paths there
Hmm yeah prolly
alright ill try that
@supple baneShow the stuff before this
Yeah the 2 execution paths seem sus
K so what do you think happens on client when it goes through that execution chain
It gets to the end
and tries to set name on a bullet
that doesn't exist
yeah, or at least on server only
both client and server try set it
bullet only exists for server, client gets a null ref
and shits the bed
move the name set to immediatly after the spawn
or just expose it on spawn
can I use instigator and access the name from there?
[question] are my unfilled nodes here not working? Total newbie
Alright I got it working thanks for the help
How do i offset this
rotating my camera does nothing
or is it this i need to offset
either way
how do i offset first person camera
the rotation
literally nothing works
not even adding a component and parenting the camera to it
Set control rotation to get control rotation + offset
Yiu also cannot offset a boolean as that's not how they work
every frame???
oh ok ty
@mossy mistWhat exactly are you trying to do?
offset my camera rotation from something like this
to this
thing is editing in viewport doesnt do anything
how do I get a reference to a static mesh in a blueprint class?
I would like to reference the trap
Inside the class
Simply drag the trap over to the event graph
Sorry I worked it out anyway lmao
Can I add another bp class into another bp class?
Define add
into the viewport
As a component? As a variable?
or defaultsceneroot
Yes
How lol
Child Actor Component
ah thanks
Ew
why lol
I guess you have to spawn them dynamically
They just do. Whatever you're trying to do with them is usually better spent just spawning the actor dynamically. What are you trying to do?
I haven't used them myself but heard a lot of bad stuff here about it
add a trap to the door
so when i press a button on the door frame i can uninvis the trap
Well if you have one trap there that can be done using an interface
I have multiple but I want it to be the same on every trap where if I press a key it goes invisible
I know how to reference a component but no idea how to make it universal to the point where u reference on thing and it goes for all the other traps
Hy. How can i import JPG file at runtime?
Import File as Texture 2D
Thank you)
Wait you want the behavior to happen for all traps in the level no matter what door you picked?
yes
Ok then use interfaces
but because im adding trap bp classes to the door bp it has multiple traps for example trap1 trap2 trap 3 and i would need to reference them all
You don't, if you're using an interface
How do i do that
You haven't used interfaces before?
nope
You need to use "Hit Actor" instead.
What are you trying to set the visibility of? The actor?
root comes up
After the hit successfully casts to "Trap" Promote that to a variable so that you always have a reference to the one that was hit. Also could you not "Destroy actor"? Do you need it invisible, or can it just be gone entirely?
If after it's invisible, it won't be used anymore, then just destroy it
Im just testing so i can do viceversa and set the trap by making it visible
it needs to be in a specific place thats why
What happens if you drag out of the "As Trap" and from that return you get a "Set Visibility"?
doesnt work
Try "Set actor Hidden In Game" Shown in my screenshot.
Also, you don't need that branch
If the cast is successful then it hit the trap, if it fails then the hit was not the trap
Set hidden in game must be set true
Confusing question
C_base -> bp_base -> bp_child is possible
Guys I have a side question
With an additional C_Base -> C_child
I do that all the time.
I imported this trap bp into the door bp but it's scale is wrong and nothing lines up like the other original bp
No , c doesnt know about bp
So not possible
What exactly are you trying to do ?
Like, why do you need a c_derived from bp_child?
That you can do
For sure
But once you go bp, you never go back š
Sorry, im confused, but the order is simple really. Once you go to bp, you cannot go back. But doing different c bases and c childbased and c derived then moving to bp is fully possible
If that doesnt answer it then im not sure i can š
Im also not sure what logic you want or try to implement for this hieriarchal setup
That you cannot do
Are trying to achieve multiple inheritance?
It sound like c base should have the functionality needed in your bp derived
Even if it doesnt implememt them, declaring the methods and whatnot goes a long way
Personally i do bp implememtable cosmetic recievers from the c base š
Yepp that is true
But i usually set it up so i have a working base at some derived point which i can go off from
I have a C_BaseBattleUnit. I have a BP_BaseBattleUnit that derives from it. All of my real BP characters derive from BP_BaseBattleUnit.
what is a conduit and state alias in state machine
I do this so I can send messages from my C++ code to the BP_BaseBattleUnit, which works for all of my derived BP Characters.
That + tossing debug messages for missing implementations š
Good Luck!
So Iāve got a pretty big question. Iām still new to unreal but I wanted to see if anyone could break down the basics for me. I wanted to try and recreate wizard101 (purely for educational purposes), more specifically the combat. How there are up to 4v4 in one combat, friendlies vs ai, friendlies select a card, and each team takes turns using their attacks. Itās almost 2am and Iām still up thinking about how it could be done. Anyone have any ideas?
Is it turn based?
It appears to be
Whats the struggle? It seem to be regular turn based combat
Youd probably use some combat/turn manager who handles the order of action
@gentle urchin How can i turn off shphere collision component of character in animNotifier , my Animnotifier BP looks like this.
In CharBp its working fine but I dont know why in AnimNotifier not working
Set collision enabled
not working just print begin and end msg
in need to activate pawn to detect collision
You need a proper ref to char
You cant just make a variable and expect it to hold a valid reference
than this won't work, should need STRUCT var or any other method ?
Its an empty pointer/reference
Null by default
I think theres a try get pawn owner or smth?
Cant recall, and baby refuse to sleep atm so cant check
ok
not showing node in animnotifier
ok i will google
GetOwner from Mesh Comp and cast it to your player character
When is the notify state set up
Should be in the attack montage
Collision on hands should by default be off
Because you have something wrong with how you implement it, errors should be gone by now though
in montage itself
collision on hand sphere is off
now
Now its not detecting collision on montag
On begin notify -> set collision enabled,
this implemetation
On end, set collision disabled
im using " animnotfy state " and overriding begin and end state
instead of AnimNotifier
Ye
Thats good
Now adding some prints will tell you if the concept is working
Not hitting enemy can be many things, like the enemy collision settings, hitbox etc etc
msg is print on begin and end state
Goood
i think pawn hit on capsule not detecting
Only you can find out
You can set collisions to not hidden in game to see their outlines during play
coll is off
its not hidden
True that, didnt check the video from before
yeah, even I thought it was off in video so send pic šš¼
is there a way to do profiling/tracing in blueprints? I need to see how long a particular call is taking and it doesn't seem to show up in the profiler as it is
end and begin called at the same time?
nvm
lasts a bit short tho
also
why not just enable disable collision?
why set collision response?
IF != SET TO sphere collision it detet hit from npc capsule trigger montage on itself instead of npc
it begin at start strip and end of strip
Try using tags instead, you donāt have to cast to read an actorās tag.
thats what i have mention yesterday npc and player posses same character BP
It does not matter that they do
The receiving character gets the "Event AnyDamage"
the sender handles the hand-overlap
your hit reaction should also be in event any damage,
not on hit..
what should i have no idea from here what to look for ?
I havenāt been following along with whatās happening here gdr but it seems to me like you could try setting it up like this.
OnBeginOverlap, if (other actor) has tag āpunchableā, apply damage. The blueprint that Squize shared is similar too but just know that itās going to try and apply damage to anything it overlaps with except itself, whereas my suggestion only applies damage to actors youāve tagged as being punchable. So it depends on your game.
It will damage any actor that has an implementation of the damage event*
which actors by default has not
But a tag is a very valid approach (Y)
easier to separate "punchable" and "Explodable" or whatever š like a brick wall.
Yeah itās important to know that, so later on if you have other actors that should not be punchable but do take other forms of damage it will still damage them.
but then again you'd probably just apply a damage type for this
Maybe you have some boxes that should only break when a crowbar damages them.
Is it possible to get the WidgetComponent a widget is being shown/set at? So I can reach the owner actor from it?
I'll go with it if there is no other way, just wanted to separate that logic from the actor itself
Like kind of a debug add on, so I can just add it to any actor and be able to get the required attributes I want, instead of implementing this owner ref set logic on every actor whenever I want to add a new one
there's always this nasty option of get all actors of class
but it's not very scalable
nor adviced
And check if they have WidgetComponent and check if the current widget is this?
Yeah I wouldn't like to go with this
but doesnt it make sense for the actor owning the widget to spawn the widget?
and thus, you already have to manually set that up everywhere
Unless you're using default class,
which you also must set up š
I mean, I just want to show the actor name and location
But yeah I guess there is no other way than setting the owner ref manually
could always try some get owner get owner get owner kinda thing
i would think the owner of the widget would be the component, and owner of component the actor?
hmm.. Actually Outer is GameInstance
would you look at that
Anyone tried to make a online application like Amazon or wish or any kind of e store with unreal. I've only ever really seen games but I'd really like to make apps also I just don't know how I'd go about linking up with the main website or allowing them to work in conjunction with each other
how do i get an instance of my default set variable value from a class. like my default value is 180 but is edited in a function, how do i get that default value before it was changed
I was considering that myself aswell, but theres a massive amount of bloat with a game engine when all you want to make is a simple store app? š
Felt like a massive overkill
Get class defaults
what node is that
Thats the node
after this same hit on npc capsule and montage play on player side
@gentle urchin Can you quick test in your ALS v4 project when you have time. its just 5 min tuts with assets in description
In this video I go over how to make a character who reacts to our players punches and how to make a punching bag.
Thanks for the all the support :D
Part 1 : https://youtu.be/mSvX6LniS_E
Assets : https://uisco.itch.io/punching
Check Out My Website For a FREE 3D Model and more of my content: https://www.uisco.dev/
Join My Discord Server (100+ ...
The hit reaction should exist on take damage, not on overlap
if ( WidgetClass && Widget == nullptr && World && !World->bIsTearingDown)
{
Widget = CreateWidget(GetWorld(), WidgetClass);
SetTickMode(TickMode);
}
Due to this probably, inside WidgetComponent.cpp. The owner is set as the world.. Why wouldn't it be the component itself
@gentle urchin is there a node or func that allows us to toggle an input like toggle crouch or will i have to do that logic myself
i think crouching node is present in character cclas which help resizing capsule
@gentle urchin can point me to why my camera FOV is blob in corner
Good question indeed
Well it needs world, but it could be the compoments parent could it not
Depends on your logic
Input action pressed -> crouch
Released -> uncrouch
Would make it while key down
Otherwise a flipflop for crouch/uncrouch on input action pressed would make it toggle
How do you make those shaded squares in blueprints?
Like these
Oh nevermind I found it, just right click and Comment
My bad!
Or just press c when having nodes selected
Ohhh thanks for the tip!
what node would i use to check if a static mesh from the world has despawned
@undone surge I think IsValid ?
which one there are alot of them idk which one to use
when i collide with the sphere and then go out of it it still counts as if i am in it. any help on how to fix that?
i want an emitter to stop spawning when the pickup mesh actor is destroyed
i only want it to print in range when i touch the collision box aka the sphere
that boolean does nothing unless you set it to a variable you store when beginoverlap happens
afaik
i am new to programing i dont understand what you mean
My multiplayer game allows players to select a class in the lobby. When they select a class it is stored in their game instance. When the game starts the new game mode uses the OnPostLogin event to get the selected class of each player controller (by accessing it from their game instance). This works perfectly on the host but not on the clients. After placing about a million breakpoints I found that on the client, one of my blueprint nodes is being called late.
Because the GetCharacterClass event is being called late, my StartingNewPlayer event is being called with the incorrect character class (this event spawns the player).
As a result, the host spawns the the correct character but all of the clients spawn with the default character. Any help/advice would be greatly appreciated! Thanks š
The first photo is the execution flow on the host(this works). The second photo is execution flow on the client (this does not work).
It's not "called second"
It's an asynchronous node.
What is that node meant to do?
you must tell the server about the class the player should join with if im not mistaken
It sets the chosen class inside the player controller
since the server is doin the spawning anyways
The problem you've got it is, you aren't accounting for the delay when sending RPCs
Have you ever done asynchronous programming before? Like web ajax stuff or anything?
I did some with uni ages ago. Do asynchronous events run in a separate thread? Then you 'await' for completion, then do something else
So the RPC should should call a new RPC
GameMode RPC Playercontroller which RPC GameMode again ? š
then you've taken any delay into account (assuming not spawning the char immediately doesnt cause a crash)
@serene tapir the issue is that that RPC node basically seconds out a packet of data from the client to the server which then runs an event on a completely separate program. That's all that node does in a client.
That's why it instantly goes to the next node, the print string, without seeming to do anything.
Because that's run instantly, whereas the event on the server and the variable replicated back take time to happen. Much like asynchronous ajax requests in web.
If you want that client print string to work correct, add an on replicated event to your class variable and print it there.
Ahh that makes sense
When you say replicated event to class variable, do you mean repnotify?
Quite new to this multiplayer stuff, tricky to wrap your head around lmao
Yes, a rep notify
That's why I try to give an example of async stuff people usually know, web requests!
I was a bit more aggressive there than I intended, I apologise.
Haha, you're fine. I really appreciate the explanation š
See the issue is, I dont actually care about the print node. I just used that to try explain the problem.
The actual issue is this.
I need the GetCharacterClass to assign the playercontroller the 'ChosenClass' before the 'StartingNewPlayer' event is called
Should I replace the starting new player event with a function inside a repnotify?
Start new player should only be called on the server, surely?
I believe so yes
I mean, does it matter if the class has replicated at that point? Just spawn them a pawn on the server.
At which point are they choosing a class?
They choose the class in the lobby, then once all players are ready they are transferred to the new map
So what does it matter if this variable is replicated at this point?
A player can't be "ready" before they've chosen a class? So at this point (the new map) they must have all already chosen a class
That is, the server 100% knows what the chosen classes are.
Thats correct yes, but the class is stored inside each players game instance
I wouldn't do that.
The game instance is... well instance specific. You can't replicate changes from the server to the client on a game instance.
So if you had to change a client's class, you'd have to route that through some other object, like their controller.
You probably want that info on their player state, that way every client knows what every other client has picked (player states are replicated to all players)
Does it matter? Just set the variable on the new player state on the server
And the client's player state will have that info before its BeginPlay() is called.
Just a rundown on the mp classes
Handle game logic in GameMode (only exists on server). Handle game states in game state (game/team scores, times, etc.) Handle player states (score, name, class, etc.) on player states.
Thanks dude, appreciate that š
np
Hey guys, I have a question. Suppose I have a BP class with a Map variable, that holds as key a reference to Object objects. If the given object is killed in some way somewhere else, will the key become invalid in the map as well?
(that is, do pointers used as keys for Blueprint Map work as C++ weak pointers, or more like shared pointers that will keep the object alive since there's still a reference to it?)
Can i get a simple example of how these parent begin play and tick etc nodes would help , should i get rid of them if i wana specificy certain meshes to be spawned ?
Say i have a weapon bp, and in the master i load it's saved stats. To save writing it again, i can just call the parent in the child
You would get rid of that if you wanted specifc functionality
Say if master class has begin play change to a random mesh stored in a variable, and that fits my needs for all of my children except a couple, in those couple i could remove the parent call and write my own code
Can you scale Value of the ( movement input) go higher than 1 ?
Is there a blueprint equivalent to FName::NameToDisplayString?
im making item pickups so i made a base parent class with a mesh and movement and then sepeate classes for the type of pickups so here i would just drag off begin overlap or shouldi i do parent begin overlao
overlap
Calling parent event gives you the option to extend existing functionality
Have you tried just converting it to a string?
i dont know as of yet
I want spaces between capitalized words, so "SomethingLikeThis" should come out as "Something Like This"
Ah
FName::NameToDisplayString does that automatically
How can I call an actor component from my character that needs to happen on tick?
Example: Player hits F --> F calls actor component that adds constant forward velocity, making the player fly forward.
It needs to happen on tick so it applies constant force.
if i use it in parent later then i just do parent begin play on child right
@fleet rivet You could probably use Find Usages to see if there's a BP wrapper for it, otherwise it should be a fairly trivial custom function to add :)
Yes
Whenever I hook up that "Max" variable to the Max pin ( promoted to variable) my world is blocking my actor , that is the only change.. I have not made the logic behind it
What is that hooked up to?
Try setting the max value to 0.8 without hooking it up, it'll probably do the same. So there's really no issue with hooking that up specifically, it's just the values that you're using
it will be hooked up to a multiplier
It's a bit unclear as to why it would be causing you to stop altogether if it's just a speed multiplier
but I have only promoted the max value to a variable
I would try printing out the values you get from it when it works
and then try printing out the values when it doesn't work, and compare the two
Why not just add that functionality to the player Bp instead of the F actor
Do note that your max variable is set to 0.8, and your default value on max is 1.0 which could affect it
(it being a variable will not have any effect on the behavior, but the value could)
To keep it modular
Right now when you jump, it calls a double jump actor, and on the third jump I need it to then call the flight actor and enable flight
don't pins take over the value that gets connected to them ( variables )
the double jump part works perfectly, just dunno how to get flight worked in now
Correct, but if you were to set the variable's value to 1, then it would probably work the same way it does when you disconnect the pin
Oops I thought f was another actor blueprint that the player "hit" with collision
nah
It's different player movement abilities that the character calls
but this one is a little more complicated, because it needs to be called from another component, and then it needs to keep playing on tick...
It sounds like you'd just need to call it during overlap, no?
is there a test I can run which tells me what is blocking my character ?
During overlap?
I'm not sure if it's BP-enabled but see if you can override MoveBlocked or something like this, this is called by default by CMC when something blocks movement
Ah I reread your question, so basically you need something happen for X duration on tick when a hit even occurs for example?
These components have movement logic in them, and I call them from within the character. Sorry if I was unclear
Yes, just not a hit event per se
basically the player can jump three times, on jump 3 I want flight to turn on
Have you considered just using the on jumped event from CMC, and then changing movement mode to flying?
Oh crap lol. Yeah, I was using the flying movement mode for this, but I think I totally forgot to tell it to enable. let me go fix that real quick
Anyone able to help me? I sphere trace out from the middle, wanting to see if i hit one of the planes that are on the outside surrounding of the block. This is so i can check if the box rolls over on a long or a short side. Currently i dont get a hit on my planes tho. Think this is cause its a component under a component
I've been redoing all of my code
I'm looking into Event Dispatchers, I think with those I can make it so it doesn't need to ask every tick if you can fly or not and only turns it on when needed
well it was the collision box where the logic is set that is blocking it , but why would it stop the overlap event ( all let pawn pass through) when you change something to a variable
It also seems like I can only change the movement mode from within the character itself and not in the components
Did you test it by changing the value to 1 on the variable?
And did it behave any differently?
Nope
That definitely makes no sense lol
There should be no difference between variable or the value being set directly in the node
On all the child blueprints spawns it stops the actor at the collision box
that doesn't make sense
If the value in both cases is the same, then the result should be the same
since they inherit everything from the main
Now that you mention child blueprints... that could be a factor
If the variable has a different value on them that could cause it
Say... if it was 0
But I have my child blueprint inherit everything from the main
Check it anyway just in case, at least on the one where you get stuck
Because I can't think of any other reason for it :) As far as blueprints are concerned, a variable with value 1 in it and the input field in the node having the value 1 in it are exactly the same in this case
this should suffice for a child BP right ?
or do I need to enable overlap event as well ?
since spawning of other actors is working fine with it disabled
Yeah that should be fine
It'll use the parent stuff if you don't do anything with it in the child
how do i get an a material to retain its color but emit a specific light
no idea what it happening then, since the collision box allows me to move through whenever the main BP spawns but fails to do so whenever a child BP spawns
If it's only with the variable, check the child BP's value for that variable
there's really nothing else that could affect it, if it works when the variable is not connected
how would I check that ? since it has no event graph?
Details panel
you mean you would want a red box emitting a yellow light, for example?
yes
@weak widget did you try doing what it suggests?
I did
I added BlueprintReadWrite
To the property of the FP Gun
But I still get the same warning
Did you hot reload
Yeah close editor, recompile, open editor
Hot reload tends to not really work so great
Ah I haven't tried re opening the editor
I just clicked compile in the editor
Alright I'll try that then
Quick question - When do you choose to create an object as an Actor Component instead of giving the Actor an Object as a variable?
how odd is that.. .it is 0
So everytime I create a child BP I should change that.. ? or is it just that existing BP's don't inherit it automatically ?
You probably can, but it will be rather slow and very hard to manage
Didnt you get an answer yesterday?
:triangular_flag_on_post: NeroxCrafter#6348 received strike 1. As a result, they were muted for 10 minutes.
@open latch it's possible that the value of the variable was 0 in the start, sometimes child BPs don't correctly receive the changes that were applied to the parent
Yeah. Almost anything you can make with just BP.
but if you were to set it to 1 in the parent and inherit a new child, it should get all the ones from the parent bp
but existing ones sometimes can bug out like this which is a bit annoying
You should be able to have a light along with your object, right? And then change the light's colour https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Rendering/Components/Light/SetLightColor/
Set Light Color
For some extra info, for my player Actor I'd like to put the input processing in a separate object that's owned by the player actor. The player actor would then pass the input to this BP where it's processed to do certain actions. Now I could make this Input processing class an ActorComponent or I could just make it an Object and add that to the player Actor as a variable
I don't think so, no, as using an emissive will sort of take over the base colour as well
alrigh thanks
Please Help
this is in the WeaponBase btw
Your "Camera" value hasn't been set here when you're trying to use it. Is this a component in the "WeaponBase" or a variable?
the camera in the weaponbase is a variable
is there a way to get player current velocity without using event tick
So then are you populating that variable somewhere, like on begin play of the WeaponBase?
Do you need it every frame?
If not just get its value when you need it
i need to get the current volicty because my character doesnt exit a state even if im still so im trying to find a way to check velocity and if its 0 i can set a condition
Anim statemachine is tick driven, so then you must use tick
At the very least intermitedly during acc/deacc
im in bp third person . my anim graph has conditons but i dont to use tick beacause i hjave a condition infront of the one i need for movement which keeps getting set to true bcuz event tick
so i need to find a way to get last velocitu wihout tick
Why do you branch of tick and subsequent required get'ers if you need them?
Sounds backwards doesnt it?
Pro tip
I used get velocity
Dont be stupid š
You should update the speed value on tick
Because its animation and speed related, which should and could update on tick
Otherwise issues arise
Like jittering anims etc
this is ma first game i can afford jittering anims xD
Also, protip. Don't avoid tick just on principal. It exists for a reason. Avoiding it is like deeming to be a better carpenter by only driving screws in with a screwdriver and vowing never to use an electric drill. Might get a few nicely set screws. But when you're building a giant construct, you're gonna hate yourself after a while.
is there a way for me to know/set the action/axis mappings of a shipping packaged build? it seems they are not the same as they are in project settings for users who download my project.
Are you using project set inputs? If so, they're usually able to be edited in an ini file if memory serves. Can't remember which one off hand.
@gentle urchin @maiden wadi ive been trying to make a sprint condition but the only thing i need is that i need to check speed and then use that to set a variable but with tick it keeps going into that set branch again and again. how do i get it to keep checking constantly but only go into the set variable once
ywa but for some reason it wasnt going into the animation
even if i was above a certain speed
Is it possible to open .uasset.Class files? I can open .uasset but the ones that end in .Class I can't seem to get to open
i managed to fix it though using tick , hopefully ill find a better way later on
You must first update your blendspace to handle it with a sprint animation at the desired sprint speed
Then the rest is handled internally , in walking state
i see
Since the default walk state already reads the speed on tick
i think the prob is that i put walk speed anim, jogging and sprinitng in the same blendspace
so its causing probs with updating anims
Nah thats what you're ment to do
Atleast, thats an optional way of doing it
Unless yoi have a good reason to separate out sprint
I have a modular player mesh split into components that uses set master pose. Everything works fine on UE5 except my male head master meshes. For some reason only these male heads cause rubberbanding when my player runs. The female heads work just fine. Any ideas?
Hey guys, I just need a little hint. How to make it so the AI“s dont bump into each other when getting to a certain location? I want to keep it as simple as possible. I was thinking of something that when the AI hits other AI and is already in a radius that is close enough to the target point it will stop moving towards it and the sequence in BT continues. IDK if it is something that you can simply do. Any suggestions?
After package game, there is blank screen. When press ~ button it show console
But the maps are already set in project settings, then why screen still black?
Sounds like a bad default map.
I tried to make a new map
and set that map in maps and mode settings. still black screen. I have to type ~ and open map manually
What is the name of the first map you are trying to load?
What is the project's default map?
Transition map sounds like a blank map?
tried to packaged with development and debug config, still same issue
did you mean that transition map should be blank?
I'm asking if it is blank.
Is there a way to get values from an animation sequence in bp?
Hmm. Odd. I don't use a transition map. Mine are hard loaded. MainMenu map as the default. Worked fine in UE4 and works fine in UE5
i have a point light attached to my mesh but i cant change the size of it. what do i do
Does your level have sublevels? Is it possible the lights are not being loaded or something?
@undone surge A point light is usually just a point. You can adjust the Source Radius of the point light, which will make it appear to get bigger, but only in reflections and with regards to the softness of the shadow it casts. You can also just pair your point light with a sphere mesh that you can scale, and give that an emissive material.
Theres also attenuation radius which controls how far the light reaches
what are you expecting to change. If you increase source radius, you will just see a yellow sphere grow or shrink
if you want to see it as an object, you need a sphere mesh with emissive
thats the attenuation radius setting
aah
and if i attach the point light to a mesh it will attach right in the centre of the mesh ?
at 0,0,0 it will be attached to wherever the meshes 0,0,0 is yes
it might not necessarily be the center
How to open map directly from .exe file parameter? @maiden wadi
So I packaged game. But map doesn't show. The alternative solution i found is to make a shortcut and open map directly from there
How do i increase the distance the player capsule goes when space is pressed?
Is it standard to create a montage for every skill animation with a notifier of when the action should occur and also to accurately track when to transition out back to walk/idle?
https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Animation/PlaySlotAnimationasDynamicMontag-/
if you don't want to create lot of montages. you can play animation as dynamic montage.
Play Slot Animation as Dynamic Montage
Set Capsule Size
Sorry i meant distance not size, was wrong worded question
you mean you want to increase space jump Z velocity?
well i want to increase the distance it goes up but not the speed
UE4 - Adjusting Character Jump Height in Unreal Engine 4
(I'm using version 4.19)
For those of you who were as baffled as I was when looking to change my character's jump height...
Under character movement inherited, you adjust the jump Z Velocity
Here's a quick video on how to do that.
Anyone know why I can't do this?
I can only connect it to events that I create if I drag off that pin for some reason
I could be wrong here but that is because event tick is fired on tick and never by a players input.
Hmmm
Thing is, I need this event to start playing which has to run on tick
Not really sure how to do it
ah thanks, but its not really what i was looking for, my jump animation goes higher then my capsule and i tried root motion but that does not work
Does your animation move away from the root?
@red fossil if you have tick enabled it will fire the moment the actor runs its first tick. You can also enable "Allow Tick Before Begin Play" to tick once before the actor is active
because you probably have a mismatch of your dispatcher parameters and the event parameters
e.g. your dispatcher needs to be setup with one float parameter
Oh? Where do I put parameters? Sorry never used them before (dispatchers)
in the details panel when you select the dispatcher wherever it is defined
theres a small + button on the top right in the details panel, they couldn't hide it better
Lol there it is, why's it so teeny
thanks
Another question, when I cast to my double jump component, what do I plug into "object"?
a reference to the component
That's what I'm kinda confused on how to get š
I know if it's your character you just do get player pawn but this isn't a player
Youll need to store a reference when it's made
This is typically why you use manager classes
Also that why is double jump in a separate class
Rather than some nodes in the character
I'm reminded of:
My favourite fact of em all
hahahahaha
yea it's separate so it's easier to make new characters later on
So it's not all just crammed into the one character
Then make a base blank character and create children
Thats what OOP is for
yup, that's what I've done
Then i dint see your issue
the char is a child
All characters will need movement, some will double junp, so implement double jump in the parent, and then the double jump gets copied to the children
My double jump is working
Doesnt matter
My issue is trying to get flight, which needs to happen on tick, to turn on on the third jump
Your issue was casting!l?
Which you avoid by doing it properly
But for that, track the number of times you jump, and reset it on landing
This also sounds like something better done in cpp tbh
Extending CMC or smthn
That's how it works rn
I was wondering how I could make it so that I could place an interactable object in my game
I have a database and an inventory system and my goal was to implement a level in my game that the character could then place at a specific area to open a drawbridge but I don't know where to start i regards to placing the interactable object
Perhaps look at how to spawn an actor in a location? It sounds like "placing interactable object" would mostly just be spawning it at the location the player wants :)
I'm creating a mod for a game and for some reason the game crashes when doing something specific but I can't get a good crashlog, is there a way through console to make a better crashlog , somewhat like the developer log?
Once more I look with disappointment at the removed game design channel, tips for cheap ways to add snow in a "logical way" etc only on horizontal surfaces. I'm well aware that some snow usually gets stuck on vertical stuff like walls and trees when it's snowing and windy at the same time. How is this usually done? Because the only way I can come up with is to replace all the surface's textures with a snow version of the same texture
I'm not looking for dynamic snow that can create trails/footsteps, just a simple texture change of some sort
I don't know of any game that does it, but probably through materials if anything
volume is much harder to do
is there a built in method to save all game state for all objects?
In emulators, you can save a state and reload it. I was wondering if this is also possible
I know of games that do, but the one I have in mind was built by a single person who used to work on engines and made his own engine for his game. AKA he has a lot more knowledge about the stuff than I do
nope, BP has nothing of the sort. you'll have to write your own system in cpp
well a material would be the cheap and easy way
Basically get all actors, record transform... and I guess cast into each and save data? :/
well you said objects. but yeah get all actors perhaps. I don't know how limited save game to slot is
ouch alright
Do you reckon I should go for changing all the materials or would it be fine to create some master that adds snow with a transparency mask based on Z value and increase all buildings + landscape Z value based on season?
Latter option sounds more expensive but I have no idea how expensive it would be, the world isn't super big
I have no idea how you would do volume
ask in #graphics
I thought you just wanted to paint the ground, which admittedly would be hard enough
This sounds a lot like basic material parameters altered globally from a parameter set for season settings.
I mean if you know how to work the material to add depth of size by all means
Global Material Parameters are a good place to start.
So it should be possible for me to do this based on just a parameter or two like temperature + season or something?
parameters are just parameters though, you still need the material logic
(whatever it may be)
You do. But the Global Material Parameters will keep you from pulling hair out by trying to keep refs to a ton of dynamic materials.
For snow. It's mostly just a matter of using the material's normal direction. You can blend snow onto anything facing "upwards" rather easily. Some vertex offset and texturing can go a long way.
Yeah I have the logic for applying it on anything facing upwards in my landscape material. What would be best way be to implement that logic for all materials that needs it besides copy pasting the logic?
yeah I'm not gonna claim that I know anything about the logic itself. 0,0,1 as normal sounds reasonable, but to accumulate, especially based on particles though? sounds like hair pulling
Could be fun. Not sure how game worthy it would be in the end, but Niagara does have collision events. I wonder how hard it would be to paint a vertex shader with that.
you'd have to go through UV
Isnt it just offsets + a heatmap for trails?
'Just'
It usually looks rather .. clunky.. anyways
Actually deformable terrain, who would've guessed
I think the tech we were speaking about was snow falling, not this
I didn't want trails etc, just simple texturechange
Playing around with it atm trying to find something that works
Are the AI options that are included with UE good enough or is it always better to make your own AI logic
UE has AI logic? š
Jokes aside. Unreal doesn't really have AI logic besides move to location and face this target/spot. And the movement is questionably good without real EQS.
Extremely limited logic indeed
I see
Yeah. Understanding behavior trees, and the controller can make creating somewhat decent AI pretty easy. It's just not there by default because AI differs greatly by game.
If its my first time doing this what would be an example of something in AI that I shouldn't try rn
Hi, im trying to add a blueprint class for a trap into my blueprint class for a door. When I do this the blueprint class for the trap is completely disordered and all the objects are scattered. Is this an issue with parenting or something?
Really. If you want to give yourself a good crash course. Make Deathmath AI. They're super simple. Find player, focus player, shoot player. Clear and simple linear goals. They'll get you acquainted with Blackboards and Behavior trees.
Can even add in some EQS for taking cover afterwards.
Is there specific resource or utube channel that you could recommend
Like a Playlist
Or smt
I routinely go out of my way to insult and avoid Youtube.
Watch a ton, forget what they told you, and keep what you learned
Don't really know any resources. I just mess with stuff and read docs or random forum posts til I understand it. BTs for instance are made up of four parts.
Logic switching as Selectors and Sequences.
Tasks
Services
Decorators
Tasks are just that, they're blocks of logic that you use to do things. Usually these are your "Fire" or "MoveToLocation" functions.
Services are usually used to set state. They can be used for other stuff too.
Decorators are like branches or gates. "Don't do this logic if this value is not set/correct".
There is a simple guide on the ai quickstart that covers a simple melee ai i think
Involves the basic tools and tasks iirc
Hey, I was wondering if theres a more universal way to make a event so rather than casting to each thing I want to eventize and triggering a custom event, I can just grab the event from BP A to BP B.
Casting is necessary and not bad, but you can also use interfaces... however 99% of the time casting will be better as long as you have a good heirarchy setup
Interfaces are better suited to things like interaction, where you need to ibteract with multiple different master classes
However say you had food, it would be better to cast to the same base class as all food behaves in similar ways
ah ok, Thanks!
anyone got any resources on making a spline path given a start and end point and X midpoints?
Hi, im trying to make a detection system that gives me a true back when my pawn is directly looking to another pawn.
I informed my self about player rotator but i didnt know what to do with that values
True back?
They want a function that == true if pawn rotation == lookat rotation from pawn to another pawn.
Implementation depends on how complex it needs to be.
hey guys, does anybody know how this is called in ue5?
The same thing.
Huh i dont find it
š thx
Any way to remove fps cap?
T.maxfps 1000
Not in editor. At least UE4 was clamped to 120. Standalone and build games were unclamped.
It would seem that UE5 has removed that limit though.
I think I'll just leave that clamped to 75. š
Probably the best video out there about the topic in regards to Unreal. @maiden wadi Also tagging for your knowledge. So you can just reference it if it comes up again.
https://www.youtube.com/watch?v=iY1jnFvHgbE
In this presentation, Epic's Paulo Souza uses Unreal Engine's built-in AI features to build smart enemy behaviors for a game with stealth-like mechanics.
By relying on the Gameplay Framework in Unreal, we're able to quickly create convincing AI using Behavior Trees. Behavior Trees are great for creating complex AI that can be presented in a way...
thank u
trying to make a spline take a path something like this but for a random end point input.
any ideas on how this can be most easily accomplished? I did not get good results trying to set rotation and tangent but i may have done the math wrong
this is what it does in game
like this doesnt make any sense to me in this case it should not curve so much
i am certain i did the math wrong
how can you draw straight lines on a terrain or mesh, regardless of the roughness of the surface? Decal spline? and snap to the bottom?
I'm building an open world game, so have a persistent level map and then various levels streamed in/out as the player crosses different trigger boxes. How does saving location work with this? Do I need a unique boolean variable for each level map (there are 50+) and then have these variables set to yes/no whenever a trigger box is crossed and a level is loaded in (then just save these values as the player moves around the world)? Then do I save a separate variable for SpawnTransform to get the exact location of the thirdpersonactor? Or will that not work with multiple level maps loaded at once?
Any idea why ALT+Drag doesnt duplicate the actor inside a blueprint viewport?
Sorry I didn't reply, but I'm grateful for the answer. However, I will posit it again, as I hope to get additional answers.
Does anyone have any good info or links for dealing with directional gravity? I've been trying to use " set physics linear velocity" on a player character with no luck. All my searches lead to plugins which are not an option. I kind of want to do it myself... and I'm broke lol. As well all the free stuff is not compatible with UE5.
Are there any good guides, or guidelines, on how to integrate projects? Imagine I got two different projects that form the base of my would-be-game.
The complexity of what you're after highly depends on whether it needs to be networked.
Problem:
I'm making intro for a game.
I made a video that is for about 5 seconds long and I want it to loop over and over until player does: Any Key (just until he clicks any key), then Menu will show up.
Can you please help me how to do that?
I haven't even gotten that far yet. I was more concerned with getting it to work first.
However you raise a very good point
I would use the Movieplayer. But I don't think that's easily BP accessible. For an entirely BP approach. You are likely looking at basically having a starter map. Have the map's LevelBlueprint put a widget up on screen. This widget has a MediaPlayer image in it. You can play your movie through that. Widget has focus set to it. Widget can handle OnKeyDown or OnMousePressed. If either of those are ran, remove from parent and show your actual main menu screen.
there's no target
Do you know what should I choose for target?
the same media player?
oh i'm dump
it wants an animation i think
you can see the "target is anime single node instance"
The reason that question is important, is because in singleplayer, making a movement component is relatively easy. Some basic vector math and some sweeping movements. When multiplayer gets introduced, you have to cut this simple approach into pieces. And do corrections, predictions, etc, all while not making it feel terrible to the owning player of the pawn.
So how do I fix it? š Sorry I'm beginner š
so you want to loop the media player, right? (i think that's a video?)
I want to loop the video but when player press any key the video will stop looping
if so then drag from the media player reference and search for loop
or you can copy paste the same nodes above
like this: ?
yep
hmm, the video is still looping.... š¦
I'm building an open world game, so have a persistent level map and then various levels streamed in/out as the player crosses different trigger boxes. How does saving location work with this? Do I need a unique boolean variable for each level map (there are 50+) and then have these variables set to yes/no whenever a trigger box is crossed and a level is loaded in (then just save these values as the player moves around the world)? Then do I save a separate variable for SpawnTransform to get the exact location of the thirdpersonactor? Or will that not work with multiple level maps loaded at once?
huh... the event is triggering, right? can you right click on the node and click "set breakpoint"?
to the "Set looping" node?
the game should pause and the graph editor should open and a red arrow should be pointing at the node
yeah
"add breakpoint" ?
yeah
ok that's right. now just play the game normally and tell me if the above happens
I suspected as much. Just not finding much useful info from google. Seems to be getting worse and worse all the time.
nothing happened, it started normally š
so when you clicked any key nothing happened? you did not disable input, right?
disable input? uh wdym xd
Realistically, this isn't a BP only task. The best way is to inherit from something like the default movement component and override it's functionality the same way stuff like FloatingPawnMovement does. If you stay away from the CharacterMovementComponent and follow C++ it's fairly light reading.