#blueprint

1 messages ยท Page 155 of 1

idle moat
#

I have started creating a jump mechanic for my character but I want my jump canceled if I charge it for too long. I'm a bit of a novice when it comes to blueprints so it's probably something simple. Help would be great!

toxic copper
#

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?

tulip basin
#

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

versed hornet
cerulean mango
#

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

versed hornet
# tulip basin is there a good way to handle multi-dimensional arrays? BP's don't seem to have ...
Epic Developer Community

Taking a look at how arrays work, Unreal's TArray, and multidimensional arrays (specifically 2D ones) for game development with the Unreal Engine.

#

a little complicated but should work

versed sun
versed hornet
tulip basin
versed sun
#

the Child will print :
You Died
Also Explode

cerulean mango
#

@versed sun @versed hornet Thanks ! Everything works perfectly !

versed hornet
versed sun
cerulean mango
#

Oh nice that's good to know

#

Btw can you call your parent: Death event after your print ?

tepid raft
#

question how would i do this?

cerulean mango
#

@versed sun In your exemple it would be : Event Death -> Print -> Parent Death

#

Oh okkk thanks !

versed sun
#

this is also handy , you can open up you Parent code

thin panther
# tepid raft question how would i do this?

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

tepid raft
#

ah ok

#

thanks

cerulean mango
#

@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 ?

versed sun
#

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

patent bane
#

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.

cerulean mango
#

@versed sun I don't have the expand node on this event do i have to check something in the master ?

versed sun
#

Im not sure on the rules on when you can expand, sometimes its not there

#

but you can always copy/paste the parents code

cerulean mango
#

@versed sun Looks like the destroy actor was the problem there ! But it works rn thanks for your help ๐Ÿ™‚

white oxide
#

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?

versed sun
#

well.... 0 != 1 , so branch will be False

celest oar
#

is there any way to hide folliage in options for performance reasons?

#

in a shipped build

versed sun
#

but , that would appear to not draw because it is in the center of your vision

remote meteor
maiden wadi
#

There already is one. ๐Ÿ˜„

vivid quarry
#

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

remote meteor
#

well the ui that controls it ๐Ÿ˜†

maiden wadi
white oxide
#

Hmm this is odd when I copied and pasted over some blueprints the InputAction stopped working... any ideas?

maiden wadi
#

Which actor is this?

white oxide
#

It's a Pawn actor afaik

maiden wadi
#

Is the context mapping being applied?

remote meteor
dusky cobalt
#

Can I add HUD on top of HUD? or if I have one I have to put everything into one?

white oxide
#

How can I tell if the context mapping is being executed?

maiden wadi
#

By HUD do you mean a widget, or the AHUD actor?

remote meteor
white oxide
#

Oh, right

#

No the IMC isn't being executed

dusky cobalt
remote meteor
#

if this pawn is being possessed by a controller, you can get the EnhancedInput subsystem through a player controller reference

maiden wadi
#

Then no reason you cannot. You can add how many ever widgets to screen you want.

vivid quarry
remote meteor
#

or alternatively, you can only add the IMC after ReceivedControllerChanged event

dusky cobalt
#

but, there is actually only 1 hud that I can put into Project Setting and then reference to it from Get HUD node?

remote meteor
#

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

dusky cobalt
#

okaaay, got it

remote meteor
#

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.

dusky cobalt
#

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

remote meteor
#

a local coop ?

dusky cobalt
#

more like warcraft or any rts game

maiden wadi
#

It's weird handling widgets directly anymore. But AHUD is kind of preferred.

dusky cobalt
#

oh, so every player has their own AHUD when they join?

#

or the base would be the same so it doesn't matter

remote meteor
#

a local APlayerController would have their own AHUD

sharp python
#

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? ๐Ÿค”

dusky cobalt
#

my PatrolRoute is reference to blue print PatroolRoute which is spline

queen heron
#

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"

toxic copper
#

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

sharp python
dusk iris
#

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.

sharp python
#

๐Ÿ˜ฎ

#

So you're ...extending the spline?

dusky cobalt
#

Yes ๐Ÿ™‚

#

if you click on one of the points, hold alt and drag, you add another ''point''

sharp python
#

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

dusky cobalt
#

Should work with 2 points then too

sharp python
#

