#blueprint
402296 messages Β· Page 858 of 403
isn't there an option for this in one of the menus?
probably something you can google either how
this happens if your second char is not child of the same baseclass provided as type in the variable decleration
;
|
Β½
Yeah found an Easy Plugin for it, :v
hi
My game have multiplayer and health system, so you can die. You can connect to a "host" player, but the "host" cant die
why i cant put nav mesh bounds higher than 48000 units z?
overall the host cant die the others can
OnDamage > IsNOTHost > TakeDamage
You can check parent classes up in the right corner
So you want a common parent class that has posess functionality in this case
Any chance of sending screenshot parent classes right corner? Do you also mean if I have a ThirdpersonCharacter_BP (parent) .... that I always need to make duplicate and make it child blue print class? is this why its not shwoing up in the list
Thirdpersonchar has Character as base class,
Hey guys, newbie question: suppose I have the reference of a Scene Component at runtime. How can I add a new component to it, as a child?
Use character instead of thirdperson char for the array
In actor BP's you can call nodes like "Add Static Mesh Component" and such, but outside of actors not sure. It's possible in C++ but for some reason creating components at runtime is a bit limited in BP's
Yeah that is actually my scenario, to my surprise I can't find an easy way to create new components and add them to other components outside Actors...
Is there some particular reason you need to add components on the fly like that?
Yes, but it's kinda long to explain. It's for a dynamic attachment/detachment system
I just noticed that I might get away with it using a "Construct Object From Class" node along with an "AttachComponentToComponent" node
iirc that won't let you construct components for some reason :P
There's two ways you could possibly work around this in blueprints
- Attach actors instead of components
- In the actor where you're attaching things into, give it a function which creates the component you need - this way you can set the component creation nodes into the actor, where you should be able to use them
in C++ it's fairly easy tho - you just NewObject<WhateverComponent>(OwnerActor) and RegisterComponent() and/or maybe one more call if it's needs to be attached to something specific
The second approach might be right for me π€
Yeah maybe I can also add a C++ function that does it actually, good idea
Thanks for the suggestions! Back to work! π
π
Is there a print command in Blueprints that lets you use one node to do something that in code would look like
print("Found variable" + [varname] + "and current speed is " [speed variable']
I generally just dump the variable info into print like here, or use multiple Print nodes, but have been looking for a more efficient way
@wicked magnet you can append strings, that's pretty much it.. or you can use the format text node which supports foo {placeholder} bar and produces pins for the placeholders
when i press (X) i want to lock/disable character movement but make them able to move the camera with mouse to look around and when i press X again enable movement, how?
Ah, thanks to both of you. I have seen append, but Format Text is closer to what I was looking for!
Yeah format text is really handy, and since it produces Text values it works with localization too :)
I was about to mention that. π
Generally I would recommend not doing this in a flipflop manner but checking and inverting a boolean that regards movement. Secondary state values like the flipflop's boolean is just going to complicate things, introduce possible bugs.
Yeah, pretty much what Jojo posted, but switch the flipflop for a "GetMovementMode == Walking, then disable, else enable".
ty for help π got it working with a bool
but im facing one problem
i want to be able to rotate camera WITHOUT moving the character mesh but how :S i read on google using "Root Component -> set Absolute" :S but that did not work
Sounds like you're just looking to disable the character's use of Yaw for control rotation.
this in the "springarm"?
Nah. Character itself. You still want the camera to use control rotation.
Something along these lines I imagine.
Not in a project capable of testing it at the moment.
yeap thatll work
Depends on how you want to stop it.
if i run and then press X the character stops but animation "run" keeps on going
Does BeginPlay event refer to simulation start or when an object gets spawned?
Sounds like a state transition not getting triggered.
Check your anim graph, and see if the transition rule is right.
so i cant stop the animation via the character bp?
FWIW you'd better end up looking at the anim graph's transition rule
begin overlap is for when ur out the box and then enter it
is there a node for if u spawn in the box
I'd like to make a BP that would spawn an actor in random (10) location, after being touched by the player. Collisions are on point, cause my actor is disappearing when in concact within a player, but I don't know how to set those spawn locations... i cannot put TargetPoints into the actor's BP, so what's the other way to do it?
GenerateOverlapEventsDuringLevelStreaming or something. Should call overlap events at spawntime.
Are these locations PlayerStarts?
do i set it to true on begin play?
Should probably be a class default
these are TargetPoints, i can copy them to level's BP, but not to my actor's BP
As in TargetPoints just dropped into level?
yup
i added a "isLocked?" bool here :S but it is not working
@icy dragon and then in character BP i cast to animBP and set that bool
Hey all. I am working my way through a tutorial on running a crowd simulation and towards the end it copies the target location to the character under a setting of what looks like Default > Target Location. However, I cannot seem to find the Target Location on my character when following along in 4.27. Would anyone happen to know what became of the Target Location? Thanks!
Think in rules. What is the rule for the character capsule/mesh orientation?
Is it ALWAYS aligned with the control rotation / camera, ALWAYS aligned with movement, or sometimes either?
Take Elden Ring for example, the character is always aligned with movement except when locked on and not sprinting.
is there a good way to store/keep reference to a list of variables other than just making a lot in a blueprint class? just wondering if there's anything like a variable library
Kinda depends on what sorta variables we're talking about
transforms specifically
You can create an array which allows you to save a list of things in a singular variable
You can't nest maps into arrays directly, but you can create a struct which contains your map, and make an array of those structs
2D arrays can only be faked with structs, I think π¦
I think that the important question is whether you need this data to change during gameplay or not?
no it doesn't have to change, I have a variable that will change but I want to be able to access a list of these integr-transform maps so I can use them to change the variable that is referenced for gameplay
Then you're most likely looking for Data Assets to store it in. You can globally access them from anywhere.
ok i'll look into those, thanks
Or a Data Table
I'd probably to a DA just out of the simplicity of not needing FName conversions.
So, I've started working with Procedural meshes, I know we can slice them, but how about cutting a shape into a mesh? For example cutting the shape of a gun into the middle of the mesh?
On the topic, which format would you suggest for storing and editing a BUNCH of structs? That is, tilemaps. 1 struct = 1 tilemap, and I'd like to make an in-editor or in-game tilemap editor. Data tables are where we're at right now but they're a pain to work with for building an editor.
Hard to say. Sounds like you're also wanting users to be able to create them?
Nah not really, just gotta make it zoom zoom to create for us, and would like to do it in the simplest way possible
I'm looking at a custom editor mode but that gets gnarly quick
If I could save to a data table or data asset in game then we could just make a map for making them, I could easily whip up all the stuff in game context
Like if I could instead of SaveGameToSlot, have a MakeDataAsset or AddDataTableRow, i'd be sitting pretty.
Personally, I'd probably consider saving them by name and making the actor keep a savegame object loaded and reference it for it's data.
I'm not sure I'd even bother with the DataAssets or Tables. If you could access all tilemap names you've saved, I imageine it'd be easy to make an editor widget or similar to pick a tilemap to load, and save.
The problem is we have to be able to tag them. It's for WFC procedural generation so it's more like "Here's the base map example (Desert, Jungle, Island, etc), here's the subexamples, (TownSmall, Cave, MilitaryBase, ShipYard, etc), and during map generation, we go like "OK we're making Desert map 5, that's a Canyon map filled with small camps and a couple caves, with Desert and Bandit theming. Next level is Island map 1, that's a Jungle Island filled with large camps and a military base, with Jungle and Military theming".
the definition of one of the 25 levels is a list of possible tilemaps to use for WFC generation.
Could use the names idea tho maybe.
Still fairly easy. I save my game data similarly. I have two SaveGameObjects, one is the actual game data. Has functions and can run through all game assets to collect what it needs from a single call. Another is an indexer. I store savegame names along with other pertinent info like saved time, display name etc. You could easily save the tilemap names along with some other info like tags or FNames.
Indexer is basically a SaveGameObject with a single array of data that it is designed to parse through.
Does shipping a savegame feel gross or is it aight?
IDK how savegames are handled in a shipping build, do they go to user data or only new ones?
No different than shipping a data asset I imagine. Though to be fair in this regard, if you manage to write to a data asset from editor, it might be a lot easier to manage from a development standpoint.
Thanks for the info, that might be a good stopgap anyway. It'll depend on where it ends up, I'd hate to have someone clear user local data for a game and now half the game is gone lmao.
"I deleted the savegame folder and now the game crashes"
Haha, fair enough. π
what does it mean if my blueprint only works when it has breakpoints on it? π€
I have a function that makes my character stop wallrunning after 2 seconds, and when i put a breakpoint on it, it works perfectly, character jumps off after 2 seconds.
But when the breakpoints are disabled, my character just keeps running for infinity
That's an odd one. Haven't seen that one happen before.
the above one is on tick
the second is the function, it works when I put a breakpoint on the "right wall jump" function
@gentle urchin π¬
May i suggest for the sake of sanity to move it from... tick... to something like jump?
Sounds better suited for this
Are you sure its the wall jump having an issue btw ? Like if you simply disconnect the timer, does it work then?
And what error are you getting
If it just keeps on running its because youre stuck in the start timer loop
So resetting the timer handle happens without resetting the initial condition for reaching this point
Atleast thats my theory^^
but why does it work with a breakpoint? :0
oh so basically the condition never has time to be false
Yes along those lines
no errors my character just stays on the wall instead of jumping, you can see a slight blip in the trace it leaves but it stays on
Sorta need to see more of the logic before i can help you better if the above was not sufficient
hmmm
the tick is very big
on jump?
Whatever you press to wall run
but then he will only jump off the wall when i manually jump off the wall?
he wallruns when in the air close to a wall π¬
Ah
a when falling kind of situation
So the trigger for wallrun is on tick
Right
But your branch
Should rely on actually landing
yea
i see
So timer triggers after 2 sec
Then he should not be able to wallrun untill he has landed,
So i guess isFalling could perhaps be used
hi i enable root motion but isnt workinh
i play animation but my caracter isnt moving
BP allows for functional tests?
@faint pasture thanks for your help with my question about controlling multiple players! I was able to execute it today fairly seamlessly, where I can switch between whatever amount of playable characters are setup on a map. What really helped the most was realizing I needed to make the array a Pawn type. Initially I was trying to create an actor variable, unable to possess, and then checked what you wrote and saw you mention needing to use a Pawn variable.
Whenever I spawn one of my NPCs on a spawn point actor, the NPC stays floating in the air and the behavior tree never activates
If I spawn a regular object actor it will fall to the ground and act normally
Do you have them autopossessing an ai controller
Does this work?
No
Look in the setup of the actual pawn
In the details there should be options for autopossession
Changed to placed in world or spawned
Spawned fixed my problem π
Neato
Hey Guys.
Can I listen for an objects destroy event? I need to run a function in my level blueprint when an object is destroyed'
Maybe have an Event Dispatcher that triggers when the object is destroyed?
Then, just have anything that needs to be aware of the destruction have its own listener on it.
Yes but how can I input my character during test
hey, if I click the value fields of Rotation, the values change randomly! I'm trying to set it to some specific values but every time I click on one field the other 2 values will change without my input. This is happening in a data table.
Does anyone know where i can find this BP, no matter what i type i cannot seem to find this function ?? https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/EditorScripting/DataTable/FillDataTablefromJSONFile/
Fill Data Table from JSON File
What numbers are you trying to input?
"90", if I put "0" nothing changes but once I fill X axis with "90" the others change values randomly if I click their fields
Z value selected
y value selected
and if I unselect they change again
This happens with Control Rig vectors, but the difference is much smaller than that.
This is likely an issue with entering 90 into Pitch.
Not sure if that's even because of float imprecisions
Rotators and their surrounding functions do some weird ass shit around 90 and -90 pitch. Generally gimbal locking, but some of their functions really break down.
is there any work around?
Similar thing happens with Control Rig vectors, but the deviation is only in a fraction, much less than that.
That is floating point error. This is more likely the rotator trying to correct itself.
If that really boils down to FRotator, then there's probably no workaround, but not to set exactly 90 and -90
FRotator is a weird beast to handle, unlike the FVector sibling.
I mean its just unusable lmao even if I enter some aproximate floating point values near 90 it still jumps to random values.
It's not meant to be used in standard blueprints, probably only in Editor Utility and Editor Utility Widgets
can you show me this functional test? because I've never seen this in BP
apparently this is the way to do it: https://docs.unrealengine.com/4.27/en-US/TestingAndOptimization/Automation/FunctionalTesting/
They're not random. They're corrections. Your values aren't actually different if you look at the direction they're pointing.
so I should just try and use the corrected values?
checking it in game its definitely at the wrong angle
Case. I took your values and printed them in their directional vector.
Sure, send pm to me
@trim matrix I found it, I would look up a tutorial
I saw it but it is saying noting about how to give input during test
What are you trying to do? What do you expect pitch outside of -90,90 to mean
Hello any idea why i get black bars when i try to blend the camera with my target?
aspect ratio?
Of the camera actor ?
of whatever camera you're setting the view target to, yes
So how do plugins work regarding distributed development? I got a plugin from marketplace and added to engine, what happens on my buddy's computer when he tries to open the project?
LE Standard Library to be specific
Depends if you have the plugin as part of the project files or as part of the engine files I believe.
Quick question - my spline mesh component doesn't follow it's parent when it should be auto-attached, it stays stuck where it is. It's set to moveable. I feel like the fix for this is easy, it's just been a while since I've done spline stuff π
@faint pasture They need to also have the plugin either in their [Engine fodler]/Plugins/Marketplace directory, or in the [Project]/Plugins directory. Don't do both though, that can cause issues. Should only be in either one or the other (there's no difference functionally)
Aight so just copying from engine directory to project should suffice? I'll test that. Only ever worked with plugins on a project level, don't like them in engine
I prefer project too. But don't copy, do cut/paste. You'll have issues packaging if it's in both
so I'm wanting to recreate the same dash of jett from valorant, it gives a dash to the sides can anyone help me?
Which part do you want to help with? The movement? The visual effect? The animation?
I know pure functions are executed once for every Non-Pure node that calls them. But if do something like this, Im just doing the processing part (Calculate Surface Area for Static Mesh) one time right..?
just the side dash move
the effects and animations I already have ready
I just want to do the side dash in first person
Yep
Thank you!
can you help me?
@faint pasture can you step in? I'm near sleep to help lol
IDK anything about pulling off a dash in BP, havn't got to that stage with our game
Actually nvm on my spline question I think I know the issue lol
ok, sorry
If it werent night time in my time zone and near sleep, I could've cross check my project for the dash :(
ok sorry to disturb
You can try turning friction and gravity really low, launching character, waiting a bit, then turning friction and gravity back up
that'll be hacky but it'll work. If it's a multiplayer game though, I'm gonna have to stop you right here lmao
in MP it's totally a different animal
It's not multiplayer, it's for a school project
Then yeah i'd do it like i said
Ouch, I hope it's not that worse for just replay replication
That was a great advise. Thanks. It solved my problem
@trim matrix something like this should work?
OHH ok got it, thanks, I'll try to use
Why launch? Launch technically changes the movement mode and stuff. An impulse is just a burst of additional speed to the character movement component. Should probably be safe for multiplayer too as long as the event is called on the server.
yeah not works
How big of an impulse did you try?
yea crank up that DashPower π
it's at 500
ok i understand how it works
@grand valveThank you very much
@grand valvecan i repay you in some way?
Help someone who needs help in the future π
ok i will help
Heyo. Anyone know how to get every object in a scene parented to a blueprint like this? Trying to follow a video on how to make randomized level streams, but can't seem to figure this out. The video is not really a tutorial so he doesn't explain anything in detail and I'm very confused. Never programmed before. 
The parenting is necessary to get the rooms snapping to each other
This is the video: https://youtu.be/bSWu7oTwkZs
He has exactly what we need for our game
Weekly whatever on Wednesday (or whenever lol) when we do what you wanted!
I had a comment on one of the videos asking if we could do an "example of how to do a randomly generate map with premade segments (levels)." and here we go =)
Link for the Source Files - https://github.com/MWadstein/dgaw-LevelStreamingRandom
calm down, I can't quite understand, do you want to get all the objects in a level?
GetEntranceAnchor and call GetAttachedActors
So basically, the "anchor" blueprint is what the other room that generates will snap to.
How do I do this?
and because everything in the room is parented to the anchor the whole room moves together making it able to be rotated together when it snaps
The video explains how it works really well but not so much how to set it up
Not sure. Depends on your EntranceAnchor thing and where you have a reference to it and where you need to get it.
Sorry to come in here with such a loaded question, but I'm not sure where else to go
Okay. Start with where you need those references in. Where do you need to array of attached actors?
I just want that exact system he has in the vid and I have nooo idea how to set up some of it. I downloaded his project and of course, it's all broken in UE5
Oof. Really do not advise using that for learning.
Yeah, I just thought I'd look through the blueprints, it didn't really help me
I've deleted it, and started from scratch
UE5 is unstable, and really not useful to anyone who isn't well versed in engine programming to fix some of the instability. I'd really recommend spending some time on 4.27.2 if you are interested in programming.
Oh... π We kinda already started and have a semi functioning game. We are both entirely new to programming
But randomly placed prefab levels are essential, since this is a roguelike. Like the way Binding of Isaac generates rooms except linear
I wonder if Prefabricator has made it to UE5 yet.
Is that a plugin or something?
Yeah. Basically allows you to create preset "prefabs" in the editor and save them and then spawn them at will. It has a bunch of nice randomization functions. Allows creating a fully procedural level with nothing but a single integer change.
Oh! I'll look into that and see if it's available. Thanks!
nope not for 5 yet
As for my initial question. I need everything in the scene to be parented to the entrance anchor. But when I do "add to", it doesn't appear on the list.
I'm using a blueprint of the base class Object as a handy little NPC task management tool so that they follow daily routines. I'm finding my self needing to use delay nodes a lot and I can't since theyre not available for objects. Should I make them actors? Each NPC might have 1-10 of these objects and there might be up to 25 npcs on the screen at once. Would switching these objects to actors be a big performance hit? If so is there some other way to achieve a delay node in the object class?
Probably sounds like you might want to use actor components rather than objects?
Any reason you're not using the AI stuff?
tasks etc
or that ^
Or if you wanna keep it simple, make some sort of a schedule structure or component
there's no reason to need delay nodes, just have some function for "Hey, it's 3:00, what should I be doing?"
maybe every ingame minute or hour the AIController looks at the schedule and determines what it wants to do
ThingToDo = element from ScheduleArray with closest time to CurrentTime without exceeding CurrentTime
@floral condor you can use delays and such in UObject based actors but you need a C++ baseclass where you override GetWorld - otherwise you'd probably need to make them actors yeah. You can inherit them from AInfo which is meant for invisible "manager" actors
(the reason delay and things like spawn actor don't work in UObject based BP's is they need a world, and the default UObject GetWorld function requires you to override it to ensure blueprint based ones get a valid world)
What does AInfo have that AActor doesn't? havn't tried that
iirc almost nothing, it just hides a bunch of properties from the details panel :D
yeah it's effectively an actor that doesn't have a transform.
how tf
isn't transform in AActor? or does AInfo have a different parent
or does it override the getters
It just hides the transform from the details panel :P
UCLASS(abstract, hidecategories=(Input, Movement, Collision, Rendering, "Utilities|Transformation"), showcategories=("Input|MouseInput", "Input|TouchInput"), MinimalAPI, NotBlueprintable)
that's mostly what it does
although I do notice it says "NotBlueprintable" so it might not actually even be inheritable in BP's lol
You can inherit them in blueprints. You just can't make them directly in blueprints.
if i have a blackboard that contains a value called "Target Actor"
And i want that target actor value inside a task
how do i do that? 
like-
this can't be it
this seems wrong
Why does it feel wrong? Blackboards are meant for loose coupling
wait, so do i name the Key "TargetActor" and it just... works? 
no referencing? No casting? Nothing?
is it because the task is getting played inside the blackboard so it knows which one it is?

