#blueprint
402296 messages ยท Page 412 of 403
I mean if you want to make it full physics complaint it's a bit harder
but you can fake it the way I described
ye thats why i was looking into having another controller (child) and casting to the child to get the rolling movement
but having child wont work
it's not really a question of controller at this point
lol
you need to play around with physics and physical acceleration
not sure how that's going to work now that ue4 is switching to a new physics system next update
I would copy the logic from the rolling ball template
i did
the entire ball character
and then try and mesh it with a normal third person character
tho it uses a pawn
but it's a huge amount of work regardless
Hey guys I am kind of new to Unreal and I need some help creating a simple badminton logic, so when the player uses a racket to hit the birdie
and launch the birdie to the other side of the court, I am still not really good with blueprint and cpp so any help is appreciated
Question: Anyone know how to zero out inputs?
Use case: Trying to have the character stop doing anything and disable input temporarily
I am using booleans and disable input, but it kind of locks the pawn in its current state
Anyone know a good blueprint for paper 2d ai(enemy)? The enemy is supposed to attack and shoot some type of spell. Might be complicated but keeping quiet got me nowhere so had to ask
@frank garnet have you looked into paper 2d project that comes with UE4 might get some info there
So I made my .exe file with my program, how can I share this with a friend?
getting this error when I send out the .exe file
that looks you're trying to run the engine executable, not the game one
does anyone have some decent resources on procedural generation, especially for BP? I'd like to learn how to generate maps similar to how games like Civ or Rimworld do, thanks
particularly in a way where it can hold various data/states per tile
two very different styles of generated maps/levels
hey guys, is 30+ sockets on an actor reasonable or too many?
not to say i don't have use for these sockets. i need more objects. but is there a better way to handle a growing list of attachable actors?
Right, I must be missing something obvious but it's escaping me. I have a static mesh I threw together. If I create an actor BP, add a static mesh component and assign the SM it doesn't show up when placed in the level. However if I right-click the SM and create a BP from it, it does show up. Visibility in game is on. Anyone got any clues?
something's up, moa.d. you should be able to do that. i'm doing it right now
Yeah, tis very odd.
what happens if you start over? just make a new BP, add a cube static mesh or something, and place it. does it still not show up?
If I change the SM then whatever I pick appears fine, but just not this one
but, if i'm understanding correctly, you can use that SM, but only if you base a blueprint off of it?
Yeah, I mean it's not a big issue to right click and create a BP, it's just... well, it's something I'd like to know why it's happening ๐
that's cool ๐ and sorry no idea about your attachable actor hoarding ๐
hi guys ๐ how can I get even spacing in here https://gyazo.com/ffb381923489c7525b2ffb3a75ca0e05
@coral canyon how do you mean?
i dunno if this will help, but it looks like your words are spaced based on where they begin. you may have to figure out how to calculate the length of the word, and add it to your spacing
@little nacelle well - civ is hex based terrain, and is generated per-tile for types/contents, while the overall map still has some similarities to an open map. the very starting point of procedural generation between the two is similar - to just organize overall landmarks (mountains, water, etc), but then the paths diverge quite a bit on what you do from there. also the concerns of how the landmarks need to be setup/spread out etc differ a fair amount between the two
well that i get, but I mean how is it implemented in a way that doesn't become overloading for the hardware? Like I can't just generate a 1000x10000 tile map and have it calculate states between each tile in an efficient manner no?
to my understanding, generally you'll start with some noise generated, and then do sampling from that. i haven't done this in unreal before, and have only followed some guides in different languages, so i can't be of much help ... mostly just the peanut gallery at this point
ive seen the noise generation method a lot, was wondering if there are other methods that would be optimal for my needs
or at least to compare/contrast pros and cons between
a way to think about why noise generation makes a lot of sense is if you compare to randomly choosing values per-tile. if you do that, you then have two downfalls - needing a sample set of random numbers every tile, as well you lose the cohesiveness of the overall landmarks. generating the overall land using a noise method which has gradual changes ensures you don't get ridiculous contrasts between those random numbers
there's likely other reasons why it gets used a lot, and i could speculate on some, but that's about as far as my knowledge goes. it's also just convenient because there's a lot of different tasks that use sampling from textures/similiarly organized data sets, so the tools exist and are familiar across them all
ah makes sense, was wondering about that actually, like how best to have generation appear natural as opposed to random
so is there a reason perlin noise maps are necessary as opposed to numerically defined grids?
by numerically defined grid are you just talking about 100x1000 tiles kinda deal?
sort of, like if i want to have the exact values shown numerically rather than by a texture i guess. for example, say i have a perlin noise map thats 3x3:
[0][-1][4]
[0][2][-3]
[0][6][-1]
you can see how the first column would be a solid single color line
doesn't make too much of a difference though. essentially they're the same thing, just in a slightly different format
but if id prefer to have the values pre determined and adjust one at a time, wouldnt it be easier to use such a grid rather than generating a new noise map?
not sure what you mean by adjust one at a time.. to my understanding that's not how perlin noise gets used - since the surroundings matter. i feel like this is a bit of the blind leading the blind though, lol
you can easily convert an image to the values you'd like
thats essentially what im getting at, like if i need to make slight adjustments to a specific point of a noise map, but ive never done so myself so wasnt sure how easy or hard it would be
newbie here. Been trying to make a character obj move for the last six hoursish. Anyone know why this wont work?
(sry for interupting)
@little nacelle one way of doing things for generating maps, is that you'd have several passes over the details. e.g. you generate perlin noise (i don't know the details that can be put into this algorithm).. then say you wanted to restrict to 2 mountains (defined by a value above a certain amount) only. you could then do a loop over it, identify two mountains, then for every other one you encounter, you just reduce the values down to below mountain threshold (you'd need to scale all of them together). now you result in a data set with only two mountains. then you'd do another pass to start details for tiling, contents of tiles, etc. there's quite possibly ways to do this in less passes but there's also tradeoffs for complexity. as long as performance is good for what you're using it for, it doesn't matter as much
yeah performance is what id be most concerned about here. I dont mind doing multiple passes one over the other, as long as it can do what i need lol
initial loading for games like civ/rimworld are about the least important times for performance considerations though - so it really does depend on the situation
don't get too pre-occupied about performance before you've had a chance to try things
@obtuse crescent It should happen - on begin play. After that it should stand still with that logic. If you want it to happen over time, use tick.
I strongly recommend using timers instead of tick
unless you want to have performance problems
How is tick less performant than a timer?
@odd ember oh? is that just in blueprints, or in c++ too? why is that in general
timers can be turned off
So can tick
what does that have to do with performance problems?
if you start putting a lot of stuff on a tick function like I've seen people do
... timers don't solve that problem either though. i'm really confused, lol
Yes. Maybe don't do pathfinding on tick. But if you need something to happen over time, you need tick or something equivalent.
still happens in the same thread doesn't it?
put the same amount of processing requirements on a timer as you do a tick, you'll have the same problem
If you're doing a ton of things every frame.. then it will lead to bad performance. Just gotta be smart about how you format your code
generally using tick in BP is a terrible idea
not saying you shouldn't use it ever but I find it rare that I need it
Nope I use tick all the time, I turn it on and off all the time. I just don't want everything ticking(using a timer is the same thing but not frame rate dependent if you use it the same way).
anyway the main reason I don't use tick is because it enforces bad practices in BP
since this is a BP forum
x.x
It's not related to BP it's related to game programming in general
Okay. So if I use a timer that fires more often than tick, that event (lets say moving a character) will happen multiple times during a frame update. So you'd move the character more times than it is visually updated, practically worsening your performance.
If you're using a timer firing slower than tick, sure you'd save performance but that movement will appear to have a 'lower fps' than a tick.
If you're trying to match the timer with the tick delta.. then why not just use tick.
Plus you can adjust the tick rate
because lets say you have multiple things happening at different times that you need to turn on and off independently
which is way more often the case
@odd ember i think the idea behind what you're saying makes sense - but the aspect you're pointing at to be the "problem" doesn't fit
k nevermind. leaving now lol
The bad practice isn't using tick it's running alot of stuff on tick or using it when you don't really need it
It of course depends what it is for. The less you need an update, the better. But things like moving a character, which is what I recommended using tick for, it's silly to use anything else. Timeline sure, it can be practical but it's just another tick.
generally anything that runs per frame needs to be heavily scrutinized I've found, so having that being delegated (elegantly) to transient timers is a pretty sound design decision
But what is the purpose of using the timer vs tick if your using it the same way?
readability, the fact that you have independent functions on independent timers that handle their own logic
i.e. low coupling
The only thing I see worst about using a timer is that your adding more memory (because your creating a timer handle obj and the timer manager has to keep track of it) if your using like tick(where it fires every frame)
Transient doesn't mean it doesn't get created
For you to start a timer that's creating a timer handle
but if it gets culled anyway then it's an overhead until next gc cull basically
it's a non issue
Death by a thousand cuts then lol
plus a variable is like what, 4 bytes?
I mean I don't know how many timers you run
but if you're doing that much on tick you might be better off doing cpp
Not much, I use tick. You can do alot in tick in BP and have under 16ms its not really a problem of the programming language it's about how you format your code
well yeah, but like I said timers are more readable and easier to decouple
so for an overhead between two culls it's easily worth it
unless you absolutely need something to run per frame
tick in blueprint is at least 10x slower than C++
every tick call, goes c++ -> FindFunction(Tick) -> BlueprintVM -> Tick - > BlueprintVM -> C++
BlueprintVM is the slow point.
we had code in BP on tick, costing us .25ms game time, the EXACT same code in c++ costing us .1ms game time
Tick or timer Kaos?
Timers are the same
Lol
they still need to call the BP vm
Exactly
thats the slow point, and it won't get any quicker unless there was no virtual machine in the way
Listen if I'm not coding in assembly then I'm not coding at true speed
I mean nothing that's been said invalidates what I said
BP ticks are pretty bad, but they are usable, as long as you are not doing too much complex math.
um, idk what yall r going on about. But I got the thingy to move via eventTick so thanks ๐
which is the correct place for movement that needs to be smooth
Would anyone know how to implement snapping into a building system?
is this ok or not to call these methods?
"DO NOT CALL MANUALLY" is worrying
but if all these methods aren't to ever be called manually, why are they exposed?
They're fine to call, it's just the CPP comment making it's way to the node
You're not meant to call the underlying CPP function but you can't from BP anyway
why would adding a camera to a physics body suddenly cause the physics body to start spinning, while without a camera it does not spin
im not yet using control inputs to the pawn. tried every combination of control/rotation settings
seems like a dumb bug from the camera affecting the physics
oh interesting
if i used the placed in world pawn, it doesn't bug out. if i use the auto spawn, it bugs out.
@static charm This fixed it. In case you ever have the same issue. I created a second shorter capsule collision that I made of the type "world static" rather than pawn.Set it to effect navigation, and then I enabled/disable collision when it stops and starts moving. That creates a hole in the navmesh to block the other AI from thinking they can go through there.
it's a bit of a hack, but it works.
yeah essentially a hidden door/blocker. nice
Hi, I have a little question if anyone can help. I made a blue print so taht the input of my character movement moves him along a spline, I modified the third person character to do this. I also havea blueprint that used to work for a moving plat form, but since ive made the character follow the spline , he doesnt ''stick'' to the moving platform anymore. Anyone has any idea what could cause this ?
It's just a guess, but I think items of type "pawn" won't inherently create holes/block the navmesh because the game expects them to be able to move.
am i using this For Each Loop with Break correctly? it looks weird having that exec line go back like that
@tame coyote So yes, it's a bit jank imo but that's how it's supposed to be. You can also make like a custom event for each break, but that's overkill
I recommend double clicking the white execution pin line that goes to the break to make reroute nodes, so you can route it a little better than the default setup
Reroute nodes can make it look a lot nicer yep^
I usually have it loop around the actual iteration block
Hey everyone. How can I stop a timeline after it's finished?
it seems it keeps updating
the first timeline is 10sec, after it's complete, it should stop updating the values
@fathom portal @earnest tangle thanks guys!
Yeah man, don't forget the update pictures with the cleaned up blueprints!
@modest nymph I'm no expert in timelines, but maybe you should have the "Complete" go to a "Sequence" node, where the "then 0" should connect to the "Stop" of the "Seq1" node, then have the "Then 1" line connect to whatever is next, which looks like the set static mesh?
alright, here it is, tidied up and refactored a bit
You can right click that break struct node to hide unused pins, fi you want
Thank you for the update, feels good seeing the changes and fixes implemented
Too many people just take the info and run
how do I two events exec -->(if both activated) --> 1 event exec output
actually. I dont think it matters
nvm
@modest nymph I'm no expert in timelines, but maybe you should have the "Complete" go to a "Sequence" node, where the "then 0" should connect to the "Stop" of the "Seq1" node, then have the "Then 1" line connect to whatever is next, which looks like the set static mesh?
@fathom portal Yes i fixed it with a sequence node ๐
@modest nymph Share the updated code, so the next time someone has a similar issue they can see how other devs solved it
Rather than having the "COLAPSE" (30sec timeline) going to the "Sequence 1" (10sec) and then "Sequence 2" (10sec), I made the branch, so the "COLAPSE" is not forcing the "Sequence 1" to update after it's finished.
Sweet, entirely reasonable, thank you
Hello. How i can check if the command is in the text. For example, as in the game GTA SA: MP. There you enter the command /pay id count
@sour urchin are you trying to just check whether the command contains something? Or are you trying to make a full command system like minecraft/GTA/etc
Yes, I want a complete system
That's something really, really complex to pull off effectively
holy crap i just discovered macros and i'm redoing about 4 hours of work
Do you have a smaller ask? Or are you just asking like in general how to go about doing it?
@tame coyote Lmao right
Don't forget, you can collapse existing code to macros, instead of making a macro and putting the code into it:
the more i learn UE4, the more i realize how easy it is to work with
Sorry @sour urchin if that came across as rude, it wasn't meant as such, I meant designing a system like that takes a lot of knowledge that's tough to just explain in a text chat
At least, making an efficient, relatively-bug-free system is
On a basic level all it really needs is a list of possible commands and some way of parsing which command the user wants (for example split the string, and compare the /hello to some property on the commands you have available)
^ Then, you need to parse out the string of characters to determine which command was run with what arguments. Then, you need to ensure those arguments are valid arguements
So like for a Broadcast command in minecraft, it's formatted something like this:
broadcast:
usage: /<command>
aliases: [bc, bcast, shout, js, cs, bbc]```
Where the first part of your command must be "Broadcast" (Or "bcast", or "say" depending on which minecraft version you're running). My example above comes from a specific plugin, but you can see the aliases (the different versions of the command you can type to get it).
After that, you need to get the rest of the command (after the bcast/broadcast/say) and see if this is the right format. Broadcast is easy, since it only takes a string argument which can take (almost) any alphanumeric (letters and numbers) and very little exemptions. Once you get that, you can determine what you should do with that. In the case of broadcast, it gets formatted into colored text and then sent to everyone on the server
So to mimic a command system like minecraft or GTA SA: MP, you would need to check every chat message sent, and see if it's a command. I've never played GTA SA: MP, but in minecraft every command must start with a "/", so it's easy to determine if the player is trying to run a command
So, if they're attempting to run a command, don't send the chat to everyone else, but if they not attempting to run a command let the chat go as usual
Once the message is stopped and you've determined it's a command, you would get the first word in the command. This can be done with looping through the characters, or more efficiently by splitting on the space character, or the most efficiently would be (I believe, someone correct me if I'm wrong) is to use regex (regular expression).
I would definitely stick with single-word commands, as making it more than that would make it exponentially more difficult.
So, once you get the first word, validate that it's a correct command. If not, send the player a message stating something to that effect. You can directly say "This command is not found", or you can hide commands behind always saying "You do not have permission to run this command"
Once you get the first word and validate it's a real command, you need logic to determine if the arguments (The things that came after the command) are valid. If the command in question doesn't have any argument options, I would just run the command and ignore anything the user puts.
So for instance if you make a command "/SetWorldTime <time>", you need to ensure when the player runs "/SetWorldTime Potato" that it doesn't try to actually carry that out, causing errors/issues with the server/etc. That's called input validation
So you need a way to ensure each type is correctly validated before proceeding
Does that make sense, @sour urchin?
If I trigger a line trace and hit a character, how to determine which way the hit actor is facing or if the line trace hits his left or right side?
if you take the forward vector you can use that to determine the facing usually
and I recall there was some vector operation to determine which side of a vector some point was, maybe it was dot product and then -1 is one 1 is the other... something like that :)
get actor forward vector gives me 1, 0, 0. If I the linetrace hits the char from left or right.
forward vector will give the direction the actor is facing
you need to do a dot product on it from the hit point
dot product has two inputs
1st input goes from hit impact point
2nd from hit actor -> forward vector?
just google for something like "which side of vector is point on" :) you should find some solutions
how can I make a toggle for a flashlight, I press it once it goes off, I press it again it goes back on?
use flipflop
Oh, I did it a different way. But how do you use flip flop?
I just use click to turn it on and right click to turn it off.
Nodes that allow for controlling the flow of execution based on conditions.
I found out how to use flip flop nvm
You can also use toggle visibility if you are using lights
Wait, can you have a node that affects an actor if it is in the light?
Hi everyone. I have a problem with collisions in my FPS project. In fact, any event hit works only with "static object". But the trace works well. Excuse me, have no screenshots now.
Hey friends, what is the term for the node that lets you input a string of text, then replace things like "{f}" with things that you want {f} to be?
format text
Can someone answer my question please. Sorry if I come off as desperate.
@twilit heath you the best, thank you
@tribal axle may be u should trace it?
I'm really new, so can you explain? And how to do it?
Because I have a directional light as a flashlight. And when I aim it at a certain actor I want something to happen.
@twilit heath (Or anyone else) any idea why I can't reorder these? I tried compiling, I tried closing/reopening
I don't have at hand an engine, so can't explain to u correctly.
- Find some point in flashlight, from which u will trace.
- Make custom event with some time delay (to be not expensive for performance) and add there node "trace for object".
- behind this trace node make ur own logic.
For point 2 u need watch how trace for object - it is simple on Youtube
@tribal axle
Thanks!
@tribal axle this is one of the links that popped up when I did a google search
https://docs.unrealengine.com/en-US/Engine/Physics/Tracing/HowTo/SingleLineTraceByObject/index.html
This also teaches you how to line trace
This how-to covers using a Single Line Trace by Object Blueprint node to return a the first World Dynamic Actor it hits, and prints its name.
now, how do you change the material of an actor?
@tribal axle Set Material
got it, im dum
im still struggling to swotch between pawns
i create a new pawn when i load a level stream
i create a new pan and posess the new one, but have difficulties to get rid of the old one
get player controller unpossess
Hey all, anyone know of why a blueprint wouldn't function when played in standalone/packaged, but work perfectly fine in editor?
thats how i load a new pawn
I have a blueprint which doesn't even try to run unless it's in editor. In packaged and standalone it doesnt even fire a starting print string
can destroy the pawn a game is initialized with?
sure, but you're going to run into trouble if the player controller is still possessing it
@thorny cedar Have you tried promoting the return of the spawn node to a variable and saving it in a game instance?
a persistent reference so you can destroy the pawn
maybe i should teleport my player and change the pawn instead?
so the old pawn still remains where it is?
for example i want to have a selection at the start either level 1 or 2
after selection unposess then teleport (the pawn?), posess?
tbh i have no idea what i said and how to solve it^^ above is my current attempt
You were level streaming right
yep
Are you properly loading / unloading them
the levels?
yea
its just a hub with a widget and then selecting the level by name
@thorny cedar do you spawn the new pawn using PlayerStart?
So why are you level streaming
@odd ember see above for my method
in the gamemode there is an overrideable function called SetDefaultPawnFor
I think that's what you're looking for
it's the function that's called when a pawn is being spawned at a PlayerStart
i wanted to use 2 pawns one for level selection and one for the levels
as long as you spawn your main pawn at a PlayerStart you can override functionality in that function to spawn both
i dont need both just one at a time
well you can do that too
I don't think the spawning is the problem, it's the deleting of the old one
exact
so you're looking to delete it when you spawn the new one then, yes?
yup
use that function
whenever you spawn a pawn at a PlayerStart, it allows you to implement custom logic
and with that allows to destroy it?
in your case you want to handle unpossession there and you can immediately posses afterwards
you can even pass parameters to your default pawn, which is otherwise impossible
i just need grabbing in my pawn and teleporting with the trigger not more
for now i just want be able to destroy my pawns! just let solve that problem first before i try to find a proper solution for the whole setup
So why does this not work?
Build powerful visual scripts without code.
@visual shell its in my persistant level right?
Don't use the level blueprint
btw you are literally doing with that game mode function does
which is why I mentioned it
ahhh
i simply can call the current pawn and kill it and spawn i new one to posses it
yes..
yeah i havn't finalized my pawn yet
focusing on the level streaming for now and then fusing all together
i stuck :/ for now i want to test it with the default MotionControllerPawn
need for help what to do next
So what's the problem now?
i have no starting point in which class i shall start
as said i want to use the default motionControllerPawn for understanding
Okay, do you have your game mode set up?
@visual shell i forgot that i can set my pawn self as a variable
So does destroying it now work?
give me a second to set it up
i delete my old pawn and spawn the new one
ok with this setup it wont work
at event begin in my MotionControllerPawn
Where do you spawn the player?"
when loading a level
and for level selection it spawns automatically at the player start in my persistent level
How do you guys recommend I go about adding a screen effect for a temporary status effect. At the moment in multiplayer the screen effect is applied to all players. I just need it to be one.
Yes but what kind of blueprint is that?
I have a crouch system that is basically setting camera pos and capsule height on Input press and release. How can I stop my character from shoving its head thru the top of a low corridor every time I release?
The movement component already has crouching and chumping built in. It handles all of that stuff for you
I wanted to have a blueprint that said if an actor has this material, and that material changes to something else, do this.
havn't set up anything, i just selected my gamemode and default pawn class
Yes but where is that code all placed? In your level blueprint? or in your character?
i havn't set up any code for that just fopr spawning a new pawn when loading a level
@amber marsh but I made my own sliding one, it is required for my movement to be smoother. Is there anyway I can do it so that when I release the slide and stand up it will detect if there is a solid block above it?
Yes but, you're showing me these blueprints right, so where did you put them? In the character BP or in the gamemode, level blueprint etc etc
ah sry top is in my pawn
down in my levels
pawn
level
i was calling the destroy function of my pawn right infront of spawn player
I'm really not sure why it doesn't work for you. I think it just has something to do with that motion controller thing..
I would advise creating a gamemode that handles the spawning, possessing, unpossesing, destroying and level loading though.
It doesn't throw any errors at ya?
nope no error
Does the cast fail?
no fail
I don't know, if I use somewhat your set-up it works perfectly fine for me.
i think a gamemode that handles spawning, possessing,.... is good idea ๐ will make this, when the logic is working and then write it in a more clean way
Yes, I'd also advise to generally always make the reference of the spawned player directly after spawning.
how can you get a specific material as a node?
Create a material object reference variable in your blueprint, then select the material you want
thank you
@visual shell when i set up my proberly i can call my gamemode when i wanna load a level and spawning. so just transfer the function from each level to the gamemode to make it more universal and dont have redundancy in my level right?
so the only thing that is kept in my level are things like triggers and simple checks
Yep, I always prefer NOT using the level blueprint, as it's really difficult to access
normally i try to use it only for short solutions and then try to transfer it into other parts
I usually make a blueprint interface with the biggest functions like
- Load New Level
- Spawn Player
- Destroy Player
- Pause
- Exit
- Start
And then you set up that interface in the gamemode settings, and you can call all those functions as events in the gamemode to set them up. Then from any other blueprint you can instantly get that function by just using 'get gamemode'
yeah basic functions should be callable everywhere
why is a material object reference not compatible with boolean?
@visual shell im in my first job and tehere is no person i can ask how to handle things :/ i was super naive ^^ try to get sth better soon
so i try my best, without failing to much
@tribal axle you have to use "Equal"
@thorny cedar don't worry its fine! Fail as much as you can, best way to learn
i found it out
@visual shell i'm coming from the UX field and maybe wanna go back to it and handle unreal as a hobby, but having some real practical experience always help to have real knowledge ;D
i just love to do research more than coding
I have a raycast that sets an object a material, but I want something to happen only when that material is set by that raycast, nothing else.
How do I do that?
Sorry for so many questions
I have a slide input that basically just sets height and camera loc of character. How do I stop it from shoving my camera into a low ceiling if its not tall enough for the character to stand up?
@tribal axle When you raycast and it hits an object, do a branch with the condition. Only if that condition is met, set the material and the function that you want to happen when that material is set
or you can check on tick if the material is different from what it usually has and then plug the code on a do once
Huh, ok. Because the mechanic is basically the actor has a chance every ten seconds to change color, if itโs gold, then change the color, but if you change the color when it is white, the actor will kill you. So Iโm just trying to differentiate the automatic change and the ray cast change, I got it know, thanks!
Ohh okay like that. Yeah, so in the code where you change the material, you do a branch check if it's material X, then do action X and if its material Y you do action Y
Does anyone know how to do a "Wait until x condition is true"? I don't think that is a node that exists, or maybe i missed it
I think you want to use a while loop
It will loop its body until its condition is met
or a branch
@visual shell does an empty while loop work or do I have to put a delay or sth in it
because I'm trying to do sth close to a "do not stand until topdetect component is not overlapping", so a branch wouldnt really work
components have their own on overlap events, if that's of any use.
@carmine prawn alright thanks i think i got it
Yea use the event overlap events for this one, but for the future: a while loop works without a delay or anything, once activated it will loop indefinitely until that condition is met
what do I use here though? i dont think a event would connect properly here
sry forgot to type
But you want that to run when you're not overlapping right?
There's event for that! Actor End Overlap
Yes I know but I want it so that if I let go of the slide while, say under a ledge it would just continue sliding instead of standing up instantly
But that's what it will do, it will then only stand up when it's not colliding anymore
Maybe what you want is to set up your own boolean? OnActorBeginOverlap you set "isCollidingWithX" to true, and OnActorEndOverlap you set it to false
You can then do a branch check to see if that boolean is true or not on your slide input
yes but when I do that it seems to tell me infinite loop if I use a while loop
Yeah here you shouldn't while loop
OnActorEndOverlap >> Check if player is still sliding, if not then fire the code for not sliding
ah i see
Any idea how to slow down mouse cursor here? Setting Mouse Sensitivity slows down block movement speed but not the cursor itself. GameMode is set to GameAndUI.
get current and previous cursor location, set new location to somewhere in between
isn't it just a question about slowing down mouse acceleration?
Guys, anyway to bake render target to a 2d texture?
right click the render target -> create static texture
Hello Dear All,
Here my challenge: I have a cube which is able to pickup (press and hold left mouse holding object in front of camera) and simulate physics activated, wanna that cube hover in the air via **interptomovement **component until pickup but wont work cos simulate Physics active !! Any idea please?
@supple dome I want to do it in blueprint
is there a way? seems like that operation is for editor only
I want to save my player avatar in runtime
@limpid saffron You can activate the physics only when you pick it up?
You could also linetrace down and when the trace is smaller than a certain value add force upwards, that way you can keep the physics on
What am trying to do here when ever the character stops
Start the Fire Particle
is there any way to do that whithout checking with Tick event?
just wondering, is it viable to make a game out of only Widgets? (including PC, GM etc ofc)
@trim matrix i think since you're trying to check velocity which changes constantly, you would need to check on tick
@jade gull would that be heavy?
im not sure sorry, also new at this
i had this idea for you
so it would only call it once if your velocity is under 1
then if its above 1 it opens it again
Thanks Kei that helped alot
np
now...im having an issue where none of the nodes are deletable....
is that new to 4.24.2?
at first i thought it was just the default "Beginplay, Beginoverlap, EventTick" but every node i bring in is undeletable
rip nvm, compiled and i could delete them >.<
hah unreal โค๏ธ
^
hey, guys. i'm having what i believe to be a reference error.
so, i have an actor (ship) that spawns components (doors, lights, etc) via sockets, with either a data table or a ship config struct to contain all their information.
one of the things it's supposed to spawn is a control console (actor) for the ship. when that console is spawned, the ship is supposed to pass object references for everything else spawned, so they can be manipulated.
everything worked great when i set it up last night, but when i loaded in today, it crashed. i've narrowed it down to this block of nodes. if i delete the "cast to fullship", i can load the ship no problem. i can hook it back up, after the editor launches, and there's no issue. i think i messed up. is there a safer way to cast to an object this way?
thank you in advance
Hi guys,
If I use the AttachToComponent node, a static mesh gets attached to my hand. But I dont know the rotation difference between the hand and the static mesh. Does anyone know how I can get that rotation?
Easiest is to make sure the attach parent is oriented correctly and then you can set the rotation rule to snap
@tame coyote that looks correct. It should also not crash even if that is a null ref.
Make sure you use version control in case a bp corrupts
Has anyone else ever had the issue of the components tab not appearing in 4.22? It's on a new actor and the fixes I saw on the forums (focusing on the component in the variables list) didn't work
@zealous badge Use Window -> Components
Ah yeah might just be a missing window
That fixed it ๐
But you normally should not be able to close that window, it is forced by UE to be opemn
This is the first time I've used a BP only project
@surreal peak thanks. back to the drawing board, then. have to find the issue
And it was already closed when I cloned the project
@surreal peak I tried getting the rotation offset that way, but this does not work.
I dont really understand your point, can you please explain it a little more?
the Rotation Rule Enum on the Attach node
SO I should use snap to target?
I have an auto landscape material (LAM411) BUT ITS BROKEN I mean the BP
I need help connecting it
The functions are broken
Not much broken but ya some...
@trim matrix "it is broken", now we really have much information about your problem.
Ya
got some screenshots of what you mean?
Can you please make a real screnshot, so we can see something. Not with your mobile phone
Ya
Why does this cast fail?
@tropic tide Maybe this is the same problem
https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/1681678-having-trouble-casting-to-game-instance
Hello,
the casting keeps failing when I try to cast to a Game instance I created
I put a print string on cast failed, and it always fails. Cap01.PNG
I set game instance, but I later moved it to a different folder, maybe that's the issue
"In Project Settings under Project - Maps and Modes you need to set it to use your custom Game Instance."
Just try to reset it to your instance and tell us if this helped
hmm, i changed literally nothing and it works again, wtf ue4
Because I had custom instance set
What exactly did you change
hmm, nothing
Well if you connect your custom instance and move it to a different folder, UE does not know the location of your instance
I checked in project settings, correct instance was selected, so I tried again and it worked
yeah, i reselected the same thing in project settings
i found moving stuff updates all references of it so dont see why it wouldnt know
If you use Set Timer By Function Name and you call it at Begin and then call it another time in other point, it duplicates the timer or restart it ?
Hi, I have a little question. When I use the crouch and uncrouch nodes the camera moves roughly, is there a way for me to use that system but not have the camera move so I can implement my own system?
Where are the screenshots saved by pressing windows+shift+s
Itโs copied to your clipboard
Email it to yourself then

is it viable to make a game out of just widgets?
It depends, what are you trying to do?
just picross
Yes
You should be fine but some things will have to be in something that is not a widget.
Youโll still need a empty level to load everything but thatโs about it
yea i have my GM, PC & empty level
and a pawn for the camera cause wasnt sure how to make it ortho in PC lol
@trim matrix Install Discord to your PC and make a screenshot over "Snipping Tool"
cant you use Web Discord?
there are so many off topic ways lol
I now use "Snap to Target" in the AttachToComponent node. And the grabbing hand is snapped to the static mesh pivot origen. Is it possible to let it snap to the socket location?
i believe it should if the socket name is correct
@jade gull I thought so too, but it does not seem so. I tried it with all sockets
never used that K2 node but wouldnt that get only the root and not the whole actor/object?
I tried it with the static mesh itself, even there it does not work. The "Does Socket Exist" tells me that it does exist
Guys I've spent hours going through forum threads and youtube videos looking for an answer to this, but they all give me an answer that is a more standard result which I'm not looking for. So hoping someone can point me in the right direction.
I have already set up my attacks to work like theirs with multiple line traces along the blade. But how does mordhau get it's swords to react when clashing with each other (not pass through, but actually "bounce" off) as seen at 2:25 in linked video?
Is it as simple as cancelling the attack animation when an overlap event is triggered and started a new reactive animation? Or is it some kind of physics simulation? The reason I'm confused is because I can't imagine they have endless react animations depending on which angle you attack, as you can seemingly attack and react from any angle.
Every tutorial I find seems to handle attacks/blocking in the same way where they trigger "sword clash" noise when the enemy is blocking, but the attack animation carries on and passes through the enemy, which I don't want.
https://www.youtube.com/watch?v=p-B4AwgArwA
Buy Mordhau Steam key from the webshop (developers get more money): https://mordhau.com/shop/
Buy Mordhau on Steam: https://store.steampowered.com/app/629760/MORDHAU/
Get Mordhau Merch: https://mordhau.com/shop
Mordhau is an upcoming medieval first-person fighting game with a...
not quite sure then, unless the origin of what your trying to attach is in the wrong place, it should work to my knowledge but im not the most knowledgeable sorry.
@vernal crag would it be IK? iirc you wouldnt need animations you can just tell the arm where to point for example
@vernal crag I am not really sure, but it seems to me like they only played the animation backwards after the "block" is recognized
^ that also makes sense
@astral fiber do you think it's just as simple as on overlap play animation in reverse then? I'll give it a go
thanks for the quick input guys, appreciate it
@vernal crag I have never done anything with animations, but I think they just stopped it. Get the current time of the executing animation and played it reverse starting from that time
@astral fiber sounds like as good as anything to try first. Thanks mate. @jade gull Thanks also for suggestion bro. Also it thought it may be an IK thing, but not knowing enough about IK yet it seemed like a potentially complicated solution
i've played a little with IK when trying to get foot placement right on slopes and its a bit like telling the end of the limb where to be and the rest of the limb follows within its contraints
sounds like it could also be a solution then, will have to dig deeper into IK and try too
but i do agree, is a bit more complex ๐
nothing worth having comes easy bro
besides. IK was on my list to learn further down the line for things like feet anywayt
anyway*
was a matter of line trace in Character BP sending variables to anim BP to change IK values on tick
@vernal crag I dont know, maybe you can tweak that solution a bit if you make the reverse play after the block not as quick as the first one, so maybe only make it 80% as quick, or even make a random factor between (70-90%) to add some diversity.
If you really wanna go fancy, you could calculate the elasticity of the bounce based on the collision angle, and make that animation play time based on that value
ooooh those are fancy suggestions indeed, love it for polish mate thanks. WIll focus on getting it working then try and implement those ideas
what issues?
the event of notify are reach 2-3 times and have only one notify in montage
if I use a simple printstring on notifyu...this run one 1 print on screen
how do you know its calling repeatedly then? ๐ฎ
if a put a breakpoint...the reach reach this part several times
does it ever go back to that anim afterwards?
Never done anything with that, but could it be, that you have multiple actors, who call this?
^
i test on singlep player
if run with dedicated server...it's works great
but in single player this executes 2-3 times....don't know way
PS: this is a notify that make trace to damage enemies
not sure sorry, all i've done with animnotify was 3 idle anims that switched at end
I can record a little video of the problem if someone can help me
might help someone see whats happening
Is that correct, or do I have to swap Sword with Hand?
If I do so the location is messed up
oh is the socket on the weapon?
yes
that explains it, when you attach it puts the root of the target at the parents socket location
so should be a socket on hand that you attach weapon to
dunno if thats the only way to do it tho
But what if I want the hand to snap to a specific location of the sword? I have two hand locations there, and I want one hand at socket1 and one hand at socket2
that i believe would either be a prebaked anim or using IK for specific hand placement
when adding the socket you can preview the weapon in that socket in the skeleton window iirc
and modify its rotation/location so its placed correctly etc
Well I have a solution without sockets, so the user can grab where he wants. but than I need tho get the rotation difference of the hand and the sword
thats a bit over me unfortunately
maybe my problem are related with multispheretracforobjects
anyone know how to make a trace only for skeleton mesh???
branch with hit result = "Chosen skeletal mesh" as its bool?
alright doing this but reach some many times
if use non-multi, this collide with capsule...not the mesh skeleton
Anyone familiar with VR? I completely broke the VR controls blueprint system from my project. How do I get it back to the state it was initially when I first launched the VR default project but keeping my custom map and objects in the scene?
Add New, Add Feature or Content Pack, Virtual Reality?
should give you the original as a new folder, but make sure to rename the ones you already have just in case
if they still have the same names
Ok thank you :)!!
np
anyone know if theres a Zoomable panel for widgets? or would i have to make my own functions to just resize things?
Does anyone has LAM411
I mean this one https://youtu.be/wkypCxc2Mzg
Available in Marketplace!
Landscape Auto Material is a flexible autopainting material for Unreal Engine 4 Landscape component. When you are drawing the topology of your landscape, proper material layers are drawn automaticaly.
You can paint these and additional landscape lay...
There is problem in the blueprint
They for sure have a support email or something
I've posted something in #animation that's really borderline programming, if anyone cares to take a look.
Question, Find Look At Rotation will always have X Axis Look at the Target yes?
Why? Something like that,maybe it get the forward vector.
@sand aspen I'm wanting to have not my forward X axis look at target, but my Z axis point at target .
I don't have the engine installed, I thought you just feed it 2 vectors anyway.
yes.
oh on location, dunno really, need to look at the source code.
The two green boxes are to be connected to a function but I don't know which one of these
Can you guys help me with it?
Ya
@trim matrix What is your question?
The picture which I posted above
It has two green boxes
Earlier when I opend it there where 2 unspecified functions
The Lam pack has these functions
That isn't even close to being a working material.
the two green boxes are parameters, values that you are inputting into various inputs. We have no way of knowing where those values belong
Okey so what should I do?
lol
Use another materil
he's got the landscape auto material, and he broke the material/material broke.
@trim matrix just put it on a new project, so you can see what it was SUPPOSED to look like (ie where things are pinned), and figure it out
@trim matrix First off this isn't the right channel for material help, post your question in #visual-fx
or contact the creator and ask them
@trim matrix Do you actually own the Landscape Auto Material asset pack?
Then create a blank project, add it, and look at the material to see what it's supposed to look like
don't try to get us to figure out how a MP asset is supposed to work. You HAVE the tools to fix it
I did the same
But it doesn't work
The real problem is that I don't know ue4 and visual scripts
I thought to ask for help but ...
You guys aren't interested
We are more than willing to help out with bugs, however we can't fix a MP asset that was put together a certain way
Who can help
the creator of the asset pack
So I'm looking at FindLookAtRotation code, they just do MakeRotFromX(Target - Start) am I correct in thinking that in Blueprints if I MakeRotFromZ(Target - Start) that would give me the Roll float (x) that has the Z Axis Look at the right direction?
@trim matrix fair enough, try asking around #visual-fx and see if anybody else has the material that's broken and can send you a screenshot of how it's supposed to be hooked up
@thorn fiber is this for a skel mesh (ie head look at)?
No, just a static mesh. I have this SM moving around a sphere, but I need it's Z axis to point away from the sphere at all times. I thought I had it, but depending on where it starts to move it messes up, I have the normal pointing away from Sphere to SM and I just need it's roll to move the Z axis of the SM in the same direction as the normal that goes from sphere to SM.
I'm pretty sure I have all the info I need to pull this off, but so far all my various attempts none has been perfect.
so basically you want your SM to face along a given normal?
I want my SM Z Axis to face a given normal
something like this?
Hmm, maybe? Hard to tell exactly with that example.
In that case your X is facing a certain direction
I actually have my X facing the direction I want at all times
I also need the Z facing away from the Sphere or (Cylinder) as in your example
Ok so you do have it on the Z
Well I guess what complicates things more is I'm having X face one direction and Z face another
So I have Pitch and yaw Perfectly facing the First Target but the Roll to face away from sphere at all times I haven't pulled off yet
Also you should do a sphere, as I think it makes things more interesting...
The RotationFromXVector works for my First Target but sadly it never spits out R.Roll
well it does but it is always zero
The Roll there is what I'm attempting to solve to have Z axis always point away from Sphere
I wonder if it just isn't possible "sets Roll to zero because the roll can't be determined from a vector."
you may need to compare up vectors or something between the two components...dunno, having a hard time visualizing what you're trying to do
Hey! Is there a way I can use Timelines in Blueprint Components?
Or is there any other way to solve this? I need to set a float value over time in a Blueprint Component -> like e.g. scaling down an actor
timer
I think I may understand what is going on
I'm getting the rightish role but depending on what part of the sphere I spawn at I need to inverse the roll or not. At least that is my current guess, going to check that out. @hollow cape
how heavy is a delay node? i remember reading about it a long while ago, to try best to avoiding it.
@hollow cape Yup looks like its solved for now but I admit I haven't tested for all sorts of other locations my planes my spawn at, but this is better than before. The planes with the debug lines are running the newer code, the planes without debug lines are running the older more problematic code. https://gyazo.com/f8c066f06a496aa30544de56d6d1edff
@pallid rampart worry about functionality first, readability second, performance last
@thorn fiber I see, looking good. I think comparing up vectors (and the rotation from) will give you what you need based on what I'm seeing
sorry, compare up vector of the plane to the normal
@odd ember true just for some reason i like to put have performance and functionality xD 2 birds with 1 stone type of deal
it's going to make your work a lot slower
bear functionality/performance in mind but just make it work, then refactor later
make it work, refactor, break it, loop
it's make it work, make it neat, make it fast in that order
i have to remind myself sometimes when im looking into design choice to control myself on how the performance is going to hit and i get stuck in my head build all times of way to go about it xD
types*
IDK if you watch some Epic tutorials, they say always check performance the entire time.
Because if you get too deep without checking you'll wonder what is causing the drain.
the phrase is a programmer's creed
Make features A, B, C and D and then oh crap 20FPS, ok lets check A, B, C and oh there it is.
checking performance constantly is a detriment to focusing on actual functionality
if you're in a team, your functionality is a cog in a much greater machine, and so if others have to fix your cog they have to understand how you made it and for what reason
IDK just check stat Unit every now and then...
the way @odd ember said is good those steps are good and i also follow 95% of the time when making an tool
when you need to hit performance targets MUCH MUCH LATER ON, you optimize
Hey all, I'm getting an error log popped up after following this tut: https://www.youtube.com/watch?v=9fxnv2ccklg
Use custom render depth to draw outlines.
Pawel's excellent article: http://www.michalorzelek.com/blog/tutorial-creating-outline-effect-around-objects/
Sample project to migrate materials from: http://www.michalorzelek.com/blog/?smd_process_download=1&download_id=297
Twitt...
the error log pop is this: Accessed None trying to read property CallFunc_Array_Get_Item'?
someone else in the comments had the same issue, and the OP of the vid said that were getting that message because the "Get Components By Tag" isn't finding components with the tag "outline"
i definitely have the tag set up on my asset, and here is a capture of what my set up looks like where the error is popping up
put an isvalid in between the get and the set render custom depth
Hello Small question here, how would you match 2 arrays ? I can't do to parallel For each loops .. so I'm having a hard time doing it ...
that will get rid of the error. HOWEVER it won't solve the null reference issue
What has worked well for you all as a way to design attack waves for a top down shooter?
@neat stream do you mean finding an element from one array in another array, or confirming whether both arrays have all the same elements or something else?
@sudden lynx I have Two arrays of people, I need to match people together "wedding" ... so I need to loop through the first and the second and say that these two are married together ...
clear enough :)?
Okay that sounds simple enough. Just shuffle the first array to randomize who gets married, loop through the second array, and for every loop assign the person from the first array to the one at the same array index of the second array until one array or the other runs out of people. Those who are left will remain single.
In fact to make it thorough, shuffle both arrays first. Make sure to use the result of the shuffle. I dont remember if the shuffle changes the array in place or if it merely returns a shuffled version of the array but leaves the original as it was.
thanks I kind of dit it that way... the same blueprint got a different result
the copy of my array was giving my an error that I couldnt change a value... and now I can...
Hi, everyone! Looking for some advice again. I've got a list of "upgrades" to three elements. 50 levels each. They all come with a cost and effect (simple multipliers) that I've laid out in an excel sheet. There are also only three buttons to do these upgrades (Think Hill Climb Racing on mobile). Is there a good way of doing this or should I just have three VERY large "Switch on Int" things?
I don't know the reference, but if you can provide me one I can help you out
and you're probably not looking for a switch on int
One of those four orange buttons upgrade your different parts. In my case I only have three.
I mean each of those four buttons.
For my specific case you're upgrading how often a bullet can bounce, how much your magazine can hold, and how quickly your gun fires.
okay, isn't that just increment the level then do a data table lookup to find out what the value the level corresponds to?
or did you not mean multipliers in a math sense
Ah yes that sounds right! SO I just google how to make a data table lookup and I should come right then.
Yeah they're not all linear so the numbers go up sort of exponentially, but not exactly.
ah as long as they're numbers that solution will work
OK thanks, that's the thing I'll google then!
Cool, I'm finding things already! Thanks for the help! Sometimes you just don't know what to search for.
@crystal mural once you've figured out how to use data tables you can use a for loop with value of 1 to 50 to fill something like an <int, value> map for lookups
Thanks, I'll keep that in mind.
Hey has anyone attempted to do a button mashing system and if so, how did you approach it. I kinda wanna do it where in order to open a door, you need to mash the b or spacebar key
@astral fiber oh really thats a relief
What exactly do you want to achieve, and do you want this on multiple doors?
i do want to use this mechanic on multiple things like open doors and trying to force a switch on
So, with a button do you mean a button on your keyboard, or a virtual button in the game?
Make the door to an actor with an open and close function
Than you need a place where you handle the keypress, and the keypress simple calls the functions
By function u mean like a timeline
timelines cant be put in functions iirc
timelines are components, so no, they can't be put into functions
you can call functions on them from functions though
??
a function is just a collection of nodes you can use over and over
you can make them here
or select nodes and right click collapse to function
i arrived late, what are you attempting to accomplish?
ye
do you have anything so far?
Hey, I was wondering if someone could help me with a problem? So currectly I havw an object spawning a projectile with a timer to spawn it constantly, but I want it to where it spawns the projectile constantly for a few seconds but after a few sevonds it turns off, then after another delay it turns back on and starts spawning the projectile again, and this stops once you leave the box trigger attached to the object. I've been trying to set it up, even used a flip flop node to turn off timer and turn it back on but that was unsuccessful. Anyone know how to set this up?
@trim matrix So the concept is like a turret, that will burst fire for a bit, then idle, then burst fire?
Yups
Basically fire constantly for a few seconds, turn off for a few seconds, then turn back on for a few seconds, and repeat
Here is how it is currently set up, you can ignore the part attacked to the B pin of the flip flop node if you want, that was my attempt at turning it off and on again, hahaha
@trim matrix you get it figured out?
Is this the right place for a parkour system?
Not yet, no
Ok
Oh I was talking to Bronze, not you @tired wolf, sorry should've made that clear, hahaha
Oh whoops ๐
I guess it depends on what you want help with, a parkour system could probably fall under both Blueprint and Physics, but I believe a parkour system in general would fall under this chat, yes
Anyone have a minute or two to help me troubleshoot this problem I am having? I can screen share. I basically am using the ball game template and implemented a camera that you can move while holding right click. I want the camera direction to influence where the front direction of my ball is instead of being based on world direction.
@shell estuary Get forward vector of the camera then set that as your balls direction
how do you toggle a line trace, like one click turns it on and one click turns it off.
Flip flop id assume
but you need an event tick for it to work.
lemme send a screenshot
how do I add an input to that
Whatre u using this for?
put a branch before it and set the branch boolean from the click flip flop
click, on branch true, runs line trace, click again, off branch false no line trace
so, place if after the event tick. how does the input get set in?
Ah, thanks!
np
Wait, what set is it? I'm really new so I'm about that
you know about variables?
oh, im dumb sorry
npnp
How do I make the trace not visible?
ok
i'm somehow doing something wrong. i'm trying to get my hud to display a variable from the gamestate as text on the screen but it is accessing none trying to read the variable through the reference of the game state
on the hud construct i promote the gamestate cast to a variable
also in the hud is a function to get the variable
the variable in the gamestate is exposed on spawn and instance editable
@old bobcat did you set your instance in your project settings? Open your project settings, go to maps and mode and then scroll down to see if it's set. it's probably not set.
the variable is in game state not game instance
Simple math question because I am dumb. How do I define 0.0 to 1.0 between 400 and 2400?
@amber marsh ever used a timeline?
I have but I would prefer to just math this
Lerp Node
Alpha is the 0-1
Min is the value when alpha is 0, max is the value when alpha is 1
comes in multiple types, you'll want the float version
hmm ok
sry A is min B is max in my previous example
or even this https://docs.unrealengine.com/en-US/BlueprintAPI/Math/Float/NormalizetoRange/index.html
Normalize to Range
then this normalize function is what you need
seems so
np
Can you scale bones on your character using blueprint? I was wanting to play around and make my characters have giant heads and stuff like the good old N64 days on Goldeneye
yes
Is it easy? A node to get the bone and then set the scale?
there is a node where you can scale bones by name.
Describes the Transform Modify Bone control which can be used to modify the transform of a specified bone.
in anim bp use that node, put between your state machine and result (if you have default setup)
Set Bone Scale by Name
Just use a poseable mesh instead of skeletal mesh and you can use that node
can poseable mesh use anim blueprint? doesnt seem to have that section in Details panel
it should.
let me check, I used that on a VR project to hide the head of a model until I could get a model without a head to use.
Ok so that answers my question of where to do it lol. I was in the wrong place. I thought I could morph him in the construction script. Makes sense that it's in the anim bp though
can you even play as a poseable mesh?
you can play as a cube if you want lol
I was wanting to make it where you can scale your character and make him look crazy lol
Giant head, short legs, fat arms, etc
only thing im concerned about with poseable is that it doesnt have this part like regular skeletal mesh does
I'm just waiting for that project to open, it's been awhile since I had it open. I'll see if the code I had there is still there. But I did use it as a poseable mesh. I had the anim BP driving the legs while the hands were done with IK connected to the motion controllers.
sounds cool
I remember it working, but I know at some point I redid the character. So it may or may not still have that stuff in there. It's taking forever to open
Probably wants to compile 440303 shaders
rip
Oh lord hahahahaha
I was just curious. I've been working on serious stuff for the past week and wanted to mess around and have some fun lol
yea always at least one way to do almost anything in ue lol
I'm pretty sure I made this video with the scale 0.01 head or something like that https://www.youtube.com/watch?v=qK9sZJVimnQ
weird flipped mirror xD
Anyone knows how to set the editor initial camera position ?
as in when you open a brand new project for the first time?
nope, when opening an existing project
i thought it just resumed where it was? ๐ฎ
It generally does.
it doesn't for me, not really sure why.
I moved somewhere, closed it normally, reopened, and it puts the camera in a different weird position
what's best way to remove 'pop' effect when we stream a level? and how we make a loading screen for keep looping until our level streaming is finished?
@grave nebula
- Show loading screen
- start loading level (async)
- When loading level is done, unhide loading screen
?
start streaming before you can see it? and idk the second part sry
Thanks guys. I got some goofy stuff working in the anim bp hahahaha I'm having fun already. ๐
thats good ^^
Ah sorry, got the project open. I was using hide bone by name.
๐
took forever to open and it still wants to compile 16k shaders.
I think I played around with bone scale using a poseable mesh. I remember having a tiny little head for a little while.
is Event Pre Construct in widgets like using construction script in normal bp?
pre construct can be used in the editor
xD nice
he swole
@haughty ember i mean the sub level, so i have semi-open world level, and there's some 'level block' that i need to stream
@grave nebula How is that different?
i dont know yet
Question:
Currently, have a 3D Widget blueprint with the parent class of an actor. I'm trying to get a reference to the Widget that's being displayed in world space. I can't seem to figure out how to transfer variable values to the Widget UMG, As the widget component used in the actor apparently doesn't inherit from a widget class?
How could I transfer the variables set in the actor class to update on the UMG hud class?
That seems to work! Get user widget component.. Need to remember that one, cheers! :)
Hello,
performance wise, for a set of let's say 100 actors, if I want an action (occasional action, ie 0-10 times in 5ish minutes) to apply to all of them, and the action must be called from an external actor, like the controller, would it be better to use a delegate or a GetAllActors?
Hm do you need to re-get the actors every time?
Not necessarily, but they are dynamic, they can get added/destroyed
GetAllActors uses a hash to find the classes. So if you aren't getting them of class "Actor" then that should be okayish. However it is always more desired to have a manager that the actors register with on spawn.
E.g. a component with an array on a central class such as the gamestate. Actors can add themselves to it on spawn and remove on destroy
I have that for all actors which can be placed, not specifically the ones I'm trying to apply this action on
At that point though, a delegate might be easier, how are they in performance?
Can't answer that. Never actively compared this case. You'd need to test that.
I see. Alright, I will give it a go.
Thanks Cedric
(MP Compendium is ๐ btw thanks for that too haha)
:P Glad it helps
i found a way around for now ๐ฎ
Hello there , can anyone help me out with something ? How are instanced static meshes read? Are they all grouped up under one instance or do they have one grouped up instance per different static mesh with their own indexes?
Define "read".
InstanceStaticMeshes are usually ONE StaticMesh with the same Material where only the Transform is different.
The Hierarical version allows LODs in addition
So by this are all the instanced static meshes in the foliage tool one and the same?
They are grouped into one drawcall per mesh/material afaik
Oh ok , so each separate mesh has its own instances and its own drawcalls correct?
Yeah
So all 5 of those when painting with the foliage tool would have their own instances if i'm correct
If that is the case , if i fire a trace from my player and it hits one of those tree and i was trying to grab that instance , it would go through only those instances of that mesh till it finds that instance right?
Yeah I don't know where the actual foliage instances are stroed
But if you compare this to a normal actor with an InstancedStaticMesh component
Then your trace would give you: The Actor, the Component and a HitIndex, which referes to the index of the static mesh in the instance array of the component.
@short coral
Ok , i have implemented a farming system in my project , i have a LOT of instances in my map around 800k for example say , when i try to farm and use remove instance the frames drop , i tried making less instances but with different static meshes but my game would still lag regardless of the instance count, is there a better approach to handling farming?
Hello, is there any way to set a SwitchParam in blueprints?
Maybe try context sensitive off
Or (forgive me if im wrong) maybe ur referring to a switch on int?
I was refering to the Material expression SwitchParam
I don't think it can be changed like scalar or vector params
If u mean to switch a material in blueprint ud use set material
Other than that i dont think u can
@short coral Yeah, less instances. You can't just put 800k in. Adjusting the instance array by removing one will regenerate the other instances and this will lag, yes. Use less instances. Your player will never see all 800k at once.
@surreal peak I might be wrong, but using an hierarchical instances mesh might also help no?
@surreal peak do you know of a better approach to handling this ? I was thinking of maybe creating meshes during runtime instead but that might be heavy too.
@haughty ember aren't they similar to instanced static meshes?
@wild moth Switches are static, you can't set them from BP
Or change them at runtime
i made a mistake
when loading a level my whole game freezes until my level is loaded how can i avoid it ?
can load it in the background and then load it when its preloaded?
You can't avoid it. If you're hard-travelling to the level that's a blocking call.
The only time you can asynchronously load levels is if it's seamlessly travelling, or with streaming levels.
Thanks TheJamsh
@glacial eagle ok then my attempt is correct since i was building a level loading system with streaming
ok now i built several levels with own skyspheres and so on
@glacial eagle can i check if a level is completely loaded?
is there an easy way to transfer all the meshes from my blueprint to my level?
I want to build lighting on a bunch of meshes I created with the construction script, since I can't build it when they're in the blueprint ๐ฆ
I have some issues with the game instance in a packgaged version.
So im currently passing information to the game instance, to pass for next level, that has blueprints which needs information early because of construction script
But when the game is packaged, the information isnt retrieved the same way. The value is 0 as it seems from the game instance,,
It is as its getting the information to quick in a package, but slower in editor
These are 3 spawn points -- if I spawn a character in the center one, he spawns halfway through the floor. Spawning to the sides works fine. If I move the center point to the side, it also works fine, just not in the middle where it is now. Any idea why?
There are no weird collisions in this area
Honestly I think it might be collision, for that stuff I would sometimes place a player start at the point I want to check(cause it will let me know if it's using a colliding location or not) and past that I would think to check the collision on the mesh itself(maybe there's a floating polygon or something that has collision sort of thing). But that's all I got for suggestions..
hmm
thanks Oldsiren
It doesn't seem to be a collision issue though, because if I grab the character and move him up a few cm he pops up into the level at the same location
I'm able to walk around over, through and around that spot as well with no issues
Will experiment some more
Been trying to implement some character movement that requires me to get the relative direction of the analog stick, but I cannot figure it out for the life of me. This is what I have currently, but I assume I need to offset by camera somehow because it doesn't get the correct rotation.
@plush ridge you can try to spawn it like that
@elder crypt If the issue is you want to move relative to the cameraโs direction, I think you can just unrotate your result (what you feed into SetActorRotation) by the rotation of your camera
So can anyone give me the syntax for the option to make this a listen server?
Is it just Listen?
?listen
Hey guys. Does anyone any idea how I would go about creating a "Flight Assist" mode that essentially stops a vehicle from drifting too much once the user lets go of the "roll" button? Elite: Dangerous's default flight settings are a good example of this. The ship is driven by a collection of Physics Thruster Components, so it is entirely physics-based.
A clip demonstrating the current flight model: https://www.youtube.com/watch?v=4xDNbcO6WeU&feature=youtu.be
as it seems the game instance is having issues passing variables before other actions are performed in a packaged version
@pastel rivet Man, I was scratching my head with instance and savegameobejct last night
Once in a bluemoon, I would spawn somewhere else in my map because a variable is not set
then i figured it out, the level already execute begin play before Instance fully load data from savegameobject
So i added event On finish load, then I hook it up on event game play in the map
is that what ur problem is?
@trim matrix all im trying to do, is basically make an blueprints event construct run a little later
Beacuse i need the variables from game instance to be able to be loaded
but at this point the physics cable loads before everything else and then it doesnt allow the game instance (I moved from savegame loading these settings) to transfer the values or whatever
It works nicely in play mode inside editor, but when packaged, it doesnt register early enough, so the construct script gets 0 back instead of the value set by the user
Hey I need some help I'm a COMPLETE noob
So this guy used a keyboard shortcut to get this up but idk what he did
It was the thing with the red material in it
What's the keyboard shortcut?
@hushed sable You will find this useful https://www.youtube.com/watch?v=yVMyXZzScsY
Thx dude
It might contain the keyboard shortcut but locating in the editor and searching for that one will help you find the keyboard shortcut. I don't know it off the top of my head
np
Anyone have a suggestion for why a macro in a library would not show up in the add node menu on any blueprint? I am following the online docs, but i just cant seem to get my macro into any other blueprint
@nocturne urchin Is your macro library for a different class?
for the library i just set the parent class to actor, the documentation doesnt specify if the library parent class has to match the blueprint where you want to use the macro, is that a restriction?
@nocturne urchin Whatever the parent class of your macro library is, I believe the library's macros can only be used in objects of that class or its children. So a macro library w/ parent Actor should be useable in all actors.
yeah makes sense, ive managed to get a macro to show up by just having it output a bool and then using it in the default lvl blueprint, the blueprint library is a child of actor, is the lvl blueprint an actor or child of actor?
i can see in the engine content macro library that the parent class is object, and id guess that many more classes are children of object than actor (if not all of them), so i might try that
....ah, parent class of object means i cannot use a lot of the nodes that i would be able to in actor ๐ฆ macro libraries seem less useful that i originally thought
huh
just make different libraries for whatever stuff you need
all marco's are is just visually collapsed and reusable blueprint code
@static charm on the subject of libraries, how would I go about making a library of functions I can access across all blueprints?
should be the same relative procedure as macro library
i dont really use functions though
so i cant help specifically
Hello. I have a character that I want to sit in a chair. The animation is already set up, but the capsule component is pushing the character out of the chair's space. Is there a way to disable collision between the character and the chair?
I still need both to collide with other characters and the player.
How do I get the current rotation velocity of an object in local space? I'm trying to measure how much a vehicle is rolling, but I don't want pitch, yaw, or direction to affect that number.
Grug have u tried going into custom collision and setting player to ignore
@trim matrix No. What is that?
And by player, do you mean a particular actor or is there a layer called Player?
In the collision for an obj theres the block all block all dynamic etc
In that drop down select custom
I can't do this for some reason? the error only happens on the third node, but all three set nodes are a child class of the same parent class
if I add a fourth set, the error on the third gets MOVED to that fourth instead, so I'm guessing I'm breaking something else here too...
@trim matrix Can that handle collisions between individual objects?
Yes
You can set it to ignore pawns collision
And then just make to set everything else to block
I want it to ignore precisely one pawn.
And collide with all others.
It sounds like that's not an option
make a new collision preset
the one pawn needs to be dynamic, as in The Chair I Am Sitting In.
Though maybe there's another way to accomplish this.
hey guys how do i push ai around, since i cant add force to capsule componet (it sais it`s not simulating physics and i cant turn it on obv) but appying impulse on it works but in suck unrealistic way, so how do i PUSH other pawn actor?
Hi everyone. Quick question before I go to bed. I'm running into a "fire rate" problem. How quickly can I spawn things/projectiles? Is there some sort of limit?
ticktime i gues?
@crystal mural You can spawn an unlimited number of things per frame. The issue is that frames are different lengths and dont always translate properly to seconds.
There's a value you can get on tick called DeltaTime. Multiply that by any parameter to convert from "Per Frame" to "Per Second"
@hardy merlin Ah OK. Right now I've made a "while loop with delay" and I've basically got a float 1.0 divided by my float "fire rate" to determine how quickly to shoot.
@hardy merlin collision presets are just names, they don't mean anything other than being identifiers
make your own
Hi guys, I have a foliage (grass) and I want to check if they are inside a collision box, how can I do that? does a foliage have a collision
@crystal mural Is this something that shoots more than 10 times per second?
Very much so.
@astral fiber you can add collision but consider that if you have a lot of foliage it's going to be VERY expensive
I was going for around 400 times per second as my max.
Is this like a spaceship?
But pushing it down to 200 I see little blips. Then down to 100 and it still felt very much the same. Which tipped me off that I was doing it wrong.