I don't believe "destroying all the little arrows and recreating them every frame" is how other turn based games do it

celest oar
sharp python
#

So destroy the first point and add another?

dusky cobalt
#

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

remote meteor
dusky cobalt
#

like spawn arrow at the location of Patrol[Index]

sharp python
# dusky cobalt No, why you want to destroy and add? ๐Ÿ˜„

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

dusky cobalt
#

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 ๐Ÿ˜„

remote meteor
#

you could use a world tiled sprite

#

and a single spline mesh

#

i guess

dusky cobalt
#

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

remote meteor
#

oh yeah cropout has one i think

dusky cobalt
#

possible, but there is rts strategt that is turn based game

remote meteor
#

oh damn this is quite old ๐Ÿ˜…

lunar sleet
trim matrix
remote meteor
#

i was thinking the spline thing

lunar sleet
#

Oh ok, that makes more sense ๐Ÿ˜€

storm solar
#

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.

odd kiln
#

What is direct hitbox ?

storm solar
#

*straight forward

maiden wadi
sharp python
maiden wadi
maiden wadi
# storm solar *straight forward

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.

storm solar
#

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

halcyon vapor
#

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...

โ–ถ Play video
#

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

maiden wadi
# storm solar Like, there are tutorials that span over multiple videos and 1 1/2 hours long fo...

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.

storm solar
#

But i gotta start somewhere.
So, how are hitboxes not important for this. Would I want to be using traces instead? Or something else?

storm solar
halcyon vapor
maiden wadi
#

Every game has something that can be considered an ability. ๐Ÿ˜„

halcyon vapor
#

then he has to watch the GAS tutorial xD

storm solar
#

as yes, the Games As a Service tutorial.

halcyon vapor
storm solar
halcyon vapor
maiden wadi
#

Gameplay Ability System

storm solar
halcyon vapor
storm solar
#

ah, it's a plugin, okay.

maiden wadi
#

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.

dusky cobalt
#

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..

twin shale
#

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

halcyon vapor
trim matrix
halcyon vapor
trim matrix
#

did you see the last AAAA game..

#

(in my opinion)

halcyon vapor
maiden wadi
# dusky cobalt I heard somewhere that it's not good advice to tell someone to do GAS when they ...

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.

trim matrix
#

I think it's mostly when you want to have multiple abilities / power in your game... You might not need it

maiden wadi
#

That sentence made no sense.

trim matrix
#

'the game logic of how a fireball works and looks'

maiden wadi
#

You might not need an ability system... to have multiple abilities in your game?

halcyon vapor
#

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

maiden wadi
#

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?

dusky cobalt
#

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?)

maiden wadi
#

GAS Abilities can be used for anything you can classify as an action granted to a thing, mostly.

dusky cobalt
#

any good video that summarizes GAS so I can get to know if its worth it for me to study it?

maiden wadi
#

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.

halcyon vapor
# dusky cobalt any good video that summarizes GAS so I can get to know if its worth it for me t...

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...

โ–ถ Play video
dusky cobalt
#

he is working with gas?

halcyon vapor
#

anything that involves the player pressing a button and any form of "special attack" could be made into a GAS

halcyon vapor
#

from scratch

maiden wadi
#

You don't make GAS. You use it. :/

halcyon vapor
#

yeah, but the GAS from epic games needs a bit of extra C++ to set up doesn't it?

maiden wadi
#

Only Attributes.

dusky cobalt
#

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

maiden wadi
#

Supposedly even attributes are getting a BP thing soon from what I heard.

halcyon vapor
#

nice

flat coral
#

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

delicate surge
#

"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?

flat coral
#

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

maiden wadi
# dusky cobalt i dont feel like learning any system to make ability that is basically spawning ...

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.

dry pecan
#

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

maiden wadi
faint pasture
#

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

dusky cobalt
maiden wadi
#

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.

dusky cobalt
#

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?

kind willow
#

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

maiden wadi
# dusky cobalt or how did you learn when you heard about it?

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.

faint pasture
#

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

kind willow
#

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"

dark drum
#

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.

coarse yew
#

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?

maiden wadi
coarse yew
dark drum
hoary junco
#

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?

faint pasture
dark drum
# hoary junco does anyone here have any kind of tutorial on what manager classes are and how t...

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.