hey thanks a lot man
Something has to set the key but yes.
is there some special way to return a reference to a struct from a C++ UFUNCTION to be used with blueprints? I use the UPARAM() tag, when I set a variable in BP to the return value of the UFunction and edit the members it does not update the original struct returned by the UFUNCTION().
i can't get it to work 
pls halp
I have this value Target Actor. And that is being filled with my player, thirdPersonCharacter.
I know this, because once the AI detects me, it runs towards me using the TargetActor Location as a MoveTo.
Right now i'm doing the "Block" task.
and no matter what i set the TargetActor to, even if i call it "asdfasdfasdf" it always spits out "NpcActor" - aka - itself.
@onyx token Show how you're setting it
@onyx token Is the npc perceiving itself?
What do you mean by call it asdfasdf? Actor name in outliner?
umm not as far as i've set... unless the standard blackboard task of "MoveTo" has like a "NpcActor" for the original location...
yea
this on the left
whatever i name this, even if i name it like the Blackboard key, or asdfasdfasdf it always just spits out "NpcActor"
That's the variable name.
yeah i thought in order to get unreal engine to realize i want the blackboard key - i need to name the blackboard key variable in the task exactly the same
Display name of the object will be like classname_number

Key name is the key...name.
A blackboard is just a map/dictionary sorta
Key = "TargetActor"
Value = whatever you set it to
okay... so if i wanna get the blackboard key value into my task, how do i do it?
Hey, im trying to make an animation on my character controller where if the player press F, the camera will rotate 180 degrees on the y axis. Timeline makes it look wonky, ive tried childing a camera actor where ive got a script that swaps the camera controller with the actor (actor wouldnt stay childed, but everything else worked) and im clueless now as to how to solve this problem >.< Ive goot screens and all so if anyone can help me through DM's, that would be much appreciated!!
if you're using the third person character controller, you can use the "OrientRotationToMovement" boolean that comes with it
What is the data type of this variable?
Object with the base class Actor
im using first person... T.T
use third person and place the camera inside the actors head 
β don't do that
Depends on how you're driving your camera but could just add 180to control rotation yaw
Can an object be used as a key? If you're setting the value by name, get it by name
i don't know how to get anything with the task... Like - i can't just blankly do get ai controller because which one am i addressing?
if i have 100 Npcs in my game...
and a reference to "self" doesn't exist in "Controlled Actor"
do you have any helpful links to that or videos? u see im not very sure how to do that ;-;
@onyx token I think you're way lost. Each npc has its own copy of the blackboard. Some tasks write to it, others read from it.
sure
Npc writes TargetActor to the blackboard then later can read it for the MoveTo logic
Your key when writing it is a name, you should use that same name as the key for reading it
so which blueprint node takes a key from the blackboard and lets me read it inside the task?
I need the TargetActor to figure out if it's attacking right now so i can react to it
I want my Npc to block when my player, or any other attacking.... dude... is hitting
Get blackboard value as actor
You already have that node you're just plugging some object into it instead of a name
but it needs a key tho...

