#blueprint
1 messages ยท Page 155 of 1
i have a platform set to change the overlapping actor's collision response to block when these two boxes overlap, and it sets it back to overlap once they stop overlapping. I've noticed that while most of the time it successfully blocks, sometimes the character just falls right through it. I'm guessing whats happening is that because both boxes are very thin, it sometimes doesnt register that the overlap took place because it ended almost immediately after
is there a way to make it more consistent without increasing the size of either box?
is there a good way to handle multi-dimensional arrays? BP's don't seem to have native support for them out of the box, and I don't really want to write a C++ library for a rough prototype if I can avoid it
you'd simply have to update the charge, then when it hits a threshhold you activate a bool which states that the jump was cancelled. So when the jump action happens, it checks the bool and then does nothing
hi I would like to know how to trigger an event of a child class in a master class, to be clearer I have a BP_EnemyMaster which manages the death system for my enemies but there is a mob in particular that I would like that explodes when he dies, I would therefore like in my logic of death of my master that this enemies and not the others trigger the explode event
https://dev.epicgames.com/community/learning/tutorials/oPmx/unreal-engine-arrays-unreal-s-tarray-multi-dimensional-and-2d-arrays
this video explains how to do it in BP in the last part
a little complicated but should work
You have a Master Class with a Death function
you want one child to do its Death function differently ?
In BP graph of the child add the parent event, like this. Then add your explode code. right click on the node and select "add call to parent function" and put it where you want, this code will then execute the code from the parent function but also the added functionality of the child.
looks like I'm writing a c++ library
the Child will print :
You Died
Also Explode
@versed sun @versed hornet Thanks ! Everything works perfectly !
beautiful
Also , if it is a Function , you can override it here
Oh nice that's good to know
Btw can you call your parent: Death event after your print ?
question how would i do this?
@versed sun In your exemple it would be : Event Death -> Print -> Parent Death
Oh okkk thanks !
this is also handy , you can open up you Parent code
Well you know when the door has opened, because you've got the correct code, been through the branch, and finished the timeline.
So you don't want to close the door until it's been opened, you'll just ignore all requests to close it
@versed sun Oh so cool , because the last node of my Parent death is a destroy actor, so i can put my explosion before the destroy actor that way right ?
yes , unless the Explosion takes time to finish, then you would want to Expand the Parent code, and modify it somehow to not destroy until Explosion is done
I have what I think is a typical situation in my anim graph, but im unfamiliar with how to resolve it. In the context of a Boxing game, I have a state machine with the states Idle, blocking, dodging. each state contains a blendspace. Now, i created new blendspaces, 1 BS for each punch type. i'd like to blend the pose from the state machine with the punching pose. the nodes i found all require a weight float to specify the blend amount. I was thinking to set it to 1 when punching, and 0 when not punching. But I don't know how to handle the detection that the punching animation is done. that punch is a blendspace.
@versed sun I don't have the expand node on this event do i have to check something in the master ?
Im not sure on the rules on when you can expand, sometimes its not there
but you can always copy/paste the parents code
@versed sun Looks like the destroy actor was the problem there ! But it works rn thanks for your help ๐
I'm trying to line trace by channel with the mouse in order to draw to the screen, however it appears to not want to draw. Any thoughts?
well.... 0 != 1 , so branch will be False
is there any way to hide folliage in options for performance reasons?
in a shipped build
I think Start would be Camera Location
End would be the World Location of the Convert Mouse Loc node
but , that would appear to not draw because it is in the center of your vision
you could make a setting that adjusts the FolliageQuality in the GameUserSettings
There already is one. ๐
Is there any possible reason that my game might be eating an input when I am playing it off of the editor, but not when I am playing it off the Blueprint screen?
Everything seems to behave if I export it as an exe so it's all good, just an odd quirk I noticed
well the ui that controls it ๐
The editor can have inputs as well. It depends on the key.
Hmm this is odd when I copied and pasted over some blueprints the InputAction stopped working... any ideas?
Which actor is this?
Is the context mapping being applied?
is the add mapping context being executed?
the subsystem get only works if the controller of the pawn resolved to a player controller.
Can I add HUD on top of HUD? or if I have one I have to put everything into one?
How can I tell if the context mapping is being executed?
By HUD do you mean a widget, or the AHUD actor?
you can do breakpoints or make print string
Yeah, widget that is full screen and I would like to add 1 that has mechanic of drawing rectangle on it, and then the second hud would be the hud of the player ui (health etc). It's basically just 2 widgets?
if this pawn is being possessed by a controller, you can get the EnhancedInput subsystem through a player controller reference
Then no reason you cannot. You can add how many ever widgets to screen you want.
It's ctrl + space bar a second later (the move is a slide jump), seems to miss if pressed within a certain amount of time in the editor but works fine from BP screen and builds. Not a big deal was just curious!
That did the trick! Thank you
or alternatively, you can only add the IMC after ReceivedControllerChanged event
Awesome, I mistaked ''HUD'' to be you know like GameInstance thing which can be only one, turns out it's just a widget, thank you! โค๏ธ
but, there is actually only 1 hud that I can put into Project Setting and then reference to it from Get HUD node?
the hud class is set through your game mode class
from a player controller, you can call GetHUD() to retrieve it. but this is AHUD actor we are talking about
okaaay, got it
to add widgets to the viewport/playerscreen, it doesnt necessary need to go through this AHUD actor, however, it is provided in GameFramework due to multiplayer concerns i believe.
what I'm basically doing I have mechanic where I draw rectangle on the HUD and then check if something was under that rectangle, then I watched some tutorial and someone was making ''HUD'' but it was jus the way he called the widget for example
so I got confused ๐
so the AHUD is one, and widgets are different thing
so if I want to make widgets for the players, I attach them to probably PlayerController so each of them has their own?
like the base UI that everyone will see
a local coop ?
more like warcraft or any rts game
It's weird handling widgets directly anymore. But AHUD is kind of preferred.
oh, so every player has their own AHUD when they join?
or the base would be the same so it doesn't matter
a local APlayerController would have their own AHUD
I have a spline with 2 points and spline meshes placed at regular intervals along the spline (basically a "move here" arrow). I want to move the points at runtime, but apparently the recommended way to do this is to destroy and recreate all of the spline meshes every frame. This doesn't seem to work (the spline meshes don't disappear) and it doesn't seem like a performance friendly way to do this in any case? ๐ค
Hint: Get Number of Spline Points
my PatrolRoute is reference to blue print PatroolRoute which is spline
so this is funny...
the interacted actor variable is valid, but for some reason the engine fails when validating
the interacted actor is set by the line trace by channel from the hit actor output within the player blueprint
the blueprint setup is within the custom actor component called "Dialogue System"
I have an effect that begins on begin overlap and ends on end overlap. basically it sets collision on/off, and the trigger basically serves to stop movement. However, the overlapping actor is so fast, that it begins and ends the overlap before the effect of the overlap actually takes place
basically its a platform that if you land on it, it would serve as a ground. but my character is falling so quickly that it only works 90% of the time. the other 10%, the character just falls through as the collision didnt trigger fast enough to impede the end overlap.. how can i make it consistent without increasing size of collisions?
or reducing speed
But aren't you still destroying and recreating all of the spline meshes every tick?
Hello. Maybe someone already solved that problem.
I need to control my skeletal mesh manually, i.e. rotate some bones, but also I'm using morph targets, so poseable component doesn't work for me.
Before UE 5.3 I used two meshes, one poseable and one usual skeletal mesh components. Leader bone component was poseable mesh and it works wonderful.
After upgrading the project to 5.4, I have segfault/exception - it works only if leader bone is skeletal mesh.
Using Anim BP also not really an option, because I animate a lot of bones, so question is: how can I manually rotate bones of skeletal mesh? ๐ Or how fix error when leader bone component is not a skeletal mesh.
no, why?
Yes ๐
if you click on one of the points, hold alt and drag, you add another ''point''
Well, I only need 2 points ๐ It's basically a line of little arrows from one point to another, and when you move the mouse, it changes where the arrows point to
Should work with 2 points then too
I don't believe "destroying all the little arrows and recreating them every frame" is how other turn based games do it
ive tried this but setting it to 0 doesnt make it disapear
So destroy the first point and add another?
No, why you want to destroy and add? ๐
My unit is moving to first point, when it reaches it, it increments the index of the point, and moves to the next point
when it reaches end, it starts to switching back and decrement the index instead of increment
you could probably add some thing that it shows the arrow over the point it's currently iterating on, or something like that
foliage.DensityScale is literally 0 ๐ค, did you call ApplyNonResolutionSettings from the GameUserSettings?
like spawn arrow at the location of Patrol[Index]
Imagine a turn based game, and during your turn there's a series of arrows drawn from your character to your mouse cursor to indicate where you are going to move when you click. This series of arrows moves when you move the mouse, until you click.
Like this, but with little arrows instead of a continuous line
Well, i'm thinking fast, but maybe then add some interface to these squares or points that you have, and add function that when you hover mouse over it, it interacts with it and shows arrow
also you probably want to use some kind of grid system
for this type of game
and I think there is one game created by epic games with files, so would be probably good to study that
and it's turn based stratety rts
If these things you can move to are actors you could use something like this
ActorBeginCursorOver
I wonder just how it would affect performance if you had so many actors ''as a ground''. I need to try this sometime, it's actually funny idea and easy to implement which ''tile'' does what ๐
i was studying these kind of tile games and it's overwhelming with this grid thing ๐
but you basically have good template from epic games so i would not really wait and just use tha t and build on top of it probably
oh yeah cropout has one i think
oh damn this is quite old ๐
Cropout uses a grid ?
um no.
i was thinking the spline thing
Oh ok, that makes more sense ๐
Are there any good, striaght forward hitbox tutorial?
I know shawnTheBro has them, but they're in three parts and each part has big flaws about how the system works. And royal skies doesn't have anything on the matter on his chanel. IDK why this type of colision detection is so rough to deal with in UE.
What is direct hitbox ?
*straight forward
Simple Niagara ribbon emitter with a material that has arrows.
Oh. Yeah. That's probably easier. (Can I still move the end point?)
Sure. Just make a user param and set that somewhere probably on tick as the mouse moves. Unless Niagara can pull from MPCs. I normally already have an MPC set to the mouse position both in 3D and 2D space.
What is straight forward hitboxes? Like, the big issue is that Unreal's collision detection is really simple. You have two collision events. Hit and Overlap. You have multiple channels, and you can query against complex or simplified collision. So.. you set these things up to do what you need. But you're asking an exceptionally vague question without any notes about what it is you personally are trying to achieve and why the tools you're using aren't working for that job.
Like, there are tutorials that span over multiple videos and 1 1/2 hours long for something that seems like it should be pretty straight forward. Like in my previous post.
To get into more technical detail I'm working on an action rpg project where the player and enemy are able to be hit, reacted to that hit and be in a stun state and continue to be hit in that state causing a combo to happen.
Like I said before the tutorials I found online seem to be incomplete with various issues such as.
-not accounting for the actor facing the opposite direction (being inverted)
-Only having the hitbox be active for for the first active frame of it's entire duration.
-Having the action reset his stun animation while he is hit mid stun
-Unable to change hitbox size / duration for different attacks.
-And more
you should look up tutorials "unreal engine dark souls" they should help you out more with what you are looking for
@storm solar https://www.youtube.com/watch?v=f-DsZ7xiijo&list=PLNBX4kIrA68lz8GSxTQKX_0B23tHP6Bl9&pp=iAQB
This is the series to watch if you want to create a role playing game in Unreal engine with rich, deep RPG systems and advanced functionality.
This video is the teaser / summary for this tutorial series.
We will go through how to create all kinds of systems including experience points, attribute stats, status effects, classes, animations, weap...
this is basically everything you'd be interested in, up to you to watch it all...which I did that's why I'm putting this here
That is.. a lot more than just hitboxes. ๐
The stun part alone implies some form of ability and attribute system like GAS to manage the stunned buff and the ability to apply it and the buff to not get stunned again for a time, etc.
Attack hitboxes sounds related to abilities, so would be done via whatever abilities your game has.
Really no idea on the direction thing. Hitboxes don't care about direction as they are volumes. Traces might have issues, but I doubt it.
The first part about being hit and reacting to it are a combo of buffs and cues. You get hit and two things happen, you do a cue that probably does an animation, particles, and sounds. Then the second part is applying the stun buff. The same hit ability would have different checks for the stunned effect and either do a normal hit or the combo effect.
Very little of this is actually about hitboxes. You could set 90% of this up with keypresses that directly apply these things, and then add hit detection later.
But i gotta start somewhere.
So, how are hitboxes not important for this. Would I want to be using traces instead? Or something else?
Ah, I guess i was looking for a the wrong genre. I'm looking to make a Tales of project, so I was looking up action and fighting game tutorials.\
will you have anything that would even feel or act like an ability in your game?
Every game has something that can be considered an ability. ๐
then he has to watch the GAS tutorial xD
as yes, the Games As a Service tutorial.
Service? There is no online features in this one
you mean something like this?
https://youtu.be/b2i34TpgBtM
Implemented status effects and debuffs that the enemy can use.
Explanations of attacks and skills are at the end of the video, my bad.
watch the trailer at the start of the playlist, you'll understand what it is about
GAAS is not GAS
Gameplay Ability System
So in the start of the video he starts off by saying he is not going to be using GAS.
he is talking about an unreal engine plugin, epic games made their own GAS (gameplay ability system) and he says he will do his own GAS from scratch all in blueprints
ah, it's a plugin, okay.
Lol, GAS entirely in blueprints sounds like a disaster. Probably functional for singleplayer. I'd hate to see the data entry on that without C++ markups.
I heard somewhere that it's not good advice to tell someone to do GAS when they are beginners, and a lot of things can be done in just blueprints. The GAS alone is a big system that will take so much time for someone to learn. It's good for advanced people but I see everyone is recommending it. For example, Godot or Unity you dont have GAS and people create abilities somehow, so you clearly dont need GAS to do some simple things...
It's other story when you are already experienced and you want to learn new system but..
Does anyone know off the top of their head how interp speed is calculated? I have an interp speed and I want to determine how long it will take to cover the distance at the given interp speed
you are correct, but he mentioned rpg earlier, so yeah
can you send me this tutorial? I've never heard of it
it's a meme about how bad Ubisoft has become
ubisoft is good tho
did you see the last AAAA game..
(in my opinion)
indeed, made assassin creed black flag looks like it is -25 year old
Anyone giving that advice probably shouldn't be taken seriously. If they find GAS complex, then they're not advanced in the slightest. GAS is a really simple system but it can get really complex if you want it to but it really does not need to be. For abilities, literally all you need to do is create an ability blueprint. Add an ability component to the owning actor. Grant the ability, and use the ability from the same component.
If you want attributes, then you need a very minor amount of C++ on top of that, but attributes are not required. Just the abilities and tagged gameplay effects alone go a long way to simplify life.
And you're right, other engines don't have GAS. It's UE specific. But all it is is a template to quickly build on. You can make your own, but it really isn't worth the time.
I think it's mostly when you want to have multiple abilities / power in your game... You might not need it
That sentence made no sense.
'the game logic of how a fireball works and looks'
You might not need an ability system... to have multiple abilities in your game?
oh yeah, I've seen tutorial about those kinda games...But if you want to build more from them, you'll have to ditch all the code, because abilities without a GAS will be like making a building without a foundation, sure if you only have 1 ground floor it might work, but anything higher than that and you'll be screwed
GAS is 100% not a requirement. But saying beginners shouldn't use it is like saying that people who can't run 100k marathons shouldn't walk. Like.. why the fuck would you ask a beginner to make their own system before learning to use one that already exists and is easy to use?
I'm not sure if I'm on the same page, maybe GAS is good for RPGish like abilities? Or is it good for all kinds of abilities? (similiar to let's say in league of legends or diablo as well?)
GAS Abilities can be used for anything you can classify as an action granted to a thing, mostly.
any good video that summarizes GAS so I can get to know if its worth it for me to study it?
Sidecroller with the ability to jump and shoot, or dash. All three abilities. FPS game with guns shooting, grenades, placing C4, sliding. All abilities. RPG with fireballs, bows shoowing an arrow, melee attacks, all three abilities.
This is the series to watch if you want to create a role playing game in Unreal engine with rich, deep RPG systems and advanced functionality.
This video is the teaser / summary for this tutorial series.
We will go through how to create all kinds of systems including experience points, attribute stats, status effects, classes, animations, weap...
he is working with gas?
anything that involves the player pressing a button and any form of "special attack" could be made into a GAS
You don't make GAS. You use it. :/
yeah, but the GAS from epic games needs a bit of extra C++ to set up doesn't it?
Only Attributes.
i dont feel like learning any system to make ability that is basically spawning particle that deals 10dmg every time someone collapses with it but maybe im closed minded
Supposedly even attributes are getting a BP thing soon from what I heard.
nice
Alright I'm not even quite sure where to start with this. I've got this big hallway that's just rotating in space, and the problem is a turret I made fails to correctly rotate with it but ONLY if it's rolling. If the hallway is rotating by changing just its Pitch or Yaw, the turret does the right thing.
Turret in question is built on a skeletal mesh that looks like this
"I was trying to make a system where you can enter the train and move along the spline, and I have two problems which I couldn't fix. The first problem was the rail creation. I use a spline to create a path, and then I add the rail mesh on it. When I use the mesh length, I get a gap between the rails. If I use the spline points, I stretch the mesh too much. Any ideas on how I could fix this?
Secondly, the movement mechanism of my train. I can move it endlessly, but not to a specific point. Does anyone know how to do it?
Worth noting that this isn't being caused by any of the code or logic in the turret. I've got a zero-code version of the turret that i use to just pose for screenshots since the live thing is mean and tough to catch in action, and that also encounters this same issue
Oh now THIS is weird. I wondered if this is was just a fundamental attribute of that skeletal mesh, so I dragged that alone into the level but THAT rotates correctly! You can see it in the foreground here, sticking to the floor unlike the two misbehaving in the background.
So somehow it's specifically how the mesh is configured in the turret that makes it break
The main thing GAS does is separates stuff into their place. The core parts of it are largely Abilities, Attributes, Effects, and Cues.
Abilities do things. You grant them to a user and they can.. use them. Spawn fireballs, shoot things, crouch, jump, etc.
Attributes are stats. Health, Mana, Energy, Stamina, Strength, Willpower, Shields, Barrier, MovementSpeed, Armor, Resists. Attribute Sets are set up to define how these work. EG a basic health attribute set has Health and Max Health and in it's overrides it defines that Health can never be set higher than Max Health regardless of what anything in the game tries to do. So you can heal someone for 99999 health, but if they only have 500 health, they end up with 500 health.
Effects are buffs. They can be instant, or last for a duration. They can stack or not. They can affect attributes, they can apply status tags, etc. You would apply an Effect to heal. Instant or over time, add to health. Or as a DoT, subtract from health over time. You can use an Effect to stop a player from jumping by applying a tag that stops the jump ability from working.
Cues are visuals and sounds. Abilities and Effects both can apply these. EG someone being set on fire would apply an Effect for a fire DoT, it would add a Cue that would apply a particle and sounds to the affected target and when the effect wore off it would remove said particle and sound.
You can use all of these in BP alone with very little work except for Attributes. These require a few lines of C++ to set up per attribute.
The best part of this system is that it's based on a single actor component. Which means you can apply a Fireball skill to a character, and some Trap actor. So both can cast the same Fireball skill and you don't need to duplicate logic, you simply grant the skill to both actors.
so for a character thats not the player, what kind of get would that be? in this case its a character that acts as my main boss
Depends. Why do you need it? What is the context?
interp speed is exactly that, how big of a change in the vector per second is allowed
if current is 0,0,0 and target is 100,0,0 and speed is 100 it'll reach target in 1 second
if your delta time was 0.1 you'd see outputs like:
10,0,0
20,0,0
30,0,0
40,0,0
etc
Like let's say you manage different kind of heroes, one is healer, 2nd one is knight etc. I mean seems like GAS is more than abilities if you already have health there etc. I will check it for sure.
Sure. This topic gets a lot more complex because it's not just about abilities. But as far as abilities are concerned, it can be as simple as basically granting a different set of abilities to each class.
One other good benefit is easy AI use. You can tag abilities certain ways, and just tell an AI "Use Ability of this tag type", and if it has multiple it can pick at random.
Sounds exciting. I just hope it's not too complex and there are any good tutorials you can recommend from youtube for example?
or how did you learn when you heard about it?
I was trying to make a slightly tweaked version of box reflection capture to make it easier to resize. I succeeded, but the issue is that I need to change the transition distance between the cube maps, so I went to cast to the box in order to change the variable and I'm having a weird problem:
The value can only be changed from Box reflection capture component object reference, but I can only cast to Box reflection capture object and I have no idea what the "component" is since I can't find it anywhere. Can't find any info on a "component" anywhere
I can cast to the Box reflection capture component object reference, but can't find anything that would fit the "object" criteria
Personal experimentation mostly. There is a really good C++ version that shows how to set up attributes. But the abilities, effects, etc is largely just piecing stuff together. I also learned when it was a lot newer though. I don't really do tutorials much but there is probably some good content these days now that people aren't allergic to Lyra anymore.
I'm guessing your casting to a box reflection capture ACTOR, which holds a boxreflectioncaptor component inside it
just like how if you drag a mesh into the world, you make a static mesh ACTOR which is made up of a single static mesh COMPONENT
Hmm... let me check
if that is the case, then I don't know how to extract it from the actor. Can't seem to be able to pull it out of the actor cast :\
The closest thing I've got is "capture component"
Is anyone able to help me make sense of these numbers? For some reason, the interp value moves away from the desired vector and I can't see why.
What would be the best way to go about adding different abilities for different characters? Think of overwatch abilities but some of them will having stack effects like some abilities in League of Legends. For example if you get hit by the ability โFrost Novaโ you will gain 1 stack of frostbite. What is the best way to make the hit player add the +1 stack?
These seem fine? It looks like it's moving from Current to Desired?
Exactly what I was looking for, Thanks!
Never mind, just spotted my mistake. It never stops because I'm checking the location of the camera, instead of the spring arm. ๐คฆโโ๏ธ
does anyone here have any kind of tutorial on what manager classes are and how to use them?
I've been setting up my save system but I have 2 instances of my project, one is using the GUID system that I was working on with datura, the second is using this tutorial: https://www.youtube.com/watch?v=7gfA-QO5pA8 I want to compare and contrast the 2.. see how scalable they are, see how well they work etc, when I asked about doing things like destroying objects that aren't meant to be in the level, saving items that were added into the level, saving positions etc, what the creator of the video told me was this:
"Should handle it fine. You can have a manager class that keeps track of items like that in the world."
I've done a lot of searching and can't find what a "manager class" is, how to make one, or how to use one to save data
can anyone link me to a source for how to do this?
sounds like thats it
A manager class is just a class you create that handles the behavior of specific groups objects. For example, for world items. A 'World Item Manager' could handle spawning in world items into the world, destroying them and (what you're looking for) saving/loading them. A manager class acts as a single place you can go when you need to do something to a group of actors that the manager was made for.
The ones I've worked on recently are things like, Dialogue Manager, Quest Manager and Actor Manager. The all handle their own saving for the specific objects they manage.
Well, using it as an object didn't work, but I did use it as an object for another cast to Box reflection capture component object reference, which did not show any errors, but unfortunately, variables aren't coming trough, so changing the transition distance variable did not reflect changes in the editor :(
how would that work in the context of what I'm looking for though? Like, does the class just contain a shit tonne of variables or something? How do they get updated per instance? IDK how this gets used for a save file...
it's a concept I've not really run into which is why I'm looking for a tutorial on it
so far google searching has led to dead ends :/
A manager class just contains the functions in needs to do what you want it to do. I have an actor manager class that I can use to register actors so they can be retrived by name. I also used the same class to handle loading of generic actor data (true/false and basic numbers).
I have a component that handles saving/loading generic data for an actor and it knows to look to the actor manager to get it's data.
With something like world items, the items (when triggered) could push its data to something like a 'World Item Manager' that then collates that data and pushes it to an SGO.
These are some of the functions for my Dialogue Manager and Quest manager to give you some more ideas.
ok... do you have anywhere that goes through step by step on how to build such a thing?
Like I get there's functions in here, that's progress, I don't know what each of those functions do or how to make a save system out of them though...
I am VERY new to unreal engine...
like even a basic rundown of saving and loading item data and positions.... I could probably figure out the rest myself... maybe... but I need a starting point, this list of functions is very much the deep end to me right now
Seem to be moving correctly
I've not come across any tutorials myself. They can be pretty specific to a system which is probably why there's not many tutorials out there for them.
great :/ just great...
Howdy I'm trying to copy a material instance to a variable in my Game Instance but I'm having no luck. Any insight to what I should do?
guys how I can math altitude in game in metres?
You can't connect a material 'Interface' to a material 'Instance'.
every unit in UE5 is 1 centimetre I'm pretty sure
z = 100 is 1m. z = 1000 is 10m and so .
hmmm because I did like this /100 but i was thinking that my altitude is moving so fast lol
I mean, 1 meter isn't that far in altitude... a 6 ft person is around 2m tall so you move half the height of an average man every meter
For context, a space rocket needs to reach speeds around 7,957 meters per second to leave earths orbit.
i am in plane and it seemed for me fast ๐ to get from 100 metres to 500
now editing gravity when stall speed
You need a cast
hey, would you be able to do me a favor? Is there a way you could create an example blueprint of a manager class that just stores the locations of objects and checks if editor level objects are supposed to be in the level or not on load and send me it as an example piece so I can pull it apart and try and figure out how the whole system works? or point me to a place where I could get a file like this? If there's no tutorials I really need something to learn from :/
if it helps any more, planes normally fly around 10,000 meters up.
also cruising speed for a passenger plane is 250 meters per second
planes go fast... they go very fast
yea maybe i am also wrong converting its speed tried to get from cmหper second to km/h
lol yeah that's going to be quite far off ๐
I don't really have this sort of time free. It can sometimes take a few hours to set something like this up.
don't you have an example in your existing project? I'd settle for screenshots but honestly I don't exactly have many other options here... like how is anyone supposed to learn this stuff if nobody's willing to provide examples to learn from?
You my HERO! โค๏ธ ๐ Thank you Authaer!
Not my personal projects no. This might be helpful, it's a tutorial I did 3 years ago in UE4. There's definitely things I would do differently but it might be a start for you. (using an actor component for the manager, using a GUID for the actual UID instead of a string to name a few)
The tutorial is saving collectibles and having already picked up items be destroyed when reloading.
https://www.youtube.com/watch?v=bNfhc4_Vz6s&ab_channel=MichaelPattison
It's been a while since I've done a video tutorial so I apologies for it being a bit rough. I hope some one finds this useful.
thanks I'll give it a look over, using GUIDs is something I've sorta gotten the hang of by now so I could probably combine the 2.. but I do have a bit more freedom to experiment with this considering it's just a copy project.. like the original one I have with the other save system is still as is
I need help with VOIPTalker.
https://blueprintue.com/blueprint/udr_w73k/
I tried adding the component as well, but no luck. Voicelevel prints 0
Stuff like AudioCapture works well.
Get all actors of class, get their location, for each actor add it to array, simple
I mean that solves location sure but say I put a sword in the world in the editor, player spawns in, player picks up sword, player saves game, player quits, player comes back, editor puts sword back in world. I want the game to remove the sword when the player loads in
I have a system for this through GUIDs but I didn't know if the idea of manager classes would handle it any differently or if it was just maybe the same thing but in a slightly different packaging
why do you want to remove the sword when players loads in?
because the player has picked up the sword before they saved
so when they load back in it wouldn't be in the world
but unless told to do otherwise UE would load the default version of the level, which by default the level has a sword in it
It's not really answerable. You'd likely still end up using GUIDs or some other form of identifiers with a save manager.
still, are there any advantages to using a save manager over the current system?
Depends on what the save manager does and what you need.
That's sadly not something anyone could answer for you.
I mean, am I just the only person on the planet who can't seem to figure out how to build these systems from scratch? :/
it's not like I'm not experimenting because I am.. that's why I created a copy of my project, to mess with and test... but I never seem to get anywhere nor do I even particularly know where to start
If it helps, I've been using UE for over 10 years and only really started down the route of managers a few years ago.
Think of it from an Employee/Employer perspective. The manager (Employer) tells their employees what to do. The employees go off and do what they need to do and report back to the manager when they need some help or guidance.
Employee checks with the manager, 'Hey, should I be a work today?' If employer says no, they go home.
I understand that in concept, honestly I do... it's the translating concept to code that is my biggest flaw, always has been. It's easier in blueprints than it ever was for me in written code, that's what got me over the roadblock of actually developing anything to begin with.. I'm a very visual person and written programming languages look like they were written by some lovecraftian horror to me...
Globally Unique Identifier
I'm trying to have it so the task checks for an avalible seat for the AI to be placed in
Big number generated that should basically always be unique.
Is that a usefull feature or not really?
oh
at the moment issue I am getting is the seat occupied being pulled from the specific table in the world seems to be not matching somehow so the AI is being placed in same seat on top of each other each time
This beauty. When you generate a new one its pretty much guaranteed to be unique.
mhm I see
I have this BP code that checks for a key contains and then if there is one sets the value on that key
which works but somehow when the AI Task pulls the occupied it's default to being all seats are false
what's the C++ GUIDs?
Honestly just watch some more tutorials, get as much input info as you can and then try to invent something. You could even honestly probably get some references from unity c# tutorials and then easy translate it into blueprints, since it's just concept that you are looking for. Basically Managers are usually 1 instance where you feed all the info you need and then you do something with info that is stored there.
This is on my component I use for handling generic save data I mentioned earlier. This is what gets called on begin play.
just an FGuid structure type I believe.
I was doing some things in Unity before I Found unreal, and I often created managers and ''handlers'' but in blueprints I didn't find yet any need to create something like that.
I do want to watch tutorials, that was my original question, for some tutorials on how to build out these kinds of save manager structures
the manager would just handle the data
you can save it at anytime, i would imagine you wouldn't save it repeatedly ?
As I said try to watch some concepts that are in unity c#, but I think you are overcomplicating this in your head and it's just quite simple ๐ And if it's hard for you to imagine what your manager would be doing then you probably dont need it and trying to force it
And you likely won't find them as it's a much more advanced topic that youtubers wouldn't want to cover as:
- They're not fun and engaging
- They're too long to record
- They don't necessarily apply to many games in general
- The end result doesn't get you something flashy.
Simply drop an actor in the scene and you got your self a "manager"
this does actually help quite a bit. like I don't understand everything in this screenshot but it's given me far more to work with
The 'OnInitializeStates' is bound to on the owner of the save component. It pretty much replaces the begin play and is called when the data is loaded.
Are you getting your Actor Manager with casting or interface?
ya know... I feel really fucking stupid now... for ages I was agonizing over how to apply properties to an object when it spawned into the level but have it trigger before beginplay....
I'm guessing generic states is just how it exists in the level editor?
like the editor being the generic state of that level as a default?
Generic States is an actor component I put on actors that have generic states that need saving, things that tend to just be on/off, true/false or just a float/int. Pretty much what ever can be converted into a string so I can join them all together.
The SGO then has a map which is a GUID/String pair.
I have a struct with a BlueprintAssignable event on it...however, in the blueprint editor, i can't actually set that event to anything
Anyone have any idea why this won't work ?
can you put an array of structs on that to be converted into a string too?
my AI Characters use same ABP and skeleton as player but the cast to their BP BaseAICharacter seems to just not work doesn't be sucess or fail
Okay, that's what I thought but I saw that it was being multiplied against delta and was worried it was doing something I didnt expect. Thank you
this is causing
Blueprint Runtime Error: "Accessed None trying to read property K2Node_Event_spawn_door". Node: Set Actor Transform Graph: EventGraph Function: Execute Ubergraph Exit Door Blueprint: exitDoor Blueprint Runtime Error: "Accessed None trying to read property CallFunc_K2_GetRootComponent_ReturnValue". Node: Set Actor Transform Graph: EventGraph Function: Execute Ubergraph Exit Door Blueprint: exitDoor
Not really, structs kinda leave the realm of being generic for this system. But there's nothing stopping you from saving a structure in the SGO instead of string. It's just what I used to keep it generic.
fair enough, I have an inventory system that uses an array of structs to fill out the contents which is why I was asking
Don't pull pins across execution paths
If the green line executes first... How do any of these have values?
ahhhh i see, i thought it would be fine since interacted is called for this too
Speed x DeltaTime = HowMuchToChangeThisFrame
Out of curiosity, how many class need to implement 'Spawn Room'.
its supposed to set the spawnroom door to the original door you interact with
like 2 maybe 3, at the moment 2 tho
What are they? Also by Implement, i don't mean call.
its just to spawn the dungeon, and link the exit door with the entrance door
anyone got any idea on this please
and later on to send a message to all "resource" nodes to spawn a random resource
How do you know it doesn't work?
What's not working about it?
Why don't you just have a BaseCharacter that they all are?
That base AI Character Cast does work but doesn't seem to actually set the variable tied into it's resulting out
Anyone know the difference between a Material Instance and a Material Instance Actor? I tried looking Material Instance Actor online but not getting any hits or results..
Which of the 4 paths is it actually taking here?
Replace 'Pawn Owner' with 'Try Get Owner' and do an is valid check on it.
would this be better?
Either pawn owner isn't valid, or its a first person character, or its a baseaicharacter, or it's neither
which is happening?
so for the player the first person
and then for the AI the second path
only one of the cast will be a success
So what's the actual problem?
well i need it to store the specific door that you originally interact with
Doesn't fix the issue at all.
If you need the value from the bottom interface, then you must make sure that the value is set before you call the set actor transform.
Same with the pull of the value from whatever is above.
watch more tutorials
then do that
and use that door as a transform location
then do that
you can just get it in the other path
Hey there. I'm trying to make a variable that stores an actor's position in the world as it was manually placed.
this worked perfect thank you
This is to make an AI enemy return to its original location after the player leaves the aggro range.
However, the variable currently is always 0 no matter how I try to access the current world location of the actor.
the interact target is just to see whats being hit by the spherecast
sorry this IS the exit door class
Well nevermind me. I made an oversight
it needs to get the entrance door
Either way don't mix your execution paths like that
then how do i get the specific door that you originally use
without storing a variable OF that door
store a variable of that door
which spawns randomly and is possible to have multiple of them at once
what is the logic for which door this thing cares about?
Why does an exit door have a variable called exitdoor
your code is very confusing
the door outside when interacted with spawns a dungeon + exit door, i want to save the specific entrance door IN the exit door it creates so you can call its transform to leave
me remembering how old that "yo dawg" meme was
lol that was funny
currently it KINDA works, it just brings you to world origin instead of the door location since it cant find it
OK so each door stores a ref to another door, what SETS that ref, some manager?
its supposed to be this
door manager
no
no
this
this is IN the entrance door class
it spawns the dungeon using an interface with SELF as an input
my brother you are deep in the weeds on this one. OK in plain english, explain how the dungeon is created.
Game starts -> ???????????? -> There's a dungeon now
why are you spawning an actor then getting actor of class, just get the thing you just spawned
game starts >>> you move down >>> door spawns >>> interact with door >>> creates dungeon instance that includes a exit door actor >>> issue
Who does the creating, the door or a thing the door spawns?
or some manager that's already around
and is the "exit door" the door you just interacted with, or another one on the other side of the dungeon?
The 'Spawn Room' function you call in here has the target to self meaning, you're calling that fuction on itself. Passing a ref of itself to itself.
the door creates the "generator" which includes the dungeon layout, exit door, and eventually resource nodes
this has the exit door in the actor
Is the exit door the door you just went through or is it another one on the other side of the dungeon?
that's what I'm trying to figure out
how many doors does a dungeon have
1 door
the exit door is the door on the inside of the dungeon, the straight up "door" is the one that spawns randomly
OK, reformulate.
Put all your dungeon generating stuff in a component on GameState or just in GameState itself, or in an actor you place in the world. No more creating generators all the time.
2, when a door is interacted with, have it talk to the generator and say "i just got opened", thats it. No doors creating worlds or anything like that, it just says that it got interacted with.
that node isnt actually passing to anything i dont think, its being wierd i cant delete it and my other interface doesnt have it
you're calling it ON yourself
you're saying "Hey self (a door), spawn a room"
first off that probably isn't right
if it is right, it shouldn't be
you should say "hey GENERATOR, spawn a room, I am the exit door"
this does not need to be an interface anyway, idk why everyon'es shoving everything into interfaces nowadays but it's goofy. Spawning a room should be the job of the generator, just make it an event on Generator and be done with it.
okay, so entrance door spawn exit door, exit door spawn building
rn its entrance door spawn generator, generator includes exit door and building
pretty advanced to me
How does 'Dungeon' spawn the 'ExitDoor'?
the exit door is included in the actor
As a child actor componet?
Ok, so when the dungeon has spawned, it needs to get the actor (the exit door) from the child actor component and pass the ref to the original door to it.
yes
wait
when the dungeon is spawned, the exit door (in the generator actor) needs to get and save a refrence to the original door that spawned the dungeon
so that you can interact with the exit door and be sent back to the original door
ok so door stores ref to door, and is given that ref by the generator

Actor Door
Door DoorISendGuysTo
actor door gets interacted with >> spawn the generator >> generator has NO CODE IN IT but includes a child actor "exit door" >> give exit door refrence to original actor door
im not good at this lmao, im learning and practicing still
If generator doesn't have any code, who does the generation?
Start with the thing that makes the dungeon
I think it's premade.
wait, the door contains the code to make dungeons?
is generator empty? ๐
basically the original door has the code to SPAWN IN and teleport you to the dungeon
here
no
so a dungeon is just a thing
a map?
this is everything that generator is
Why call it a generator if it's not doing any generating
ok explain from a high level, what the hell the actual logic behind how this works is.
You have rooms, and a dungeon, and doors.
How does it all work experience-wise, not the code, don't tell me about doors spawning things
it looks like it's a weird bridge?
because eventually im going to add nodes inside of it that when called with the spawnroom will spawn a random actor for different resources
i havent gotten that far yet
I play your game. I'm some dude. I'm in a room? I walk up to a door, interact with it, what happens?
the door creates an instance of a PREMADE dungeon, in the premade dungeon is an exit door
you interact with the door, get sent back to the door that generated the dungeon
;D
lets see ur door bp?
ok, most of that code should be in a separate bp (i think). the door would more or less simply have a function call that handles the teleporting and the new area generation.
also i didnt want to scroll any further and am somewhat confused to what your issue actually is ;o
the exit door cant find a refrence to the original door, and instead of teleporting you to it it just teleports you to world origin
my first assumtion is that your door gets deleted
when you interact it calls "spawnroom" with itself as a input
hop over to exit door
but im not sure how your world works, is your world all part of one level / map?
yea
i didnt wanna deal with level saving
but at this point im wondering if its better to build everything in different levels and figure out how to save EVERYTHING in the main level when you switch
so once teleported, can u run around and actually see the original door?
no
i mean to ask, does it get deleted?
no it doesnt, not untill it gets too high
but thats part of the "world"
just to give the illusion of movement
essentially u are just teleporting from room to room?
yea
but the exit door is generated with the dungeon
and cant find the original door
is there a variable you set called 'EntranceDoor' or how are you passing it to the Event 'SpawnRoom'?
that path of nodes referencing the Entrance door is somewhere losing or not being set correctly.
@ripe comet The node reads 'None'?
hey everyone, i have a spawner that creates enemies in an area around them near some trucks and my current problem is the enemy has a chance of spawning on top of the trucks and cant get down, how would i make it to where the enemies can get off of these trucks?
Hey. I'm getting desperate would love for someone to help. Was working on my character blueprint when all of a sudden it lost almost all of its info. I mean in terms of the CharMovComp, the Mesh, their details tab on the right are just empty. Running the Project Preview has the character disappeared.
I got the same problem as this forums post: https://forums.unrealengine.com/t/character-movement-disappeared/1273475
Except the recommended solution does not work for me
I thought of retrieving the .uasset Blueprint from Autosave, but that doesn't work for some reason, it says that it failed to import and can not read uasset as an extension (weird)
And starting all over from scratch would be pretty tedious and crazy, any help? Thanks.
show navmesh
@last ingot odd. can u just add it again?
Add what precisely?
Have source control? You probably need to revert back to an earlier state.
There's been several reports of people having a similar problem with their characters.
What's the most basic primitive component? I just need something to attach a phys constraint to that need not otherwise exist
I'd use a scene component if that was a valid choice but it isnt
PrimitiveComponent is a child of SceneComponent which is a child of ActorComponent.
Ya but you can't just instantiate a primitive component, is my problem
Primitive Component is father's brother's nephew's cousin's former roommate
what made the primitive component? have that run whatever you need after spawning it
a Uobject?
I think you've misunderstood the question. There is no primitive component, yet. I need to make one for this purpose, and I'm trying to figure out which class of primitive component has the absolute minimum cruft on it, since whatever functionality it brings will be dead weight
I'm basically just trying to attach this thing to the ground. I'd use the scene root if I could
does it spawn in or you want it to exist in the level ?
1-10 scale how cursed is this first person look logic?
@flat coral is that a mesh?
why are you setting the camera's rotation 3 times?
Somewhat cursed. Why aren't you just adding control rotation? It's one of the benefits of actually having a controller possess a character.
Also that
cause it kept jittering when it hit the clamp so I added a set before a branch and after, i kinda forget the rest of the reasoning, it works tho
Just do all your clamping and such before setting rotation
Input -> math -> set rotation
While the game is paused, im casting to my character and setting the camera's ortho width. a print string is showing that the ortho width was successfully changed, and yet the camera view doesnt change at all. I've made sure every component is ticking while paused. any suggestions? I've also tried spawning a different camera and changing view target but no luck
is that like a go to sequence for everything?
is bool good for crossplatform? (ex: int is not good but int16 is...)
I'd say so
ok ty for the tip
not a concern in bp, you literally don't have an alternative
i just started coding and using unreal 3 days ago
what about c++**
looks pretty good for 3 days in
then why'd you ask in the blueprint channel
well, nobody is alive there
@obtuse krakenLearn about Control Rotation and make sure you're not trying to reinvent it. There's reasons not to use it, but there are also reasons to use it.
It's just a rotation the Controller has, which many things can just opt-in to using
That doesn't mean you can post to a channel where the question isn't relevant, nor where a lot of the people here actually use the thing :P
but yes, a bool in C++ is fine. (as is an int really)
Could you explain to me how to have this system working? Or perhaps point me towards a guide that helps set that up? Thanks
mhm, some platform doesn't support int, so ppl told me to use primitives types (int16, int64...) but I don't think that applies to bool
I think I tried using it, but it wasnt moving me forward the way I was facing. Turned out this was because of how I previously did movement. I re-did my camera and movement and got it to work this way and completely forgot that it was the movement preventing me from using control rotation so I never went back lol
Do you know what source control is in general?
Every platform that matters supports int nowadays. The sizing can change on some platforms, but again most of the ones agree
Hey I'm shipping my game to run on Setun, don't judge
what about ps3
But yes. Everything supports an int, it's just some fringe platforms don't agree on sizing.
Hell even the old days of assembly support a DWORD which is... An int
you are right, but the size can be different and that's the problem
Am I?
Yes
๐ฅฒ
I don't want to make the same mistakes I made before..
I've yet to see a single case of it happening that wasn't like "I had a bug on this old bit of satellite embedded hardware I found in my garage, because it assumes an int was 8 bits."
you need explicitly sized types anyway for serialized or replicated properties, just use int32 etc and call it a day.
what about FMatrix
In general, yeah. It's generally keeping track of the changes in code in a software.
I'm gonna search, thx guys
So just choose between SVN, Git, Perforce, Plastic, or whatever else, and use it.
I like Plastic but some people don't
I'm personally team Git until you reach a size where Perforce is useful
So if let's say I use GitHub for source control, and down the line of some tutorial I find online (as I've never applied this before), I would be able to have some form of a backup system to avoid situations with corruptions or errors as deadends, correct?
guys, coordinates in my case isn't real
how to fix it?
@last ingot thats one feature source control provides
Alright then, thank you.
@last ingot btw, can you rebuild the file fix up redirectors, validate the asset on that character ?
@elfin lagoon what do you mean "inst real?"
i mean "is wrong", sorry
widget spawns more right and down from the real mouse cursor position
show what ahppens
Thats because the mouse cursor origin point is down and to the right
the widget*
you can Add 1 or 3 pixels on Y and X to counter it
how it can be?
Is it close or really off?
If I am right it should be close
@elfin lagoon
close, like 50 pixels
0o did no know abut that node
what did you put in the Absolute Desktop Coordinate?
@elfin lagoon
Any way I have a problem where I have a section of my game that sets global time Dilation to 0.1 but some of my UI uses delay nods to allows things to have time to load properly. Is there a delay node that works off of how many frames have passed or some thing? I was told that timers are not effected by time Dilation and made this but it IS being effected by time dilation
with this node i have additional effect
in a top-left corner its still close
but when i move a cursor more right and down, widget spawns even far from cursor in this direction
the way i make my widgets go to where i have my mouse is kind of tricky.
@elfin lagoon But basically i use this function to et the position
what is "parent slot" and "requested position"?
sorry, its new to me
Its just a name ive given the variable. but its a 'Canvas Panel' plugged into the 'Slot as Cavas Slot' function, that is used as the target of the 'Set Position' function.
@elfin lagoon essentically it would be the canvas panel, used in the widget of your mouse postion thing
@elfin lagoon not sure of your widget design either
ok, what is "requested position" then?
am i going right way?
but i dont set any position here?
๐
@elfin lagoon #blueprint message
instead of plugging in the print string, pulg in the 'In position' node.
it spawns in the top-left corner with errors now
I am desperately trying to make a timer that is not effected by global time dilation this atempt just gives me infenant loop error. Some one pleas help! It cant be this hard to make a nod that is not effected by time dilation!!!!!!
I just don't see how that would ever work cuz maccro are a thing made for fast speed and just go through and get out... not waiting or smt
no macros can use delays that one thing they do that functions don't
@elfin lagoon quick question first, is your anchor point of your widget offset by the ammount your mouse position was missing by?
@elfin lagoon I think your error perviously was caused by a slotting issue, you may need to wrap your 'Canvas Panel Rmw' In another canvas panel, so that it can become "slotted"
unfortunately it cant be done easily with just bp, you could use a Timeline though, a Timeline as an option to ignore time dilation.
quick question as i'm kinda new to arrays, how can I analyse every single pixels of an image if I know the pixels dimentions of that picture?
anchor is top-left
so, maybe
@cyan moon you want to add pixel colour values to an array per pixal?
Ok ill try that
no, I just want to check if a color is present in my image by analysing every pixels. Also, maybe there is a better way to do that?
i've done that but it is shitty laggy
That's basically like an infinite loop
when the first loop finishes, you're calling the second loop which then calls the first loop each iteration
you can use time lines in UI!!! so that don't help
wich is what i want
No it isn't, guaranteed.
i want the code to check first line, then second, then third, then the 253 others lines then STOP
But it doesn't stop XD
Because it's an infinite loop
Don't have the second loop (which you technically don't even need seeing as it's only a single value you seem to care about) call back to the first loop.
You can't keep executing forever.
You have two arrays here. Each with a single value.
yeah
You're looping through the first array and when you finish looping through that, you're then going to the second array, looping through that and having it call the first loop again so then when the first loop finishes again, it calls to the second loop, which calls to the first, which when completed calls to the second, which calls to the first.
oh in UI? i believe Ticks and Delays in UI doesnt get affected by dilation
Datura you are brilliant I have a problem where I have a section of my game that sets global time Dilation to 0.1 but some of my UI uses delay nods to allows things to have time to load properly or flash briefly
I know thats the problem !!
@cyan moon a break loop with the condition of 'IsRed'
oh you want it to get affected?
not effected
If you have two arrays, you probably want to nest one in the other, but not use the completed to connect back to either.
Loop1 (X) > Loop1 (Y) > Check X and Y value from Loops
Comlpeted> Do something (not call back to the loops)
you can use a Tick to calculate
tick in UI are not affected by time dilation
ok how do I do that?
I haven't really messed with time dilation :/
OMG THANK YOU!!!
if the delay only appears after the time dilation is set
you can use that
if the dilation changes while the delay is running, then you cant
@dawn gazelle I don't think you understand my problem. Or do I? I want to Check the whole first line of my picture. Then, I want My (Y) to go by 1 up. Then, I check all of my (X) again. Then Go up by 1 on the (Y) and so on
lol
how can i do that without destroying my game every time?๐
Does a Timer respect time dilation ?
yeah
Also, using delays to wait for things to be ready is generally not a great idea. There's no guarantee that other people's hardware will handle the instructions in the same amount of time. It's usually better to set up those things when they become ready, or have those things listen for something to tell them that they are ready.
Does blueprints have a built in clear array or do I have to do it with a for loop manually?
Type Clear
Don't see it somehow
Are you dragging from the arrayโs pin?
Yes but those things are on delays to check if load is done like this
๐ค
what loading are we doing
that is a Control Rig?
Ah maybe it's not available in control rig yup^^
Yeah, seems to be a common occurrence
yooo
like is player valid, inventory valid, stuff like that. Its all stuff that spawns but has no signal when it is actually valid yet
@cyan moon If u can use a break loop, and a delay, so you dont compute it as fast as possile?
also for flashing UI I us delays
You want to check every pixel in an image.
X = Vertical
Y = Horizontal
Let's say you had a 1024x1024 image...
You want to check (1, 1) first....
Loop (X) 1 > Loop (Y) 1 > Read Pixel Value
Now, the second loop will need to iterate itself first. So then the next iteration will be
Loop (X) 1 > Loop (Y) 2 > Read Pixel Value
....
Etc until you reach the last horizontal pixel
Loop (X) 1 > Loop (Y) 1024 > Read Pixel Value
Now that you've reached the end, that second loop will complete, so the first loop iterates to the next and it'll restart the second loop.
Loop (X) 2 > Loop (Y) 1 > Read Pixel Value
Now the second loop is iterating again...
Loop (X) 2 > Loop (Y) 2 > Read Pixel Value
Loop (X) 2 > Loop (Y) 3 > Read Pixel Value
....
Loop (X) 2 > Loop (Y) 1024 > Read Pixel Value
So now it'll keep going until Loop (X) = 1024.... whcih means eventually your loops will reach:
Loop (X) 1024 > Loop Y (1024) > Read Pixel Value
that's exactly what i want yeah
like that?
No more infinite loop
usually you dont want to use delays for stuff like this, its creating a condition racing nightmare
instead you want to make use of event dispatcher to know when anything is ready
for example, if your ui needs to know about the character that is possessed by the owning player, it can get PossessedPawnChanged from OwningPlayer
you're right but it will read every pixels? won't they just loop at the same time?
Did you try or are you speculating?
an example would be something like this
@cyan moon every time it goes by 'x' its does every 'y'
okay thx
last question for tonight because ya'll look experimented, is there a way I can check EVERY color between two set colours?
ok, i'm getting mouse position another way now
but widget's position is not on the screen at all, somehow, i dont see him
why its dont work in this case, if mouse cursor position is getting correctly? (i use it to move pawns, so it's 100% working)
No.
yes
Are you wanting to check if the color of a pixel is a specific of one of two colors? Sure.
no
like is it betwwen red and green?
I want to check if the color of a pixel is between light gray and white
yeah
What if it's light red?
I removed red and green from picture so I have a Black and white picture
Ok.. That's possible then
I believe Linear Color uses HSV values.
V = How "white" it is.
1 = fully white
0 = fully black
huh
Hue
Saturation
Values
Oh sorry, you're using just a "Color" structure on that one node.
I'm really bad at this exact part of unreal engine XD
oh
and then what i do with that?๐
i see where we go
but what function to compare
There we go
sorry i fell asleep, the interface is being called from within the door class, and the door that calls it is being assigned to the spawn door input
Now you can check what the "V" value is
1 = White
0 = Black
Anything in between is some shade of grey.
was the anchor point not the issue?
okay thx
'Every class that is parented to UObject in any way, will need to be created with CreateDefaultSubobject (in the constructor) OR NewObject (at run time)',
Is that correct guys?
huh
more or less, except for particle/actors have their own creation function
well I know the one for actors but what is it for particle?
it's supposed to print "Hello" if it detects a grayto white color right?
but it does nothing
= 0 would basically print all
you usually want to use the function library such as UNiagaraFunctionLibrary::SpawnSystemAttached
i donno that it is, because when u ran it, it had the error of a none value.
You're also only checking the very first pixel
oh okk, I've only heard of SpawnEmitterAtLocation before
just a single hello
I'll check it out
Niagara and Cascade have entirely different spawning methods, be mindful which particle system you are using.
dont know, sorry
i get mouse coordinates another way, so there's another issue
ok thx, I've never used Cascade, I think
usually when you see "Emitter" it is Cascade, Niagara uses "System" to describe the particle effect
BP >>> C++ Community
You'd need to plug these into the last index of "For Loop"s rather than using "For Each Loop"s.
should be easy to check, if u had it set up the way u had it at first, and just centered the anchor point in the desinger?
@elfin lagoon is your cast failing? are you getting values in your print string?
working
Also, just so you're aware....
There are two colors in this image. One is black, the other is 1 value above black. Your code right now if checking if the pixel is > 0.0 would return true.
Anyone know how to get the target for the Blue Print Interface for a animation blueprint?
I thought there was supposed to be smt in it... sorry lol ๐
yeah but it doesn't really matter as my golf ball is the only white thing in view
There is ๐
sure
Your render target is only capturing the golf ball?
i set widget position manually to x=500 y=200 and clicking here to test
looks like coordinates get x= -200 y= -500 and reversed somehow
Ok, but everything in that image is giong to be > 0.0
There's likely no black in it.
not greater than 0.05
oof, Is this ui just 1 image? If so, that's not the way of doing it, it would be pretty hard to get right
i changed the value no worry
can you repeat what that is supposed to be? ground indicator?
Everything brighter than this is > 0.05
ok
oh*
i need 0.95 XD
just pretty quick also, is there a way i can reduce lag caused by the loops?
make those loop in cpp ๐
i need to spawn a widget in a mouse-click point
thats all
in the world space? or the screen space
I have difficulties in bp... Imagine in cpp XD
at the screen
This is what would be detected with 0.95
What I'm trying to convey, is that whatever "value" you're trying to detect can vary greatly with what is in the image. If any part of the scene is bright, then it won't reliably know where the ball is. The above could work ok, but it doesn't really give you the lower bounds of the ball, if that's what you were hoping for as well.
And if you keep turning down the "sensitivity" for your detection, more noise could be entering in from the background.
try 0.88
how you found that?
yeah
Hi ! do you know where to use pose search normalization sets for motion matching ?
.88
we are close!!!
Using photoshop and math
feel kinda good
oh ok
it's not even you doing it LOL
ok, i return to first way to get a mouse cursor, and create additional canvas wrapper
i try to set another anchor, but widger is always spawned down-right from the cursor
yeah
in the desinger center the anchor
and it's not better
less details
do you think i can tehoricaly track that golfball in movement with this much shown?
It would heavily depend on the scene it is in.
if its to the screen, you can just use PlayerController->GetMousePosition and minus the desired size of the widget to set as viewport position
aight thx very much man you helped me so much
yeah too much artifacts
Here's another with a little bit of shading on the ball (golf club on the left)
we are cooked ๐
wow
How do I add a prefix to a name in blueprints?
Like manipulating the name of the blueprint itself, or adding more characters to a Name variable?
adding more characters to a name variable
what I need to figure now :
-How to track the ball through different images
-How to record Video And play it frame by frame
-how to determine angle of the shot
-How to determine speed of the shot
-How to calculate accurate Trajectory of the shot
-How not to giveup this project like every others
long list
I am spawning rig controls by blueprint and I want to add an fk_ prefix to each spawned control
not very long bro
so like a bone name of hand_r would have a control of name fk_hand_r
What's the node to spawn them in? I've never messed with them before but I can try and see what I can find
gl XD
Tracking the ball is 1000% the hardest part
It is spawned under a rig hierarchy. I am able to spawn controls I'm just having trouble adding a prefix to a name type
Here's what I have so far
yeah that's what i think also
So, this isn't really blueprints perse. In blueprint code, you'd normally be able to use an "append" node with a string.
Yeah I should've mentioned that it's control rig so different from regular blueprints
but I might have smt
I make an average of the pixels groupment. I compare those averages over frames and compare their distance from the first frame
kinda simple in theory
How good of a camera are you working with?
What does the ball look like after a hit, just a blurry streak?
maybe XD
ok, looks like major issue was lack of additional canvas wrapper
now i have only minor widget offset, when i spawn him at the right side of a screen (like 10 pixels)
so i need to figure out how to set both of an anchors, image and canvas
and where is this little offset come from
a cellphone with 30 fps XD
i might be able to go to 260 fps
You posted that just as I found that same node lol
Yes that's gotta be it
why are the names not consistent to blueprint counterparts is out of my league ๐คทโโ๏ธ
those names they use are literally string operator in C
Yeah good luck lol
samsung are kinda good at high fps cameras
Have you taken a video yet?
those are slomo..
1 sec max normally because it makes a 45 sec video but i think i don't need any longer than that
and just a few frames where you see the ball
You trying to do something like this?
https://www.youtube.com/watch?v=i_Oh4eJhtBE
Could this be the best kept secret in golf. I test and try the golf boy app, to see if it is an affordable launch monitor app for your iPhone, that works!
Link to the tripod that I bought.
https://www.amazon.co.uk/gp/aw/d/B09YNBCB2N?psc=1&ref=ppx_pop_mob_b_asin_title
Where my Hats are from Pharoah Co
www. pharaohco.co.uk
Click the link bel...
yeah i have a samsung
that's why i'm doing this little project
I'm sad i don't have an apple rn
it's far from little, this is research group or super genius territory to get it anywhere near accurate IMO
If you can get good automated ball tracking though, the rest is easy
community effort is way more efficient than a small group of genious
look at minecraft
community developped algorythms to find an exact seed from billion of millions of them in no time compared to a small group of genious
anyway thxx to everyone and good night
there?
nope
was here, need to be false
thank you, looks like all is fine now
it was rough
the moment i stop using interfaces to pass variables everything works
stand corrected, removed the test door and instantly game crashed lmao
What are you trying to do
randomly generating door spawns another exit door randomly, and allows traveling between the 2
currently
all it does is allow you to go, it spawns the exit door
but when you try to come back it cant find the refrence to the og door
Plugging in the value off begin play doesn't make sense
Set it as a variable then plug that variable in
set what as a variable
here ill make a quick recording since taking 100 screenshots and explaining it is gonna take forever lol
I get it it's fine
When you begin play promote the transform and ref to character as a variable
Then get the variable and plug into the set transform
it crashed and undid all that lol
Give me 40 minutes my break over
Just pass the character through the interface
You're passing a variable from a different event
The beginplay and interface don't fire at same time
Brb
Part of the problem is when you're calling these events. If you happen to call "Interacted" before you called "Spawnroom" then you won't have a value stored in "Spawn Door".
And that's also the folly of crossing pins across executions. You may think you're reading a value when it hasn't actually been set.
even if the "interacted" is only being called on the EXIT door after the spawnroom was called?
interacted on door crates the exit door, THEN the spawnroom is called
then after that is when you would interact on the exit door
Spawnroom is called on which door?
Ok, but then the code above is using "Interact" on the exit door, right?
not untill you manually press it on the created exit door
This here is where you're having the problem, right? This is on the exit door?
thats the part that "works"
this part, as far as i can tell litterally isnt ever even being called
That's what I'm saying.
Are you calling Spawnroom on the exit door?
If not, and you're calling "Interact" on the exit door, then you've never called to it in order to set a value so the "interact" event can use it.
both are being called in "door"
the interact on door is also calling "spawnroom" at the end of the chain
AFTER the exit door has been created
Are you feeding it a reference to the actual instance of the exit door?
the "exit door" is supposed to get a refrence to "door"
Ok, but the target of the interface call, are you calling it on "self" or the spawned "Exit Door" reference?
its being sent IN "door" with a self refrence, then spawnroom is being the receiver of said interface call, carrying the self door refrence
"door" is calling, "exit door" is receiving that call
Can you show the code of "door" calling the spawnroom interface?
Interface doesn't communicate to all things that implement it.
"Self" here means you're attempting to call the "Spawnroom" interface on "Door".
So assuming your "Exit Door" reference is valid, then you should only need to connect this up here, then the exit door would receive that message.
I dunno if this changes any other logic you may have implemented with "Spawnroom" on "Door" tho
or if this may impact how "ExitDoor" responds either.
ah you'll need to change the call of the interface
look for "Spawnroom (Message)"
Should be able to find it if you drag off from the Exit door and start typing
Can you screenshot the error message?
After spawning "Generator" where we connected "Exit Door" to call the interface, try printing the display name of "ExitDoor".
Yep
Not sure what to tell you then.... If this thing has a valid value and implements the "GenerateDungeon" interface, then this bit here should be getting called on your "ExitDoor" blueprint for that particular instance of "ExitDoor".
Ah wait...
hmm?
is "exit Door" a "Child Actor Component"?
plug that into target?
lmao
now its not teleporting me to the building
i wonder if its calling it too fast now?
and just inta tp back
waaaaait
lmao im just a dumbah i forgot to relink generate and spawnroom
yes it works
holy HELL man i love you
why doesn't unreal natively support rotated capsules
I can't just make a horizontal capsule for my pawn
cause if I try set the capsule as the root then it snaps back upright
When dealing with "Character", it has integration with the CMC and the CMC assumes you're using a vertical capsule collider as the root for the Character.
nah it's a custom pawn
Custom pawn then it shouldn't matter I'd think.
You should be able to do whatever you want with it.
UE just doesn't allow rotated components as the root
it resets the rotation
so I gotta make a custom c++ capsule that has a rotation variable to actually use it
The problem is that you can't rotate it after you make it root, and a character capsule starts out as root
They're using a custom pawn, so they're in control of it.
as I said, it resets the rotation when you set it to the root
My screenshot shows otherwise
and I need it as the root to properly move the character
try loading into the game with that pawn, it'll be rotated
that's a visual error
or you could just reload the blueprint editor
dw bout it I was just complaining