kind willow
# faint pasture sounds like thats it

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 :(

hoary junco
#

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 :/

dark drum
# hoary junco how would that work in the context of what I'm looking for though? Like, does th...

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.

hoary junco
#

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

gentle urchin
#

Seem to be moving correctly

dark drum
teal vapor
#

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?

undone sequoia
#

guys how I can math altitude in game in metres?

dark drum
hoary junco
dark drum
undone sequoia
#

hmmm because I did like this /100 but i was thinking that my altitude is moving so fast lol

hoary junco
dark drum
undone sequoia
#

i am in plane and it seemed for me fast ๐Ÿ˜„ to get from 100 metres to 500

#

now editing gravity when stall speed

hoary junco
# dark drum I've not come across any tutorials myself. They can be pretty specific to a syst...

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 :/

dark drum
hoary junco
#

planes go fast... they go very fast

undone sequoia
#

yea maybe i am also wrong converting its speed tried to get from cmห‡per second to km/h

hoary junco
#

lol yeah that's going to be quite far off ๐Ÿ˜›

dark drum
hoary junco
teal vapor
dark drum
# hoary junco don't you have an example in your existing project? I'd settle for screenshots b...

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.

โ–ถ Play video
hoary junco
kindred galleon
dusky cobalt
hoary junco
# dusky cobalt Get all actors of class, get their location, for each actor add it to array, sim...

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

dusky cobalt
#

why do you want to remove the sword when players loads in?

hoary junco
#

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

dawn gazelle
#

It's not really answerable. You'd likely still end up using GUIDs or some other form of identifiers with a save manager.

hoary junco
#

still, are there any advantages to using a save manager over the current system?

dawn gazelle
#

Depends on what the save manager does and what you need.

#

That's sadly not something anyone could answer for you.

hoary junco
#

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

dark drum
# hoary junco I mean, am I just the only person on the planet who can't seem to figure out how...

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.

hoary junco
# dark drum If it helps, I've been using UE for over 10 years and only really started down t...

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...

trim matrix
#

Anyone know how I could rework this at all ?

#

what's a GUIDs?

dawn gazelle
trim matrix
#

I'm trying to have it so the task checks for an avalible seat for the AI to be placed in

dawn gazelle
#

Big number generated that should basically always be unique.

trim matrix
trim matrix
#

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

dark drum
trim matrix
#

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

dusky cobalt
# hoary junco I understand that in concept, honestly I do... it's the translating concept to c...

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.

dark drum
dark drum
dusky cobalt
#

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.

hoary junco
lofty rapids
#

the manager would just handle the data

#

you can save it at anytime, i would imagine you wouldn't save it repeatedly ?

dusky cobalt
dawn gazelle
lofty rapids
#

Simply drop an actor in the scene and you got your self a "manager"

hoary junco
dark drum
dusky cobalt
hoary junco
dusky cobalt
hoary junco
#

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?

dark drum
mortal coral
#

I have a struct with a BlueprintAssignable event on it...however, in the blueprint editor, i can't actually set that event to anything

trim matrix
#

Anyone have any idea why this won't work ?

hoary junco
trim matrix
#

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

twin shale
ripe comet
#

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

dark drum
hoary junco
dawn gazelle
#

If the green line executes first... How do any of these have values?

ripe comet
faint pasture
dark drum
ripe comet
#

its supposed to set the spawnroom door to the original door you interact with

ripe comet
dark drum
ripe comet
#

its just to spawn the dungeon, and link the exit door with the entrance door

trim matrix
ripe comet
#

and later on to send a message to all "resource" nodes to spawn a random resource

dawn gazelle
faint pasture
faint pasture
trim matrix
#

That base AI Character Cast does work but doesn't seem to actually set the variable tied into it's resulting out

teal vapor
# maiden wadi You need a cast

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..

faint pasture
dark drum
faint pasture
#

Either pawn owner isn't valid, or its a first person character, or its a baseaicharacter, or it's neither

#

which is happening?

trim matrix
#

and then for the AI the second path

faint pasture
#

gross

trim matrix
#

only one of the cast will be a success

faint pasture
#

So what's the actual problem?

ripe comet
#

well i need it to store the specific door that you originally interact with

dawn gazelle
# ripe comet would this be better?

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.

trim matrix
#

watch more tutorials

ripe comet
#

and use that door as a transform location

faint pasture
#

you can just get it in the other path

warped juniper
#

Hey there. I'm trying to make a variable that stores an actor's position in the world as it was manually placed.

trim matrix
warped juniper
#

This is to make an AI enemy return to its original location after the player leaves the aggro range.

warped juniper
#

However, the variable currently is always 0 no matter how I try to access the current world location of the actor.

ripe comet
#

the interact target is just to see whats being hit by the spherecast

ripe comet
warped juniper
#

Well nevermind me. I made an oversight

ripe comet
#

it needs to get the entrance door

faint pasture
#

Either way don't mix your execution paths like that

ripe comet
#

then how do i get the specific door that you originally use

#

without storing a variable OF that door

faint pasture
#

store a variable of that door

ripe comet
#

which spawns randomly and is possible to have multiple of them at once

faint pasture
#

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

ripe comet
#

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

hoary junco
#

me remembering how old that "yo dawg" meme was

ripe comet
#

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

faint pasture
ripe comet
#

its supposed to be this

trim matrix
#

door manager

ripe comet
#

no

#

no

#

this

#

this is IN the entrance door class

#

it spawns the dungeon using an interface with SELF as an input

faint pasture
#

my brother you are deep in the weeds on this one. OK in plain english, explain how the dungeon is created.

ripe comet
#

then passes that input to the exit door

#

lmao

faint pasture
#

Game starts -> ???????????? -> There's a dungeon now

faint pasture
# ripe comet

why are you spawning an actor then getting actor of class, just get the thing you just spawned

ripe comet
#

game starts >>> you move down >>> door spawns >>> interact with door >>> creates dungeon instance that includes a exit door actor >>> issue

faint pasture
#

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?

dark drum
# ripe comet

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.

ripe comet
#

this has the exit door in the actor

faint pasture
#

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

ripe comet
#

1 door

ripe comet
faint pasture
#

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.

ripe comet
faint pasture
#

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.

ripe comet
#

okay, so entrance door spawn exit door, exit door spawn building

#

rn its entrance door spawn generator, generator includes exit door and building

trim matrix
#

pretty advanced to me

dark drum
ripe comet
dark drum
ripe comet
#

yea

dark drum
# ripe comet yea

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.

ripe comet
#

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

faint pasture
stoic ledge
faint pasture
#

Actor Door
Door DoorISendGuysTo

ripe comet
#

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

faint pasture
#

what the fuck no

#

lol

#

don't do it like that

ripe comet
#

im not good at this lmao, im learning and practicing still

faint pasture
#

If generator doesn't have any code, who does the generation?

#

Start with the thing that makes the dungeon

dark drum
ripe comet
#

the original door SPAWNS the actor that is named "generator"

#

it is

faint pasture
#

wait, the door contains the code to make dungeons?

dusky cobalt
#

is generator empty? ๐Ÿ˜„

ripe comet
#

basically the original door has the code to SPAWN IN and teleport you to the dungeon

#

here

faint pasture
#

Is the dungeon generated at runtime?

#

what the hell is actually going on

ripe comet
#

no

faint pasture
#

so a dungeon is just a thing

ripe comet
stoic ledge
#

a map?

ripe comet
#

this is everything that generator is

faint pasture
#

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

dusky cobalt
#

it looks like it's a weird bridge?

ripe comet
#

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

faint pasture
#

I play your game. I'm some dude. I'm in a room? I walk up to a door, interact with it, what happens?

ripe comet
#

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

stoic ledge
#

;D
lets see ur door bp?

ripe comet
stoic ledge
#

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

ripe comet
stoic ledge
#

my first assumtion is that your door gets deleted

ripe comet
#

when you interact it calls "spawnroom" with itself as a input

#

hop over to exit door

stoic ledge
#

but im not sure how your world works, is your world all part of one level / map?

ripe comet
#

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

stoic ledge
#

so once teleported, can u run around and actually see the original door?

ripe comet
#

no

stoic ledge
#

i mean to ask, does it get deleted?

ripe comet
#

no it doesnt, not untill it gets too high

#

but thats part of the "world"

#

just to give the illusion of movement

stoic ledge
#

essentially u are just teleporting from room to room?

ripe comet
#

yea

#

but the exit door is generated with the dungeon

#

and cant find the original door

stoic ledge
#

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'?

iron furnace
#

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?

last ingot
#

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 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.

stoic ledge
#

@last ingot odd. can u just add it again?

last ingot
dawn gazelle
#

There's been several reports of people having a similar problem with their characters.

flat coral
#

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

dawn gazelle
flat coral
#

Ya but you can't just instantiate a primitive component, is my problem

versed sun
#

Primitive Component is father's brother's nephew's cousin's former roommate

versed sun
stoic ledge
#

a Uobject?

flat coral
#

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

versed sun
#

what does it need to do? why dosnt scene comp work?

#

overkill ?

flat coral
#

I'm basically just trying to attach this thing to the ground. I'd use the scene root if I could

versed sun
#

does it spawn in or you want it to exist in the level ?

flat coral
#

It exists in level

#

I'm just using a collision box with all collision turned off

obtuse kraken
#

1-10 scale how cursed is this first person look logic?

versed sun
#

Billboard with no sprite ?

#

๐ŸคŒ

stoic ledge
#

@flat coral is that a mesh?

faint pasture
thin panther
#

Also that

obtuse kraken
faint pasture
#

Just do all your clamping and such before setting rotation

#

Input -> math -> set rotation

toxic copper
#

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

obtuse kraken
trim matrix
#

is bool good for crossplatform? (ex: int is not good but int16 is...)

faint pasture
obtuse kraken
#

ok ty for the tip

thin panther
obtuse kraken
#

i just started coding and using unreal 3 days ago

trim matrix
faint pasture
thin panther
#

then why'd you ask in the blueprint channel

trim matrix
faint pasture
#

@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

thin panther
# trim matrix well, nobody is alive there

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)

