#blueprint
402296 messages ยท Page 553 of 403
Drag it like the lightbulb?
then in the level blueprint type in begin overlap and it should appear
no
add on actor overlap
Ah
did it work
Yessssssssssssssss, thank youuuuuu
welc and now with that you can repeat it and change it for diffrent effects
@onyx harbor Oh. Is this in a Widget blueprint?
yh
You can't RPC in a UserWidget. I'm not sure why it doesn't work correctly on the server machine. But any other machine that should fail. To RPC you need to use a replicated Actor, or a replicated ActorComponent.
ah ok
btw how does 'set tag node' work? how do i actually input what i want the tag to be?
thanks btw
On a side note though. If you want to know how many players are in the game without using any network code. You can also get the length of the Players array inside of the Gamestate.
oh i heard abt doing that
Each player should have a PlayerState replicated and they're all stored there.
what is the gamestate? sorry for stupid questions haha
Just another actor spawned in the world. It's one of the basic classes. GameMode, GameState, PlayerState, PlayerController, HUD, etc.
isn't it also possible to get the playercount in the gamemode right?
The #multiplayer channel has this pinned, but if you're going to do any sort of multiplayer game, I recommend literally reading this three or four times. http://cedric-neukirchen.net/2017/02/14/multiplayer-network-compendium/
ok cool
i'll do that b4 doing anything else
also
one last thing why won't it let me change the tag of the player controller like this?
the event (white) line isnt connected
I'm not sure what that variable is, but it looks like it's part of the DragDropOperation class. If you want to add a Tag to the PlayerController, you need to get the correct Array. That's an FString variable. You're looking for a TArray of FNames
ohh
ok im not sure how to change the tag that way but i'll look at how to do it
ohh i get it now thank you
erh this is super weird i can't fix the issue im having with height fog -.-
is there something extra i have todo when using Height Fog ON the player character BP itself?
ok here it comes again
So i have a Exponential height fog on the character BP and in my game when it starts the floor is lava and will start to rise (Z Axis) and on that lava floor i have a box collision (300 z axis) and when the player enters the collision area i calculate how far from the collision box bottom the player currently is and then i Map Range Clamp it to
In Range A : 300.0
In Range B : 0.0
Out Range A : 0.02
Out Range B : 1.0
and then set the Fog Density to that.
Problem:
If i stand still and let the box collision hit me (in a split second i see the fog change color but then just goes away) BUT if i start moving around the fog comes back again and then goes away when i stop moving.
Now if i disable the moving floor and then play again and this time i spawn beside the lava floor actor and move in with my character and stop moving it's fine... the fog is present and working as it should and i can move about and everything is fine :S i dont understand it and have now "wasted" 3 hours trying to figure this out....
ALSO:
i stopped the Set Fog Density and set it manualy to 1.0 and starting playing and noooooo problems at all :S
hey there. if anyone can point me in the right direction it would be great. we have melee animations for a sword weapon. if the mesh is set to owner no see the sword is not animated on the first person view. we have tried different combinations to get these things just right. So far we are stuck on camera attached to capsule and looking down looks like shit. today i had the bright idea of attaching mesh to camera for local player on begin play. the only issue we have with this is that on some respawns the camera angle is jacked and you can see the mesh again.
ive tried different combos of keep relative or keep world snap to target'
all of these jack up the character
any solutions to this issue without making a first person mesh. hiding bones did not work for us as hiding the chest hides the arms that descend from it which keeps the sword animations from playing on the first person camera
and why is begin play never true more than once for the server?
If an Impure (blue) function makes some operations to calculate a variable X and then returns X, does X get cached?
For example, here the "Out Hit" gets used in 2 different Set nodes. Does the whole function run again for each Set node when it's an impure (blue) function? or does that only happen for green functions?
@icy saddle the impure call will cache the result. You can test this for yourself by making a function with a print string and returning anything. Then use what it returns twice. The impure function will only print once. Switch it to pure and test again. It will print twice.
@proud hull I see, thanks!
i need help again, im new to blueprint so sorry if this is messy and counter-intuitive, but i get a random material from an array and when i apply it, it should be deleted from the array after, so the next time it loops (this is a foreach loop of all player controllers) it shouldn't assign the same material from the array again, but it does
In BP, is there a way to detect when two colliders start touching each other and when they stop touching?
For example, my two colliders are my character capsule collider and a wall's collider.
(I think the character can't overlap with the wall so I can't use OnComponentBeginOverlap).
not to be a smooth brain but does anyone know what a "text object reference" is exactly like what type of blueprint, sorry if thats not specific enough
I'm trying to use the render to texture blueprint, but the console command is failing, any ideas? https://docs.unrealengine.com/en-US/Engine/Content/Tools/RenderToTextureTools/index.html
Page that lists multiple links to pages that expand on the Render to Texture Blueprint tool
I feel like this might be something simple but my maths when it comes to line tracing is not the best
so i finally setup a player crosshair that each player owns, everyone references the same camera for the region they can move the crosshair in
there's a target where the crosshair is, trying to make it so when they shoot it traces in that direction
but uh.. yeah 
Is there a Compare ENUM to STRING node?
how do you figure out where something might be consuming input? I created an input that uses E but it doesn't fire and I'm assuming something is consuming the input
because other keys will work
Can you right click and find references, and then hit the binoculars button ?
it finds reference to "E"
which makes a huge list
it isn't named well like "Action Input E" or something
the string "E" ?
Don't type it .. right click
thats what you get when you find references to
ya that works
@final locust in what context? Widgets or Variables data types?
@flat raft im pretty sure widgets but could you tell me both if thats ok
In widgets, you can add a TEXT widget. A widget to display Text. In Variables, Unreal has a type called Text. Like, String, and Name.
found it
@icy saddle you can added another collider to ur character, box/sphere/capsule and use OnBeginOverlap.
@flat raft the problem was i dont know what asset type this is
well where it is stored or how to make one
Widget text box
How do I get started with using the Text Box Widget in UMG in Unreal Engine 4 Blueprints?
Source Files: https://github.com/MWadstein/wtf-hdi-files
I believe that is the input you are looking for
@flat raft thank you for the help
do you know why the Target value of the Behavior tree return null?
Conceptually how do most first and third person shooter games go about interaction with things such as weapon pickups, etc.? Some things require the player to look at them, but others can be picked up just by backing up into them. It's like there has to be two forms of communication, one for setting the text on your screen saying, "Press F to pickup AK-47" but also another to actually pick it up. I've used overlap events for setting the text notification on players screen and did a box trace to pickup the object, but I run into the issue where it's hectic to pickup weapons if there are a bunch of weapons in one place, or near a door, etc. I was just curious if anyone had a good "overview" of how it could be setup. (Again, not asking for code or anything, just advice)
so this gives repeated random numbers
even tho i thought my blueprint made sure anything that was used gets deleted, so that it wouldnt give the same number more than once
Well if you have 5 items in an array and then remove one from anywhere, then all those on higher number indexes get shifted down to fill the gap left by it so if you chose index 4 and then index 3 youre hitting the same spot but with a different item inside it
right but im also getting the same materials
But the random integer node is going to get run again every tome the node it feeds into gets accessed
And eacc time it will return a number between 0 and max
Which could be 0, five times in a row if youre unlucky
Hmm thats odd
but even then it still should have different materials if they get deleted?
cos the actual content in the index will be different
even the index is the same
My suggestion is instead to always get the material at index 0 but then Shuffle the array after each time you remove an item
damn thats smart ill try that
NOt sure how to fix yours but I think mine will work
My way is good if the array is small. Terrible performance if the array is big though lol
Just drag from an array pin and type Get.
Simple Get node takes array index number and returns item from that index
Yep!
I hope others will be as helpful to me
haha yh i guess everyones learning here
Yep!
Unfortunately that may be why nobody seems to know the answer to my LAN problem
Lol
I needed to assign colors over network for my game project as I was adding a team game mode
And same colors were on same teams
I got that to work but the lan problem has me stumped
oh i doubt i can help u there lol i just started unreal recently :(
it worked btw thank you
@dapper kiln depends on the game, and you as the designer. What is your preference ? What feels good? Play games that are like the one you are trying to make. Millions of dollars have gone into Call of Duty R&D. Just copy what the AAA games are doing. ๐
also, if you have a lot in one spot, look at how Battle Ground did it. They pop up a menu, and the player chooses what they want.
how do i check if a mesh has a certain material in blueprints?
@flat raft I know, I like how Call of Duty does it for the most part, I was just curious conceptually how there interaction system is setup for picking up weapons, etc. I didn't really want to go with the inventory system, I just want players to be able to interact with things by pressing a key and receiving what it tells them they will receive. I've setup my own system already that works ok, I just feel there are better ways than relying on event overlaps which always tend to derp out.
is this bad practice? is it using too much processing? i set a colour variable through the server and in the client idk how else to check for the change in colour so that it can perform the change
that's basically it @dapper kiln I would setup mine, if I had one, based on camera facing angle and distance to player.
And weapon highlighting
Call of Duty Warzone seems to allow players to pickup whatever they are looking at. It's like it's ticking a linetrace from the player's camera in order for them to always know what is being looked at so that you can easily see that you are looking at an Ak-47 when it's inside a pile of other weapons. IDK
Got a clip? I've only played call of duty 1 ๐
@onyx harbor look into event dispatchers
If you are trying to change the color every frame then dont set the material. Instead set a vector parameter on the material (it has to have one though).
ok ty
If you want individual actors to change their colornindependently from one another then create dynamic material instance within each actor that needs that and change the vector param on the dynamic material instance.
Setting material parameters is pretty much zero cost to performance. I am not sure what the cost of changing material is. Maybe also very small.
But remember the material has to have a parameter node inside it to set in the first place
Whatever you look at creates a small box above it showing what it is, then you can pick it up.
Cool
I'm trying to render a video using sequencer but the playback when actually viewing the final video is way too fast? Can i slow this down somehow?
Like it won't make it longer than 4 seconds not sure how to increase that
I'm trying to create a "scanner sombre" type effect where I draw a GPU particle where a raytrace hits. Can anyone point me towards how I would do that?
Right now I'm putting a new emitter that emits a single particle at the hit location of every raytrace but obviously, this tanks performance
@warm parcel Sounds like a hardcore #visual-fx or #niagara question. I'm no tech artist, but I would suspect it would involve a custom collision mesh fed into a Niagara mesh sampler, and some Nscript to figure out what intersects the scanner's frustum, and maybe some tracing on the BP end to determine occlusion...
you'll probably get better answers at #niagara
This is the effect I have right now. It works and looks just how I want it to, its just too expensive to spawn an emitter for each particle at the correct location. I'll post this in the niagra channel.
@flat raft I'm doing particles because I figured spawning them may be cheaper than trying to move a bunch of spheres 10 times a second. Do you think the spheres approach may be cheaper?
Niagara has a "static mesh sampler" module https://www.youtube.com/watch?v=z9yYCbLkdFU
so rather than spawning individual particles at hit trace locations, I figure it'd be "cheaper" to do it with the mesh sampler and some Nscript
that somehow gets information from BP line traces... my head spins just thinking about the different ways you could approach it
but either way Niagara is key
spawning individual particle systems at each hit location is obviously not optimal
Consider not using particles, but instead use a layered shader. The trick is revealing the dotty material when you spray
@tight schooner Thanks for the info. And @flat raft my requirement is slightly different, instead of painting onto a mesh, I raycast out from the my player, get the location relative to the player, and transform that to a location relative to my miniature hologram player and spawn the particles there to make a "radar"
Coolz... I was making sombra lol
Well...I mean, that's how I would make sombre
it's like the ping in Death Stranding
@flat raft The idea of raycasting and using the hit location to spawn a particle/place a mesh is the same. I'm just stuck on how to use the locations I get to spawn single particles. I might try spheres like you suggested before I dig into Niagra, which I'm totally unfamiliar with
Niagara is a deep area, but I think it's the only way if you're trying to make something like Scanner Sombre, with tens of thousands of particles on the screen at the same time, in a performant fashion
Niagara can offload a lot of that to the GPU
the trick is getting the particles to spawn based on traces and collision meshes and IDK exactly how to do that offhand... the best way, that is
hopefully you can pick the brain of a niagara expert in that channel
Hmm. Might be something for Niagara. Might look into seeing if that's easy. I've never input that many vectors into a system. But at the same time, I wonder if you could just paint the alpha channel of a pixel at the location of the trace too.
As in on the meshes and their materials, instead of a particle system.
I suspect it'd be hard to avoid the appearance of a texture wrapped around geometry
whereas Scanner Sombre doesn't have that appearance
Well, the sphere surprisingly turned out to be cheaper. I just maintain an array and move them around. Even more surprisingly, spawning and maintaining an array of emitters is even cheaper! I have 15^2 radar points updating every 0.03 seconds with no visible drop below 90FPS on a Vive.
This still is far from an ideal solution, but it works for now. I can save deep-diving into Niagra for another day!
As a side note, I can across this which offers an interesting solution: https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/63159-how-to-place-single-gpu-particles-at-specified-locations
Build powerful visual scripts without code.
But unfortunately, I couldn't think of a way to store my locations in a place where the particle material could access them without making a material parameter collection with 225 vector fields.
oh, yeah, people had to do stuff like that before the Niagara mesh sampler
yeah, I'm not sure how one would have a BP provide a Niagara particle system with very many vector locations...
short of making a particle system with 100 vector inputs 
I'm curious enough about that that I'm just gonna ask #niagara
Excuse the footage of me putting on and taking off the headset. Just wanted to show off the final product. Thanks for the tips!
oh ok, I thought you were literally trying to do Scanner Sombre
with tens of thousands of particles painted on the environment
sorry for misunderstanding
If it's just a hundred "particles" or so, you could do it as a hierarchical instanced static mesh component in BP; have the BP do traces and update an array of transforms, and update the HISMC array all at once (there's a node that takes an array of transforms)
You're good! The underlaying principle of raycasting and positioning particles at that location is the same, and that's what I was struggling with.
I'll try the instanced static meshes tomorrow. I tried that tonight but couldnt find a way to update the position of a single instance- knowing I can do all of them at once is great!
im missing 2 options in this wbp, fade animation, any clue as to why?
on animation started and on animation finish
Where did you see those otherwise?
@exotic light That's odd. I don't know why that's changed. But it might be an older engine version. Regardless, you might be able to use the Widget's AnimationFinished event.
cool thanks i'll give that a try
is it just me
or ue4.25
lag af
for me if i have raytracing enabled the entire editor is unusable
@shadow saddle What is laggy exactly? I haven't had any problems with 4.25.
anyone happen to know why im able to push and even flip an actor (a vehicle) after ive possessed and unpossessed it? Im not able to do it before possessing it first
Might have something to do with the unpossession. Are you doing anything else besides just unpossessing?
@maiden wadi I detach from the vehicle mesh component, re-enable collision on the player pawn and finally set its animation mode to use blueprint ๐ค on the vehicle the repnotify sets throttle to 0 and puts in in break so it doesnt drive away by itself lol. thats all im doing
it feels like the vehicle loses its mass, but even if i set it again manually it acts like it has no mass
if i set the mass to a ridiculous number it will work but then the vehicle sinks and the wheels pop though the top of the vehicle lol
Can you please help me
When I try to launch blueprint with beginplay - it works
When I launch same blueprint with key press event - just nothing
Heres source code:
blueprintue.com/blueprint/ebhqg9sj/
does someone know how to use the new control rig component with animation blueprints?
cant figure out how to actually apply the control rig to the character
@spark steppe look this video, https://youtu.be/CP0C_8xNiyw
This is my very first tutorial video for an experimental series of videos about me learning rigging and animating with the help of Control Rig in Unreal Engine.
Unreal Engine Version: 4.25.1
Blender Version: 2.82
I briefly talk about my background, what Control Rig is and h...
@last walrus Set the character up on the z axis about 5.0. It's an issue with the CMC
thanks, but that doesn't involve the control rig component which was readded in 4.26
oh sorry, i'm still on 4.25. Did they change it?
there's sadly not much, or rather not ANY documentation about it yet, so i hoped for someone who already figured out ๐
yea, they added a component which you can add to an actor and allows you to combine blueprint logic with control rigs
also there aren't parameters anymore (which you could pass in animation layers), so to get data into the control rig it seems you have to use the component to manipulate controls within the control rig
or i'm doing it horrible wrong, but as said it's new and no documentation is around
Hi guys is there any way to spawn a class with a subfix or prefix like if you have a parent class of a pick up object, but you only want a certain type ?
@last walrus Set the character up on the z axis about 5.0. It's an issue with the CMC
@maiden wadi with... What? Character's script is not my its ue4 basic blueprint
@alpine copper add some type string variable for example to your class and manipulate it on the object that you created
or rather make and use an enum
@spark steppe I see what you are saying but in this case I need to spawn one of each and I don't know how to handle that other than to paste 4 spawn nodes https://gyazo.com/a6ddbd9a02aac26ac65a0df0fc280a4a
well, you don't really need 4 actors at all probably
@spark steppe how do you mean ?
they probably all extend some class like "MusicTape" or something
rightclick in your contentbrowser, then select enumeration from blueprints submenu
open that, and create 4 entries, and fill them with your types (DrugTape, FirstMedalTape, ...)
then open your master tape class, and add a variable and set its type to the enumeration that you just created
then after spawning an tape you can set it to the one that you wanted to spawn
They extend from a general pickup actor
well up to you how many levels of abstraction you want, i try to keep it minimal
otherwise (depending on how much stuff you add) it will get quite chaotic at some point
I was thinking maybe creating a sub class of the pickup that is for the tapes is this too much
that would work
How do you make a variable that exposes that object's properties, similar to how the AI Sense Config is set up?
i think its when you check instance editable in the variable details
might have to recompile the blueprint so that it shows
@spark steppe That's not it. I want the selected object to have its variables exposed in the blueprint editor. In the image above, selecting AI Sight Config as the class gives you the variables below the Sense tab.
it is what you asked for
1st pic is the blueprint of the component
2nd pic is the component in an object thats spawned in the world
Yeah, that works if you place or spawn the actor in the world. What I'm looking for is something similar to the pic I posted where the variables are exposed in the blueprint editor, not the scene editor
thats the same
but i dont know how the ai sense works, so maybe im not getting it :>
if you inherit the class it should be in the class defaults settings of the BP
so i'm working on a zombie dismemberment system, so when i detach head with the neck the mesh some kind of stretch. it works fine with other skeleton bones constrains. In mixamo character this stretching mesh is going on with detaching any bone. can someone help how to fix this?
how do I compare a custom struct?
do I need to break them and compare each item manually?
I have a noob question: I want to have a trigger box in my level and enable input for my player in that area so that he can press a certain key to trigger an animation. How do I have to set it up? I followed the documentation and put a blueprint to my triggerbox and it works, but I can't reference other things from my level (to change their position in the level) from that blueprint. But, if I use the level blueprint then I don't have the setactorrelativeposition node.
@slender hawk Pretty much.
mmk so i have a portal system set up to where when i push a button, a line trace is cast from my player and looks for the first worldstatic, when it finds one, it stops and creates a portal, then on the out hit I create a break hit result to get the impact point and normal to determine the portals location and to set its forward vector, but I want to set it up now where the portal instead of being spawned from a linetrace from myself,to instead spawn after a projectile hits a wall, how would i modify it? i can show my current bp is necessary
So i have a Exponential height fog on the character BP and in my game when it starts the floor is lava and will start to rise (Z Axis) and on that lava floor i have a box collision (300 z axis) and when the player enters the collision area i calculate how far from the collision box bottom the player currently is and then i Map Range Clamp it to
In Range A : 300.0
In Range B : 0.0
Out Range A : 0.02
Out Range B : 1.0
and then set the Fog Density to that.
Problem:
If i stand still and let the box collision hit me (in a split second i see the fog change color but then just goes away) BUT if i start moving around the fog comes back again and then goes away when i stop moving.
Now if i disable the moving floor and then play again and this time i spawn beside the lava floor actor and move in with my character and stop moving it's fine... the fog is present and working as it should and i can move about and everything is fine :S i dont understand it and have now "wasted" 3 hours trying to figure this out....
NOTE:
i stopped the Set Fog Density and set it manualy to 1.0 and starting playing and noooooo problems at all :S
Hi guys, I am curios how I can go about handling a delegate inside of a function.
I mean I wanted to create a customEvent to handle it, but sadly inside of a function this isn't possible.
I did some reading, and I guess its because functions are one-time called, so can't really support setting up a callback.
@dusk flame why do you need to create an event inside a function?
can someone help me for some reason when i get a client every time i get to starting on the project i get blocked
@slender hawk You can't compare a struct unless you break them
Good morning. Lately my Unreal has been insisting on compiling thousands of shaders every time I open it or my project. Does anyone know how to stop this?
hi guys, for some reason my input actions are not working in the level blueprint or character blueprint, I have tried checking them with the breakpoint and they don't fire, also they are receiving input from other regular button presses. anyone know whats going on?
@short pawn Have you implemened the action events in your PC?
the input actions also don't fire in the level blueprint
im not sure what you mean @tame pecan
Have you implemented the action events in your player controller?
i have the input action connected to a print string
In your character BP?
I tried in both the character and level blueprint
they are both printing the string with a regular key input
So if you have an action event binded to F - it doesn't work
correct
but works if it's just a usual F keybind
yes
Feels like you've put it in some other bp so it's overriding character
ive tried creating a new input action as well and still it won't work
i thought i did that too
You sure you've possessed the character?
the character is moving so i think so?
Have you tried in other projects?
i need to verify that input button is pressed, how do i do it ?
i have not but i guess thats my next step. thanks for trying to help
@upper linden attach it to a print string or toggle breakpoint
@upper linden Verify it how? Like with a boolean return for a Branch?
ya
i wanna verify that LeftShift + input are pressed together to trigger sprint + camera shake
when i keep LeftShift pressed down alone, character stops but camera shake doesnt stop
@upper linden Basically whenever you press or release either of those buttons, you'd need to do the same check to see if both are pressed and if so, do your logic, if not, then don't. But. In this case, I assume your Input is like W and S to move backwards and forward?
I mean. You can probably get away with an event driven method, but I personally would just do a state change on Tick. Or your InputAxis event, same thing in the end. Instead of basing it off of your input, base it off of something more like your character's current velocity.
i understand what you mean, i'll be trying it right now
IE, if you can only walk at 300UPS, and shift lets you run at 600UPS, on tick, check velocity and if it's length is above maybe 320UPS, start the shake and just leave that playing until that tick says it dropped back below 305UPS or so.
Doing that also allows you to easily change it later if you want to make it more shaky the longer or faster their running, like a ramp up time or exhaustion effect sort of thing, and checking a vector length on tick is exceptionally cheap.
Hey guys, new to UE4 and blueprints. Working on a business project right now. I could really use some help. I've got an object I want to rotate based off of thumbstick movement. I've got it working using this Level Blueprint setup here but it doesn't hold the position it gained once I let go of the stick, it returns to it's original position, also I would like it to rotate based off of the direction of the thumbstick and not the position. I'll answer any questions, thanks guys!
i believe you have to save your parameters in variables
save your inputX with a SET node
when you open a thirdperson template they have Base Turn Rate and Base LookUp Rate variables
I have a forward vector and I want to make a actor rotate at that rotation, but it is not right
this is what they have in the template for controller, it may be wise to understand this first @dense pine
I am using the Impact Normal but how a rotate the actor 90ยบ to the right direction
@upper linden I brought the nodes into it's own subclass and it will no longer work, what's the correct way to reference self? Besides the target being: Self
@upper linden Yo, you ever get that solved? If not, how are you doing your camera shake?
@upper linden If you didn't, this branch at the end with the prints is an easy way to determine that switch based on the velocity.
First branch acts as a gated doonce so as not to continually set the bool and keep calling the other branch, and the second one acts to split your shake or don't shake functionality.
having problem creating widgets in multiplayer
where should i create them and how should i replicate them
You don't replicate widgets
yeah its client side
Yes, widgets can't be replicated
I keep my Widgets mostly in the HUD class. Makes it very easy to avoid multiplayer issues.
You can use "Is Locally Controlled"
i tried it
What is the issue
You might want to tell us what the Widget is for. Otherwise we're just speculating about the issue.
You want the timer to show the replicated value?
Is that begin play on the character
How do I set the showflags for a scenecapture2d component in blueprint. This doesn't seem to work?
Make a print string after the operation
to check if your statement is true
Because that doesn't make sense
especially on begin play
Does anyone here know how to make a cinematic start when the player character opens a specific door?
I only have a blueprint that works when the player walks into a trigger box at the moment
Hi there. Why do my Hit Event is not hitting everytime? It's like only hard collision are detected and soft one are not... Any idea?
how does an online rpg go about saving persistent data for characters that go offline? is there a common method?
Databases and backend servers
Is there a known way to fix this?
When I'm idle the ocllision aren't good. When I'm moving it acts nicely.
guys my player.. the mesh doesnt rotate on it its really annoying me
@fathom slate Did you check one of those?
anyone have experience with unreal clr?
what am I doing wrong?
my pawn blueprint is just ignoring key press events
begin play event works fine
@last walrus auto possess is set to playercontroller 0?
@last walrus You've set up project settings inputs?
@near yarrow @sick crown what?
I can't understand what you both are talking about
I'm pretty new to unreal
ok.
mind gap is talking about creating input events in the project settings
which is alot better than just using key press event
but if your just trying to test it key press is fine
i do it all the time
but you need to make sure the pawn is set to take input
but you need to make sure the pawn is set to take input
@near yarrow how to check it?
im sure im doing somthing wrong, whenever i close the media player editor the video stops even though i saved
hang on ill screenshot
anyone ideas?
@last walrus
i changed mine to player 0 because that is always the local controller for said machine
usually i have auto possess set to disabled and i use gamemode to spawn pawns from the server and then use the server to set controllers for possession of the pawns
you can also do checks to make sure an event is happening using a node called print string
move it around through a script and find where the script fails
i changed mine to player 0 because that is always the local controller for said machine
@near yarrow I changed it and now unreal thinks that this pawn is character himself
I have a character
and I have a blueprint that must be initialized with key press
some guy told me I must use pawn class for this
ok
set the possess back the way you had it
show me the key press code in a screenshot
characters are also pawns where they inherit from pawn class. look into inheritance when you get some free time. but i bet you need to spawn a blueprint from a key press inside the character
okay
if that code is inside the other blueprint then it wont fire because the blueprint doesnt exist yet
blueprint is on scene
is that h key event inside the character tho?
um... no
do you want a pawn?
ok thats where you want it since that is what the player possess
or a character
if its a weapon he prob doesnt need it to be a pawn
do you want a pawn?
@sick crown I want a blueprint that will start working with key press event
I dont care what class
the H key event will need to be inside the character blueprint because thats what the controller possess
are we talking about casting or interfacing?
so... the only way to do this is call for this blueprint in character script?
or smth else?
if you want a character to push 'k' and have something happen it should be within the characters blueprint?
I dont know
and because of this I came here...
ok
im just a bit confused on what your attempting too ;o
if you want 'space' to jump, thats all in the character.
it's like space to jump
but with another key and another action...
i think he wants the character to be able to pick up the other actor
ok
heres code
https://blueprintue.com/blueprint/ebhqg9sj/
if you want to see
ya you will want that code in the character
since its the character performing the action
how can i get the screen resolution in a blueprint
get viewprot size?
ya you will want that code in the character
@near yarrow oookay
but you said something about "creating input events in the project settings"
what is it for?
yeh i mean how many pixels in legth and highth is the screen
thats just a fancy way of reading a key press and naming it
so you can set it up for players to change the buttons
also in the input actions you can set it to be an axis input which is constantly firing but has a value from -1.0 to 1.0. like a thumbstick or a mouse would be an axis but you can set buttons to be an axis of a certain value
@amber rune thats a good question
i would like to know that as well
so you can set it up for players to change the buttons
@near yarrow where do I do this?
@amber rune im not seeing one, looks like you can do it in c++
and then call those events in the blueprints instead of just a key or button
ok
yeh i mean how many pixels in legth and highth is the screen
@amber rune one of these is what you want I think
https://docs.unrealengine.com/en-US/BlueprintAPI/Settings/GetScreenResolution/index.html
https://answers.unrealengine.com/questions/94342/how-to-get-current-screen-sizeresolution.html
Get Screen Resolution
@near yarrow I see you know unreal veeeery good. Can I pm you sometimes for help? I promise I will do this only if I'll not find own solutions
bros
if I want a blueprint actor to react to a copy of the same blueprint (two bad guys, same blueprint, reacting to each other), I obviously can't just cast to the same blueprint. do you use tags then in some way?
hmmm
you maybe just can copy this blueprint and add 1 in it's title
would be neat if I could infinitely replicate the BP, since there will be a lot of the same actors
In my head it seemed logical to give them a tag and find a way to react to actors with that tag, so if I know that it's achievable I can try to figure it out
in that case - tags I think
but I know nothing about them so wat for others
Right now I'm just clawing at anything that might work
I was trying to give them a quick command to move away slightly if bumped into each other, so they don't stack up like dominos
@tawny hound even a boolean would do the jon
job
Or you can make an int variable that has different values for each team
If your int value doesnt match with mine, I will attack you etc
can you have the collision check if its collision is due to an actor of the same type, then execute the bump?
i donno why i uderstood it that way
but the analogy should work?
I mean, if I can get them to recognize each other's collisions, anything after is pretty straight forward
@sick crown yeah, but this wouldn't really work now would it
it's easy when you can cast to a different blueprint, but this is the same blueprint trying to communicate with instances of the same exact blueprint
so you need to cast to the referenced actors capsule
that's the problem, it doesn't want to
just trying something
Why does the above work, but not the one below?
the array is an Instance Editable, so that I can add cameras from the level.
maybe cameras array is empty
@tender sierra maybe try for each loop
Is it possible to change widget color on hover?
When i add a widget to character and set it to "Screen" space, it ignores the Owner no see, is there a blueprint way to overcome it? thx
I"m trying to change text color on button when I hover, but Not sure how
Set Color and Opacity, requires widget object reference when I try to pass in text object reference
@trim matrix in the desinger scroll to the bottom on the right menu and theres events you can use
Yes there is onhover
@trim matrix "On Hovered" ๐
so I do onhover->set color and opacity
But,
The issue is, set color and opacity wants user widget object refernece
when I'm trying to pass in the text object
Check "Is Variable"
wrong function?
What function is it?
Is it set text render color?
That makes it react to any actor, no matter which @sick crown
it's a start, but I'm trying to narrow it down to just the same actor
I'm experimenting a bit with this type of logic ๐ค
HI there, my Hit Event is working fine 90% of the time.
But sometimes, there is no hit.
It's a box collision that is moving FloatingPawnMovement and colliding with Moutains.
Sometimes the box collision Enter in the moutains with no hit event.
Who can point me in the right direction?
@tawny hound
might need the class, off each first
so that it understands they are the same actor, that will return false unless the references are the same
Ooh, what equal node is that?
== takes what ever
ah, object
yea
good times;]
@tender sierra maybe try for each loop
@last walrus
it seems like the objects arent even leaving the array. this is what buggers me
@tender sierra its seems as if you are losing the references somehow
@sick crown
but its so simple, I dont get it why it doesnt work
the above does, the below doesnt
the array in the lower example isnt empty, but the GET node isnt receiving anything it seems
sorry, it is receiving, just not sending further anything
and if you use the length function what do you get?
i cant tell if you cameras array is in the correct scope
nvm i see it now
@last walrus mentioned For Each Loop
maybe I should - how does the For Each Loop work?
how can I make a quick test?
Would anyone want a tutorial on how to make Async nodes ?
.. which one to use?
did the length say 3?
length say 3, so 4 in total which is correct
this one worked, whith a "weird" result
@last walrus mentioned For Each Loop
maybe I should - how does the For Each Loop work?
@tender sierra for each loop does same action for each item of array
its like it prints the name, then leaves out the three others
maybe that is expected of a for each loop since I didnt wire it properly
what I wanted with all this was to check if I could read the array and do stuff with it
maybe at the end, the For Each Loop is what I want, it still doesnt explain why the GET didnt work
do the out actors of the find all actors of class give you the same array?
exactly
why the second? I didnt even specify it somewhere
is this array just a variable with static references added to it?
exactly
why the second? I didnt even specify it somewhere
@tender sierra
do the out actors of the find all actors of class give you the same array?
@sick crown
how can I check?
When I tried get index 0 it gave me one
0=1
1=2
is this array just a variable with static references added to it?
@sick crown
let me see
0=1
1=2
@last walrus
yes, I understand that, but I mean it did pick one by random. its not that I told it to
yeah I noticed
well you said it printed all of them, but actually only found the reference of one of the cameras
?
sorry, I was wrong saying "all of them"
it printed out the one with the index I specified
@sick crown seems like this worked 
now it appropriately responds to any actor who has a component with a specific tag
ALLEGEDLY
@tawny hound seems like good way to do it
yeah, ty for the help. made it easier to narrow it down
I think tags can make things a lot less complex than they to be
its like it prints the name, then leaves out the three others
maybe that is expected of a for each loop since I didnt wire it properly
@tender sierra
Sorry guys, false alarm
aparently I had two things wired to the O button
So what happened is this:
The GetAllActorsOfClass (that works) printed CineCamerActor3
The empty rows, where printed by the ForEachLoop
@tawny hound when they actors 'bump' will the event by done twice?
be*
@tender sierra thx for the brain tease ;o
The interesting thing is that even the For Each Loop doesnt work, and it printed empty rows
gonna check. testing with character launching just to see if it works, then locking it with a boolean as cooldown
yeah, both actors respond to each other simultaneously
might be ok in some instances, and others i guess would need specific work arounds.
I guess a quick workaround could be to set the capsule collision component in front of the actor, so if they run the same way, it's the one furthest ahead getting bumped
@shadow saddle It's time remaining, but for a specific animation. It needs to be accessible
I just tested with two actors running towards the player, and when I jumped, they crashed into each other and got launched 
heh
a game mechanic is born
@tender sierra - You don't have the for loop wired properly.
You need to link the Pressed event to the Exec pin.
And then the "Loop Body" pin to the print statement.
@shadow saddle I believe so. Perhaps the tooltip can shed more light though
@tawny hound I think the hardest concept is in the case of 3 'bumpers' to have only 1 'bump' happen between any single bump instance, how do you balance who gets bumped with out it getting too complicated?
@woven wing
thats true, but I was demonstrating different tests
this particular test uses the GET from the array to print a value, which failed
but there are so many events you might want to happen
@woven wing
basically this is what I was showing
Yeah, that's going to be something to figure out, that's true
Ah, 'aight.
I spawned a bunch of them and they starting jumping around over each other like jumping beans
quick question, is there a way to update a audio component to loop sounds via an event?
@woven wing
in short the above works, while the below doesnt
We've had so many brains on it in this channel and it seems simply not working
Well.... I mean 'Cameras' in this case... needs to be Set somewhere right?
it is
Where?
are you attempting both o key press operations at the same time?
Hey guys I made a game in Unreal. This is the game Premise:
I have an FPS zombie game called Atouq Slayer. The main character wields an AK-47 and can pick up weapon ammo. The character walks, runs crouches, jumps,shoots. Picks ups weapon ammo and also reloads. You have to kill all zombies before the timer runs out to win the game.
ZOMBIES:
There 3 different types of zombies(each dealing a different attack damage % ) with altogether 53 zombies appear in 2 waves.
The game has 3 outcomes for the game.
- You kill all the zombies, you win.
- You run out of time before you kill the zombies. You lose.
- The zombies kill you. You lose.
AMMO LOGIC:
Altogether there are 9 ammo boxes. All of these ammo boxes are placed at specified locations on the map.
2 out of the 9 ammo once are respawnable ammos. They respawn at given time.
I can send a link so you can see what my game looks like. I need permission.
Any suggestions to make my gameplay better ? anything I can add to the game mechanics to immerse the player?
@mortal verge - You're probably better off over in #design-chat
Where?
@woven wing in the instanced variable
are you attempting both o key press operations at the same time?
@sick crown for testing only
it proves that the above works = prints, while the below prints an empty row ("none")
Okay thank you @woven wing
Hmm
The above would work regardless of what instance is handling the event.
While the below only works if that specific instance is the one handling the event.
Is it possible that there are two instances of this class?
can you elaborate about the "handling the event"?
Is it possible that there are two instances of this class?
with class, are you referring to that particular camera instance or?
Like, OK, remove the "O pressed" event, and use say "On Beginplay."
In the bottom thread.
The graph you're showing us, is that an actor's graph?
What are we looking at?
Is it a level BP?
yes, its an actor
no, this wouldve worked in the level bp, the whole point is I want it to work outside the level bp
Sure sure.
OK, so what I think is happening is that you might have more than one of those objects in the level?
none, yet it worked
And if that's the case, one of them might have the objects filled out.
And one might not.
OK, so what I think is happening is that you might have more than one of those objects in the level?
with "those" what exactly are you referring to?
The actor in question. The thing with this graph.
ah
no, its the only one
for the sake of testing
Begin play = works
press o = does not
Right, because I think 'Press O' is being handled by another object.
Not sure why.
Not sure what object.
But that's what I think.
BeginPlay ensures that the object in the level is the one handling that event. If you dropped ten of those same actors in the level, each one would call their own BeginPlay.
One thing you could try would be to print the "Self" reference's name on BeginPlay.
the 'same' object?
then how come this one worked?
Because I think there's a second instance without the Cameras field filled in.
You have one good Actor.
And one not filled in Actor.
So the not filled in Actor can still get all the actors in the Scene.
It just doesn't have it's own internal value set properly.
both are in the same actor
I know.
There's a difference between an instance and a class. Right?
I think you have two separate instances of this same class.
One with the cameras field filled out, one without.
Think of the Class like a factory.
And the Instance like the thing that the Factory makes.
yes
: P
Any way to group tabs so I can open groups of blueprints with a macro or somthing?
@tawny bison - Not that I know of, but if you figure it out, please share.
jack fractal
is this what you mean with filled in and not filled in?
No.
The "Get All Actors Of Class" function interacts with the scene graph. It will always work, because it doesn't use any set data.
In contrast, the Cameras field is a value on a particular instance.
yes
So, even an instance of your class that didn't have the Cameras field set properly could use Get All Actors of Class.
But it's Cameras field would be empty.
That's what's happening - I think.
Imagine you have two cars. Inside the car is something that tells you the contents of the trunk.
Both respond to a radio signal.
You've put something in the trunk of one of the cars.
And sent the signal.
But you get back a response that says "There's nothing in the trunk."
Because the response you're getting is the other car.
Well I need to figure out the code that handles opening a blueprint in editor. Then I need to figure out how it handles grouping tabs together. If I can do that I should be able to write a script that takes the blueprint name and directory location open the blueprint then sets the tabs grouped window for whatever group I assign the blueprint to.
I am just trying to figure out where this editor code might be that handles tabs.
If not I could try doing it through memory addresses and write everything to memory that way the editor reacts to the changes made in memory.
with "car", is it the bp_actor you're referring to?
if so, then I do only have one actor, ie car, in the level
I discovered another strange thing:
when the O isnt wired, the array seems empty
when wired, the array shows what it contains
Can this be related to what you were explaining, that the response differs?
The values you're going to be seeing will be related to the debug instance you have selected in the BP viewer.
I generally don't trust them unless I'm using a breakpoint.
(the drop down list to the right of the Play button)
yes, I did pick the current bp as debug filter
when turned off, the array didnt popup anything
so the two screenshots didnt mean anything then?
Not to me.
I can't understand what you're trying to do or why.
So, aside from telling you that the problem is in the instance that is handling the "O Pressed" event, I can't offer further advice.
The wrong instance is handling the event.
Or you are somehow wiping the Cameras field in a Tick, Update, or BeginPlay part of the graph you haven't shown.
Are you setting Cameras anywhere?
and this is what I am not understanding, because we only have one instance (if I am understanding your reference to "instance")
I can tell you the whole story quickly
I got a working code to jump from one camera to another, in the level BP. because there you can referr to items in the level
So I was thinking: what if I can create a instance variable, pick items from the scene and do something - anything - with them through a bp actor that I drop in the level?
So, the simplest thing I could think of was a print. If this works, then I can go further.
the rest is history: i failed to make it work
working on all cameras works, but what If I want to work on selected items in the level?
another thing is that I change the floor material.
again, doing this in the level bp works.
But what if I want to do it through this bp actor - by picking the floor static meshes I want to alter...
this is the core of what I want to do - not to work in the level bp
This is an idea that does work.
So something is wrong with what you have built.
But it is a functional idea.
However, I would recommend that you use the PlayerController for this kind of thing, and not raw button presses.
As those are very fragile.
for the record, I MUST have the player controller to get the GetAllActorsOfClass to work
so this one exists in this BP
we've spoke quite a lot, spent a lot of time
if I can ask you for a big favour, why dont you try it on your machine?
create some cameras
blueprint actor
instance variable, variable type Cameras or Cine cameras
place the actor in the scene
pick some cameras
if you like, I can send you the .uasset now
just place this blueprint in the level, put some cine cameras and pick a bunch of them
never mind the name of the uasset - I never get this far to actually make it switch cameras ๐
it should be called "printCameraName" ๐
ok so are these cameras on actors?
no, the cameras are just in the level
this actor has an instance variable that lets me pick actors (the cameras) from the level
What I want to do is picking stuff from the scene and doing things through this bp_actor, not the level bp which ppl use by tradition
can you simplify it for my noob-brain?
So even though I picked them, as shown in the screenshot, I havent actually done that?
Is the Screenshot from an Instance in your level?
Or is that from your Actor Class BP?
no, thats from the instance
the whole point is to simplyfy the picking process
not needing to go inside the bp to do so
"inside the bp"? You would select the instance in the level and check the details panel. Do you mean that?
I think he does not want to cast?
Well, but you are doing that already?
I didn't follow the whole conversation. Can you tl;dr your problem once more?
the first one doesnt print anything because get is giving us "none"
yea on the actors begin play you are going to want to set that array in your character
One thing after another
That O Input and the Array are in the Camera Switcher, right?
And you enabled input on that I assume
Mattox: should I set the array first, before getting anything out of it? can you elaborate? sounds like something I've seen before
eXi: yes, what you see is in that blueprint called CameraSwitcher. Yes, the input is enabled like this (if this is what you meant with your question):
without it, the one that I said worked wouldnt work either
OK, I got it working.
Yeah you need to enable Input, that's correct.
Not sure why you'd need to involve the Character with all of this.
You only have one CameraSwitcher in the Level and you aren't spawning another one, right?
Can you print the Length of that array instead of the first element?
This should not be empty
Not sure why you'd need to involve the Character with all of this.
I've learned that input needs pawns
You only have one CameraSwitcher in the Level and you aren't spawning another one, right?
just one actor in the scene
I've learned that input needs pawns
That's not entirely true.
Input gets processed based on the InputStack.
The PlayerController and a Possessed Pawn are part of that.
But by Enabling input on actors you are also placing those on top of the stack
@tawny bison
I dont know if you were into this
I created another array, not instanced, for the purpose of copying the values from the instance to the non-instanced
didnt help
That would also not hlep. That's just setting a variable with another
Pressing O prints the linked names.
jack, I am launching another Unreal to try out your project
I agree Exi. Not sure why it's mucking up on Haider's end.
I hope they'll be able to tell us when they look at mine.
It's a pretty simple setup.
- Some Actors into the Scene.
- An Actor with an InstanceEditable Actor Array. Also into the scene.
- Enable Input on that Actor on BeginPlay and add KeyPress to print Array.
- Fill array on the Instance that is placed in the scene.
jack: your works
my brain is mush now
So why didnt mine work? What is the different?
is it the For Each Loop?
ยฏ_(ใ)_/ยฏ
The Loop vs the Get should not make a different :<
but why? ๐ข
That would be weird.
Is it by chance marked as transient or so in the dropdown menu?
can you elaborate that?
where do I find this?
on the array variable?
I dont see the workd "transient"
In the Class, on your Variable. There is a small Arrow below the Repliation Condition
But if you don't know about it then you didn't press it anyway
๐ค๐ป
click the arrow to expand
Can you print the length of that array on BeginPlay please
Further, can you rightclick the array variable and click "Find References"?
Are you setting it somewhere?
Do you do anything in the ConstructionScript with it maybe?
Great advice one of the main ways I track none errors.
You have two instances of this
great detective work haha
but one when I stop the game
One gets spawned from somewhere
great detective work haha
indeed
this is something Jack suspected, but since I ensured him there is ONE actor in the level..
One gets spawned from somewhere
question is how
what can spawn actors? where can I look?
Well, SpawnActor nodes
Can you rightclick the Actor Asset in your Content Browser and click on Reference Viewer?
Welp
Here is another thing though
The reason why your Print still didn't work is that Input has the option to consume
Hah!
And you were lurking too ๐
So your O button consumes which means nothing else in the stack gets a chance to execute it
If you were to click on the O input node
and check hte details panel, you can deactivate that
And then it would actually have worked
though still with one copy having an empty array
You were basically unlucky (or lucky?) that your non-setup camera switcher got input enabled last, so it was on top of the stack
If I were building this as part of a real project, I'd probably want the button press to switch cameras be in my player controller, and then my player Pawn (or a component on it) would interact with volumes for these camera switchers, and they'd assign the camera switcher to the pawn?
So as you walk around you could like, get assigned new camera switchers.
That's... probably how I'd do it.
Can't asnwer that. Very specific setup
Volumes to switch to cameras is what lots of peeps do
If you want to not maintain that array you could make a Manager
Make an ActorComponent, put it onto the GameState.
Make your own CameraActor
And on BeginPlay, GetGameState, Get Manager, add self to array
Then on Key Press in your PlayerController, GetGameState, Get Manager, cycle through cameras
Or so
idk, 100 ways
The problem with flexible systems like Unreal is that there's no 'correct' answer to any particular feature design.
Just various flavors of wrong.
Anybody have a clue on how to hide player character during cinematic?
Yyyes?
I have a hotkey bound to switch levels
When I switched the level, it worked, as expected
As in Jacks early example with the car - so when switching level, the right "car" replied correctly, in the wrong level, the actor array was empty
as for your comments on putting the button press in the player controller
let me give you an explanation on why I did it this way
I wanted to separate things from another
if I put this in the player controller, thenin another project, the player controller has different behaviour
How would I be able to migrate this player controller to the other project?
On the other hand, if I isolate the functions into individual actors, eg one cameraSwitcherBP, another materialSwitcherBP, I can migrate those individually and use them individually
lots of โค๏ธ to all of you friends, for taking your time and being great teachers, I learned a lot
@trim matrix The LevelSequence stuff has a boolean "Hide Player" iirc
Thanksss
... let me read previous messages and reply ...
Just be aware if you migrate this and someone has the same key setup and consumes the input, your input is lost
The reason why your Print still didn't work is that Input has the option to consume
@surreal peak
if I am understand you correctly
Since the blueprint existed in different levels, one of them took overhand over the other
So when I switched level (I got a hotkey letting me doing so in-game) the O button worked
Kinda
As said, Input works in a Stack
Like a Paper Stack
Put a paper on top of another
And take the last one away again
So whenever you call "EnableInput", you put that actor ontop of the rest in the stack
yes, that is what happened, right? one level had higher prio thanthe other
last one added gets the input first
There is no prio
The last one that calls EnableINput is the first one to handle the input
If that one consume the input, the rest won't get it
consume = execute?
Consume = Consume
okay, it uses it up so to say..
Consume = Do it and don't tell the rest of the stack that it existed
mm, oky
Without consume, it does it and gives the event to the next in the stack
Your SubLevel is probably loaded after your Persistent one
And your Persistent one is the one where you filled the Array
So the SubLevel one spawned later, Enabled Input and was last on the Stack.
Then it handled and consumed the O input and the one from the Persistent level never got to know about the event
The Input object is responsible for converting input from the player into data in a form Actors can understand and make use of.
Please read up on documentation if you still a beginner (: it helps
I cant grasp it completely, but I do now understand the consequences. I am sure over time I will better grasp it, the order of things and such
but its fine for now ๐
let me read your messages above, I think I had some followup questions before saying thanks-for-today
@surreal peak
about consuming, lets see if I understood this correct
The hotkey is an event
So since it got consumed by the "wrong" level, the level I was NOT in, when I tried to call the even in the other level, it didnt exist anymore? Did I understand it correct-ish?
(I am taking notes for myself, for future reference. plus this is how I learn, writing notes)
Not at all haha
It's based on the Actor.
The Level part only comes into play because your Actor existed in both
It got consumed by the second CameraSwitcher Actor
The one in your SubLevel.
yes, the input event got consumed, right?
so in that other level, the input event didnt exist anymore?
It's not about the levels
As said, each time you call EnableInput, the Actor that you EnableInput for gets put on that Stack
ok, actor instance then. they just happen to exist in different levels
Yeah, you could have them in the same level
they could as well exist in the same level
Would result in the same
Just that I wouldn't know which one calls BeginPlay first
okay, I just want to understand the concept of consumtion
Imagine a queue of humans
so the event got consumed by one of the actor and this means the other actor didnt have the event anymore?
yes
Now someone tells the right most one something.
Like "Jump"
The right most one jumps and then has two options
Tell the next one in line to Jump
Or consume the "event" and not do anything
It can also be that, for example, the rightmost one doesn't consume the event
But the next one does
So 2 of them jump, but then the event gets consumed and the other 3 will never know about it
okay
so if I have two instances of the same actor
[ o event ] .... does it mean the other one will not have the event anymore [ .. ] because it got consumed int he first actor?
It will not get the KeyPress, yeah
aha
in my mind, strange. because in my head I am thinking that they are two instances, should keep their own keypress instances
but its fine, not a big deal, its just something I learn from and remember hopefully and simply accept ๐
I would store a list of those actors and just call events on them that way I am only dealing with one input
If none of them consume:
| [ Actor 1 ] - Receives O Key Press - Performs Action - DOESN'T consume
| [ Actor 2 ] - Receives O Key Press - Performs Action - DOESN'T consume
v [ Actor 3 ] - Receives O Key Press - Performs Action - DOESN'T consume, etc.
If Actor 1 consumes the event:
| [ Actor 1 ] - Receives O Key Press - Performs Action - Consumes
| [ Actor 2 ] - Does NOT Receive O Key Press
v [ Actor 3 ] - Does NOT Receive O Key Press
if Actor 2 consumes the event:
| [ Actor 1 ] - Receives O Key Press - Performs Action - DOESN'T consume
| [ Actor 2 ] - Receives O Key Press - Performs Action - Consumes
v [ Actor 3 ] - Does NOT Receive O Key Press
Top to bottom, top most was the last one to call EnableInput.
What is controling the consumtion anyway?
In your example, there is a scenario with doesnt consume
can you control that, how?
(out of curiosity only)
The Input Node
The consume input checkbox on the o event?
Click it
It has a Checkbox
Yeah, what Mattxor said
Note here though, that my example would be 3 different Actor Classes
You can't control it per instance, at least not in Blueprints
I gotta head to bed now though. Getting late!
this works the same way with umg I think. if you have button on top of other buttons you will want to set that button to consume if you dont want the button under to get pressed
Yeah in UMG it's called Handled/Unhandled
aha, that cheeky bastard event
wow
I am feeling my brain is levling up +0,001
better than 0
yay
๐
Welp, another 5-6 years and you can do all the things I can do (or maybe faster cause I'm slow, who knows)
๐
Hehe, na what I mean is, it takes a lot of time, so yeah, +0.001 at a time is fine
I am architect by trade, so I am proud I learned this much blueprints
I am intending in learning how to make architecture interactive ๐
you guys will still be my BP-heroes
I am just the artist
I am tempted to ask: why does an event have consume checkbox, but I will leave it for later, for I dont dare staying awake one more hour ๐
Its crazy to think about it now. I am 2 years into Ue4 and I am finally at the point were I can create a game from scratch, know the flow of every object through out the whole project. When simple errors occur, it takes me minutes to fix were as a year ago it would have took me days to figure something out. Keep it up!
thank you @tawny bison
I totally share this feeling
I am a month into Unreal and like I said before, I take notes
I found an old note "is there something called material instance". Today, this question sounds so dumb. A month ago I wasnt sure I remembered the term right from some tutorial.
Today, I am able to switch cameras with hotkey, change materials in runtime and so on
I can even formulate a question to ask here, knowing somewhat the terms and so
the brain is magnificent. then of course, we got a fantastic community helping out, making things lots easier.
You're a bunch of great teachers!
I'll get back with two followup questions I got
thank you all and good night โญ
lol eXi .001 is to slow for me now. I am addicted. How about you just download your Ue4 knowledge to my brain write over any duplicate blueprints ๐
what's the tech on making sprites fade in and out with a timeline if you have a predetermined (randomized) color on them, that you want to retain? ๐ค
The actor is spawned with a random color, and I turned its respective color into variables, so when I fade it in and out it retains its new color instead of the default sprite color. But if I do it like in the picture, it doesn't animate, but rather just go from 0-1 opacity instantly.
for reference, this is what works, but then it resets the sprite's default color
@everyone so, this happened.. since I wanted to reduce bound collisions for overlapping I made a new mesh inside the construction script, with the exact same mesh the BP has, and disabled the overlapping effect on the outer one.. and so far so good, it worked with almost all the meshes, except the last one in the video.. :/
are there any functions in the engine to check if a bone/ socket has children ?
el fideo rubio jajaja, buscaste en la docu?
If I create a custom event call, and have two other blueprints respond to that call, will both run the event?
@torn garnet you mean a event dispatch or how would you do it? that would say if it works or not..
also, seems your case would be a good fit for a blueprint interface
@quiet valley It is an interface yes. Just in the past it seemed like one response canceled the other one out. I mightve done something else that made it not work, i dont know.
why would it cancel each other? how are you messaging the interface?
How to i plug into the red square in the top right?
For what purpose?
You need a thing that provides a delegate pin (red square)
e.g. Set Timer By Event
can i make custom function, with an input delegate?
I don't think so...?
You could make a macro or collapsed graph but I'm not sure about functions.
i was overthinking it.
can i update a save game object if i only want certain variables to change in the object? or do i have to load it?
and save it with all the variables present
A save game is only saved when you call the Async Save Game to Slot function iirc.
As in, it's not written to disc until then.
So even if you have a Save Game object loaded in memory, it won't actually save until you call Async Save Game.
So theoretically you could hold onto the save game object - but it's probably not worth it.
Just write a proper save game script.
For some reason, the "on component end overlap" event on one actor is triggering the same event on a completely different actor when overlapping the player, why does this happen?
it's the same for the on begin overlap events too actually
I am looking for the instance settings in the foliage tool as per https://answers.unrealengine.com/questions/79654/can-foliage-have-collision.html
But I don't know where to find it... c an anyone help?
Is their any good tutorial on dashing out there?
I have only find some that makes it look so the character almost teleports to the dash direction
Question: does anyone know how I can transform a location in world/local space into UV space for an object? The application is that I've got a widget rending onto a curved mesh, and I'd like to be able to put buttons on the widget and interact with them through a widget interaction component.
Also @trim matrix If you're using a character with a character movement component, you can temporarily increase the character movement component's max walking speed.
@warm parcel I want the character to be able to dash in air with the same speed as if the player was on ground
@trim matrix When the player hits the Dash button, have your game play a timeline. In that timeline, have it call AddActorWorldOffset in the direction you want them to dash.
Quick question: is the only way to add actor components at runtime still through C++?
@hardy swallow I am new to unreal is there any tutorial you can point me to on how to do that?
@hardy swallow I think you can do it through BPs. There are nodes for "add static mesh component," "add child actor component," etc.
Yeah, give me sec
@trim matrix That should work
If you don't know about timelines, https://www.youtube.com/watch?v=v7bdcvGlgIg
What is a Timeline in Unreal Engine 4.
Source Files: https://github.com/MWadstein/wtf-hdi-files
@hardy swallow What is the timelines function in this? Is it the dash duration or cooldown?
Timeline runs for a set amount of time, calling the update pin on each tick (I think). Watch the video
do you have from 0 to 1 in timeline?@hardy swallow
Dude, the video explains it succinctly, which is why I linked it. The timeline goes from whatever to whatever, it's up to you to set it.
@hardy swallow ye i watched the video but I don't understand if the value is supposed to go back down again in the timeline
It's dependent on which execution pin you call. Play calls it from the beginning the first time, but after that, if you don't set a new time, it starts from the end, but immediately finishes. That's why I had it set to "play from start" in my example. I also just realized my example isn't great. Instead of using the alpha from the timeline, you should be multiplying it by the world delta time. The alpha is useful when lerping, which is another option.
How can I change how long u are in the dash?@hardy swallow
I have it on 1 but it stays for 2 seconds
ye
Can you send a screenshot?
Sorry, screenshot of the BP setup
It shouldn't be lasting two seconds. You could create a timer to see how long it actually stays. It's not going to be exactly 1 second, but it should be close.
i am really new
Alright, first off, are you saying it's lasting 2 seconds because it feels like it is?
ye
Then change the length to 2 seconds and see how much longer it is
@hardy swallow I got it working by turning down the length to about 0.1
Sounds good
thx so much for the help appreciate it!
No problem
I'm spawning an actor from another actor, when the "on component end overlap" event runs on the spawned actor, the same event is being run on the actor that spawned it, anyone know why?
Are you spawning from an overlap?
I'm spawning it from a custom event which is being run from a timer, and that timer is being set on begin overlap
So... OnComponentEndOverlap->StartTimer->SpawnActor?
its OnComponentBeginOverlap->StartTimer->SpawnActor?
then when that actor has its own OnComponentEndOverlap run, the same event will run on the actor that spawned it
which is where I'm really confused
When SpawnedActor->OnEnd, that causes SpawningActor to run the event which spawns the actor? It sounds like it's overlapping again. Is the BeginOverlap being called twice? Throw a print string at the end to see if that's the case
When the new actor is spawned, it overlaps the spawning actor.
You get 2 overlaps and 2 End overlaps . One pair for each actor
Okay yes I fixed it, I forgot to ignore some collisions on the actor who spawns the other actors
Coolz