@onyx tokenHave you tried looking at what that key struct is?
umm... no, idk what a key struct is 
Do you know what a struct is
okay so i set it now as a "Blackboard object reference" and when compiling it compiled for about 20 seconds and i thought unreal engine crashed 
sadly it didn't give out anything, not even NpcActor
sure
that could be the node i was looking for, lemme try
oooh shit that's it! Thanks so much! @faint pasture

i would've literally never found this node ever...
Blue pins are structs
make and break them to see what they are
Although "change what you're doing if the target is attacking" should be on the BT level
well my idea was i'd use a selector - and the "Block" task checks if i'm under attack.
If it's wrong, the selector moves over to the "Attack" task and the NPC attacks
Hey there, I hope this isn't a complicated question, I just don't know. I ask anybody who knows how to send an NPC to anther level? My intension is to make both player character and non player character to another level but I don't know how. I have one inspection but I don't know how to set it up if that's the case.
Not an expert with levels but I'd guess you probably want to stream the levels in and out and have the persistent stuff in the persistent level
or just save/load them
Assuming you already have the framework to save/load the player character and NPC in question, just use that
save, load new level, load them
We do everything at runtime in our game so literally never call load level ever.
Sorry, I quickly wanted to analyze the level streaming and that's something I'll need to look into for a bit. My level changes may need a redesign. I may ask further later on but I guess I have some researching to do on level steaming. At least thank you for giving me something to think about considering.
If your game has saving/loading anyway, just leverage that
if it must be seamless, then consider the level streaming
It does have save and load but I don't know. It's structured with Save Game blueprint and Instance so I'll have to see while looking.
If you got that, then moving to a new level would be no different then exiting, then entering the new level
Does anyone know of a procedural recoil tutorial that I can follow? Whenever I try and add an animation for an automatic weapon, the animation just fires on the 1st shot
why does an event in my AnimBP only fire on server but not on client, even when not set to be replicating?
https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Utilities/String/ToString_transform/ is there no inverse of this?
ToString (transform)
I have a string representing a transform and would like to use it as such
That sounds like a bad idea but go on...
nothing else, that's it
Anyone know why Unreal 4 BP won't set the value of a variable within its own class?
Like even this... I go from event tick to decriment the value of a float by the amount of time that is passing
skipping the branch
cuz for some reason I cannot set the value of the boolean in a function & then get the updated value in event tick even though in the function it is updated to the new value
Show how you are trying to set the Boolean
Using set
these print prompts appear
all I did was create the variable and set it here
then check its value in event tick
That's annoying... you have to RIGHT CLICK the fekin function to call the parent function instead of just dragging off and typing "Parent Event Tick"
anyone have any pointers on recreating this aiming setup?
which game is this?
btw it's probably just getting a vector from the combined x/y of the last frame to get the direction the mouse is moving
and then changes the arrow to be pointing that direction
I tried using that in general but the x/y resets to 0 every frame after you stop moving haha
Is that aiming? Clip is so short can't tell wtf is going on
yeah pretty much, where the mouse moves it points the arrow and when you attack it swings in that direction
just trying to get the values for the arrow and to set stuff to know which animation to play
yeah, if it stops moving don't reset the value
kind of works with Get Turn and Get Look Up/Down
Just have a clamped vector you add to with mouse/stick input
super quick question. I have a VERY simple objective system that basically is a BP with a trigger that changes the objective on the widget when the player overlaps the trigger. However, it does not like the destroy actor component attached and throws an error. I know there is another node/way to destroy the actor for widgets, but i cant remember for the life of me how. If someone wouldn't mind throwing some advice my way, I would appreciate it ty π If i leave the destroy actor attached it throws a character ref error
RecentAimVector = ClampVectorLength(RecentAimVector + Input, 1)
not sure if clamping will work when it goes negative and positive though
or alternatively just something that would stop the trigger from triggering again and remove the actor
nvm delay fixed it
don't want to interrupt but anyone want to help me with smooth camera transitions with the set actor location?
i know i mite need a timeline or vinterp but i am unsure how to use those to make it move smooth
Anyone know why my search in blueprints randomly stopped working? all blueprints are indexed, it's just stuck at like 85%
Hi! does anyone know if there's a way to compile all blueprints only? like a short cut
how do i make it so that when the player moves, their speed doesn't gradually go up to the max but instead goes instantly to the max?
Ramp up aceleration so it acelerates instantly
how do i do this?
works great, thanks!
Sure it would, you're clamping VECTOR length
is there any safe way to rename your project file?
have you looked into set view target with blend?
ive got a very simple setup here to raycast from the 3rd Person BP template but for some reason i cant get it to ray cast in the direction the camera is facing
what am i doing wrong ?
ofc using the world transform as start and then multiplying that vector for ray length would work but it would be wrong as the player moves away from the world origin
nvm brain was farting (this is why sleep is important)
i know right! ive done 10x more complex stuff and im sitting here going whaaat is GOING on
Any idea what's the name of the function to change the display in the settings in case of multiple displays? https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/GameFramework/UGameUserSettings/
Stores user settings for a game (for example graphics and sound settings), with the ability to save and load to and from a file.
can any of the BP wizards here explain to me while this is resulting in an infinite loop
the tick version works just as intended but when i use a while loop it raises an error
the script is just checking if the actor (The 1m cube) is moving or has come to a halt
Is there any way to dynamically set the length of a timeline, as well as the time of the last keyframe, in a blueprint using an exposed variable?
While is continuous, blocking
So while (lol) the While condition is not met, it'll do the code again
for infinity
You'd need to take care of the condition inside the loop
The engine will go
IsConditionMet? False -> Loop Body() -> IsConditionMet? False -> Loop Body() -> IsConditionMet? False -> Loop Body.... for infinity and beyond
Yes,and no. Playrate will effectively adjust its length
adjusting keys, not so much
Setting Length to 1s means that if you want a length of say ... 10 sec... you just do PlayRate = 1/10
correct, but the condition is met (eventually)
Not while it's blocking it is not
You're telling it to "untill this condition is met, ONLY print the string"
so it'll never do what makes the condition met
being a blocking loop
And uhhh how do I set PlayRate?
hmm i think i get it let me give it a swing
Imagine the While Int < 5 condition.
If you then in the while body increment the int, it'll exit the loop whenever the int is >= 5. Nothing else would happen during that time period of incrementation
what am I doing wrong here?
Thank you
it's a BP for a projectile
The error says
Object does not match specificObject
the variable is part of the specificObject
Also
I would think it makes more sense to let the damaged actor handle its own incoming damage?
So bullet doesnt care who he hits (except owner, which you may already have ignored)
is it more efficient this way?
okay I'll try it
I still haven't figured out how to make by own projectiles ignore me
so they pass through
both are physics objects
alright I made this but it doesn't work for some reason
Like...
the projectile calls "Apply Damage"
to the hit actor
the actor reacts with "Take Any Damage"
so... make a custom event? I dunno how to do it
@gentle urchin im now having the loop body update a variable that it is using to drive the condition but still getting blocked i guess, maybe my understanding of it is wrong
and the damaged actor
haha how come every time I hit a roadblock there's a convenient function for it? thanks mate
You're on the right track, but missing a fundamental thing. It being blocking means that the velocity is not gonna change, ever, inside the loop
You're not the first one stumbling on these scenarios
but isnt it setting velocity every time it runs the foor loop ?
as the bollean is true
It's setting what it read. But the read value is not gonna change
so if you enter the WHILE loop with a velocity of ... 100. Velocity will be 100, untill the loop is broken
but since the cube is a physics cube and slowing down it will change wont it (ive got a cube im throwing down a flight of stairs)
eventually it will stop moving and its reading should be zero
Physics doesnt update
because you're in a blocking loop
this is what the code really does
oh....
i was doing this instead of a tick since ticking is expensive
this is not cheaper π
hahaha
velocity is changed from frame to frame tho
so if you need to react to it , checking it each frame kinda makes sense
yeah i guess a tick script would be fine
If its a problem, move it to c++ π usually less of a problem there
Also its good to always consider if something really must be on tick
or if it actually belongs elsewhere
You'd wanna try and do event driven as often as you can , to avoid letting the engine do work it doesnt need to do
Some things do simply belong on tick and cant be done elsewhere
physics, animation are usually top candidates for what you'd wanna use tick for
also something strange lead me here, i cant seem to turn physics on and off using bp
like i have a raycast to pickup the cube and drop it
works fine but if physics is enabled it wont snap to the character so i disable physics and then when the character drops the cube i enable it
but once i use bp to turn physics on, thats it its never going off again
alright so I want to make a line trace from the enemy to my pawn, but the pawn only spawns after the game start. What should I put into the Cast To window?
since I can't reference the pawn if it doesn't exist yet
You want the enemy to keep tracing to the player on every tick?
yeah
If it's a single player game you can probably just do get player pawn
and then check the cast result using Is Valid
it will not be valid if a player doesn't exist currently, since it can't cast nothing
behold, advanced following AI
if it works it works :)
Hi, I got a task to rig and animate this crane for a VR experience. I was thinking of using just a button to go up and then down as you push it a secound time. Any clue to where i should start? Any tutorials etc. that can help me out here?
Hi! I have a question! Is it possible to somehow reference to an edited static mesh inside the editor window instead of static meshes inside the engine folders?
like inside the editor my cube looks like this but that reference node lets me access a generic cube from engine folder
^is this a cube you scaled in the editor viewport or what exactly?
uh any one know to to bounce a raycast easily
As in, do another linetrace in the opposite direction from the point where it hit or something?
yea but i dont know how i would do that
I set the value range but it still goes outside of that range when I change it
Take the direction of your linetrace and try multiplying it with the normal from your hit.. not 100% sure but it might do it
Then you can calculate a new linetrace based on the direction you get from this
like this but it still goes above 100
Thanks
I think thats only for instanced variables
yup, scaled in editor viewport. Thing is, the cube isn't important. I'd like to somehow reference the static mesh placed inside map/level. What this reference node does is that it only accepts content from folders.
Oh. It only works with actor references?
Is anyone helping around here? Or is it just people saying they have an issue :c
I have another sequence that only plays once
Shouldn't both fire.. both?
Is this a function?
Yeah
If you use a Return Node somewhere after that Branch, then it can prevent the rest of the sequence from running
a return node will immediately exit the function
Dude you solved so many issues just now
I think my brain froze a bit. You mean that as actor reference variable, yes?
just making sure
Yepp
is there any way to make an object only visible to a render target? my inventory system is gonna have a 3d modeled render target for selecting buildings.
I have reload animation to bolt action rifle. Rifle is attached in bp to character right hand socket. How to make this work?
create new socket to left hand and try match transform?
@hybrid ether Does your animation have left hand movement?
yes it have left arm movement too
I try something like that and try to match socket
Not sure about "only" visible to a rendertarget. But most cases for this actually put their spawned meshes under the level or somewhere unviewable and render it from there. Then it doesn't matter if anything technically can see it. Less edge case problems.
Then why isn't the left hand moving?
You probably have the left hand driven by IK normally and forgot to switch it back to playing the upper body slot during a reload
it is just very little movement
What exactly do you want here? If you have an animated the hand to work for the reload, what are you expecting?
Your options are either have the head driven by animation, or some ik maybe
I used that code and now it looks like this
I try figure. Switching attached bones just feel bad
It is possible, did in in 4.16 with sprites on top of characters (for the minimap)
Perhaps it was as dumb as owner no see
is there a simple BP to count how many times specific function has been executed?
so i can use that value in hud bp
Not that I'm aware of, seems quite specific and not an all that common needed operation. Can just have a variable, and increment that variable every time the function is executed.
i guess the thing i want to make is quite common, cause i want to make a collect/kill counter, but probably the way i want to do it is not so much usual π
but in my small brain it seems it would be easier to get positive integer number every time actor is being destroyed, and then just print that number on hud via widget blueprint
that's my bp for destroying and spawning actor
So just have an event dispatcher that sends out a message that the banana was destroyed. Then listen for this message w/e you want to get it to the hud. Then just increment a number.
whats the benefit of using event dispatchers instead of just casting to the target?
Decoupling. Casting works as well mind you. It just tightly binds w/e you cast to to this banana object. The banana shouldn't really have any knowledge or care that a HUD exists.
Same with interfaces
Anyone here know how to manipulate transform data? I am trying to place instanced static meshes on a spline (to make leaves on a stem). I'd like each leaf to have its own transform which can act like a relative transform which is relative to its particular location on the spline. That was I can just change "Custom Rotator" to wiggle the leaf safely in its own frame of reference.
In the first pic, I've got "Get Transform at Distance Along Spline" and I would like to adjust it by the Transform underneath it, arriving at a Transform in the Actor's local space.
What I'm currently doing is producing weird results, but there's also a screenshot of the leaves in a way that's close enough to illustrate what I'm going for. Any ideas?
Seems like 3 leaves evenly rotated around the spline
So at distance along spline, distribute 3 leaves at fixed rotations
Like 0, 120, 240 degrees
One of the best examples you can find for this sort of thing is UI. It's fine if UI knows about specific gameplay objects, but gameplay objects should never know about UI. It's just bad design. Basically if you have to change any gameplay class's stuff because you decide to tear out and not use a piece of UI, you're doing something wrong. So instead of having the actor cast to every single widget that could be updated from it, you just add a delegate in the actor and broadcast it when the actor does it's own thing. UI can cleanly get this actor which is much easier to get than a specific widget and bind a callback to it. The actor class never has to know or care about this widget. You can apply this to gameplay classes and their managers as well. If you have like a time manager that broadcasts shifts and AI needs to change what they're doing at certain times for example. It's much easier to just make a delegate in the timer manager instead of having the time manager get and loop over every single AI that would use this.
Exactly, that's what I'm currently doing. Works great for a vertical line through world space, but I want it to follow the arbitrary curve of the spline. My difficulty is in translating (0, 0, 120) into the frame of reference of the spline transform and then translating that result into the actor's frame of reference.
Hmm, surely there's something im missing here,
why would it not follow the transform of the spline?
Something like this, but 3x, right ?
So when you add an instance to the ISM component, it is in the actor's local space. What I want is not in the actor's local space, it's in the spline's--but I have to convert that into Actor space for the "Add Instance" node to understand it.
not enough vertices
plenty, cant you tell? π
I'm guessing there's something in this space I need to do so I can rotate the spline's transform within its own frame of reference, not the actor's
From the same location, fetch the right vector, rotate it around its own axis, and offset the location by the distance required
That is a great suggestion. I've thought about that--it would technically work, but I really want to manipulate the leaves with a rotator, not a vector offset.
Well usually their origin is right on top of the spline. Though I want the freedom of what amounts to a Scene Component for every leaf.
Guess im not understanding this correctly then π I thought you just wanted to procedurally place them along the spline at given locations
I've got a MediaPlayer that I want to start at a certain point. I've got the setup as shown in the attached image. I can see the video has jumped to the point I designated but it won't start playing
Yeah, that's the first half! Then, I want to be able to say, "hey, your root offset, rotation, and scale is <Current Spline Transform -->Adjusted by this offset --> Converted to Actor Local Space"
Legend says it's still not enough
Being ISM's there's only so much one can do
Personally i think it looks alright for this early in the development
I can't really visualize this part x)
this is what i got out of it x)
Makes sense, it's a real brain bender. I'll make a diagram.
So, can I get some assistance here.
I have a long jump.
I have a double jump.
If the velocity of doublejumping would be slower than the current velocity, then set to true.
Is there a question hidden in this statement somewhere? π€
I'm not entirely sure if I follow the logic
If you apply a double jump by increasing current velocity by double jump speed, then it would always be higher than current velocity
Is your character using CharacterMovementController?
because it has doublejumping builtin
Yeah but I created my own lol
Hello! Does anyone know how to set the Level Sequence Dynamic Transform Origin from blueprint?
I'm trying to create some reusable Level Sequences to things like opening doors, pressing buttons
I can override the instance data and set transform Origin actor in the details, but I'd like to o that from the blueprint. Any ideas?
Sounds like combining transforms is what you want
As you tried to display
And it should basically be whatever local transform + transform at spline in world space
in the details for the level sequence you can override the instance data and set the transform to another actor - when I move the other actor and auto play the level sequence it works perfectly
But if I try to trigger the level sequence from a blueprint, it doesn't work
I got this far:
but I can't figure out what target the "Set transform Origin" wants.
It says it wants a default level sequence instance data object, but don't know where to find that
So you have some condition for being able to do the extra jump?
Like a maximum speed or something?
Fixed this, it seems the media player does not really like it if you seek and then immediately play afterwards. I moved it sooner in the logic and it works
[Repost from #ue5-general since no one seems to know there]
How do I make a blueprint actor class WITH keeping the lights I have in my scene? They all disappeared when I did the creation of it. (It has been 3 days since I tried solving this issue I'm so desperate pls I'm about to uninstall unreal π)
As long as you're jumping from the air, it counts as a doublejump
Right so I'd just keep track of whether you're grounded or not, no need to check anything else :)
I'm using this instead of a timer but not sure if it's too much math to do per frame, it works fine for me but I'doubt it will in a bigger project, what do you think?
Well I want it to gain momentum if you're jumping forward and wanting to gain speed. Right when you try to slow yourself, is when it should override (or be true)
there's SpawnTime and SpawnTimer, they're different
I agree, it is what I've been wrestling with for a few days--would you mind giving a more specific set of instructions? I really feel like I've tried every combination of ways these nodes can go together.
This the 3rd time you've posted about this in a different channel. Please don't cross post and please don't spam. Be patient. <@&213101288538374145>
You can reference your old message by making a reply and then saying "Still need help with this" every so often.
Hey, how would I go about getting level_1 to load on launch of the game? I've tried a few methods and nothing has worked correctly yet
I get it, but I cant reply to it in different channels
yes you can c:
hm wait
copy message link lol
ah damn
wait is this guy trying to get me banned?
Well it is in the rules that you shouldn't be crossposting. Seeing you are now getting help on that channel
If you don't get help then you can repost but yeah wait more than 1 minute
I see, I'm sorry. I have read the rules tough, it was just long time ago.
Its been 3 days my man π
ok back to blueprint talk @earnest tangle
And unreal is hard as crap. And I admit, I'm can be very impatient
Your previous message on ue5 general is literally one minute before you posted here :P
tbh it's a bit hard to understand the exact scenario and the exact problem you're having with it... if you need the jump to only be possible at a certain speed, you probably need to compare the current speed against that speed
Yes because I noticed it might have been the wrong channel
So I'm checking if the player WANTS to slow themselves down. If the player's next jump would slow then down, then override (top launch character)
It should in my head be just controlling it like local actor space and cpmbining it with the spline transform .. i can test it a bit later
how would you determine if the player wants to slow down? I mean you could check if they're pressing forward or something?
Well imagine if they turn their camera around, then jump forward
ah, so that would probably normally reduce their speed since it's in a different direction?
Yea
After combining them, what space will they be in? World space? Relative to the Actor? Relative to the spline?
anytime you jump into an opposing direction, (since it's a long jump) it'll apply force to the new direction
Maybe you can compare the current movement direction vs the current facing direction then?
World, if you go by spline world
^
Or spline local if you go by local , i believe
current movement
Is this what you were thinking?
vs the current facing direction?
@celest sierra You can get movement direction from Get Velocity -> Normal or whatever the node was called, then you can compare it with Get Actor Forward Vector which gives you which way you're currently facing
you can use dot product with some math or trigonometry to calculate the angle difference between the two
this was a camera check
This would check if the player turned their camera around, then jumped
which worked
but if you didn't turn around, and held S(backwards) it wouldn't override. So I added "backwards pressed"
but this added an issue where if you were already facing backwards, then tried to double jump backwards, it'd override the second jump
Ah, so also pressing backwards should cause it to override without necessarily turning around?
Yeah, but #blueprint message would happen
Right, so here's what you can try
You can get the current input vector for movement which gives you which way you're trying to go in terms of inputs
So that's why I wanna check velocity
Yes, but the other way around. And not multiply but combine, i believe
then use Get Actor Transform -> Transform Direction with it
This converts it into a direction in the world
Now you can compare it with the direction you get from velocity
this will take into account facing and which direction you're trying to go via buttons too
Ok, so this?
Oops, sorry didn't see the rest of the sentence
I'll look into this after my lunch break
So the only "combine" I'm seeing is rotator related (see pic)
Also, googling "ue4 combine transforms" returns the doc page for "compose transforms", which is the * node I've used.
Welp, you're correct, i did the same thing ! * it is ! π
So that works pretty well--the only problem is they're tipped to the size and I can't seem to get them rooted pointing up. I've had this come up a few times now.
Oh good gravy I think this might be it
Oh lord π
It would be the 3rd false "oh good it works" in 3 days so I need to check edge cases
Thank you :), your help was incredibly useful
would you like a mention in the credits? I can add it to the list
Hehe nah im all good ^^
Last edge case i had (except recent spline fun) was procedural landscape where it happened one of ~80k times
Fun times
That's "Ghost Stories for Game Devs" material right there
Does anyone know why my blueprint keeps loading in levels that it shouldn't be in? π It's the trigger to load the next room, so I need it to be room-specific. For some reason it doesn't go away when the previous level is unloaded.
I've double checked it, and it definitely goes away when I turn off visibility for the level it's supposed to be in. But it stays consistent when the game is playing and you go to another room
I haven't implemented room snapping yet, so it might not even matter since you will physically move away from the bp and can't trigger it again because there's no backtracking. But it's still annoying
lv 1 turned on
lv 2 turned on
Vulture head is the bp I want, and looking in the levels there is only 1 per
Worst case youd just control it manually
I suppose I could tell the bp to destroy itself after it's used π
I can probably just ignore it. The levels won't be spawning in the same place like they are now
Can I covert a BP back to Data-Only Blueprint?
I needed the full UI to change something, but I need the data only view back now
I think as long as you don't put anything into the graph it should go back to being a "data only"
Might need an editor restart for it to happen though
As far as I know there's literally no such thing as a "data only" BP, the editor just gives you that UI if it thinks the BP contains no logic
yeah editor restart helped
In a multiplayer game should the players widget where its shows his health and inventory only exist on the player game or also on the other players games?
Sounds like a design decision
Any BP experts here familliar with an issue where re-typing a paramter causes it to have an incorrect default value? IE: Retyping a bool into an Enum will sometimes cause the enum to init with the value of "True" or whatever the bool was set to. Sometimes you can refresh the BP several times to fix it, but in the case of data tables containing structs, it seems like this garbage init data will compile just fine until you cook and then it will fail. Is there a known issue for this?
Like, usually other players dont need to know about the inventory
But hp could be usefull
i have a component that has the inventory stuff but that component has a widget that show the player what it has
i want to create the widget for only the owner of the inventory
but idk how to go about it
Inventory is server data, and personal to the player usually
ye i mean more like idk how to make a widget only for the player i have tried * Is local player controller* idk if that is the right node for this tho?
Where is your inventory component stored?
player character
So you can do an input action either on the character or on the player controller to create the widget, the widget can get the owning player pawn, which you can then get the component off of, and display the contents of.
how do i update the widget?
You can put an event dispatcher in your inventory component that you call whenever the inventory is updated. The widget then binds to that dispatcher on construct to update its conents.
are event dispatchers per client or over the whole game? haven't used them much with them yet
Modifying existing structs that you already have been using is usually a bad idea.
I mean sure, but it's rare that I would ever figure out a struct content 100% correctly and never touch it again... it's game dev
I think the problem is beyond structs tho, it's fundamental to retyping vars. For example if you make an enum, choose the value at index (1) and convert to a float, the float default will be "1". This behavior works for some (compatible) types but somtimes breaks with incompatible types.
Event dispatchers themselves don't replicate anything, they are just a means of communicating from one place to many places that listen to it. So if you're running on the server and call the event dispatcher, then any listening objects on the server will hear it.
If you're using something like an OnRep on a character, that OnRep fires on all clients, so if you called an event dispatcher there, it would be firing on all clients. The idea here is though, your widget is binding to the event dispatcher that exists in that specific component within that specific character. It wouldn't matter if the event dispatcher fires on other characters as your widget isn't listening to them.
I got a rolling ball controlled with keyboard, and i want to add some friction so when the player stop pushing the W (to move forward) the ball after a couple of "meters" stop rolling. I have added a physical material on the ball material and increase the friction but the ball keeps rolling slowly even if the player release the move forward button.
I got into this. I'm still kinda confused what's going on
the get velocity is the current direction
The transform is the player input direction
So the idea is basically this: Get the direction the player wants to move to, and compare it to the direction it's actually moving to
The last input vector gives you what the input is, eg. forward, backward, whatever - but this is in the actors coordinate space
Transform Direction converts it from the actor's space into world coordinate space
the velocity vector is also in world coordinates
so now if you get a normalized version of the velocity vector, you can compare these two directions, and you should get a value you can use
Can you use blueprint search syntax to find a C++ property exposed in the details panel?
Or can it only find properties created in BP.
How i can access lock position , via blueprints ?
If memory serves, it should be able to find stuff used in BP even if it's from C++.
Can anyone tell me how it's printing this message when the condition for that specific branch is returning as false?
https://blueprintue.com/blueprint/z6y23d9e/
Because you're printing after changing data.
I would wager if you put that print before the SetElem node, it'd print true.
From what I can see, you cannot. This looks like a pretty deep C++ rabbit hole that was designed for complex design time settings without much regard for runtime changing. Likely assumes you wanted to play something like a side scroller with a constant plane setting.
Hi, can anyone help me with linetraces, because I've been trying to get a system where I can tilt the camera to give my wallrun a more "wallrun like" feel, but I need to get the right side to tilt my camera to. Whenever I linetrace it just goes to the center of the map, but im not sure where to put the end point. If anyone can help, or to be honest find a more efficient way, i'd be grateful
lane trace goes from start to end in this case your world location of your "Mesh" to 0,0,0 aka the center of the map
yeah but if I wanted it to go to a wall that i'm "running" on, where would I set the end to?
example
me running along that wall
You'd make a pretty good Jeraptha. Strangely, moving this print function to just before the data is modified, it also fixed another bug I was having with that same function. Thanks!
@maiden wadi i want to constraint my player not to move ( not pause the game though) and then resume
@maiden wadi not disable input thought because its rolling ball
@maiden wadi and it will keep rolling
I need it to hit the wall, then find which direction to tilt the camera
I can join VC if it helps anyone.
All I'm getting is Sonic the Hedgehog?
No, stop moving entirely. Actually you can do that by clamping the velocities in blueprint I think.
let me see
it worked
I mean alternatively you could just stop simulating physics entirely and then just reenable it
@maiden wadi ty β€οΈ
?
to get the tilt affect you could probably also get the location from the wall and your location and then calculate the rotation based on that @trim matrix
Generally speaking, you could hack this by doing a radial trace around the player, but the fact you would need to do that is rough design. You already know which side the wall is on due to having started the wall run in the first place. I'd find a way to cache that
yeah, but basically every wall is runnable, so idk if that would work
I'll try that
i mean get a reference to the wall you are currently riding
Is this what starts the wall run?
The SweepResult should have some data for you. If you could get the hit location, transform it into your character's local space and determine if it's on the right or left side of the character, you'd be able to know which direction to tilt the camera maybe.
Something as simple as this might work, unsure.
okay, I'll try that
I did this, but it's still kinda messed up, and counts as a hit when I jump and land
(wall collision is basically a huge mesh on the outside of my character)
to detect wallruns
So I have 2 inputs.
Where I'm moving with show 0 if im going straight, and 180 if I'm moving in the other direction.
Where I want to move will get my input direction as a vector.
How can I compare these two? If the direction I want to move in is the opposite of where im moving... then true.
How can I do that?
make the wall collision not hit your feet
only the stick out on the sides of your character
fair enough lol
that was a stupid question
Really need some help with this
Dot product between local velocity and input
or global velocity and input rotated to be global
it'll be positive when aligned, 0 when right angles or one is 0, and negative when opposite
can i turn off so i dont paint foliage on meshes only landscapes?
that is actually so nice
how do you get the camera to do that
If I make some logic OnDestroyed is it possible that the actor is being destroyed even if whatever logic I did in that event isn't finished yet?
yeah there's an option for that somewhere
click every button you'll find it
Thats doesnt seems like a good idea
why not? the buttons aren't going to kil lyou
you can ever hover over them to see what they do if you're scared
What if they do?
then that serves them right for connecting vital organs to their pc
It's actually loosely made from a tutorial
See, I need more info than this. I'm still newish to this stuff and hearing that is still somewhat giberish. I got dotproduct and just slapped it in lmfao
Calculate direction?
What is that
Not compatible with dot , thats almost vertain
hi, whenever i lock-on and i walk backwards, my character does some stuttering, is there a fix?
Calculate direction returns a yaw angle
Looks like conflicting rotation
would it be this?
IF you slightly strafe left or right does it not stutter?
yeah it doesnt
It's probably from your blend space not being smooth between -180 and 180 yaw
do you have the exact same animation at both places?
No your locomotion blend space
does walking at -180 and walking at 180 degrees result in the exact same animation
can you link it please?
no, i have a walking backwards anim
show your blend space.
@hushed gazelleIt's happening around here
Check it in the blend space editor and make sure the transitions are smooth near there
it's prolly your left and right strafe animations not matching phase or whatever
by phase i mean the left foot right foot timing
yeah the animation is smooth, i think its to do with my lock-on because beforehand, i always had strafe walking, and walking backwards was fine
walk backwards and tap left and right strafe or move the mouse around, does it do it then at all?
yeah, walking back and tapping left and right stutters too
Yeah fix it in the blend space
my mouse input is turned off in lock-on mode
in the blend space you can preview by dragging the green dot
also remember you'll never hit the corners
thats what im confused about, my blendspace is completely fine
nothing stutters in there
wiggling the green dot around the bottom middle dot doesn't make it stutter?
nope
show how you're calculating the inputs to this blend space
should be a dot product between velocity and forward / right vectors
not sure where that is
Then find it lol. Probably in the anim BP
Is it somehow possible to edit actors in a child blueprint instance from within a parent blueprint?
I would like to edit these splines that are part of a child blueprint
oh no π
hahahahaha great
I like seeing actors within actors, really wish we had the Godot paradigm
Is there a better way to do this?
Have you looked at how Godot does it? Super slick.
Everything is a scene. The world, your character, the gun, the bullet, all are on the same level, not divided into actors and components
The problem is that I need these splines to be unique for every one of these grabpoints, and edit them manually
can I get data from data table containing child stuff as the parent?
what?
can anyone help me with ai vs ai please?
i don't think that you can inherit data tables?!
like... if I got struct parent and struct child
and the data table is built with the child struct can I get the data as the parent struct?
can you inherit structs? Oo
Extending them, is it not ?
welp made a cpp function helper that does the job ππ»
little lost here,- onbeginoverlap on trigger in level, but I don't want to dol anything but make sphere that has animation attached , become visible ( easy part, visible or not) that is in level right next to trigger , is there a tut for that or if not what do I call to tell overlap, the target is the sphere that on cue will animate ( shape ) start interfaction with character ? TY anyone, hope I explained that right to be clear of intent
sorry it's not very clear what you mean. can you explain it in steps?
Are sphere and trigger inside the same actor or no?
Is it like a trap where the trigger and the thing that does the thing is all wrapped up in one actor, or seperate?
I have a sphere trigger in level , that when triggered, is supposed to make a smaller sphere visible, and on cue start interaction with character. I'm just not sure how to tell onbeginoverl that, on overlap, the new target is the sphere ( sphere b , not target sphere)
well honestly, I m not sure how to answer that, not being sure how to make it all hapen LOL
happen
So you want a separate trigger and thing that responds to the trigger?
Start by making it all in one actor if you're as new to this as I think
trigger > overlap> make the other tinier sphere visible and start interaction with character
simplest way I guess to describe ;0-0
OK so make one actor with the trigger volume, the other smaller sphere, and all the logic
basically yes
you can implement OnBeginOverlap(TriggerSphere) and do the logic from there
ya thats what I have so far, I just wasn't sure what the BP logic would be , to make the smaller sphere active as in , the new target going fwd
if that makes any sense ;0-0
as in, become visible , transform and ask character for input
Event Begin Overlap(TriggerSphere) -> filtering checks to rule out unwanted overlaps -> make small sphere visible.
Get that part working then worry about the "asking for input" part
yes
any difference between (message) and (interface call)? Interface blueprint
Hi, what is the best way of switch controls between keyboard and gamepad
By using input mapping. Don't just hard code the keyboard input events.
Thanks, but what if my input should act little bit differnt
How do I delete actors in the order they were spawned at?
Detail:
I am making a flappy bird game and I spawn these obstacles each 1.5 seconds. I want to delete the obstacles once they're off-screen, which roughly takes 4-5 seconds. The issue is, when I destroy the component using a for loop node, it destroys the last created actor only, so it doesn't take into account the order in which they were created.
This is my setup.
so if each 1.5 seconds an actor spawns, only the 4th actor will get deleted.
wait a sec, the for loop pin is not connected lol
will try it first.
Tried doing this.....
still....no luck.
I was thinking of making a big collision/overlapp behind the player and when the actor hits it, it gets deleted.
For the time being, I will use this fix, although I am not sure it is the best.
if anyone could guide me here, that would be cool.
Can someone join Feedback&Support and help me figure this shit out real quick?
nvm
can't stream anywhere lmfao
Have the spawner keep track of that and destroy them
Or teleport them back to the beginning when they go offscreen
Well, is not that what I am essentially doing?
wait a sec, you mean I should use event tick and track the data?
though I am not sure if that's even doable lol.
First of all why are you making an array containing that one spawned actor then looping over the array (which contains 1 item) and destroying it?
Honestly just set their life span to 3 seconds or whatever on spawn and call it a day
how do I do that?
Just have whatever is doing the spawning crank out obstacles. In your obstacle BP you can set the default life span too, so the spawner has to do nothing after spawning them
Have you tried searching for life span in the obstacle actor properties?
to be completely honest, no.
go do that
I am fairly a beginner, so that did not cross my mind.
Roger that.
Might be exposed right off the bat or you might have to show inherited variables but it's in there
If not, there's a node called Set Life Span and they can call that on begin play
will try it now