last ingot
trim matrix
obtuse kraken
faint pasture
thin panther
faint pasture
#

Hey I'm shipping my game to run on Setun, don't judge

thin panther
#

Who's launching to PS3?

#

Sony don't even grant licenses for that anymore lol

trim matrix
#

ok lol

#

thse are the ones: int8, uint8, int16, uint16, int32, uint32, int64, uint64

thin panther
#

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

trim matrix
#

you are right, but the size can be different and that's the problem

thin panther
#

You're really over thinking this

#

It isn't a problem

trim matrix
thin panther
#

Yes

trim matrix
#

๐Ÿฅฒ

faint pasture
#

Just stick to that and call it a day

trim matrix
#

I don't want to make the same mistakes I made before..

thin panther
#

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."

faint pasture
#

you need explicitly sized types anyway for serialized or replicated properties, just use int32 etc and call it a day.

trim matrix
#

what about FMatrix

last ingot
trim matrix
#

I'm gonna search, thx guys

faint pasture
#

I like Plastic but some people don't

thin panther
#

I'm personally team Git until you reach a size where Perforce is useful

last ingot
elfin lagoon
#

guys, coordinates in my case isn't real
how to fix it?

stoic ledge
#

@last ingot thats one feature source control provides

last ingot
stoic ledge
#

