#blueprint
402296 messages Β· Page 558 of 403
linetrace?
ah line trace
ok
is there a trace where i can show a 3d widget
for example i want to trace the next location my AI going to
and its shown in this kind of shape thing
indicate the next location my AI going to
what is it call ? the name of the node
Line trace has an End vector, you can try spawning an object at that End Vector
i see
get socket world location?
@white crypt i mean
instead of showing the result in the form of
a line
or sphere
i want it to be shown in the form of the same shape as the socket (pic )
might need to make a mesh that looks exactly like that
nvm then ill stick with line trace
not really sure if you can use that form otherwhere than for sockets
you can add widget component at the end which will be shown on your screen
and inside the widget you add an image or something that displays that location (similar to how waypoints are displayed in some RPGs)
@trim matrix end point might be a bad idea, because the length can be much longer than the actual impact point which he needs
unless he knows the end point before the actual line trace being drawn
Yes that's true. The line trace does trigger an event which has the hit location of the object.
Sweet! This is what I came up with.
https://blueprintue.com/blueprint/4k6lil9w/
thats a bad idea, sequence wont wait for every output to finish
meaning that sequence 2 will start before sequence 1 has finished
so sometimes it might just break
Is there any disadvantages of having too much (custom) components in one actor?
Code everywhere
I'm currently using a Wait Delay to enforce a delay of a few seconds before a vigour regeneration kicks in after running. However the delay seems to not really reset when executed again. Is there a way to reset this delay, or is there perhaps a better node for this?
draw debug sphere...
Nvm
I'm currently using a
Wait Delayto enforce a delay of a few seconds before a vigour regeneration kicks in after running. However the delay seems to not really reset when executed again. Is there a way to reset this delay, or is there perhaps a better node for this?
@grave hearth Nvm, DoingAsyncTask->EndTaskseems to have somewhat fixed it.
@grave hearth retriggerable delay would otherwise work
Just starting out, but... I'm having a hard time figuring out terms I think. If possible, could someone help me understand what a level blueprint affects for example? When I think level, I think a disconnected piece, such as a Call of Duty mission, so in a project such as Final Fantasy 7R, I imagine one of the areas the game takes place within, such as Shinra HQ, to be a level. However, from what I see of tutorials, it feels as though level blueprints are the entire game? If there were blueprints that would affect something such as character stats would that be managed via a level blueprint then? Or is there another sort of blueprint that effectively gets used for the entire game, while level blueprints are more narrow in function only impacting levels, and then actor blueprints and the like impact the particular assets?
Also, sorry if this question makes little sense. I'm basically just trying to wrap my mind around what I'm using and the terminology, I'm basically completely inexperienced besides some slight experimentation and tutorial viewing. I feel like I could understand it all with time, but I don't understand the premise of what I'm looking at.
@grand kettle No, your initial assumption about levels is correct. Youtube and from what I've seen of students in here Colleges have a crazy fascination with using the Level blueprint for.. pretty much everything. Which I suppose is okay in tiny little single level games. There isn't exactly a game encompassing blueprint per say. Unreal design theory is based on the idea that you should only use what you need, where you need it. The GameInstance is probably the closest thing you'll find to a game encompassing blueprint, but it should be used somewhat sparingly in a lot of situations. Level blueprints are designed to be for very level specific programming. Like.. Say you have one single level that has a windmill. You could create a full actor that's a windmill and drop it in the level, but that's overbearing for a single use class. So it's easier for a designer to just drop a couple static meshes into the map and make one rotate on tick.
You more or less never touch the Level Blueprint. Usually at least.
Part of the problem is the tutorial's lack of understanding. Do remember that those people are just making quick videos to get youtube views, and people don't want to hear "This shit's complicated".
@grand kettle For example, what player stats are you wanting to affect?
borderlands 3 used it for dev testing, mainly just giving admin access to testers/devs(as far as I remember from their video and it only existed inside test maps)
basic question: does anyone knows how can i limit the time of the particle's and sound's life? after I collide with a object they continue to exist infinity
This is probably a bad way to explain it but here it goes: I have an actor (Actor 1) that's facing a certain direction, then I have another actor (Actor 2) that is in any random location. How would I get the angle needed for Actor 1 to turn to be facing Actor 2?
@minor folio The Yaw Angle?
wym
If you want the full rotator, you'd just use FindLookAtRotation. There's a slight bit of extra math involved if you just wanted a straight yaw angle.
@amber dragon there are multiple ways. You probably know of this but just to be thorough... You design the sound or the particle effect to cease on their own rather than loop endlessly. If that's not an option, then...
On the spawn nodes, the "return value" data outputs are references to the spawned thing. For a particle effect, you can use a Deactivate node on it whenever you want the emitter to cease. For the sound, I imagine there's a "stop" node you can use.
You can save those references to variables (right click on "return value" and then "promote to variable") if you want to manipulate the spawned sound or particle system in different parts of the blueprint in a convenient way.
Also... looking at your screenshot there... you should avoid executing nodes after "destroy actor", or else you might get a stack of error messages every time you play your game
Destroy should be the absolute last node executed
(or as an alternative, you can "Set Lifespan" to some small value)
@minor folio
@maiden wadi The value is only changing when one of the actors moves
That's normal. That's the rotation you would need for actor1 to face actor2. What are you looking for besides that?
But if I rotate either of the actors then the value doesn't change?
It's not supposed to. It's the rotator needed to make one actor face another.
Are you trying to rotate one actor smoothly?
Are your doing this on timeline or tick? The expected rotation style makes the math differ.
Which should I do?
@tight schooner thanks gonna try here
Depends on your use case. Is this rotation happening all of the time, or just sometimes?
Just sometimes
Do you want it to rotate quicker the further the rotation is and slow a bit as it gets closer, take the exact same amount of time to rotate no matter what direction, or just rotate constantly at a set speed until it's facing the other target?
I'd probably say tick with a couple conditions then, and a RinterpTo Constant for the rotation.
In this use case, Actor1 is your robotic rotator?
I think that this would work okay.
so i made a drop weapon function with DetachfromActor node
thanks
after i shoot some rounds then i drop, i pickup again ammo count of the wpn goes back to max
why ?
i didn't set it up to go to default
Dunno. What are you doing on pickup and drop, and also how are you measuring the ammo?
@grave hearth retriggerable delay would otherwise work
@odd ember
Cheers mate ill try it out. Seems better
It doesn't. If you're not doing anything there involving ammo, I have to assume it's your UI or measurement of the ammo. How are you getting the ammo count to display?
when equip a wpn, i set it to CurrentWPN variable, then get the ammo count
but i've setup my mag ammo to 30 for rifle and 15 for pistol
i dont have a variable to save remaining ammo
Seems pretty straightforward. It's hard to say without seeing what's going on in your blueprint.
i think it's because i'm not changing the ammo count ? in the wpns respective BPs
i'll try
I am trying to outline objects using postprocessing, the problem is my world is big and I want to increase the size of the highlights. Is it possible when using this method?
Using this as a reference:
https://www.youtube.com/watch?v=9fxnv2ccklg
Since CharacterMovementComponent is kinematic - how do I effectively apply friction when moving against walls? Since they're not using the physics materials from them
How do most games handle flamethrower damage? Should I use a MultiCapsuleTrace and just scale it to the size of my flame FX?
@dapper kiln Depends. TF2 uses big slow projectiles.
I was leaning more towards the flamethrower from Call of Duty World at War
hi all, how do i get reference to a UI element in a widget without using the bind feature?
@faint pasture So I could just shoot big slow projectiles at a slow rate of fire and then apply damage with overlapping actors?
@dapper kiln I am using an event attached to a particle system on collision. It works well enough.
That sounds like a good idea. I didn't even know you could do things like that with particle systems.
@dapper kiln On your particle system add an event module. When you spawn the particle system from your weapon blueprint Bind a custom event to it.
In the custom event do the enemy damage logic.
Thanks! That sounds easy enough. I'm currently looking through all of my assets for a decent flamethrower FX lol
@dapper kiln What I am making is not really a flamethrower (doesn't look like one) but kind works like one, so can't help you there.
Start with this, it is free.
Yea that's what i'm looking at lol
Hello, i wanted to ask if there is an way to get the location the player is looking at. what i want to do is that the player can place objects with the right mouse button at the location he is looking at (like it works in minecraft for example)
i have an idea how i get this done but the only problem is that i dont know how to get the target location
From your camera location, line trace, end location being camera location + (rotate by control rotation * range)
@dapper kiln careful with using particles for gameplay.
@faint pasture Yea I was just thinking of that too because my game is multiplayer so IDK if that would be the best approach. I'm still thinking of just doing linetraces or some kind of tracing that's cheap and then just applying damage so as to not hurt performance
is that right or is that completely wrong?
@dapper kiln of it's meant to be a fast flamethrower just so anxone collider/hurtbox
@trim matrix totally fucked up.
@trim matrix you trying to get the aimed location?
yes the location the player is looking at.
@trim matrix line trace from camera to camera + cameraforward*somelargenumber
okay i try to do
camera + cameraforward*somelargenumber
How do i do this? what is cameraforward where do i find this?
@dapper kiln I don't know about using this for multiplayer. Either way don't do a collision event for ALL particles. Add copy of your main particle reduce a lot the number of particles for this and to the collision event just for this. If you flamethrower is very simple you can do a line trace instead. To my specific case it was not very good.
@rough sinew Yea I'm still looking for a particle effect lol. I'm going to try what you said and see how it works. I'm just in the design phase right now. Just trying to think of different possible ways to achieve it
is it possible to use inputactions in multiple bps
for example i have a reload on my character bp and i used the same input action on my object and nothing happens, the goal is to play to animations at the same time but on different objects
how can i cast from an unpossessed character?
Hey guys, hope all is well. What would be the best approach when making a 3rd person player who is holding an object have the ability to move only just left &/or right, with a EventBeginPlay Gamemode Blueprint? Then after object is thrown, that player has the ability to not only walk sideways(horizontally), but vertically as well.
Would be interested to know. Any help would be appreciated.
how can i make image that can be skip?
Is there a node I can use that outputs for x amount of time after it receives an input?
Can I override a pawns destroy method to perform some action.
just before they are destroyed?
Like the DestroyActor part? You could effectively disable a pawn by hiding its visible components and disabling it's collision components and then use a SetLifespan node instead of a DestroyActor
And that gives you some time to continue doing stuff in that pawn before it's destroyed permanently
(the lifespan countdown can also be re-set if desired)
@vale seal what do you mean by output
So if I press a button once, it sends an output for, say, 1 second
@vale seal what do you mean by output
@upper linden
more specifically i want the player character to move
for 1 second if a button is tapped
ok gotcha
maybe whileloop
I can't see how to do it
add a boolean and a timer
start timer and boolean on
set boolean off after 1 sec
whileloop needs the boolean
I have this simple ai script based on sensing, for some reason it is hit or miss with the execution, the event gets fired but sometimes the enemy wont move to the character. any suggestions?
This seems simple enough to me, does anyone know why this isn't working? When the pawn is spawned nothing happens.
@white crypt The heck is the point of a sequence then?
with a ForLoop
and then the loop index drives some math involving sin & cos to make a ring of 2D coordinates
and then some other stuff to make it spiral-y, lol
It'd be like loop index * some multiplier that makes sense -> sin * some multiplier that represents your radius, and that's your X coordinate
And then the Y coordinate is the same except with cos instead of sin
And then you can spawn things in a circle.
Once you have that, you can try scaling the radius by index to make each spawn incrementally further away from the center, thus making it spiral-like
That's how it works in my head anyway.
ooh thanks ill try that
Hey everyone! How can I make a widget component on the character only visible to other players and not the player it is attached to?
I have a vague recollection that there's a way to make a component invisible to the owner
is there a node that sounds like it does that?
This is the node I was thinking of. Does it work with widget components?
@manic knot
I just tried that and it had no effect π©
well, I'm hardly well versed in multiplayer, but I suppose you can have some custom logic
that determines if some component is owned by a certain player
and if it is, hide it client-side
i.e. each client hides their pawn's attached component
That is correct thinking. Only works for the Actor that is ViewTarget or so iirc
OK. I suppose thats why the "player speaking" indicator displays on all players when one player is speaking lol. How then would I apply that logic inside a blueprint widget to make an element only display to other players?
Why doesn't this work?
Yeah but you need to handle the case your line trace doesn't hit anything
The Boolean return on the Trace node
If that is false, use TraceEnd instead of the Location/Impact
@swift pewter
You can use "select vector"
Drag from the input vector from one of your nodes and search for that
It allows 2 vectors based on a boolean/wildcard input
I still need help :(
The animation or everything?
send a event to run on server when that health float reaches 0, use that event to do whatever you need, destroy pawn and spawn spectator pawn etc.
π
something like that?
it works but i dont know if its good
i am just finding the way
hey everyone
How would I make a box collision event fire not only when the the player enters the box but also whenever they are inside the collision box? (lets say every 2 seconds)
yes
okay but then if the player leaves the collision box, end overlap is called but the effect still goes on for 2 seconds, right?
Oh I can just break that "second event" on end overlap :p
great
that should work thanks
@sudden anvil Be caureful with that. You can end up with bugs by not doing some brute force checking. Do you want the event to fire imediately as the player overlaps and then every two seconds after?
hey yall
guys i have a quick question
is it possible to like add a blueprint itself to levels blueprint? (like instead of the instance of it from the level)?
you guys know what im saying?π
What do you mean when you say "add a blueprint itself to level blueprint"?
What kind of blueprint? Do you mean just to use the same nodes - or referencing all existing actors of a specific BP class?
is it possible to like add a blueprint itself to levels blueprint? (like instead of the instance of it from the level)?
@trim matrix From what I understand you might want to create an actor within the level BP and reference it using it's return node.
@trim matrix From what I understand you might want to create an actor within the level BP and reference it using it's return node.
@narrow fjord
hmmm...i think that might be possible
I mean, it's possible haha just depends if that's what you want.
What do you mean when you say "add a blueprint itself to level blueprint"?
@maiden wadi
like instead of adding the instance that are in map one by one i just add the main BP one time and it affect all the instance within the map
I'm not sure what you mean by this
Can you explain more in detail what the main BP is and what each instance does?
If you want to affect all instances placed in your map, just select them all and change their values, or open their actual blueprint and change the coding.
@maiden wadi Thanks a lot, I got it working ! :)
only a slight issue, I have a flame which turns on and off (5 sec on / 2 off). I wanted what you called "dosomething" to damage the player, but only when the flame is on. I got that working by checking isValid for the flame particle directly after both OnBeginOverlap and EndOverlap. So now the player is damaged only when the flame is on, but the problem is you can just stand inside the flame collision before it fires and you wont get affected at all because Player is not Begiining the overlap
Do you think I should somehow disable the collision box when the flame is off?
Is that even possible?
And when I enable it back again will it actually collide with the player?
I tried rescaling the collision box to 0 using a timeline (so its smooth) when flame is"turning off" but I cant get it to work for some reason (then I would scale it back to original when its suppsoed to turn on)
Or maybe its possible to have the particle (Flame itself) collide with the player...
Mmm. Niagara has made some improvements over Cascade in that regard, but in general FX are cosmetic and should not drive gameplay. If I understand correctly, what you have is an area where a flame trap of sorts turns on and off, and you basically want to damage the player every two seconds if they're in that flame?
https://gyazo.com/497a202e626327236bf5f79b5485dd81 why won't the self reference connect to the pawn as i am trying to get an ai to follow me? This is in the blueprint of the AI.
@sudden anvil How fast can your player move? Around normal run speed in the engine?
I wonder if a small change in logic might help. Just deal damage on overlap, and then set a timer for two second, disable collision on the cube, then two seconds later reenable collision. I'm semi certain that enabling collision calls overlap events. So if the player was still there it'd damage them again. Then you could also toggle your timer and damage based on a simple bool or other timer of when your flame is active.
Hi everyone! I got a Sphere Trace that goes from 0 to 120 but i need to invert the number somehow so i get 100 when the sphere trace says 20 and 10 when its says 110etc anyone got a clue how to "invert" the distance ? π
@ancient torrent Subtract the distance from the total distance. For example. TotalDist(120) - Distance(30) = 90
well that was simple thanks
Haha, took me a minute to catch up on that when I first hit that problem myself.
I am trying to create a weeping angel effect on an ai but he isn't moving towards me when i look away? https://gyazo.com/2f20186ce2c6a54b019fcda21295b02b
my sphere trace never return hit actor even it collides with enemy AI
collision set to block all already
hi everybody, I'm in a project and i had a problem, that i dont know how to solve it, I'm making a first perosn shooting game, and I programed the shot, then i programed the IA of the "enemies" but when I shot, mybe is the collision or something that the bullet pass through, someone know how to solve it?
the shooting blueprints
object is conetcted from event linetraceby chanel-->out hit --> hit actor-->object from cast
@maiden wadi I found there is a "set disable collision" node but it accepts Physics Constraint Component objects and not my box collision object ://
@sudden anvil There is one for any component with collision as well.
@maiden wadi This is what I came up with, thanks for your assistance yesterday.
well the flame now works like a charm
(it does call beginoverlap on enabling collision)
hi i am trying to play a sound effect and was wondering how i could get it to stop playing new ones over and over
use spawn sound and promote return value to a variable
then before spawning that sound you check if the variable is valid or not, if not valid continue to spawn, if valid - do nothing
i keep getting the bug just short of delayed
its meant to just play this sound without continually re playing it
first you should make the sound into a single footstep
oh
some like to add footsteps inside animations using anim notifies
but since you are using sprites i have no clue if thats possible
the method i recommended is not really good in your case, since i didnt know you were doing footsteps
well as i said a better solution would be to make single footsteps sounds and play them randomly each time
and then you could make a timer that when character is moving you play these sounds (sound cue with a random node inside)
oh i'll look at that random node and try that
no need to use switch, you can do that inside a cue
to put it simply, when moving you set a timer with loop which will play these sounds
when you stop, you invalidate and clear that timer
when you start moving again, you run that timer again as well
ah
ok
i think i'll move on to coding the other stuff and try to figure out how to get sounds working later but thanks for the help
constrain to plane?
was that it?
so other people could know if they ever look for a similar solution
Under physics, constraints
Why isn't this working? i have it on event tick so it checks every tick if it is rendered https://gyazo.com/2f20186ce2c6a54b019fcda21295b02b i am trying to make a weeping angel effect
You really shouldn't be calling AIMoveTo on tick. You also generally shouldn't use the arguments of one function in another without that one function calling the other. All you need for this is a little bit of vector math and a do once on tick. Check if the look at rotation from the player camera to self is not nearly equal to the world rotator of the player camera. If it is, call the do once that has the ai move to on the other side. Reset the DoOnce When that same rotation math is true instead of false.
Hiho someone know something about ai?^^
#gameplay-ai my last post, noone is answering, maybe here somone know the answer
its #graphics i think, a lot of people might not have worked with shaders in this channel so you might not get an answer here
gotcha, thanks @white crypt
@halcyon nova It's called postprocess because it's happening after processing 3d stuff. For apply modificaitons to rendered content, you have to change on material templates, or preferably just render the scene as orto by default
@mild ore Aye, I appreciate that it's just modifying a texture, but projection doesn't mean you can see any more/less of the geometry in the scene. My thinking was it's just a case of non-uniformly scaling the UVs of the frame buffer'd texture. Performing an inverse of the model view projection operation which has been done to get it to that point. Rendering the scene as ortho isn't an option because lighting doesn't work with orthographic cameras.
Even in forward rendering, it's hit and miss if lights show up.
How's it going blueprint bros
https://youtu.be/c4rA2lniY1I
New free download π I will post it in audio as well.. hopefully noone takes this as spam. π Put a lot of hard work and I am determined to ship everything I do for free instead of straight to marketplace.
A big update to AGR components!
The sound component now has 2 more functions - spawning procedurally ambient sounds, has ambient wind that scales with velocity as well as environment.
The combat component has 2 options of buffering inputs for attacks. allowing now for quicker ...
How's it going blueprint bros
@inner pendant It's gone and went! π
@fervent spear #released
π
@carmine prawn good point. thanks.
I look at how many games have an inventory system and then I try and go and make one in UE4 and fail
Any recommended tutorials or documents on inventories?
Is your navmesh good chief
Any recommended tutorials or documents on inventories?
@inner pendant https://www.youtube.com/playlist?list=PL4G2bSPE_8uktjEdP4ZuRq5r2o4JMdZfM
'preciate it
trying to create a settings menu where you can change the volume and gamma, volume for working no problem, but how do you change gamma through a slider? ive tried using post process settings and placing a post process voume and setting the slider to change it there, but no lucj
I know there's a command to change gamma but idk if it would help you
cmd: gamma 0-10
im guessing id use that in c++ and not through the blueprint
im using the third person template
You can execute commands using blueprint
oh
The node is called execute console command
You could use a string with an Append node
hmm
Yes B would be your slider variable
And then you put the return value into the execute console command
Let me know if this works
I believe so
so id have my slider min max 0 - 10?
doesnt seem to be doing anything
darn
put a print to see if it was changing the value
it does
just doesnt affect anything haha
Darnit
weiiird
2.2 is the default so maybe try setting it to 5?
Maybe then you can see a difference maybe
What's the norm these days with Player Controller setups?
Let's say a game with respawning or an MMO with persistent values, would just a Character blueprint work? Hide the character mesh when dead and replace with a ragdoll using the last matching bone positions of the character or actually kill?
Or is it better to use a Player Controller which controls a Character or Pawn?
How about handling the camera, is that done with the Camera Manager or typically a blueprint interface?
Most tutorials go the simple route so I don't have any idea what's the standard.
@inner pendant im an idiot
i was putting cmd: gamma
in the command node
instead of just gamma
lmao
thanks for the help :))
Haha we all make mistakes like that, no problem glad I could help
i need a gate that if any is true it outputs true if all is false it outputs false without dazy chaining select fo that image i posted
Can't you just use OR for that?
yeah sounds like an Or node would do the trick there
So if I understand this correctly, these are the conditions:
- Secret value must be same or higher than Amount
- Is True must be true
- Item must be same or higher than 1
so one of those needs to be true?
oh actually maybe the first one isn't a secret value, the name just looked weird lol
i have comments explaining every function imput variable
Right, yeah so it looks like what I said should be the case, correct?
So at least one of those conditions needs to be true?
yes
Right - so if you add an Or node, and click "add pin" to give it a third pin
You can then directly plug those three conditions into it, one pin for each
and then plug it into a branch
and it should work
well the way to do it would be using nodes like Or, And, Not
those are how you'd typically combine boolean operations
If it doesn't work correctly with an Or node, then you might need to adjust the conditions or use some other nodes
I'm trying to look at the conditions you have and maybe it doesn't quite work with an Or...
it's a bit hard to tell what the exact logic is with the Select chain
how
It looks like if >= is smaller than Amount, and Item is smaller than 1, then the condition is always false even if Is True was true
wait no..
sorry it's kind of hard to tell what the exact logic is lol
Why doesn't this work
Can I ask how you set up that or node? Because looking through the boolean logic, it's just a complicated Or with those selects.
its not an or
Yeah if you write out a truth table for the conditions, it behaves like an Or node would
that's why it's kind of confusing as to why it wouldn't work with Or
my or in the engine wouldnt do it
it only worked with 2 booleans when i added a third it would start screwing up
well, if you don't want to use the select chain, you'd just have to debug it why it doesn't work with Or
unfortunately it's pretty hard for us to say why it wouldn't work because it looks like it should :)
@vale seal it doesnt work is involed with it being used as if your 2d character is in a 3d world
slide scroller characters cant be alloud to rotate and move in that rotation or it will not be a slide scroller
u need to break to combine back into the right variable
@north vector how do i do that ?
Make Vector
pause the game and find the object in the world outliner :)
F8.
@vale seal
Oh! thank you I was looking for that
@vale seal
@north vector What do I do to add 15 to an axis?
break vector, get current vector + 15 to specific axis, make vector, set vector
Or AddActorWorldOffset
break vector, get current vector + 15 to specific axis, make vector, set vector
@narrow fjord get current vector?
As in GetActorLocation
I probably didn't read far back enough and just guessed at what you were doing so feel free to ignore me.
How do I convert the Vector into a float π€
A vector is a "struct" of 3 floats
wh a t
It seems like you fundamentally don't know what a vector is
It's 3 floats representing the X, Y and Z dimensions
A float doesn't really become a vector. I mean you can make a vector from 3 float values any way you want to
oh ok
Help! I have 2 actors that are playable. One Is Character based and one is Pawn. I want to switch from character to pawn, without spawning them all the time. I want them to be in the level all the time and not destroy. How should I cast from character to Pawn and be able to play with that pawn?
Been scratching my head for couple days now...
I just don't know how to put it in the dest location π
No problem. solved with get all actors..
How do I convert the Vector into a float π€
@vale seal Just use AddActorWorldOffset
Split the input vector pin
actually
You don't even need to split it
just type 15 in whatever axis
Hi guys! I just joined this server and looking forward to getting to know you! I worked with blueprints for a while but there are holes in my knowledge so i might ask total basic or advanced stuff as well. Sorry for rambling I hope i wont be annoying with my questions π
Welcome!
I was seeking the answer to this question for months but couldnt find anything. Im making a modular level in two projects but totally fail at keeping good performance. Firstly i want to make a floor with walls for my map that can be edited later by the player. Change the colour and location (like you would in sims). The problem is the million actors it comes with, eating performance. I managed to narrow down by searching on the web that drawcalls are the problem, but instanced meshes are way too unpractical to work with π΅
How do games like sims handle modular stuff? Even animal crossing seems to have tiles as the ground that you can elevate or make into lakes.
@trim matrix your wall has a million actors?
@flat raft no sorry, i have 1 meter wide walls so they can be placed on a grid, but they start to add up pretty quickly. Like sims for example. Same with the floor 1x1 planes so the texture can be changed individually
I can imagine that would place a lot of stress on occlusion culling...
Oh I see, you're building the wall with tiles.
Im happy if you tell me even a keyword to look for, but im clueless. Every game seems to work with these modular models on a grid (eg overcooked) but i just cant place even a few hundred down
why is an instance static mesh too much to work with..?
that is pretty much the best way forward for modular grid based building systems
You might want to ask #graphics for another opinion if you don't get a great one here. There are more expert tech artists there.
then seperate the instances by world location into chunks creating new instanced static mesh components for every 10 grid spaces etc.
@earnest tangle detecting content roots
That said, UE4 in its current version does actually auto-instance meshes as long as they are the same mesh and have the same material instance.
(I might be forgetting a third requirement but in any case you can look it up. I think it was introduced in 4.21?)
I think that's just a built in feature.
If you're giving every mesh its own dynamic material instance then it could hamper auto instancing
Very true.
That would be neat! I experimented with adding the same wall actor multiple times but the drawcalls went up anyway. Thanks for the hints on instanced meshes too! But i would need to add new instanced meshes for every tipe of material the player put down right? Imagine a 10x10 tile but one is changed to be wood
Are you walls and floors always rectangles?
Yes, floors pretty much a plane, walls are two planes back to back with a slab on top
@earnest tangle loading mod content from data tables
Oh, if you have a 10x10 and want to change a single tile, then HISM is not going to work
I think it can only have 1 material, right?
@earnest tangle loading mod content from data tables
@teal burrow lots of yummy build strings/appends
@teal burrow thanks :)
Can't work with paths without those sadly
Yes, thats why it calls a texture once. I guessed i needed to add a new instanced mesh for every new material added. Thats where it got complicated
@trim matrix You have to instance it somehow, or else you have to make your gameworld a lot less modular. Or you have to aggressively distance-cull stuff. I tracked down the literature on "dynamic instancing" (introduced in 4.22) https://docs.unrealengine.com/en-US/Programming/Rendering/MeshDrawingPipeline/#drawcallmerging
Product documentation including reference and guides for Unreal Engine 4
How many materials exist though?
Also hella debug messages because... Debugging how the engine discovers content is a daft bastard
Thanks Iβll look into it!
Just think instanced static meshes and you can't go wrong
Dont know yet, but not a small amount i guess @narrow fjord
Although animal crossing also only has small amounts of floor variants now i think of it
Outside
but why don't you update a data table with existing instances and current locations/materials etc then when altering materials just delete the instance using its stored id and create a new instance in the same location or smth
Even with 1m tile, building this should be fine. There shouldn't be performance drop.
Iβll start experimenting tomorrow. Thanks for the help guys!
lemme know where ya get to:)
Depending ur camera... just place some tiles down and build.
Your tile should be 1 poly, ya?
Yes, the main problem was the material i guess
Ill definetely give it a go
unreal can handle billions of polys, with a cheap graphics card, one can do a few million.
what I was going to say though, is...
I got confused because i saw other games using atlases for multiple objects. I guessed a texture gets called in once and everyone used it thats why it was practical. But if everyone uses a new one what was the point
If ur floor/wall is rectangle, you can draw a area, ur player can select a area, then you can spawn a rectangle to fit that area.
it's all in the name of reducing draw calls
Nice idea π€
so, ur floor is 1 poly, but scales across the 10x10 space
Yes that sounds practical thx
Ur texture will have to tile
And if the player chooses to change the middle tile ill just break it to smaller chunks around it i guess
Try out a few of the ideas , see what works for you and ur design
Thanks for the help!
Also, checkout youtubes...I think there a pre some Sim4 GDC making of
Random, but you could use custom stencils and map world textures to it using a post process texture setting the custom stencil id.
@tight schooner but it doesnt reduce it as far as i could tell. Whenever i spawn an actor with the same texture it always calls another one even though it uses the same albedo maps and such. Maybe i didnt make it an instance? For example i spawn in a 100 swords and 100 aces it should only call one texture map since basically its two albedos on the same map i combined them on
i'm tired and that made little sense, but I hope it roughly got across.
Ill look into everything you guys say. It took me weeks before to find even a keyword when i was googling for answers. Im overwhelmed with amazing infos thx guys
Dynamic instancing should just work... https://www.youtube.com/watch?v=LLqoWkEIeSQ
Testing auto instancing (aka batch instancing) and custom primitive data in #UE4 4.23. It works with: run-time spawned objects, stationary/movable sun/sky, csm, df, static/stationnary/movable actors, physics (maybe more). Problem with inset shadows. Example with many cubes and...
Unfortunately I'm not an expert, so I can't tell you why it doesn't work in your project
but you should ask the #graphics channel if you can't figure it out
cuz the people there live and breathe questions like those
Haha thanks π
Sorry for writing a million lines. Probably not in the right channel and stuff. Im just so excited to talk to other devs and get answers haha. I was kinda living under a rock trying to find asnwers
Like this rookie one that has been in the back of my mind for a while. In blueprints should i always store in a new variable after casting from an other class or doing math equations and it needs to output into several other nodes? Because i guess if not it always does the casting and the equations for every input
np... BP is a wide subject that touches everything else in the engine so it's not like you're in the wrong place per se. I just think audience-wise the graphics people would know more about draw call optimization techniques
I don't have a deep sense of the performance implications of "BP communication", but the gist is if you want to do the math "once" then use an executed function -- a function with exec pins on it (or save the data into a variable for re-use)
cuz a pure function -- a function that doesn't have exec pins on it -- will re-run each time it's connected to an executed node
so if you connect Random Float to 3 print nodes, you'll see three different numbers printed on the screen for example
That's the only thing that comes to mind regarding controlling the number of times math is done to feed nodes certain data
Yes thank you! The random node was the one that made me question the others haha
Thank you everyone for the kindness! Going offline now! Have a great one!
Hey guys, how would I constraint player to one axis when they're falling?
I can't seem to get the constrain planar thing to do anything
and I can't disable input because this is supposed to be split screen
So I have this Blueprint where I have TICK doing one thing, but when switching characters it reroutes to another place which is fine... but still It will give me errors when im doing the reroute. I also added some gate to really not putting any execute there but nothing helps? any tips?
@umbral shard physics -> constraints -> lock position the one you would want or lock rotation
@trim matrix You can control tick on demand with Set Actor Tick Enabled https://docs.unrealengine.com/en-US/BlueprintAPI/Utilities/SetActorTickEnabled/index.html
Set Actor Tick Enabled
but its in level bp?
and its not any actor. its a player character and root component that gives me the error
can you use enums to determine if you can play montages, for some reason mines not firing
Hiho someone here?^^
I try to create an Inventory, is there a maximum of Images i can use in one HUD?
doubt that anyone knows
the number would be so high that no one would even waste their time to test
ok i cant place more xD
oh you shouldnt place manually each slot
oh you shouldnt place manually each slot
@white crypt I have placed 9 and copied the first line π
you will have a hard time going that route
i know
make a dynamic system where you enter number of slots and they will be added automatically
slot 1 to 89
your each slot should be a separate widget
do you mean field system actor??
In this video we start setting up our super awesome inventory system for our RPG game.
If you have any questions or comments please let us know. If you like the video and want to see more, go ahead and subscribe. Or consider supporting us on patreon https://www.patreon.com/ti...
i used this when i started but you need to have atleast a good understanding in order to built upon
eyy Titanic Games I did that one years ago
Yeah. There are newer ones out there anyways
might be, havent looked for any tutorials in a long time so dont know which one to recommend
just used this in my first year of learning unreal
i assume other "good" tutorials will be using same method
I saw one that did this in C++, ignoring the C++ the UMG side of is still quite informative
i think he went the Virtus way π
Virtus is like
5 years obsolete
I never used Virtus cuz his stuff is so frickin' old
even at the release time it was still pretty bad
he would manually add each slot as an image
would align each slot by setting the position...
just a nightmare
i would like to believe that he knows his stuff, just for general public he doesnt put the effort to showcase better practices
I've actually noticed that a lot with ue4 tutorials as a whole, these guys don't really teach good form
his tutorials are only good for those who are just starting and can only copy/paste
most of us did the same when starting, or atleast thats what I think π
is there a better way to do this? I'm setting a value in actor, in an array[0], inside a struct, in a MAP @tight schooner you like Maps, ya? Anythoughts?
Managed to get rid of a few nodes, but is there a better way than this one ?
Is it not going to break in the first loop?
It's an array or arrays
so, it wont break until it finds an array with an index
Okay, down to this...
and I guess I can get rid of the cast also.
This kind of juggling is when I decided to just use C++ :P
especially when it's like.. is this a reference or a copy? at every step of modifying it in BP's...
Ya, but, I'm saving Cpp for the final refactor
I think that's as light as it gets, if I remove the cast
the GET here needs a different icon.
I think in your case you don't need to worry about copy vs ref since the value you're setting is actually inside an actor even though the actor itself is within a nested data structure
Why?
The first image i posted is Copy
the last i posted is Ref
It needs to be set back to the array, and back to the map. (if COPY)
Actors are always stored as pointers
so if you copy a pointer, assign a value to its member, it's still actually assigning to the same actor
you only copied the pointer, not the value it points to
right, hmmm... let me try that and see
I think the last pic you showed is about as simple as that can be, I don't think there's really anything else that could be changed
you're right.. the GET doesn't matter. could be ref or copy. Thanks! @earnest tangle
Could someone help me look at my BP and help me figure out how to add a block incoming damage button that also prevents attacking?
@mighty fable add a Branch Condition ? IF BlockButtonPressed THEN DamageAmountDoesn'tChange ELSE ApplyDamage
@mighty fable add a Branch Condition ? IF BlockButtonPressed THEN DamageAmountDoesn'tChange ELSE ApplyDamage
@flat raft So I'm fairly new to UE4 im not 100% how that looks
Do you have a Apply Damage function ?
Yeah but I've made it into a component called "Kill"
beginplay?
can I see how you attack ? ur bp
this is the kill component that gets attached to the player
ok, you have a TakeDamage event. Where are you calling it?
that's the only place where that node exists
Thats the EventBind, in order to TakeDamage, you have to call it when you get hit
so when your player gets hit, TakeDamage is called
are you calling TakeDamage anywhere ?
not that I can find
that kill component is what I attach to the character and enemies to control their health values
i see, but you need to call it for your player to take damage
Project Files : https://www.patreon.com/CodeLikeMe/posts?tag=source code
Support my work on Patreon : https://www.patreon.com/CodeLikeMe
In this episode, I am going to show you how to implement attack blocking in the melee combat system we are working on in unreal engine 4. ...
This is a really good series
Go through the playlist and see if it helps
ill watch it and see if it helps. Thanks!
Part 55 is about blocking, and 65 onward is about combat. @mighty fable
Watch a few of those, hope it helps
yeah I would like to first just make it so when I press L-Shift I just dont take damage and cant attack
I'm making an AI Director (like Left For Dead) for a coop multiplayer game, i've been using an actor blueprint for testing but wondering if it should be managed another way. Is there a better way of doing it?
how do i make it so when i hold down a button it repeatedly activates a bp
Retriggable delay
don't work
Loop with break
If you want to hold down a button and have something repeatedly happen, you should probably use a timer. Although tick can also work depending on the thing in question.
@slender venture I haven't looked at the coding for that, I can go check it out in visual studio, but my initial guess is that the tombstone isn't working from Sweep, because it's not. It's colliding and that's a hit event. I assume that boolean is actually to tell the difference between when an object sweep movements into the sphere and does not teleport into it without sweeping. It's actually odd that a colliding hit even calls the overlap event.
Im creating a door that opens when it receives a cast
problem is when the animation is over the door goes back to its original position, how can I fix that?
Is there a way to mark a blueprint function as deprecated? So I would get a warning every time it is used?
@fair sun Yeah. There's an option somewhere in the details rollout
You can mark variables and functions etc as deprecated
ohh yes now I see it. It was in advanced so it didn't pop out instantly
Hey guys! I was just wondering how bad it is that I give long names to my imported meshes & textures / actors / variables.
I always see others shortening everything but it would be nice to see them clearly even though im alone on the project. Does it effect performance?
Even in the slightest?
Not really. The issue with naming is often to do with the full location path on some machines. Older operating systems couldn't handle finding things that had a location path longer than a certain amount. I'm not sure if that really applies anymore though. Most people shorten things out of habit.
I've noticed people adding "_BP" for blueprint to the end of their stuff or "_ACT" and such
Yeah, you'll see that in a lot of projects because they often use the same name for the C++ and BP inheritting version of an object. I do the same thing but at the front of the name. Like CPlayerCharacter, BPPlayerCharacter
Thanks!
@trim matrix For safety. You might actually pose that question in someplace like #packaging They're likely to know much better.
I will for sure thx
I'm trying to set up blueprint callbacks for modders to use. I have an actor and I want mods to be able to change it out for their own actor. My idea is that I'll call an event, pass the actor by ref, and then every mod that wants to change it can bind to the event and set the actor by reference to whatever they want. But when I set up an event like this I get a warning:
How can I set this up so that I can pass the value by reference through the event?
you don't need to pass an Actor by ref
its already a pointer
meaning any changes to actor itself will persist
only the pointer is copied if you don't send it by ref, and it still points to the same Actor
so its fine
only reason to send a pointer by ref is to change what the original pointer is pointing to
hello unrealers :)
What kind of variable is this? I cannot find any info online about it..
(I'm not a programmer, I'm a designer)
Hello guys ..
I have a wall in game i want to interact with the wall as a parts like rectangles i want to draw outline or change the color of specific area not the whole wall
How can i seperate the material or texture and interact with it seperatly
If your interactable areas are always the same, you could just split the material UVs and change them that way. Otherwise, you might need to do some form of texture mapping.
I want to interact as an actor ..
Like each part i want to use depth render and change the color or how ?@maiden wadi
Hello. I have a sequencer in the game that I want to seamlessly blend to gameplay form player camera. Transition to sequencer is OK (I do Set view target with blend to cinematic camera in sequencer), but in the end if I do same to return to player camera, there is a glich becouse it goes from player 0,0,0 to camera even with blend time 0. If I do transition during the sequencer, there is still one frame where screen jumps to player camera and than back to cine camera. what is correct way to smootly blend to cine camera and back?
@dusty ibex If I understood correctly, that issue is because Sequencers reset after finishing their play. I don't remember where, but there's a checkbox to force it not to reset after it's done playing.
if you mean keep state on track properties, its not that, unfortunately. I do target blend on OnFinished handler, but there is always that frame. Where ever during sequencer I put target blend there is that frame jump.
only reason to send a pointer by ref is to change what the original pointer is pointing to
That's what I want to do @twilit heath
trying different things following a tutorial, attempting to throw a physics object but it isn't working, it just drops to the floor
apparently i'm missing the location and forward vector
Are there any good Fog Of War tutorials anywhere? Some of them use a Sphere which works but I don't want it covering the skybox as well
@lean bobcat Impulse should be a direction vector * a float for scaling, you don't need to add it to location, it is not a line trace
@lean bobcat may be you should format it as a projectile movement in its bp ? and not affected by gravity?
i want it affected by gravity, like a chair, book etc
ok so you can still let it sit with projectile movement
then from physics set simulate physics and set its mass?
uhm this is a setting you can set up on its collider.
if you want to for instance apply damage when it hits something you can also add a code to is event graph like
Then receiving side needs an EventAnyDamage event to initiate what should happen to the targeted object. It could be tmi for your query but I am sure someone reading this can make use of this and set their arrows or bullets etc..
@wicked shell @lean bobcat the original code posted contains a couple of mistakes. You could simply fix them instead of reverting to a completely different solution.
Just my two cents of course. π
starting to look like this lol
@atomic salmon I am unaware of that tutorial. was just responding to question on how I did a similar thing π
try using radial impulse
thats what i did atleast, it has more options
had the exact system like in half-life
this looks like a flappy bird kind of movement xD
@wicked shell of course, but the first step is to point out the error in the original code and help to fix it, otherwise one will never understand what was wrong and how to make it work.
Then you can point out more efficient/smarter solutions.
do i need to store the hit object, so i know which one to release? it's coming down directly from the line trace
and my macro https://prnt.sc/vg7404
when you grab the object you should promote it to a variable
might be the problem kind of confirms it too when i look at your screenshot
How come do actors become unselectable in the editor if I assign a translucent material to them? I have a simple actor with a static mesh component, which catches clicks in the editor if I have an opaque material but stops working if I set the material to translucent
Interesting, I tried looking for something like that on the GUI but couldn't find it
The context menu of the viewport is more for actions
This is more of a setting... that's why it is under Settings π
Eh, to me camera movement speed, lighting mode and things like that are all settings as well
And settings related to interacting with things in the viewport should be more tightly bound with the viewport imo, but maybe that's just me
no I mean the ones at the top of the viewport -- not sure if those are stock or if we've extended the editor
personally I've only extended editor modes
Why "right click"?
Where's that coming from?
I'm just talking about what can be raycast with the cursor in general
In my case I was looking for the ability to select, i.e. left click
And I mean these sorts of menus
figured it'd be in one of these, rather than a level up, but I'm no UI/UX designer so what do I know
how I invert a Foward Vector only in vertical
Assuming forward is a local coordinate system concept, and vertical is global up
worked, thanks @trim matrix
I got a dumb question
Where tf is the edit option, i thought it was the eye but i still cant interact with details
compile it first
Oh ok, lol
FYI the eye just makes the variable instance-editable
i.e. it exposes the variable to the actor details panel when you're placing it in the level
Hiho i have a small Problem with my Health Bar.
The Healthbar was working yesterday but today ... nothing ^^
you didnt set your character ref
its invalid/null
just adding a variable doesnt mean it contains any info, you need to set it as well
ok maybe that crash an hour ago.,..
you can set it on begin play, get player character - cast to characterbp - use return value to set character ref
if the variable is only a default class and not your own made then you dont need to cast
how I rotate a forward vector with another forward vector?
@white crypt I know what do you mean ^^ Ok i have fixed it, my engine was crashed one houre ago the Character Ref wasnt declareted^^
Thank you
@thorn moth I would try to get a rotator instead of a forward vector if possible because rotators have more information about... rotations... than a normalized vector
Interpreting a vector as a rotation is always kind of iffy
Do I transform the forward vector in to rotation with RotationFromXVector?
I don't have a great imagination for it so idk. There's a whole slate of converting-to-rotator nodes, including GetLookAt
Try stuff until it works, but if it's possible to GetRotation instead of GetForwardVector, go with that
And whatever it is, plug it into a RotateVector node at the end
Maybe someone will offer a better solution but that's what I got offhand
What's "forward vector" in this context?
how I rotate a forward vector with another forward vector?
@thorn moth what do you mean by this?
like do you want to rotate one forward vector to be at the other forward vector?
do you want to diff between them?
Yeah as it stands that question seems indecipherable to me
you can, for example, rotate a vector, given an axis rotation type thing, where you're rotating about some other vector by some angle
Does anyone know what order the array here is in? Does it trace outwards, making the actors closest to the sphere pos first in the array?
I tried following the c++ definition rabbit hole, but the call stack is at least a dozen levels deep
seems to also depend on whether it's using physx or not
@plush ridge im not sure but you can test it out if you get the distance from the point to the center and print it out you can see the distance and if it increases further down the line it means it's ordered like that
seems to also depend on what sorts of datastructures the objects are inside, it's really hard to follow with how much this branches
Yeah, in the time it's taken me to go over the code, which I got lost in like Lurk, I'd have just written a quick distance sorting function.
I'd just assume it's a randomly ordered array
Better safe than sorry. Sorting function by distance is cheap.
well, the comparison function is cheap
I guess you can call O(n log n) cheap for small collections of actors at least
wouldn't do it in Tick() for example, for larger sets of actors
Quick help, I'm trying to rotate on the Yaxis a mini turret that tracks the player. When I do this
Nothing happens, the bloody thing won't move. Z says it wants to go 90degrees though
It's on a UpdateAnimation which feeds off the tick
oh it's a 2D game
NVM, had to go off Y and Z, works now
@flint surge But yes, it is a 2D game
This seemed to work for now
What do you mean in and out
I say y because it's the axis I want to turn it on π
well in a 2D game, all the objects in the world exist in a plane, right? and that only has 2 axes of motion -- and the "in and out of screen" is the one left out
hm... that's so different from what I'd do that I'm having trouble working out what's going on
I move on the Y axis, and I constrain on the X
but yeah, in principle plugging all three coordinate axes might work there
So what I am doing is my char can move up and down on Z but only left and right on Y
personally, I'd probably just do the math based on delta X, delta Z
I got it to working to where I need so far. I appreciate you answering man, always good to have a rubber duck!
Quick Question: Is there any way to edit a Camera Component's NearClipDist for Perspective cameras from Blueprints, or at all? I see it for Ortho, but only Ortho. I currently need to make custom nearclipdistances for a series of perspective cameras in a project.
yeah if it ain't broke, don't fix
lol for sure
but if it runs into some gimbal lock issue or whatever, you may need to revisit that
though that might not even happen in a 2D game come to think of it...
shrugs
Hello,
Is there a way to set the command line argument via blueprint. I want to have the possibility to switch between dx11 and dx12. So the user should have some kind of interface to easily switch
What is it that feeds those parameters to the command line? Do you have like a launcher or something?
I'm guessing UE doesn't support changing out the graphics API on the fly out of the box, so you'd need to restart to change it, and then the question becomes whether there's a built in config option for that. If there is, you might be able to invoke a console command or something to change it from a blueprint
@fierce seal Can't find a way to do that personally, at least not any easy way
the project setting that gets applied globally is the only thing that seems well supported
but yeah, maybe if you override whatever class it is that draws the window that actually does the rendering, you might be able to change the frustum that does the clipping
I dont want to change it on the fly, and I know the project has to be restarted. I only want to know if there is a way to set those arguments in general and if yes how
@flint surge I will look into that... But I'm not certain how I'd handle individual near clips at that point if I override the draw window.
I guess I don't know how UE4 handles camera processing but, from what I know of OpenGL and other systems, there isn't a reason to not have individual near and far clips for cameras... π€·
Yeah honestly I have no idea
I was browsing through the camera actor and camera component code and some viewport stuff and I couldn't find anything related to that
various places like plugins for VR display devices and such reference that global near clip setting, and then proceed to do their own rendering, but if you need per-camera clip settings you might need to override both the component to add the setting as well as the whatever the actual rendering clipping code lives inside
Not sure if you can set that per camera. That's usually a project level setting and also requires a restart.
@shell wyvern I can't find a command to set the platform RHI, might need to manually edit whatever config file stores the platform RHI from within the BP in question
Okay
Little help needed: even tho I removed the connection between the parent and child construction script, the parent's construction script still running:
I'm not sure how to actually set your RHI via the DefaultEngine.ini though
maybe DefaultGraphicsRHI is enough, or maybe you need to have a launcher or script or something that actually invokes the game binary with the right command line argument... seems needlessly convoluted to me
any idea?
I'm not sure what parent constructor script is
oh, so that's like an inherited class, and the ::Super constructor
as far as I know, the way inheritance works in UE you have to invoke the parent constructor as well
hm
although I've never seen that node before
it's not getting called now
just put a dummy node there, and the parent not getting called anymore
interesting
yeah I mean it looks like it was compiled in the above screen capture as well
where did that parent construction script node come from?
I haven't seen one in any of my subclasses' construction scripts
from this bp's parent construction script
maybe because you didn't have anything in the construction script
its possible
Is there a way to make cone overlays not work through walls?
How would you guys implement a punching animations, where the punch is always aimed at the enemys head, independent of the enemys location?
Guess I'll have to use some kind of IK right?
What is the red thing? I'm trying to search for it.
Properties that hold a value or reference an Object or Actor in the world.
thanks
So I'm still fighting with my IK setup, for a climbing BP.
So I'm using the two bone IK in my animation BP, and then setting it there where I update the climbing holds location.
I'm also using Sockets for placing the hands in, where I'm getting the socket location straight from the BPI function.
Then I'm Using a BPI for getting the climbing holds, And then I'm using that in my character BP. Where I'm tracing the "holds", and then getting the Climbing holds offset and updating the location after.
I'm Following CodeLikeMe, tutorial and adjusting his climbing system to mine. But the way his doing his IK in video 261 on youtube. I just can't get it to work. Anyone with some good tips or video's about using IK's.
Hey, I was just wondering if there was any way I could spawn an actor directly on top of another static mesh actor? I want to do it so that the spawned actor is on the surface of the other actor and it follows the other actor around. I tried searching this up online, but I couldn't find anything useful.
hey guys, im trying to let Unreal Engine spawn an actor in a level for me via a custom Gamemode. IΒ΄ve set the default pawn Class to a Blueprint. But the Pawn isnΒ΄t spawned in the level and i get an error in the log...
Here the settings of the gamemode in the level
Have you got a playerstart? π
yep
Does the player start have a bad size marker?
nope, no bad size
double check your "spawn actor"in the custom gamemode too.
im just confused, thats sucha simpel thing, but i cant manage to let the ngine spawn the actor without doing it mysel via blueprint...
Don't be like that - it's okay, learning how an engine work is always difficult for everyone, you'll learn what nodes do what you want soon enough.
I dont get it why itΒ΄s not spawning π
double check your "spawn actor"in the custom gamemode too.
@narrow fjord what do you mean by that? could you elaborate that?
let me rephrase that
that's a dumb question
You're trying to spawn a pawn correct?
Where are you spawning the actor though?
Is that screenshot supposed to be showing the spawning?
no where, thought the spawning is done by the engine itself by providing the player start. Or am I wrong?
if have no spawning code currently.
That's fine
As long as by custom GM you just meant the inherited one
What does your player start have under your "Spawn Collision Handling Method"
hello
Yeah that's alright so player start should be fine but apparently your pawn is not spawning due to collision.
Hello Jimmy :)
anyone know how to make a BP for putting a hyperlink in game to your discord invite?
Set it to always spawn for now
See if that alters anything
anyone know how to make a BP for putting a hyperlink in game to your discord invite?
@trim matrix What do you mean? As in a UMG component?
so like in a pause menu?
unf... not :/
nah, like a button they can interact with in game
like pressing the red button takes you to my discord
Oh right! yeah you can use a launch url node and just have it run off an event for when the button is interacted with.
unf... not :/
@hazy sandal something is really odd about that.
Can you expand the console log so I can see what is cut off?
I'm curious what type it's attempting to spawn.
I mean yeah pretty much
nice, thank you
uhh good idea, didnΒ΄t know that the error message output log gets cut off like that.. π
Can I see the pawn please?
The Pawn
When I spawn it myself it works, but not with the designed way . ThatΒ΄s kind of odd to me...
Oh, I don't usually use a static mesh as the root component
I mean I guess there is no reason not too but idk it might be something to do with that
Try make the root component a sphere collider
Like so?
hmm, I also just created a new parn and tried to set it as default pawn. But I get also an Warning: SpawnActor failed bc no class was specified..
`Tried recreating the player start
@narrow fjord I created a new level. In the project settings i set up the custom game mode to be used for the project. Theres nothing more I do. In the default level theres a player start. Could you be more specific?
I really have no clue why this isnΒ΄t working.
I just meant have you tried deleting your player start and remaking - but you had
So in a default level with a default pawn it still doesn't spawn?
So in a default level with a default pawn it still doesn't spawn?
@narrow fjord precisely
delete the player start, set the default pawn class to none in the world outliner overrides, add an instance of the pawn to the world and set the auto possess player to 0 and see if that works @hazy sandal
obviously not the way you want to do it, but see if it works that way
@narrow fjord precisely
@hazy sandal I mean that isn't your fault then, that seems like something definitely wrong with the engine?
delete the player start, set the default pawn class to none in the world outliner overrides, add an instance of the pawn to the world and set the auto possess player to 0 and see if that works @hazy sandal
@hollow cape I believe they did this and it worked.
jep that works. Set the default pawn to none, and re-activated auto possess
Are you sure there are no latent nodes in the gamemode just sitting around?
Have you guys looked into the warning regarding collision at spawn
You've got the player start set to try to adjust, don't spawn if still colliding and a log warning showing collision at spawn
Are you sure there are no latent nodes in the gamemode just sitting around?
@narrow fjord disable my custom event, despite that theres nothing special going on. to be precise nothing at all in the custom game mode...
You've got the player start set to try to adjust, don't spawn if still colliding and a log warning showing collision at spawn
@hollow cape was set to always spawn. @narrow fjord mentioned that earlier
Chiny, is this still an issue with the default gamemode?
No Base GameMode works just fine.
Okay.
Have you worked a lot on this custom gamemode?
Can you create a new gamemode BP, set the gamemode in the project settings to the new one and set it to spawn a default pawn.
Don't delete your old one or anything.
Still error
Created a new gameMode, using the defaults works. Using default Pawn Class none, also works as expected. But using my custom Pawn creates this error
My custom pawn
Just a static mesh and a camera that orbs around the player. The BP code is very simple, just for basic movement and camera handling
I treid:
- having static mesh as root comp.
- Having Sphere Collider as root Comp.
- Having Default Scene as Root Comp
get rid of the collider and set the static mesh collision to no collision
Im using the old Engine Version 4.23 bc this is my first project i worked on 2 years ago or so.
This seems like a collision issue of some kind
do you have any meshes in the scene other than the floor? Anything custom/imported?
do you have any meshes in the scene other than the floor? Anything custom/imported?
@hollow cape No Sir, just plain old default level and sphere with different material
Changing collision to no collision actually works.
Change it back to default collision, and move your player start like 50 units up in the Z axis
Also worth verifying that your spawn collision handling setting is still set correctly, it should be either try to adjust but always spawn, or ignore collisions and spawn
daaaaaaaaaaaaaamn, no itΒ΄s working. It was the collision settings... π -> PlayerStart set to default (try adjust) and Custom Gamemode uses my custom Pawn. It spawns like I would expect at player start possition. No Warnings
Woot. Warnings are usually pretty good about telling you what the issue is, it's just a matter of tracking down the specific issue
Yeah, i guess youΒ΄re right. Thy you guys a lot. This was kind of annoying :D.
the bug
my brain bug... π
I'm confused haha, so it was what I mentioned earlier or was it something else?
I'm confused haha, so it was what I mentioned earlier or was it something else?The problem was actually just the collision setting of my static mesh in the custom pawn I use. It was set to default. For some reason that caused the spawning issue.
@narrow fjord
The problem was actually just the collision setting of my static mesh in the custom pawn I use. It was set to default. For some reason that caused the spawning issue.
That's still not normal, you may want to dive in to that a bit more since now your pawn will effectively have no collision.
Maybe try what I suggested earlier, turn the collision back to default, and move the spawn up to see if it works when the playerstart is floating
I reseted it to block all dynamics. So it has collision now
Maybe try what I suggested earlier, turn the collision back to default, and move the spawn up to see if it works when the playerstart is floating
@hollow cape yeah this works. Forgot to mention it
Hi all. I'm using render targets to paint on textures and simulate "cleaning" an object by lerping clean and dirty textures.
Is there a way for me to calculate the percentage that has been painted on the render target? A way to know when the object is totally clean.
I'm sure it's not the smartest way but maybe divide the mesh/render target size into however many chunks and then compare how dirty by having a map store location values for a boolean?
Then you can just check a boolean branch for each loop on the values of the map whenever you need to check and if not then you can always check what location by comparing index value to key value.
Thanks @narrow fjord I'll definitely keep it in mind. Actually you gave me an idea: I could just store a map of XY coordinates and boolean every time the render target is painted, offset the coordinates by the brush size, and then translate the amount of entries in the map to a percentage value. I don't think it will be 100% accurate but perhaps accurate enough for what I need
i have an issue
i have a turret in my unreal engine
and i have a spawn point
and end point
enemies appear from start point
and stop at end point
AI balls are the enemies
and i have made a turret using blender
how to make it follow the enemeis and shoot them?
pls help guys
watched many tuts and no one helped
Your turret needs to track your enemies @grizzled garden
how?
i dont know how to do tat
that why im asking
what do i do? what blueprints i add?
pls help me guys
So is Event ActorBeginCursorOver unreliable now? I'm having huge difficulty getting it to fire and I've tried every debug method I've Googled.
On tick, the Ball position gets sent to the turret rotation
@late shuttle ActorBeginCursorOver? What class is that in?
help me guys
@flat raft I believe it is part of MouseInput
@grizzled garden look up actor face towards another actor
ok
your turret needs a sphere collision
how to make one?
Some of you have requested a way to leave me a tip so I've created a PayPal and a Patreon.
PayPal: https://paypal.me/reidschannel?locale.x=en_US Patreon: https://www.patreon.com/reidtreharne
Discord: https://discord.gg/PdvudWx
Turret FBX: https://www.dropbox.com/s/q46j0pvj54vh...
ok
is there a way to simulate in BP the press of an action input button? For example, I want the game to think that I pressed the Jump button (spacebar).
My workaround was to create a custom event that executes the "pressed" path of the jump action.