#blueprint

1 messages · Page 91 of 1

hidden yacht
#

I had Third person character BP inheriting a C++ default class that was created automatically when I created the project , was called "PROJECT_NAME_character"
So I had inheritance/parenting like this :
MY_PROJECT_NAME_Character ( it had a lot of implementation in it ) >> BP_ThirdPersonCharacter (Possess/Unpossess logic in it)

so I created a character BP, called BP_Humanoid_Character that inherits "Character" , then reparented ThirdPersonCharacter BP

now I have :
Character (Default ACharacter) >> BP_Humanoid_Character (Looking to map controls in here, dunno how) >> BP_ThirdPersonCharacter ( (un)Possess logic inside)

The actual pawn in the scene being spawned is a ThirdPersonCharacter, so it gets the whole inheritance chain applied.

  • BP_ThirdPersonCharacter has the possess / Unpossess I showed earlier
  • BP_Humanoid_Character has practically nothing in it (maybe should call parent class methods ? )
  • Character is the default ACharacter implementation and I have not touched any C++ line in it.

out of the box, should this be able to move the character ?

The input actions and IMC_DEFAULT for the character were working fine before i refactor the structor of inheritance (except that it works even without assigning IMC_default through nodes ) which made me think that stuff is happening in the C++ file named after the project. I wanted everything to be Blueprints, so i refactored...

I must be missing something here to tell the character how to move based on the inputs ?! i dont know

@undone bluff

ruby wedge
#

hi

hidden yacht
ruby wedge
#

im editing blueprint sequence, i try to save it but doesnt change anythink still old anim... how can do ? "Apply Compression" button doesnt work

#

what can i do for this issue?

ocean pier
#

I tried to set game paused but it also paused the countdown timer so the game is just frozen

shut yew
#

It doesn't spawn in

undone bluff
#

you are definitely adding an input mapping context somewhere

silk cosmos
# ruby wedge

This used to work differently in ue4, I believe in ue5 after you apply your key frames you can select create asset and create a new animation with the applied keyframes. create asset -> create animation -> current pose should be what you're looking for

undone bluff
#

and that somewhere would generally be the player controller

lofty rapids
ruby wedge
#

okay thanks..

dawn gazelle
ocean pier
undone bluff
hidden yacht
#

i no longer use the project_name_character, but rather a BP_Humanoid _character which inherits default character blueprint ( based on ACharacter)

#

call it the base BP for all characters, then I inherit it to have a child BP called ThirdPersonCharacter

#

I can merge 3rdPerson and BP_Humanoid , maybe less headache, but it's probably not the root issue here

undone bluff
#

no it's unrelated

#

the mapping context is added to your player controller

hidden yacht
#

when i hit play, i get the idle animation and camera position, BUT no movement controls working

undone bluff
#

it doesn't matter which character you are using

hidden yacht
#

but depending on what pawn I control, different input contexts will be added / removed

undone bluff
#

so, are you adding an input mapping context on begin play?

hidden yacht
#

Player controller BP :

#

it does call respawn character on the client through RPC

undone bluff
#

ah actually you had some on possess logic

#

I think

#

in your character?

hidden yacht
#

yes

#

so the SPAWN on server ends with a POSSESS

#

and that triggers on client to map inputs

undone bluff
#

since you are doing networking

#

I see you're getting player controller of index 0

#

you want to use the reference from the Event Possessed node

#

because every player has their own controller

hidden yacht
#

end of chain of the SPAWN CHAR on server

#

actually, look :

#

only includes local players on a network client

#

which is unique

undone bluff
#

ah that's a good call

hidden yacht
#

getting that ref from server will return null

undone bluff
#

I worked on local multiplayer so that's still stuck in my head I guess haha

hidden yacht
#

yeah, local MP might be trickier with hosted sessions

#

acting as client and server at the same time

undone bluff
#

did you make sure that the mapping context in the variable is the one corrosponding to the movement input actions you implemented?

#

and just in case make sure that your input mode is set to game only

hidden yacht
#

where do I set Game only ?

undone bluff
#

I like to use a set input mode game only node on event possessed because it makes it so you don't have to click every time you play in editor

#

if the input mode is something else the player controller will not receive the input

lofty rapids
hidden yacht
lofty rapids
#

the events are firing ?

undone bluff
#

what about your movement implementation?

#

what are you doing with the events?

#

are you sure they are the correct events from that mapping context?

#

you can have two with the same name so make sure to hover over them and check the file path

hidden yacht
#

that's why I asked about those red events on the left in the function list

#

in the character BP and Player controller, I am not doing anything

undone bluff
#

ahh I see

#

yea so as I said the character does not do anything with input by default

hidden yacht
#

comparing with BP_Vehicle (which works fine ) I found out that there was a part missing in my character BP, I am not telling it to use this input for that action

celest trench
#

How would I add a unique variable to the array when I am trying to set members in the struct? Does add unique update the struct as well or do I need to somehow pass that into the set members node?

undone bluff
#

the character movement component takes input from the function "add movement input"

#

and does everything for you

#

but you need to call that function

hidden yacht
#

I have NOTHING in character BP that looks like this part in BP_Vehicle

#

those red nodes are nowhere to be found on character BP, names were matching with input actions and stuff

dawn gazelle
undone bluff
#

yea this uses its vehicle movement component and passes it the input to do things with

#

you need to do this in your character with the movement component

hidden yacht
#

on a side note, was alll this done in code on my old PROJECT_NAME_Character file ?

undone bluff
#

presumably

#

this is set up in the default third person template so you can copy that if you want

hidden yacht
#

the default behavior was fine until I refactored lol

#

but I wanted it in BP not c++

#

so does it exist in 3rd person example IN BP ?

undone bluff
#

if you make a third person template bp project it'll be set up in blueprints

grim sand
#

Quick question about BP's with the spline component. I have disabled tick in those BP's (as it is only responsible for placing meshes through the construction script), but what does this mean inside of a build?

If I recall correctly, everything in the construction script is figured out during the building process, so there is no actual load on the game during runtime besides in the render thread for the static meshes. Is that correct?

undone bluff
#

if you create it at runtime the construction script will be run at runtime

#

it's only baked if it can be

grim sand
undone bluff
#

yea then the result of the construction script is just baked into the actor itself

hidden yacht
#

@undone bluff : I dug up the old project_name_character cpp file, i found parts for input

//////////////////////////////////////////////////////////////////////////
// Input

void AProjectNameCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
// Set up action bindings
if (UEnhancedInputComponent* EnhancedInputComponent = Cast<UEnhancedInputComponent>(PlayerInputComponent)) {

    // Jumping
    EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Started, this, &ACharacter::Jump);
    EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping);

    // Moving
    EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AProjectNameCharacter::Move);

    // Looking
    EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &AProjectNameCharacter::Look);
}
else
{
    UE_LOG(LogTemplateCharacter, Error, TEXT("'%s' Failed to find an Enhanced Input component! This template is built to use the Enhanced Input system. If you intend to use the legacy system, then you will need to update this C++ file."), *GetNameSafe(this));
}

}