@last ingot btw, can you rebuild the file fix up redirectors, validate the asset on that character ?

stoic ledge
#

@elfin lagoon what do you mean "inst real?"

elfin lagoon
visual crest
visual crest
#

you can Add 1 or 3 pixels on Y and X to counter it

trim matrix
#

Is it close or really off?

visual crest
#

If I am right it should be close

stoic ledge
#

@elfin lagoon

elfin lagoon
visual crest
trim matrix
stoic ledge
#

@elfin lagoon

visual crest
#

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

elfin lagoon
# stoic ledge <@211420417284505600>

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

stoic ledge
#

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

stoic ledge
#

@elfin lagoon

#

@elfin lagoon

elfin lagoon
stoic ledge
#

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

elfin lagoon
elfin lagoon
trim matrix
#

๐Ÿ’€

stoic ledge
#

@elfin lagoon #blueprint message
instead of plugging in the print string, pulg in the 'In position' node.

elfin lagoon
visual crest
#

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!!!!!!

trim matrix
visual crest
#

no macros can use delays that one thing they do that functions don't

stoic ledge
#

@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"

remote meteor
cyan moon
#

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?

stoic ledge
#

@cyan moon you want to add pixel colour values to an array per pixal?

cyan moon
#

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

dawn gazelle
#

That's basically like an infinite loop

cyan moon
#

why XD

#

how can i stop it ?

dawn gazelle
#

when the first loop finishes, you're calling the second loop which then calls the first loop each iteration

visual crest
dawn gazelle
#

No it isn't, guaranteed.

cyan moon
#

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

dawn gazelle
#

Because it's an infinite loop

cyan moon
#

how ca ni make it stop then

#

wow

#

How can i make it stop then *

#

better

dawn gazelle
#

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.

cyan moon
#

but i need to check the 256 Y lines too

#

not just the X ones

dawn gazelle
#

You have two arrays here. Each with a single value.

cyan moon
#

yeah

dawn gazelle
#

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.

remote meteor
visual crest
visual crest
stoic ledge
#

@cyan moon a break loop with the condition of 'IsRed'

remote meteor
#

oh you want it to get affected?

visual crest
#

not effected

dawn gazelle
#

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)

remote meteor
#

tick in UI are not affected by time dilation

versed sun
visual crest
#

ok how do I do that?

dawn gazelle
visual crest
remote meteor
#

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

cyan moon
#

@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

lunar sleet
#

lol

cyan moon
#

how can i do that without destroying my game every time?๐Ÿ˜‚

versed sun
#

Does a Timer respect time dilation ?

remote meteor
dawn gazelle
vivid notch
#

Does blueprints have a built in clear array or do I have to do it with a for loop manually?

lunar sleet
#

Type Clear

vivid notch
#

Don't see it somehow

lunar sleet
visual crest
remote meteor
#

๐Ÿค”

vivid notch
#

where did it go

remote meteor
#

that is a Control Rig?

vivid notch
#

Ah maybe it's not available in control rig yup^^

lunar sleet
#

Yeah, seems to be a common occurrence

remote meteor
vivid notch
#

yooo

visual crest
stoic ledge
#

@cyan moon If u can use a break loop, and a delay, so you dont compute it as fast as possile?

visual crest
#

also for flashing UI I us delays

dawn gazelle
# cyan moon <@218956378654507008> I don't think you understand my problem. Or do I? I want t...

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

cyan moon
#

like that?

dawn gazelle
#

No more infinite loop

remote meteor
cyan moon
#

you're right but it will read every pixels? won't they just loop at the same time?

lunar sleet
#

Did you try or are you speculating?

remote meteor
stoic ledge
#

@cyan moon every time it goes by 'x' its does every 'y'

cyan moon
#

okay thx

#

last question for tonight because ya'll look experimented, is there a way I can check EVERY color between two set colours?

elfin lagoon
cyan moon
#

uh

#

so i'm fucked XD

stoic ledge
#

yes

dawn gazelle
#

Are you wanting to check if the color of a pixel is a specific of one of two colors? Sure.

cyan moon
#

no

stoic ledge
#

like is it betwwen red and green?

cyan moon
#

I want to check if the color of a pixel is between light gray and white

cyan moon
dawn gazelle
#

What if it's light red?

cyan moon
#

I removed red and green from picture so I have a Black and white picture

dawn gazelle
#

Ok.. That's possible then

cyan moon
dawn gazelle
#

I believe Linear Color uses HSV values.

#

V = How "white" it is.

#

1 = fully white

#

0 = fully black

cyan moon
#

huh

remote meteor
#

Hue
Saturation
Values

dawn gazelle
#

Oh sorry, you're using just a "Color" structure on that one node.

cyan moon
#

I'm really bad at this exact part of unreal engine XD

dawn gazelle
cyan moon
#

oh

#

and then what i do with that?๐Ÿ˜‚

#

i see where we go

#

but what function to compare

dawn gazelle
cyan moon
#

yeah i have that

#

but how i compare a linear color to a "between two colors"

dawn gazelle
#

There we go

ripe comet
# stoic ledge

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

dawn gazelle
#

Now you can check what the "V" value is

#

1 = White
0 = Black

#

Anything in between is some shade of grey.

stoic ledge
cyan moon
#

okay thx

trim matrix
#

'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?

cyan moon
#

huh

remote meteor
cyan moon
trim matrix
cyan moon
#

it's supposed to print "Hello" if it detects a grayto white color right?

#

but it does nothing

dawn gazelle
#

= 0 would basically print all

remote meteor
stoic ledge
dawn gazelle
#

You're also only checking the very first pixel