void AProjectNameCharacter::Move(const FInputActionValue& Value)
{
// input is a Vector2D
FVector2D MovementVector = Value.Get<FVector2D>();

if (Controller != nullptr)
{
    // find out which way is forward
    const FRotator Rotation = Controller->GetControlRotation();
    const FRotator YawRotation(0, Rotation.Yaw, 0);

    // get forward vector
    const FVector ForwardDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);

    // get right vector 
    const FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);

    // add movement 
    AddMovementInput(ForwardDirection, MovementVector.Y);
    AddMovementInput(RightDirection, MovementVector.X);
}

}

#

void AProjectNameCharacter::Look(const FInputActionValue& Value)
{
// input is a Vector2D
FVector2D LookAxisVector = Value.Get<FVector2D>();

if (Controller != nullptr)
{
    // add yaw and pitch input to controller
    AddControllerYawInput(LookAxisVector.X);
    AddControllerPitchInput(LookAxisVector.Y);
}

}

grim sand
grim sand
undone bluff
#

(``` before and after )

#

anyways, yea this is just receiving the input and then passing it onto the move function which gets the correct rotation and then calls AddMovementInput, which the movement component reads and uses to make the character move

#

third person template does the exact same thing in blueprints

hidden yacht
#

found it in a new project as BP

#

that gets me to my old question, to insert that node on the left (EnhancedInputAction IA_Move for example) , how ?

#

what tells the BP that it should get it from input mapping files already in the project

undone bluff
#

you should be able to find it pretty much anywhere over the search

undone bluff
#

by placing the input action you are subscribing to receive these events

hidden yacht
#

using this :

#

will make the graph get the evnts as nodes ?

undone bluff
#

you can place the nodes even if you do not add the mapping context

#

are you not able to find them?

hidden yacht
#

i was not

#

now i could

undone bluff
#

ah, well, this event is called as long as the corrosponding mapping context is added to the player controller, that's it

hidden yacht
undone bluff
#

from there you do what you want

hidden yacht
#

was using the wrong search filter

undone bluff
#

you got it

hidden yacht
#

Well, i can't say I did alll this on discord for nothing, I learned it the hard way haha

#

At least I knew that ACharacer does not touch inputs

#

and that it was done in CPP

#

and that the example project as BP had them already !

#

Thank you @undone bluff and all who contributed to this

undone bluff
#

np, it was a little bit rocky but we got there

topaz gazelle
#

How do you guys go about getting references to actors that are placed in the editor? For example if you wanted a light switch to know about all the lights in a room. I would like to be able to put all the objects in a single blueprint but it seems some actors aren't meant to be used as components.

#

I'm using a box collision inside the light switch blueprint and adjusting the size of the collision inside the editor to match the size of the room, then enabling/disabling collision to see what overlaps.

#

But that feels wrong.

undone bluff
#

if I want to make a switch activate a light I click on the switch, in the details panel add an entry to the array and use the eyedropper tool to select the light

#

the switch, when activated, loops through every actor in the array

#

and sends an activate interface event

#

hell, because of that parent class you could even do casting safely

tiny aspen
#

I'm working on creating a Float Curve using the Curve Editor. I'm describing a curve that starts at 0, starts falling as if by gravity until about 80%, rests there briefly, and then curves into a linear curve to the end point. I'm struggling to capture what I want with the tool. It appears that making a node linear only impacts the right side of a node. If I select the node on the right side of the linear part, and use cubic interpolation with user broken tangents, then I can I can tweak how the next part of the curve is shaped. In other words, I can get a tangent handles for the node on the right side of the linear part, but not for the node on the left side of the linear part. I really feel like I am missing something, but I can't even find a resource that mentions this limitation. I can successfully created what I want by creating the entire curve backwards and just using it slightly differently in my BluePrint. What am I missing?
EDIT: For future searches. Don't use linear part, just use cubic interpolation with user broken tangents everywhere, it is not hard to align the two tangents to make the linear part.

topaz gazelle
#

@undone bluff I'm not sure what you mean that you have one parent class for all blueprints. Are you referring to re-parenting in the class settings? When I've tried that, it sets the child class the same as the parent class. Meaning I couldn't parent a Character to an Actor without losing the character's inheritance.

#

Or the lights should be parented to the switch.

undone bluff
#

and set that as the array type

rugged wigeon
#

Sounds like the sort of thing that should be a component, not a class hierarchy imo

undone bluff
#

I disagree

topaz gazelle
#

That's really intriguing but I still don't understand. Would you be willing to screen share an example?

undone bluff
#

I don't see the benefit to a component, but it does dependent on the game

#

also part of the point is to provide the accessible arrays of references

#

which you can't with a component

#

and you're limiting the addition of references to the array to only valid types which is just good practice

placid bloom
undone bluff
#

hit me

placid bloom
undone bluff
#

I was expecting something related to the topic and I already know this one 😔

undone bluff
#

use that instead of the box setup

#

when the array is public you can see it in the details panel and add the lights per instance

undone bluff
#

this is what I meant to reply to

rugged wigeon
topaz gazelle
#

I can see how the level blueprint can set references to objects placed in the world (using the eyedropper), but I don't see how you can do this in a custom blueprint.

rugged wigeon
#

you don't do it for a custom blueprint (the descriptor of a class), you do it for a specific instance of the class that is placed in the world

undone bluff
topaz gazelle
rugged wigeon
#

class filter doesn't really change anything under the hood. It still has to loop over everything and check if it obeys the class filter rule.

#

not very different from checking if it has a component

undone bluff
#

yea that is a good point, since we are in the blueprint channel though it is much better than a blueprint for loop

rugged wigeon
#

You need to put the instance of the bp into the level

topaz gazelle
#

thatt makes so much sense.

rugged wigeon
#

then set that specific instance's value

topaz gazelle
#

A million times thank you.

rugged wigeon
#

crude example from my game.

#

the instance of unit can use the eyedropper to set an actor ref Target Enemy

undone bluff
#

the inheritance from the base class is pretty much just the interface, variable setup and a few functions, you can do the latter in a component but it really doesn't seem like a great approach and you'd have to redo the first two for every new object you make

#

the component based setups I've seen are super inconvenient to use

#

but I'd be happy to be proven wrong

fleet sigil
#

How would I set up a text renderer to have set bounds so that this doesn't happen. I don't want to limit the length of the text that can be input but rather where it is actually visible? pls @ me

cobalt gulch
#

How can I make a level system where it goes up from level_1, level_2, level_3 etc and at the end of the level you press a button to go onto the next level, without having to make a "map name = level_2" branch for each level?

#

Can I just +1 on the level name to choose it for example?

rugged wigeon
#

no, it's basically the same amount of work. You would add your component, and it would call the interface, which the BASE class of your static electronic interactables calls the events that you're already doing in your current setup. Then everything just functions the same for the rest of them with usual inheritance.

#

the difference being that if you want to include, say, a pawn that can interact with the electronic system, now you can just add that component and implement the interfaces too. It is good to use inheritance for things that logically inherit. But often that can't be everything

undone bluff
rugged wigeon
#

Base class has the component. Component calls interfaces on owning parent. Base class handles interface by calling base class events.

Child classes override those events and never think about the fact that they're going to be called by an interface again.

#

And so if you end up wanting static electronics and robots, you're probably just going to have those two unique base classes which have the components and handle routing the interfaces.

undone bluff
#

makes sense

#

you can still do everything that requires class based inheritance, but communication is handled between components so you can expand beyond that base class if needed

#

he explains it right in the video?

frail onyx
#

ill check it out

undone bluff
#

haha, good luck

#

the explanation is decently thorough from what I saw

dark drum
# rugged wigeon And so if you end up wanting static electronics and robots, you're probably just...

It's interesting you mentioned an electronic system. I recently overhauled an electric/power system that was originally done using class inheritance. When I overhauled the system, I used a component that I put on actors I want to consume power. The component registers with the relevant manager and receives the various messages and the actor just intercepts some of the messages to perform actor specific actions. (Update materials, lights etc...)

frail onyx
undone bluff
rugged wigeon
#

The good thing here is that it's not a particularly big lift to eventually make it all a component based system. You just swap the initial hooks to be interfaces.

#

the original class bp inheritance is probably 90% stable

cobalt gulch
dark drum
finite hearth
#

Hey Friends, I am observing some funky editor behavior and I could use a hand: v5.3.2

When I open the editor, there's a rollback - it's always the same change that is reverted - the transform of a widget component. I've recompiled the parent and child object but if I save, close, and reopen my project - the change will be reverted. This one just won't stick.

I am using GIT for source control, but have observed this issue regardless of commits or lack thereof.

undone bluff
#

I was honestly hoping to not work with a manager and just have each connection only be aware of its direct connections

#

I guess it depends on how big you go

#

I was generally only thinking of power source > trigger > device at most

dark drum
undone bluff
#

right, and it'd be much more efficient with big systems

#

lots of optimization you can do

dark drum
undone bluff
#

some switches can have integer states but I like to think of that as separate to power

dark drum
# undone bluff some switches can have integer states but I like to think of that as separate to...

If it's not actually power but more of toggling on and off (or cycling through different states) I would just use an instance editable actor array and use an BPI interface. When you interact with the switch it loops through the actors and calls a BPI function on them.

When the switch is in the level, you then populated the actor array of what you want the switch to control when interacted with.

undone bluff
#

I think where the manager becomes necessary is power consumption

undone bluff
rugged wigeon
lofty rapids
chilly plover
#

Still stuck on getting the slot name for the game loaded

dark drum
undone bluff
#

yea, this, make the screen a widget

undone bluff
#

you can increment the level name

cobalt gulch
#

Gotcha

undone bluff
#

but it's inflexible and not a fan to be honest

#

if you happen to have a level selection you probably have something that holds all your levels so you can also use that to select a level from to make it extra convenient

cobalt gulch
#

yeah

#

I need like a list of the levels

#

and in the correct order

undone bluff
#

it's convenient, I have one set up for loading screen text and other per level data I might need

#

if all you want is a numbered list use an Enumeration

#

when you add a public variable with its type set to the enum you made you will be able to select the level from a drop down

#

or you can pick an index in the enum from an integer

#

while still being able to call the level names whatever you want as long as you update the enum

rugged wigeon
lofty rapids
#

you could use a prefix and the current level as an integer

#

atleast that's what i used

#

when open level by name, you just increment the current level integer

#

level_1, level_2, etc...

#

and you could load any level easy by just putting in the level number

#

i would even just make a function like loadlevel and pass it an integer

#

that way you can just increment and keep going

#

or warp to whatever level you want

cobalt gulch
lofty rapids
#

sure either way would work i would imagine

#

you could even squish it between both

sterile fjord
#

I'm trying to build a runescape-like minimap within the topdown project example, but am running into a couple deadends I don't know where to go with:

  1. I'm using SceneCaptureComponent2D over the top of my character for minimap view, but need to figure out how to render it unlit on my texture/material or remove shadows somehow
  2. I have a border image layered under the minimap in the UI Widet that I'd like to be able to grab the corner of to resize the map
  3. I need to figure out how to translate a cursor click on the map into a world position that the existing TopDown example movement system will use as the next point
zealous comet
#

how do i hide a child actor component from only the owner. i tried owner no see but child actor components dont have that option.

silk cosmos
#

Try and use an actor that you spawn and attach to a component on your actor instead. child actor components are buggy and broken

thin panther
#

@sterile fjord @zealous comet read the #rules on crossposting

zealous comet
thin panther
#

That's fine, you should just remove the previous one 🙂

#

It's also quite late, so activity plummets around this time

fringe perch
#

Hi, I was wondering if i could find any help as to why my BP isnt working... When they collide they're both supposed to switch but I'm not sure as to why the target isnt registering properly?

thin panther
#

something's wrong there

#

The target node on a variable get is for something you're accessing from another bp

#

So the reference to self being plugged into the variable is a logical fallacy

#

You're saying
"Get me a variable from a bp that isn't this one"
"Ok which one"
"This one"

rugged wigeon
#

That’s not quite right. At no point does this say “not this one”.

thin panther
#

Yes it does

fringe perch
#

Thanks for the response, but when I run it it goes through that node fine, its actually the ones after when I try to reference the other copies that does work as I intend

thin panther
#

That's what the target node is on a getter

#

You don't get the target if the variable is in the BP you are currently in

fringe perch
#

How can I reference other copies of itself as the "other" variable in the event hit?

thin panther
#

The other actor when casted is the copy of itself.

When working locally with a var in this bp you don't need a node with the "target" pin

rugged wigeon
#

What exactly is the problem? You’re switching on whether self.Caught == True. Have you determined that this value is being set correctly?

#

Did you perhaps mean to be switching on target.Caught instead?

fringe perch
#

Uhhh so it probably wasnt the best idea to do everything internally within the same BP, but when they're both supposed to swap states on collision

#

but the person with selfmove = false doesnt swtich properly

rugged wigeon
#

Are they two of the same thing colliding with each other?

fringe perch
#

yep

rugged wigeon
#

Are they swapping twice because each collided with the other

fringe perch
#

Uhm no

#

It just stops at the nodes where the condition is as bp ->

rugged wigeon
#

What do you mean stops?

thin panther
#

"It just stops"

Do you get any errors, or does execution just not go any further

#

I'd stick some breakpoints in so you can follow that chain

fringe perch
#

I dont get errors

#

it just doesnt execute how I expect it to

#

I expect them both to swap states

thin panther
#

Get some breakpoints in so you can step over 1 by one and see what's going wrong

fringe perch
#

Uhh- how do i add in breakpoints ^^"

thin panther
#

Pretty sure you can just right click the node and toggle them

rugged wigeon
#

You circled the wrong node

#

It’s clearly following the self.Caught == False path and then getting to Target.Caught switch

#

Then it “stops” because it evaluates to False and the exec pin goes nowhere

fringe perch
rugged wigeon
#

So the problem is target.Caught == False

#

The other guy, that is. Both of them are not caught

lucid prawn
#

Hopefully a super easy one - my Google Foo is letting me down. How do I get a refererence to an actor being stored within an array I've populated?

#

I'm trying to get a reference to a random actor from "Dance Floor BPs" so I can trigger a function on it. For the life of me I can't figure this out, and I swear I've done this before. Might be Sunday night brain drain.

thin panther
#

Take a random from 0 to length -1 then use the get node with that output

#

Make sure to cache that number or the reference if you're using it more than once. Pure nodes run uniquely for every connection

rugged wigeon
fringe perch
lucid prawn
lucid prawn
#

Copy worked.

#

FML.

#

@rugged wigeon - Thank you, I feel like an idiot.

fringe perch
#

the rat thing

#

caught is true when they're the rat thing

rugged wigeon
fringe perch
#

they switch to the rat flipbook when caught is true

#

when caught false its the troll face

rugged wigeon
#

… pause the game simulation before the collision and check if it’s actually set to true on the ray

#

Rat

rugged wigeon
rugged wigeon
fringe perch
#

I mean its the only way its got the rat sprite

#

it changes to troll when caught = false

rugged wigeon
#

Yeah but this appears to be the problem so let’s check

fringe perch
rugged wigeon
#

And if you do this for the whole sequence, it keeps printing rat through the collision?

fringe perch
#

no

rugged wigeon
#

Is it possible it’s being set to not Caught at the time of the collision

pastel garnet
#

Hello, can anybody help with figuring out why level streaming (loading screen) isnt working when i try to load the menu back in. you can look at the level panel to see what levels are loaded in at any given time.

rugged wigeon
#

Nearly that time* and as a result you’re not getting the result you want?

fringe perch
#

oh wait i lied?

#

it does...?

#

wait no it doesnt

#

that was just left over prints

main lake
#

Guys, when the player jumps, when he's ascending, would "IsFalling" on the CharacterMovement return true or false ? I know that when he's descending it will return true but what about when he's ascending up when he press the jump key

fringe perch
rugged wigeon
#

Everything happens one at a time

#

You don’t have guarantees about the order

#

But no game logic is parallelized

fringe perch
#

@rugged wigeon thx for explaination, do you have any solutions for this problem?

rugged wigeon
#

I guess I would start by only doing the collision logic if they’re the rat

#

Just make one of them do everything and the other do nothing

drifting mango
#

Not sure if this would apply here, but I am working on some movement concepts for a project, and one of the things that we want is to make a system where an actor can slide, and store momentum for their next jump. Is there a way to even store momentum via the blueprint system?

spark steppe
#

it's just a force? so a vector should do

drifting mango
#

Store the forward vector as a variable and apply it on jump, probably

rugged wigeon
#

Might want to start getting specific about physics terms.

#

Momentum is velocity * mass.

#

Sounds like you want the velocity. Not the forward vector which is simply indicating the direction of an actor

spark steppe
#

also the forward vector could change in the last moment of the slide if the player turns, so you would end up in the wrong direction

rugged wigeon
#

Of course, you probably don’t want velocity either. You probably want to accrue “sliding power” while sliding, perhaps done with speed as a modifier.

#

Because presumably there’s a difference between storing over a 5 second slide vs a 0.1 second slide, even if they’re the same velocity

drifting mango
#

This is all pretty useful information, I'm diving headfirst into UE4 to try and grasp all of this

spark steppe
#

that's more or less more of a general physics/math problem

#

as gorilla said, the momentum builds up over time, but after all it's just an force/velocity in one direction (which may be altered during the slide)

#

what you end up with also depends on what kind of behavior you want for your game

drifting mango
#

Sounds like fun

keen ore
nocturne fossil
#

is it possible to impoert particcles from other ddcs or we limited to niagar?

cyan bone
#

this technique makes grids only using 1 mesh

#

it draws everything in just 1 procedural mesh

#

I think its very interesting technique

#

However, after i had a nap, I realized ISM is better?

#

Or am I wrong?

#

Though proc mesh you are making 1 mesh, you are also having to render it all even if a lot of its geometry is hidden from the camera

#

Whereas an ISM, you can have 1 million square tiles. But only the ones on camera are rendered...

#

Can anyone confirm if this thought process is correct?

#

Also with ISM is very versatile to change the materials per instance

celest lotus
#

can anyone help on setting up movement of tetris blocks, Currently what im doing is whenever we press A,D,S the pawn is changing the location of the block using set actor location node. But whenever i press S and the block is about to collide with either floor or another block it ignores the collision and goes inside. For rotation i m using set actor rotation and its doing the same thing

gentle urchin
#

Hence the combined drawcall

cyan bone
#

ISM you could make all the tiles as you want using a SpriteSheet

#

Can change color of tiles too with ism

#

i dont know

#

its quite tricky

#

But in my thoughts ISM is winning again

gentle urchin
#

If theres a limited set you can just use multiple ismc's

cyan bone
#

yeah

#

would you still opt for the Proc Mesh?

gentle urchin
#

Dunno what the clear benefits are

cyan bone
#

As of now i'm creating new Proc Meshes for that

#

Whereas in ISM, you would simple create a PerInstanceCustomData

#

This is just an example

gentle urchin
#

Personally i found it pretty troublesome to set up aswell

#

But thats probably a me thing

cyan bone
gentle urchin
#

Troublesome**

cyan bone
#

but its great to know, because proc mesh is a great thing

gentle urchin
#

Doing ism landscape was relatively easy

#

A bit work to match up angkes and directions but not that bad

gentle urchin
#

rotations

cyan bone
#

for what exactly? elevations?

#

i mean

#

you are making tiles? or you can add variations?

#

afaik ism cant change the mesh

gentle urchin
#

yeah , elevations

cyan bone
#

ah

cyan bone
#

i can only see it as a flat tile map

#

well

gentle urchin
#

trying to rebuild the project i had it in

#

but its borked due to missing plugin atm

cyan bone
#

is by using a different ism for each different lego piece

gentle urchin
#

yepp

#

thats what i did

#

had like 8 or 10 pieces

cyan bone
#

there is another way that just occured to me, that is by using a box mask

#

you could then cut each piece

#

though its another workout

#

🏋️‍♂️

gentle urchin
cyan bone
gentle urchin
cyan bone
#

i prefer this than the super realistic graphics

#

you also made transition tiles

#

i can see there in the sea to the land

#

thats annoying to do

gentle urchin
cyan bone
#

you used bitwise method?

gentle urchin
#

i also added transitional materials

cyan bone
#

ah, it makes me want to do it too

gentle urchin
#

Was an interesting project

celest lotus
#

why is it that whenever i set the rotation to 0,180,0 it turns into 180,0,180

trim matrix
#

So I have a variable IsGrounded

#

And I have a custom Event with an input called IsGrounded

gentle urchin
#

shouldnt be an issue no

trim matrix
#

and these are supposed to be independent

#

Ok thanks

gentle urchin
#

but it makes it hard to differentiate

#

so i'd suggest a distinguished name

trim matrix
#

This is for multiplayer replication RPC, so I want them to be similar 🙂

celest lotus
gentle urchin
#

Statefull replication should prob be a repnotify aswell

silent stag
#

There is a truck driving on a spline and when the spline ends, this truck explodes. How can I get back to the beginning after the explosion?

surreal peak
celest lotus
surreal peak
#

Rotators suffer from gimbal lock. It's a term you can Google. Images explain it better than words.

#

It's a phenomenon when one axis aligns with another.

#

Which would happen if Pitch is 180 and the other two 0

celest lotus
frail onyx
#

anyone know why my sphere mask is not centered on my sphere collision?

surreal peak
frail onyx
#

this is what its at right now

#

im trying to have a just the white outline and have the middle where it's black just show the normal texture that it's covering

celest lotus
#

I looked on the google but im not familiar with quaternions

surreal peak
# celest lotus how to fix it then?

Quats would be a fix, but I don't even know if they are available to blueprints by default.

You can try setting the value directly instead of adding it

celest lotus
#

there are nodes of quats

surreal peak
#

The easiest way to handle quaternions is to see them as a rotation around an axis (imo).

For example the Pitch rotation you are adding is a 90° rotation around the right vector

frail onyx
surreal peak
#

I'm sure someone else will help. Europe is just waking up time zone wise

frail onyx
#

oh alr, np

faint pasture
#

think about it

#

0,180,0 is "look up so far that you are looking backwards

#

180, 0, 180 is "turn around, the roll your head 180 degrees

#

you end up with the exact same orientation

faint pasture
#

do each mask 1 at a time and make sure it's behaving the way you want it to

#

matter of fact, do it with 1 lerp

#

make a bit of material that outputs the 0-1 spherical shell then just have that drive the lerp between scenecolor and white

steel shadow
wicked osprey
#

Hi guys, how can I find the new location of the child component when the parent component is rotated new
-Root - NewRotation
--Comp - NewLocation

trim matrix
#

@wicked osprey

silent stag
#

i add actor to actor as a childactor. How can i reach this child actor variables ?

silent stag
silent stag
wicked osprey
#

I need to get what the location would be if the parent component was rotated

#

New location of child component by new rotation of parent component

thin panther
#

Fwiw abandon usage of the child actor component. It's insanely broken and Epic have no intention of fixing it

distant hollow
steel shadow
# silent stag i tried that

This is confused by you calling your component 'child actor'. You need to do a GetChildActor call from your 'childactor' childactorcomponent. Then you cast.

silent stag
onyx token
#

is this the correct way to change scalar parameters on widget image component material instances? thenk

#

well- it probably isn't because it doesn't work...

#

The parameter name fits the instanced material

#

and i'm getting the scalar value, when i print it, it prints the default value correctly

#

Which means the SetScalar must work aswell

#

But for some reason it won't show up on my 4 CrosshairBackL, L1, R and R1 (which are all widget image components)

onyx token
#

ok i found out you're supposed to create a binding-

#

but this somehow still doesn't work rooniBrow

#

the 2 display names in the print are the same

#

so the dynamic material instance is created, and applied to the image...

#

wait wtf-
this works

#

but if i connect "changeCrosshair" - the print is still being fired, so the event does reach the widget

#

wat

#

wait- i'm really stupid. I had spawned 2 crosshairs, 1 for debug that was invisible and i by mistake addressed that one

#

it's been 50 minutes

shut yew
#

And, additionally how do i make it so that only when my chest is open i can pick up the potion

onyx token
lofty rapids
shut yew
#

just one

onyx token
#

or you could work with a boolean flag, ye

lofty rapids
#

a simple boolean true/false if it's open up or not might work

shut yew
onyx token
#

also don't use delay, use an animation notify event

#

it's cleaner catnod

lofty rapids
# shut yew

now when you go to pick up the key, check that boolean

onyx token
#

allows you to change the animation and it still works

shut yew
shut yew
lofty rapids
#

the bool should work out

neon lion
#

how can i set a variable (of a type like UPrimtiveComponent*) to a component that is already on an actor? Can i just drag and drop onto it in the details panel?

shut yew
#

I just want to block the character from picking it up

#

but it just dissapears

lofty rapids
#

if it's false then don't pick it up

shut yew
#

im trying but its not working

#

only if chest is open i execute add item but it still dissapears

lofty rapids
shut yew
#

no

#

it just dissapears

lofty rapids
#

then the booleans not true

#

or it's not consumable

shut yew
#

it is consumable

pallid gorge
#

Note, sometimes print strings do just break too, best if you can find another piece of functionality that is/isn't firing and/or restart UE just to be sure

#

I've had lots of code that fires perfectly but print string just decides not to

#

Same with breakpoints

lofty rapids
#

strange

shut yew
#

yea

#

now it doesnt fire any of the strings

#

strange

#

imma restart

pallid gorge
#

Have you tried breakpoints?

shut yew
#

ill try nwo

lofty rapids
pallid gorge
#

Can put them on the print to see if it fires or the branch to see the state of the condition being passed in when it's supposed to

lofty rapids
#

maybe put one on that path as well see if it hits it

pallid gorge
#

On another note I'm also hitting a block, any suggestions appreciated. I'm trying to pass in items to an array and then get a weight for each item based on how many duplicates of that item are in the array. IE: If the array has 10 items and 5 of them are the same I want to get a weight of 0.5 back

#

I could probably increment duplicates and then total them all up but I feel like there has to be a more clean solution but I'm also not that familiar with all array functionalities

shut yew
#

it stops there apperantly

#

so how do i make it stop dissapearing

pallid gorge
#

It stops on the false you mean?

shut yew
#

yea

pallid gorge
#

Well you don't have anything running off of it so it's not gonna do anything when it hits

shut yew
#

how do i just disable the pick up

shut yew
#

for some reason

frigid summit
#

hi guys whats wrong with this why is the widget not show up

lofty rapids
pallid gorge
# shut yew for some reason

You're probably handling that in another spot in your code would be my guess and it doesn't actually check whether or not this whole sequence went off properly

shut yew
#

not really tho

lofty rapids
# shut yew yea

maybe thats where it gets removed ? because i don't see the destroy in that code

pallid gorge
#

I'm hopping in kinda late so I don't know if you have all the code related to this posted already, but if these two sequences aren't talking to each other then the outcome isn't gonna matter

pallid gorge
shut yew
#

its just the potion

pallid gorge
#

Well does the potion have its own code for pickup or are you using some catchall setup?

shut yew
#

catch all

pallid gorge
#

So where's that?

shut yew
#

wait a sec

frigid summit
#

after they all dead

pallid gorge
frigid summit
pallid gorge
frigid summit
pallid gorge
shut yew
#

i had some other code hidden related to pick up

#

but it still dissapears

lofty rapids
shut yew
#

yea

shut yew
pallid gorge
#

What's happening in "Pick Up Item Event"?

pallid gorge
frigid summit
#

dont even worry about that i set it on event begin play so im sure its valid

shut yew
#

dawg

#

now it doesnt wanna pick it up at all

pallid gorge
shut yew
#

even tho chest is opened variable doesnt become true

pallid gorge
# shut yew

Why is the chest open variable pulled off the TPC?

shut yew
#

what

pallid gorge
#

Your chest variable runs back to your third person character for a target

shut yew
#

bruh

#

2 different variables

#

wtf

#

they were 2 diff variables

frigid summit
#

and sequencer connected to event begin play

shut yew
lofty rapids
#

you could set it on the player to make it easier

shut yew
#

yea but i need to change the variable when the chest gets opened

pallid gorge
# shut yew

You'd have to have some reference to the chest, what blueprint is this being called in?

lofty rapids
shut yew
#

done

#

finally

#

holy smokes the whole bug is that i had 2 different variables

shut yew
frigid summit
shut yew
#

now how do i set collision to the chest but still put something inside of it

shut yew
shut yew
pallid gorge
shut yew
frigid summit
pallid gorge
#

Because I don't think "get time seconds" is gonna be what you want anyway

frigid summit
#

thats really strange they are in the same widget

frigid summit
#

update death time event contains all my rank system

pallid gorge
frigid summit
#

but when i putted it after the reducing health it worked but the proplem of this its one enemy

pallid gorge
thin panther
frigid summit
pallid gorge
# frigid summit the enemy

So you've got a timer that runs at the start, and after the enemy dies 3 times you want it to stop the timer and display it on the screen, is that it?

frigid summit
#

not the times of death of them

pallid gorge
#

Unless you're recycling the same entity

frigid summit
#

but why its not passed

pallid gorge
frigid summit
pallid gorge
frigid summit
pallid gorge
#

You'd have to either have all your enemies communicating when they die to increment all of them simultaneously or save the variable somewhere that isn't tied to a single enemy

thin panther
pallid gorge
#

You probably could but it'd probably be easier to have on the player or the level blueprint and just have the enemy fire some event

thin panther
#

You've got an update, but nothign controlling widget visibility

#

From that we don't even know if the widget has been created

thin panther
languid hemlock
#

Is it possible to add delegate parameter to a function?

frigid summit
thin panther
#

where do you ever set remaining seconds.
what's it's current value?

#

(Also please cleanup the spaghetti, it's incredibly hard to read :P)

frigid summit
thin panther
#

It is related to it though. If remainingseconds is never below 47 then it's always going to take the bottom path, hiding your widget and thus not showing it

lilac storm
#

hey guys please help my nav mesh looks like this with huge gaps, how i can fix it ?

frigid summit
#

i tested it with one enemy it worked but somehow with multiple enimes it dont

#

cuz the death counter dont increases

pallid gorge
#

I know there's addunique for arrays but is there any node that lets me check if the entry would be unique and get a bool/branch back?

thin panther
#

"Contains"

pallid gorge
#

Thank you

gentle urchin
manic ridge
#

Does anyone know how to get rid of the projectile arc for the projectile in the first person template

#

nevermind

empty marten
#

Hey peeps,
Got a curiosity question here. In regards to searching for tags through a For Each loop and then using a Switch on Name, would it be better to check if the hit actor has the tag first then Switch on Name (tag) and execute whatever or is it better to have it the way I currently have it? This is my first time setting up BP code multiple tag checking so not sure the best (optimised) way to do it.

crystal crown
#

I can't save my component after using a macro plugin in it

glossy bolt
#

Hello guys is there anyway to trigger a key in level blueprint when level is loading

lunar sleet
lunar sleet
lunar sleet
crystal crown
empty marten
lunar sleet
crystal crown
#

Did not help

lunar sleet
lunar sleet
empty marten
lunar sleet
#

Hit actor, actor has tag

#

2 things: 1. Do you actually need tags or can you just cast?
2. Why iterate over the array of tags, does it not just let you check for a specific tag?

empty marten
#

Well the actor doing this event is a security camera and its going to be hitting different actors and not 1 specific actor hence the tags.

lunar sleet
#

Ok good

#

Ig it’s safer to iterate over an existing array than use typed in names so that should be fine

#

Normally you can do nested casts but if you’re going to have many checks, this is prly better

empty marten
#

Well at the moment I'm only checking for 3 things but overall I plan on needing to check 8 things at the moment. It might go up to 10 if I expand this pack more. This is for the marketplace when its done and I'm just making sure I get everything clear and optimised for it at the moment. Hence my original question.

gentle urchin
#

Id probably make a detectable component instead of tag as it can hold states and triggers more easily imo

#

The native tag system isnt the most versatile thint i've seen, to put it nicely

twin shale
#

How bad are Child Actor Components exactly? I need to swap out a PackedLevelActor with a Static Mesh depending on some variables. I have to do this quite a lot. I can't make a PackedLevelActor component so it would have to be in a ChildActor. These do not move

dire frost
versed sun
#

Isn't the Replicating of Child Actor Components costly?

twin shale
twin shale
rich ferry
#

Still trying to figure this out. I have a system to place a decal at the endpoint of a projectile path, but it doesn't seem terribly accurate. I can verify the projectile prediction is perfect (the white line), but the decal seems to "snap" to certain positions without closely following the given location. You can see here the difference between the red ball where the projectile landed and the decal. It's not consistently off in any one direction, the inaccuracy will vary. Any ideas?

lunar sleet
#

And wouldn’t it be more accurate to register the hit location instead of predicting it or is that too slow?

rich ferry
rich ferry
faint pasture
#

is there anything in that actor that can collide?

rich ferry
lunar sleet
rich ferry
lunar sleet
#

Are you actively watching the value of the xform at runtime?

rich ferry
lunar sleet
#

Right click the pin, watch value

rich ferry
#

Ah

lunar sleet
#

You might need to select a debugging object after you click play

gentle urchin
#

I prefer debug draw over viewing vectors

faint pasture
#

you need to figure out if the vector is not what you expect or if something is wrong after the vector

rich ferry
gentle urchin
#

So then its the decal

#

Being unalligned or scaled or both or offset

faint pasture
rich ferry
rich ferry
rich ferry
gentle urchin
#

Doesnt it also come with debug traces

rich ferry
#

Let me try that

#

Yup that solved it. Thanks everyone for the help though, I'll probably switch over to using that decal method instead, seems more elegant.

floral totem
#

I’m attempting to have a projectile bounce back to the player who shot it, how would you all approach this? I’m going for something similar to Dravens Attacks in league where my player throws a weapon then it bounces off and lands near the player to be picked up (uses EQS to locate). I’m at a loss of where to start. Currently my projectile just destroys on hit, should I be using a physics material? Launching the actor? Reversing velocity? Any input would be greatly appreciated thanks!

rich ferry
flat coral
#

I'm trying to make an AI that moves along walls towards the player. I have the idea of doing pathfinding in open space first by just drawing a line, and then somehow pushing that line against the nearest wall to generate the path the AI will take.
Two questions:

  1. What's the most efficient way to find the nearest wall (or ceiling, or floor) from a point in space?
  2. Is there a more efficient way to draw a line along a complex wall than spawning a bunch of collision spheres along the line?
#

Hmm I could move along a spline but how do I fit a spline to a wall

floral totem
frail onyx
trim matrix
#

Hey, how can i loop through a TMap in Blueprint?

supple dome
trim matrix
#

thanks!

faint pasture
gusty shuttle
#

Question for local multiplayer blueprints
I can't move my second player with my controller. It works fine for my Player 0, but not for Player 1. Any tips or keywords?

faint pasture
gusty shuttle
#

Correct

faint pasture
#

I haven't found a solution yet but I'm working on the same problem

gusty shuttle
#

Aye, I feel you brother

faint pasture
#

I think the core of the problem is that there is an association between hardware and players

#

and if Skip Assigning Gamepad to Player 0 is not working, we need to figure out how that association is made and how to modify it. I want to be able to have any mix and match for any players for my project

gusty shuttle
#

Agreed. From the hours of scouring the internet, it leads to the enhanced input system not playing nice

#

If we could assign the controller input to the player 1+ that would be great (Player 0 is player 1, player 1 is player 2 technically haha)

faint pasture
#

What I want is a SSB style ability to do any sort of mapping I want

#

Like if I have a KBM and 2 controllers, I want to be able to have 2 players on the 2 controllers or 1 on keyboard

gusty shuttle
#

That would be amazing

floral totem
faint pasture
#

just restart the movement at the end of the first travel and fire it off back towards the character

neon lion
#

after opening the editor, how do i get back to this "data only" blueprint

fickle flame
#

does anyone know why my mouse button inputs require a double click but my keyboard works on single?

#

i have to double click to get it to go off

floral totem
chilly plover
#

is there a shortcut to output game info like fps when you are playing the game in the editor?

lofty rapids
#

theres a console command at the bottom

#

stat fps

#

shows fps

#

idk about any other ones

chilly plover
#

What aboyut outputing graphic details like exture quality?

broken wadi
lusty hedge
#

how do i make this player controllers collisions work with the mesh and not the capsual component scene root

#

i want it to be slanted on the slope

thin panther
#

you don't

#

though you could juswt trace downwards and orient the mesh to the face normal

lusty hedge
#

might look bad on areas that are bumpy

#

any ideas?

#

theres no way to do it with physics easily?

thin panther
#

If you're making a vehicle you'd be much better off actually using a vehicle

lusty hedge
#

thats a default thing?

jaunty solstice
#

I've added random idle animations to the Construction script for the Crowd Characters. This works correctly when I manually drag the blueprint from my Content Browser to my scene.
However if I try to Spawn the same Crowd Character BP from a PCG graph the animation in the Construction script doesn't work.
In order to have the idle animations play on spawn (without entering PIE) what must I do? In other words, why is my Construction script ignored on Spawn?

lusty hedge
#

whats the difference between creating an input action and changing inputs in the project settings

thin panther
#

inputs in the project settings are deprecated and you can't hot swap control schemes for different things

lusty hedge
#

im finding a quite a handful of different things

#

some things about a physics mesh and vehicle controller but im not exactly sure what to look up

thin panther
#

probaably start with looking at the vehicle template perhaps

faint pasture
#

First off, how does your vehicle move?

#

is it really a Character?

flat coral
#

I need a way to find the best way OUT for an object that is currently colliding.

See, I built this funky pathfinding hedgehog that works great for finding valid nearby places to move to. Only problem is, if the pawn in question is currently colliding, then 100% of the traces just collide at the starting point and it goes nowhere. So I need a way to move the origin point of the trace AWAY from the surface in question.

faint pasture
flat coral
#

Sphere sweeps

faint pasture
#

the best way out is some math on the directions for the hitting spheres

flat coral
#

But remember, they ALL hit

#

ANd they go nowhere

faint pasture
#

Why are you doing all this instead of sweeping the actual collider you care about?

#

how did it get into the initial penetration state, spawned like that?

flat coral
#

So the end goal is to create an AI that can move along walls, ceilings, floors, etc, even when those surfaces are complex or angled. This trace pulse is for pathfinding.

flat coral
#

Also I think if it moves to one of these trace locations it WILL be touching the surface anyways.

faint pasture
#

If all movement is physics driven then it should never end up in that state

#

assuming the physics engine is doing its job

flat coral
#

THIS one isn't going to move physics-based. Too complicated.

faint pasture
#

if you put a physics boy in a physics trash compactor then it should never break, but if the trash compactor is just "interpolate smoosher to smoosh what's inside" then it'll obviously penetrate and yeet it into oblivion

#

so is the problem that the traces start not fully within the collider? So they have no travel before colliding with environment?

flat coral
#

The problem is the collider moves to the point where it touches a surface, and then the NEXT trace says "well, I'm touching a surface, trace over" no matter where it's facing

faint pasture
#

yeah the traces should start where they can touch nothing but the collider itself

#

I'd just use lines tbh

flat coral
#

The thing is, I kinda wanna start this whole trace a little away from the surface the thing is on anyways, even if I'm doing it with lines

#

The other problem with lines is I think it'll be much more susceptible to getting stuck in narrow gaps

round spruce
#

does this node work? it doesnt add any thing

flat coral
#

(This class is basically just duplicating Blender's Array modifier)

#

(I think if I could do it again I'd do it as a component maybe? but then I couldn't access constructor. maybe it's gotta be like this.)

round spruce
flat coral
#

ActorComponents have to be attached to Actors, yes

#

If you don't want it attached to anything what you're actually doing is just spawning a static mesh actor

round spruce
#

thats stupid given the node name though is syas add and it take my actor

#

let me try

flat coral
#

You're setting a mesh for this right?

round spruce
#

yup

flat coral
#

Have you tried supplying a transform? Maybe it doesn't like that null

round spruce
round spruce
#

idont see why would it matter i iwll try

flat coral
#

Hm I can't see any obvious problems with that, assumign you're hitting that code. Are you SURE it's not spawning, instead of like spawning super tiny or way off in the distance or something like that?

round spruce
#

this is funny passing tranform acctualy worked

#

wtf is this nonsence 😂

flat coral
#

Well, glad I could help!

round spruce
#

ty still no clue why though ❤️

flat coral
#

How the heck do you get max float val in BP

#

Like, not "higher of two floats" but "float val X such that any given float Y is guaranteed to be <= X"

versed sun
#

Clamp?

flat coral
#

There's no input to what I'm look for. It would look like the node to get Pi.

#

Pretend that says "Float Maximum"

lofty rapids
#

i mean you could just look up float maximum, i think they are actually doubles

#

maybe not but i thought i saw that somewhere

#

but either way just look up the maximum and make a pure function that outputs it ig

#

or just make a variable that is the max you can use

round spruce
flat coral
round spruce
round spruce
onyx gull
#

how do I declare an array variable so that I can drag other components from elsewhere on a blueprint asset with my component attached. for instance I want to be able to drag the SpotLight component onto the array stored on my BWK_XROBase component but every version of actor/ actor component seems to be insisting I pull it from somewhere else (most attempts have required me to load from content browser, I just want to drag it from another component on the blueprint asset

gentle urchin
#

Is what you want

#

Min is like upper bound, max is lower bound, clamp is both

flat coral
#

I... dont think that's true, but it's also not what I'm looking for

#

again the value I'm looking for is a constant.

#

Not a function.

gentle urchin
#

Insert a const in that

#

And it is true

flat coral
#

Yeah the idea is how do I get the constant

gentle urchin
#

Either by regular const var or hardcode

#

Hardcode is ofc ugh

flat coral
#

You're misunderstanding me. There is a maximum value that a float can possibly be in Unreal Engine. I'm look for a Math library method which returns that value.

gentle urchin
#

That type of max

#

Thats kinda not what asked for

#

You want the var type max

#

Not sure if thats exposed im bp

#

You can prob just insert a crazy number in a regular var of the type

#

I believe it auto clamps

flat coral
#

It's very common in most languages.

gentle urchin
#

Yeah

#

I know its there in c++

#

Just not exposed to bp

#

Whats this for anyways?

#

Afik editor only got 32 bit input field, so if its actually 64 bit you got some trouble

flat coral
#

Oh just the standard, gotta find a minimum value in a dataset by iterating through it, keeping track of the smallest value you've found so far. So, standard is to initialize that "current min" value to FLOAT_MAX so that any comparison overwrites it

gentle urchin
#

Ah

#

Id just let the first index write it

round spruce
flat coral
gentle urchin
#

Not rly

#

First value always wins

#

Rest compete vs first

flat coral
gentle urchin
#

If first is lowest, great
If not then the actually winner will have a lower number

#

Leave it default at 0

round spruce
round spruce
flat coral
# gentle urchin First value always wins

We're talking code like this

int minVal = 0; // Bug on this line
for (obj current in objects) { 
    if (current.val < minVal)
        currentMin = current;
        minVal = current.val; 
    }
} 
return currentMin;
flat coral
#

And unfortunately I gotta do that either way

gentle urchin
flat coral
round spruce
#

you wont get the acctual min in the array

flat coral
#

not the object itself

gentle urchin
flat coral
#

Objects[0] just gets the first item on the list

round spruce
#

yea this would work just not 0

gentle urchin
#

Safeguarding vs 0 objects is something you do one way or the other isnt itn

round spruce
gentle urchin
#

If the result is INTEGER_MAX

#

You probably wanna react to that aswell?

flat coral
#

I came up writing java, so I'm both obsessed with nullchecks and driven to avoid writing them whenever I can

gentle urchin
#

Id prob just do
int minVal = IsValid(objects[0])? Objects[0].val : -1;

#

Im lazy like that

#

Ofc if you can avoid it i guess thats also reasonable

#

Id never end up calling this function without any objects tho^

flat coral
gentle urchin
#

Even tho it would be virtually free

spark steppe
#

that's why they invented rust

gentle urchin
#

At some point i should expand my knowledge with a new language

formal topaz
#

UE Blueprint: https://jamiecardoso-mentalray.blogspot.com/2022/09/unreal-engine-5-3d-dimensions-ruler.html

The above video depicts my new measuring 3D application tool, recently developed with Unreal Engine 5, for a major client, using blueprints.
Due to my non-disclosure agreement with them, I can’t showcase the original 3d scene developed fo...

▶ Play video
#

how do i get started with something like the ruler tool here?

#

at 0:34

summer pewter
#

don't use the location of the sphere collision, use the location of the capsule component

sharp grove
#

I've got a pretty basic one I'm sure but I'm having severe trouble with it, I've got a spawner and an array of target points, I'm trying to get a spawned AI unit to follow a path through the array. For some reason, they're spawning but not pathing. Am I missing something simple? Currently using an AI MoveTo Node on the BeginPlay event.

silent stag
#

Hey , i add "stop event" end of the "event anydamage" it's firing the stop event but it did not work properly. When i add same "stop event" on component begin overlap like second image it's working. What i miss here

plain rover
#

Trying to get a callback for when the animation montage has ended

#

I can't for the life of me find the way to do it, but it's probably super simple

gentle urchin
#

Drag from the montage tef

#

Ref

#

On montage finished

plain rover
#

This is from an animation blueprint, there's no montage ref

gentle urchin
#

The ref is just hardcoded

#

Promote it to a variable

plain rover
#

I really have no idea how to do that

frosty heron
#

@plain rover But why? I never play any montage inside my anim blueprint.
Not sure if that's okay but I would question the design choice

wispy cedar
#

Hey luc I am having a simple issue with my widget

#

i want it to go away on end colliding

#

tried this

#

no use

frosty heron
#

ofc not

#

You should learn how to use references first

#

forget about what you are doing right now

#

then comeback once you know how, otherwise you will get stuck almost everywhere

wispy cedar
#

Thanks

frosty heron
#

Matthew blueprint communication video might help

wispy cedar
#

youtube?

frosty heron
#

yeah

wispy cedar
#

okk

frosty heron
#

one of the good one

plain rover
#

@frosty heron so when you have a one-shot running animation, where do you put it usually ?

frosty heron
#

so I will have 2 montage slots, one for upper body one for full body slot

plain rover
#

Don't you have a callback at the end of the shoot animation to know that the player isn't shooting anymore ?

frosty heron
#

I don't do FPS but not really, don't have any use case for that atm

#

but the call back is there anyway if you want

#

on Montage End

plain rover
#

okay okay

gentle urchin
#

I wouldnt let a montage tell me i wasnt shooting

#

The player trigger and subsequent events tells me that

plain rover
#

Yeah I was thinking this too. But don't really know how to set that up, given that the shoot state actually matches the duration of the animation playing

wispy cedar
silent stag
#

Hey , can we trigger any event inside of "event any damage" ?

tropic peak
#

I'm having some difficulties understanding the basic input/movement stuff. for example, there is a dropdown for value type in IA settings - I believe it changes the value types that are returned when an action is executed (key press?)

#

so axis1d would be moving along one axis (left/right or up/down?)

thin panther
tropic peak
#

so lets say I want to have something like an arkanoid paddle but I want it to go around the screen, do I need to pick 3d?

#

hang on I didn't explain this properly

#

imagine this is my player object

#

I want to move the red object around the circle

thin panther
#

That could be a 1d. Assuming you're only.mocing left and right.

For example the 1d movement input could just push you around a spline

tropic peak
#

hm so rotation is a completely separate thing here?

thin panther
#

It can be, it's up to you

#

3d would suggest your Z is changing, and it isn't there

tropic peak
#

yeah good point

thin panther
#

But you might find it harder to convert 2d movement.

For example on the circle you're only moving left and right at any given time. You can't go forwards outside of the circle

tropic peak
#

I could always create an object like the circle with the red player object and rotate the entire thing

#

in fact that'd be a pretty decent idea in this case

thin panther
#

You could also just make the circle a spline and push the player along it

tropic peak
#

that sounds difficult 🙂

#

well maybe not difficult but completely new to me

thin panther
#

Not amazingly so, and somewhat well documented on the interwebs

tropic peak
#

ok I'll have a read

silent stag
frosty heron
wispy cedar
frosty heron
#

If single player and u want the player only u can use get player character to compare

wispy cedar
#

i checked

frosty heron
#

But if the event is called nothing stopping it to create the widget

wispy cedar
#

i am just learning Blueprints

#

and i get it what you saying need to be careful

tropic peak
#

this happens after enabling physics on the paddle

#

after reaching the wall it gains some speed in the opposite direction

#

and even if I press left again it keeps slowly going right

#

I have constrained the xyz rotation and YZ position

shut yew
sonic pier
#

why does my trigger volume only register something overlapping with it sometimes and not all times

dark drum
silent stag
#

Looks like it's working but actor never destroy in game

sonic pier
dark drum
main lake
#

Why I can't name my event "Activate" ?