cyan moon
trim matrix
cyan moon
#

just a single hello

trim matrix
#

I'll check it out

remote meteor
elfin lagoon
trim matrix
remote meteor
#

usually when you see "Emitter" it is Cascade, Niagara uses "System" to describe the particle effect

trim matrix
#

BP >>> C++ Community

dawn gazelle
#

You'd need to plug these into the last index of "For Loop"s rather than using "For Each Loop"s.

stoic ledge
cyan moon
#

okay

#

it is lagging enough that i think it is working ๐Ÿ˜‚

stoic ledge
#

@elfin lagoon is your cast failing? are you getting values in your print string?

cyan moon
#

working

dawn gazelle
indigo dome
#

Anyone know how to get the target for the Blue Print Interface for a animation blueprint?

dawn gazelle
trim matrix
#

I thought there was supposed to be smt in it... sorry lol ๐Ÿ˜‚

cyan moon
trim matrix
#

sure

dawn gazelle
cyan moon
#

ye

#

well

#

no

#

i'll show when my game come back to life

elfin lagoon
cyan moon
#

captured scene

#

golfball detection

dawn gazelle
#

Ok, but everything in that image is giong to be > 0.0

#

There's likely no black in it.

cyan moon
#

not greater than 0.05

trim matrix
cyan moon
#

i changed the value no worry

remote meteor
dawn gazelle
#

Everything brighter than this is > 0.05

cyan moon
#

ok

#

oh*

#

i need 0.95 XD

#

just pretty quick also, is there a way i can reduce lag caused by the loops?

remote meteor
elfin lagoon
remote meteor
cyan moon
elfin lagoon
dawn gazelle
#

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.

trim matrix
#

try 0.88

cyan moon
cyan moon
dusty zealot
#

Hi ! do you know where to use pose search normalization sets for motion matching ?

dawn gazelle
trim matrix
#

we are close!!!

dawn gazelle
cyan moon
#

feel kinda good

cyan moon
trim matrix
cyan moon
#

XD

#

I'll have copyrights at the end XD

cyan moon
#

(please)๐Ÿ˜‚

#

((last one))

elfin lagoon
dawn gazelle
#

Note the artifact

cyan moon
#

yeah

stoic ledge
cyan moon
#

and it's not better

#

less details

#

do you think i can tehoricaly track that golfball in movement with this much shown?

dawn gazelle
#

It would heavily depend on the scene it is in.

remote meteor
# elfin lagoon at the screen

if its to the screen, you can just use PlayerController->GetMousePosition and minus the desired size of the widget to set as viewport position

cyan moon
dawn gazelle
#

Like, here's a random from an image off of google.

#

Using that same .85 value

cyan moon
#

yeah too much artifacts

dawn gazelle
#

Here's another with a little bit of shading on the ball (golf club on the left)

trim matrix
#

we are cooked ๐Ÿ’

dawn gazelle
cyan moon
#

wow

vivid notch
#

How do I add a prefix to a name in blueprints?

dawn gazelle
vivid notch
cyan moon
#

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

vivid notch
#

I am spawning rig controls by blueprint and I want to add an fk_ prefix to each spawned control

trim matrix
vivid notch
#

so like a bone name of hand_r would have a control of name fk_hand_r

dawn gazelle
#

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

cyan moon
#

gl XD

faint pasture
#
vivid notch
#

Here's what I have so far

cyan moon
dawn gazelle
#

So, this isn't really blueprints perse. In blueprint code, you'd normally be able to use an "append" node with a string.

vivid notch
#

Yeah I should've mentioned that it's control rig so different from regular blueprints

cyan moon
#

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

faint pasture
#

How good of a camera are you working with?

#

What does the ball look like after a hit, just a blurry streak?

remote meteor
cyan moon
#

maybe XD

elfin lagoon
# stoic ledge in the desinger center the anchor

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

cyan moon
#

i might be able to go to 260 fps

vivid notch
#

Yes that's gotta be it

remote meteor
#

why are the names not consistent to blueprint counterparts is out of my league ๐Ÿคทโ€โ™‚๏ธ

#

those names they use are literally string operator in C

faint pasture
cyan moon
faint pasture
#

Have you taken a video yet?

cyan moon
#

960 fps to be exact

#

not yet XD

#

but in theory

#

it works

remote meteor
#

those are slomo..

cyan moon
#

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

faint pasture
#

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...

โ–ถ Play video
cyan moon
#

yeah i have a samsung

#

that's why i'm doing this little project

#

I'm sad i don't have an apple rn

faint pasture
#

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

cyan moon
#

yeah

#

but sometime little genious with the help of community drop masterclass

cyan moon
#

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

elfin lagoon
ripe comet
#

the moment i stop using interfaces to pass variables everything works

#

stand corrected, removed the test door and instantly game crashed lmao

graceful sage
ripe comet
#

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

graceful sage
#

Plugging in the value off begin play doesn't make sense

#

Set it as a variable then plug that variable in

ripe comet
#

set what as a variable

#

here ill make a quick recording since taking 100 screenshots and explaining it is gonna take forever lol

graceful sage
#

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

ripe comet
#

it crashed and undid all that lol

graceful sage
#

Give me 40 minutes my break over

ripe comet
#

kk

graceful sage
#

Just pass the character through the interface

ripe comet
#

thats what i did

#

here ill revert it

graceful sage
#

You're passing a variable from a different event

#

The beginplay and interface don't fire at same time

#

Brb

ripe comet
#

all g respond when you can ill just put what i can here

graceful sage
ripe comet
#

thats just getting the player to relocate them

dawn gazelle
#

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.

ripe comet
#

interacted on door crates the exit door, THEN the spawnroom is called

#

then after that is when you would interact on the exit door

dawn gazelle
#

Spawnroom is called on which door?

ripe comet
#

entrance door

#

"door" is the class name

dawn gazelle
#

Ok, but then the code above is using "Interact" on the exit door, right?

ripe comet
#

not untill you manually press it on the created exit door

dawn gazelle
#

This here is where you're having the problem, right? This is on the exit door?

ripe comet
#

thats the part that "works"

#

this part, as far as i can tell litterally isnt ever even being called

dawn gazelle
#

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.

ripe comet
#

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

dawn gazelle
#

Are you feeding it a reference to the actual instance of the exit door?

ripe comet
#

the "exit door" is supposed to get a refrence to "door"

dawn gazelle
#

Ok, but the target of the interface call, are you calling it on "self" or the spawned "Exit Door" reference?

ripe comet
#

"door" is calling, "exit door" is receiving that call

dawn gazelle
#

Can you show the code of "door" calling the spawnroom interface?

ripe comet
dawn gazelle
#

It's calling the interface on self

ripe comet
dawn gazelle
#

Interface doesn't communicate to all things that implement it.

ripe comet
#

idk whats up with that, i never added that node

#

and my other one doesnt have it

dawn gazelle
#

"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.

ripe comet
dawn gazelle
#

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

ripe comet
#

moment of truth

#

nope

#

still trying to acess none

dawn gazelle
#

Can you screenshot the error message?

ripe comet
#

i put a string here and its not printing

dawn gazelle
#

After spawning "Generator" where we connected "Exit Door" to call the interface, try printing the display name of "ExitDoor".

ripe comet
#

like this?

dawn gazelle
#

Yep

ripe comet
#

that worked

dawn gazelle
#

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".

ripe comet
#

we love programming joe_cool

#

uuhhhg such is life

dawn gazelle
#

Ah wait...

ripe comet
#

hmm?

dawn gazelle
#

is "exit Door" a "Child Actor Component"?

ripe comet
#

dah

dawn gazelle
#

Yep.

#

You need to use "Get Child Actor" from this.

ripe comet
#

plug that into target?

dawn gazelle
#

yep

#

The log kinda clued me in once I re-read it. It seemed "off" ๐Ÿ˜›

ripe comet
#

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

edgy axle
#

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

dawn gazelle
#

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.

dawn gazelle
#

Custom pawn then it shouldn't matter I'd think.

#

You should be able to do whatever you want with it.

edgy axle
#

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

dawn gazelle
#

Rotate before making it root?

sharp python
dawn gazelle
edgy axle
dawn gazelle
#

My screenshot shows otherwise

edgy axle
#

and I need it as the root to properly move the character

edgy axle
#

that's a visual error

#

or you could just reload the blueprint editor

dawn gazelle
#

Ah gotcha

#

Sorry, out of ideas :/

edgy axle
#

dw bout it I was just complaining