#blueprint

402296 messages · Page 772 of 403

faint pasture
#

So maybe you play the locomotion blendspace based on velocity, then play Jumping if going up, and play Falling if going down.

#

3 pose sources and 2 blends

midnight blaze
#

I've already identified a number of points where I disagree with things like naming scheme but these are all really, really simple teaching examples, which is what I need at the moment. I started on some videos intended to be an introduction but it was all... high-level abstract and historical information and not touching the tools in the detail that I need to actually learn it

faint pasture
#

Does this use a state machine or just blends?

midnight blaze
#

State machine

faint pasture
#

Ya so you'd have 3 states and the rules to transition would depend on those 2 bools. You'll figure it out.

midnight blaze
#

Yeah, I understand that part, but I don't know what I don't know. Never touched animation before this in... anything. I think I watched a video on how it's done in Flash once.

faint pasture
#

I'd take a peek at the 3rd person template if you haven't yet. It's got a nice simple animBP

midnight blaze
#

I'll go back to that one and see what it does after this one

#

I was really just wondering if there was some weird pitfall with something like the vertical component changing between the sequence executions and the value of the last getVelocity persistng somehow

faint pasture
#

For reference I'd do running and jumping as 2 states with 2 blend spaces. Running blendspace uses velocity to blend between running and standing, and jumping blendspace uses Z velocity to blend between jumping and falling.

midnight blaze
#

Ah, neat

faint pasture
#

bIsInAir would be the bool to switch them, I think you can just yoink it from the character movement component but don't quote me. My game doesn't have jumping shrug

#

actually i think its called IsFalling

#

Anyway anyone here ever done a detached camera? What's the most elegent solution?

#

If I could jsut add a camera component to the playercontroller and drive it around that'd be great but that doesn't seem to work.

final python
#

I am working on a project with a bunch of idiots that just sit on their phones and stuff, anyways, the yellow arrow indicates the tick in the base enemy class and everything in the picture is connected to it. I am pretty sure this is waaaaaaaaaaaay to much, especially considering there are gonna be about 25 - 75 enemies spawned at once. I have told them use timelines and timers, but their best solution is the easy way and throw everything onto the tick.

#

(everything except that one event in the middle) nevermind it is binded

faint pasture
#

" bunch of idiots" correct

#

not that tick is bad

#

but

#

why not do AI with the AI systems

#

That's a clusterfuck, what all is going on there?

final python
#

idk, and that is just the base enemy as well, the others call the parent plus a shit load more

faint pasture
#

Yes you guys need to learn Behavior Trees if you want decent AI that's not a spaghetti mess

final python
#

idk isnt for what all is going on there, let me look real fast

faint pasture
#

Can you give a higher res screenshot so I can see what's going on here?

final python
#

moving left to right it does ai stuff along with setting flipbooks, then in the middle it does damage checking and health checking along with flipbooks, then at the right it does more movement things.

faint pasture
#

Do you have smoothly regenerating health?

final python
#

no the health doesn't regen on the enemies

faint pasture
#

Then probably none of that has to be on tick. Dunno much about flipbooks but they might have to be

final python
#

I mean this project is a cluster fuck. I have 1 thing on tick, which I am working on the bosses, and it checks death and thats it

faint pasture
#

Basically if you don't expect something to be changing EVERY FRAME, it doesn't need to be on tick

#

not even that has to be, just make an Event Death

foggy escarp
faint pasture
#

Event any damage -> is hp<=0? -> Event Death

final python
#

yea would be nice if I could do it that way

faint pasture
#

This project is headed to chugga chugga spaghetti city if you guys don't whip it into shape lmao

final python
#

but the character guy who also does the projectiles is half dumb as well

#

oh trust me it already is there lmao

faint pasture
#

Start with this. If it doesn't typically change a value EVERY FRAME, it doesn't go on tick.

#

HP Regen on tick is fine

#

updating aim direction on tick is fine

#

animation stuff that should probably be in the animBP but can be hacked together in the pawn BP is fine

#

checking for Dead is not

#

For instance, here's my Character tick, where I do stuff that has to update EVERY FRAME

#

the acceleration tilt can probably be handled by animation, just haven't don that yet

final python
#

yea I know tick, im saying there is about 15 of us in this class working on this project, and about 10 of them either sleep, sit on their phones, or gossip the entire class (and all classes), and the only reason I had to check death on tick was because he wasn't applying damage on the enemy attacks, he was straight subtracting health

faint pasture
#

If you're trying to do AI in your Character BP by doing stuff like perception or navigation ON TICK with 70+ AI running around is a recipe for disaster.

#

lmao

#

when's this due?

final python
#

we also have a c++ class that is another project class, but it is solo since we are still in the process of learning it, and they do the same thing in there, so Idk how their projects are gonna turn out onthat

#

the next milestone is due monday lmao, but its graded on seperate parts so I am good

#

like they get graded on what they wroked on, and I get graded on what I worked on, and so on

faint pasture
#

Set your HP variable private

final python
#

yea, this is a mess, me and about 3 other people are trying to get everything to semi work, because also a bigger kicker is they said the enemies work and they dont at all, so we are gonna try to just polish it, since there isn't enough time to just do it ourselves

faint pasture
#

make him use the damage interface

#

yah 15 nubs on a BP project lmao consider yourself lucky if it doesn't crash

final python
#

yea I hope it doesn't, the professor is gonna be cringing once they see how much they have on the tick when we upload it, and present it lmao

faint pasture
#

So does like every pawn use different stuff if made by different people?

#

Is this fine or shitty?

#

For just driving around a camera as a transform.

final python
#

nah, like we split into groups, and then each group had 1 person create the base class, adn they all help out and think of stuff they needed to make it and include as much as possible that everyone needs (if needed) and send it to a branch on the github, and then they were assigned who would do what in that group, like you make enemy A, you make enemy B, you make enemy C, etc... , and they would all just work on their class, and communicate if they needed something added in another class, so 2 people wouldn't upload the same file and erase the other one, anyways, so to answer the question, sorta, but they all derive from a parent that they all made

hexed inlet
#

Would anyone know why GetActorOfClass fails (returns 'None') when the class it is getting an actor of simply has one component's collision enabled?

If I disable that component's collision, GetActorOfClass works again.

#

Ie, this:

#

... fixes/breaks this:

#

(Where that white egg/orange cone thing is the BP_Flyer)

faint pasture
#

Is the flyer spawning at runtime or does it already exist on the map?

hexed inlet
#

Runtime, it's the default Pawn class so PlayerStart sets its position

#

er

#

Well I guess that's not runtime

#

It's what the gamemode sets as the default pawn anyway

tiny bay
#

Did Unreal Engine 5 completely overhaul math operations?

#

I remember being able to do operations between different variables, but it seems to be unified and more limited?

#

for example, I used to be able to do intPoint - Float, but now it's gone, and it's giving me errors if I try to convert it into IntPoint

#

is there a way to get around this?

sharp rapids
#

I managed to get this
It's a lot wonky though, getting the widget to clamp exactly to the edges is a little bit tricky
The circle one is easier, but I reckon that's not what you want

#

Also, I suck at recording videos 🤷‍♂️

brazen merlin
#

square version looks better to me, close to skyrim level

tight schooner
#

@hexed inlet by description that's not a problem I've encountered. There must be some other logic involved. As a generic potential fix, try delaying the Get slightly in case it's some funky issue with the dynamically spawned thing not yet being fully constructed. Idk what the circumstances are.

Love the avatar btw. Star Control II is a personal fave.

supple bane
#

How do I do something while a delay is playing

#

?

brazen merlin
supple bane
paper galleon
supple bane
#

basically I want to continue on the the Meleeattack2 Bool without waiting for the delay

#

But I dont think its possible

#

atleast not the way Im doing it

brazen merlin
supple bane
#

timer?

paper galleon
#

Oh, right. Timer would work better

paper galleon
# supple bane timer?

You set a timer for the event to fire after your set time. You'd need another event to hold the logic you want to run after the event.

#

Just get the timer node, it should be intuitive after that

#

Specifically timer by event. It's easier to work with imo, than timer by function name

supple bane
#

set timer by event?

#

Im not sure If this will work

#

Im trying to start a function and play it onTick, then stop it after a certain amount of time

#

will I just need to create a function to stop the original function

#

?

paper galleon
#

It's not recommended in any case to put a delay in tick.

supple bane
#

does a delay work not in tick?

paper galleon
#

It works. But you have to be careful in its useage. If you aren't sure of what you're doing, you'd get unexpected behaviour.

supple bane
#

Is there a way to make a function repeat every tick?

paper galleon
#

Tick

supple bane
#

besides just putting it in event tick

paper galleon
#

A looping timer.

brazen merlin
#

Timers!

#

If you can grasp them, they are the best alternative to delays

supple bane
#

Is there any way I can put a delay inside a function?

brazen merlin
#

no, event graph only 😛

supple bane
#

timres it is

brazen merlin
#

and yes you can put a timer in a function

#

a timer can call an event (via delegate or create event node) or a function (by its name)

supple bane
#

for a timer I just call it once, or do I call it at the end aswell?

brazen merlin
#

when you call the timer it sets it into action, it will wait the time before it calls the associated event/function

supple bane
#

alright

paper galleon
#

But your design sounds a bit suspicious. Tick without using tick? Are you trying to circumvent the notion that tick is bad?

supple bane
#

me?

paper galleon
#

Yep

supple bane
#

No I was just wondering because I know you need a tick to use a delay. So I was asking if a function could use ticks

#

if that makes sense

#

because I wanted to put a delay in a function

paper galleon
supple bane
#

hm

#

so a function just plays a function when the timer runs out? or plays the function until the timer runs out?

brazen merlin
#

it would not be the best to use tick with delay. A delay node, when called, will run its time and if it is called again, it will ignore the input (pretty sure it will not allow the flow to continue). Once it expires and continues the flow, it can be called again

paper galleon
brazen merlin
#

i think i understand you.. you call Function A which has Timer A, and when Timer A expires it will call Function B

supple bane
#

alright

supple bane
hexed inlet
brazen merlin
#

so when the timer expires, it will call THAT function, does that make more sense?

supple bane
#

yes

brazen merlin
#

regarding tick, and this is twofold, you can check the timer to loop, which will repeat the time delay and call the associated event/function at each interval - secondarily, timers output their "handle" which is a reference to them so you can clear it, pause it, or check the time of it

supple bane
#

thanks

paper galleon
supple bane
#

alright its gonna be a long explaination

brazen merlin
#

i remember the same difficulties and confusions, but if you can get the hang of them, they're awesome

paper galleon
supple bane
#

I have a boss with two 'heads'. Each with two attacks. I need to be able to call and play any of the two attacks for a certain amount of time(which was what the delay was for)

paper galleon
supple bane
#

yes

#

I think I have a solution

#

I put a timer in each attack function, which plays a function stopping every attack and calling a random one again

#

But that wont work

#

now that I think about it

paper galleon
#

What kind of attacks are they?

#

Continuous?

supple bane
#

Depends on the attack

#

some repeat until they finish the timer, others continuous

paper galleon
#

Hmm, it's a complex case. I can't provide a design since I don't know the full picture. But I would suggest learning how to use timers they would be very useful for what I think you want to do.
And don't put delays in tick unless you've thought long and hard about it.

supple bane
#

But I have one last question

#

Can you put a timer for functionA if the timer is in functionA?

#

so it can call itself?

brazen merlin
#

nope

paper galleon
supple bane
#

But I can have timer for functionB in functionA?

paper galleon
#

Absolutely

supple bane
#

alright

#

thanks so much for the help

#

and gn/gm

brazen merlin
#

CallThisWhenTimerExpires can be your function instead

supple bane
#

omg yes

#

tysm

brazen merlin
#

sure thing

tiny bay
#

would vector2d * float be the same as vetor2d (x) * float, vector2d(y) * float?

supple bane
#

so this should work?

brazen merlin
supple bane
#

what if meleeattack1 relies on a tick?

brazen merlin
#

why does it rely on tick?

timber knoll
#

The * will basically do component based multiplication

supple bane
timber knoll
#

Then it should use a timeline

#

So you trigeer the event and the event starts a timeline

brazen merlin
# supple bane

hmm, the only thing that is dependant on continuous updating is the set world location part

timber knoll
#

But that looks weird to me for a melee attack tho

brazen merlin
timber knoll
#

Yeah that just teleports them

supple bane
#

hm

timber knoll
#

You’re not even using the lerp

supple bane
#

idk how that got there

#

oh

#

I deleted the old float that went there

brazen merlin
#

ah ok

supple bane
#

wait no

#

thats 8.0

timber knoll
#

What are you lerping tho 🤔

#

An enemy position on melee attack

brazen merlin
supple bane
#

the boss goes from its current position of the player

timber knoll
#

Is that a part of the enemy?

#

Aah

supple bane
#

well to the player's old position

timber knoll
#

Yeah I would use a timeline for that

brazen merlin
#

or move to actor

#

i guess it would stop once it reaches them..

timber knoll
#

Does that work if its not pawn/character?

supple bane
#

my code?

timber knoll
#

What conrad said

brazen merlin
timber knoll
#

Ye that is true

brazen merlin
#

and navmesh

supple bane
#

the boss doesnt have an ai controller

brazen merlin
#

i kinda figured

#

so... what my initial thought was 🙂 make another timer for the set location

#

actually wait..

supple bane
#

then it would interfere with other melee attacks

timber knoll
#

Nah nah

supple bane
#

possibly

timber knoll
#

Timelines are the way to go in that case 😛

#

Gives you control over the movement and how it interpolates

#

You just change the lerp alpha to the timeline value

brazen merlin
#

you call MeleeAttack1, that should do the set visibilities afterwards, the timer can loop at whatever interval to call the set location portion

timber knoll
#

Another timer as in event?

brazen merlin
#

doesnt need another timer

timber knoll
#

But you said timer 😛

#

I’m confused as to what your solution looks like

brazen merlin
#

please hold

supple bane
#

So if I set timer by function name it will simply just play the function even if it's not included in the event graph?

gentle urchin
#

Timeline sounds about right ^^

#

Triggerd by some anim notify is what i'd do

timber knoll
#

I think so 🤔 I actually always use event timers haha

#

But if you are using timeline which you are

#

It should be event regardless

supple bane
#

alright

gentle urchin
#

Well tineline gives you nice curve control

#

Which timer doesnt

brazen merlin
timber knoll
#

Timeline as in time graph I mean...

#

Not the node 😛

supple bane
#

im assuming a set timer cant be called in event tick?

gentle urchin
#

Time graph?

brazen merlin
gentle urchin
#

You wouldnt do it on tick

#

Is it a teleport?

#

Rip. Then thats solid

#

Lerp.. isnt this prone to issues?

timber knoll
#

No I wouldn’t do that conrad

gentle urchin
#

Fluxing framerate?

brazen merlin
#

this is how its setup up with a tick

#

im not a fan either

timber knoll
#

That is a very risky setup

brazen merlin
#

but if its working with a tick, then that would be the adjustment

supple bane
#

wdym by risky?

timber knoll
#

Keep in mind the event timer only means it will AT LEAST take x seconds

brazen merlin
#

i would prefer something else as well

timber knoll
#

So if you drop fps

#

Your movement will be completly broken

#

Whereas normal frame tick is variable

brazen merlin
#

im assuming delta seconds is set by tick, meaning the delay time should match with the frame drop

supple bane
#

so a better aproach would be a timeline?

timber knoll
#

It won’t either

gentle urchin
#

Delta is, but timer isnt adjusted

timber knoll
#

You will have last frames time

supple bane
#

how would that look?

brazen merlin
#

a better approach for movement would be Move To, but there's no AI controller

timber knoll
#

Yeah or as we said a timeline

#

That 100% guarantees to not mess up

gentle urchin
#

MoveTo, isnt this some charge attack? Sry didnt read up to far 😅

brazen merlin
#

you say that...

timber knoll
#

It does tho

brazen merlin
supple bane
timber knoll
#

If your frame drops, your timeline will sinply continue and stop at the end

#

Guaranteed

brazen merlin
timber knoll
#

Yeye that would be a good idea

gentle urchin
#

Ahz, ok

supple bane
#

I might just have to restart the whole thing but with an ai controller this time 😭

timber knoll
#

But without, I think that would be the way to go

gentle urchin
#

If one is doing bp ai one could make a custom input management system for the ai without ai controller, but feels way out of scope for this

supple bane
#

It was fully functional except for one unfixeable bug

#

atleast unfixeable the way I made it originally

brazen merlin
#

before it becomes a topic of proper AI execution

supple bane
timber knoll
gentle urchin
#

Moving actor with set location will break animation walking tho

#

0 velocity

brazen merlin
supple bane
#

so whats so good about an ai controller?

brazen merlin
gentle urchin
#

Fair enough

brazen merlin
#

perhaps you'll have an opportunity to make another enemy and then you can explore ai controller method

supple bane
brazen merlin
supple bane
#

3 work, 1 doesnt

#

but its going to be nice having a fresh template

timber knoll
#

it is somewhat of a learning curve tho if you've never worked with AI controller and BT before

supple bane
#

thats alright

brazen merlin
#

i dont want you going down this route when this is essentially working

supple bane
#

heres how I put it in:

brazen merlin
#

if you want to do Ai, make a new class, implement this method as a new enemy rather than replacing what you have

#

separate it completely from what you have now in the same project

supple bane
#

and yes, I would completely restart

timber knoll
#

oh right... not your last one ye then sure

#

basically the BT will be the brain of your boss

brazen merlin
timber knoll
#

so you just feed it with data and it will do the work for you

#

well kind of for you, you tell it what action to do based on the data

supple bane
brazen merlin
#

just dont mess with that code

#

since you want to start from scratch, just make new classes and such

supple bane
#

im talking about health mainly

brazen merlin
#

so am i

supple bane
#

oh

#

alright

brazen merlin
#

wait, enemy health or your health?

timber knoll
#

duplicate and remove the attack/movement code

supple bane
#

enemy

brazen merlin
#

alright, still, yeah

supple bane
#

how does an ai controller work?

timber knoll
#

similar to a playercontroller for the player

brazen merlin
#

you have functions that it can call such as move to actor which does what i think you were trying to do with the set actor location

timber knoll
#

but then every AI has it's own controller with the basic AI functionality

brazen merlin
#

it does use navigation mesh

supple bane
#

so it will make life easier or harder?

timber knoll
#

easier to maintain, harder to set up right since you're new to it 😄

brazen merlin
#

i think it best to jump into some how to AI vids

supple bane
#

yea thats a good idea

#

ill start in the morning

#

thanks

#

and gn

brazen merlin
#

good luck

supple bane
#

ty

timber knoll
# supple bane ill start in the morning

In this presentation, Epic's Paulo Souza uses Unreal Engine's built-in AI features to build smart enemy behaviors for a game with stealth-like mechanics.

By relying on the Gameplay Framework in Unreal, we're able to quickly create convincing AI using Behavior Trees. Behavior Trees are great for creating complex AI that can be presented in a way...

▶ Play video
#

here you have a good starting point explaining some of the basics as well 🙂

#

gn

brazen merlin
#

that is actually one of the best ones compared to most other BT AI tutorials

supple bane
#

so even with a BT I can have it use a blueprint's code?

brazen merlin
#

yes

#

the video will show you all

supple bane
#

alright

#

gn for real this time 😅

brazen merlin
#

put it on loop when you go to sleep and when you wake up you'll be speaking french in no time

#

omele du frumage!

#

@timber knoll them old peeps know what im talkin bout

timber knoll
#

I'm too young in that case 😂

brazen merlin
#

that's all he can see the next day, and as awkward as it is, it works out where that is the thing to say in every situation

timber knoll
#

pffff that's been too long ago for me XD

brazen merlin
#

yeh..

gentle urchin
#

i knew it sounded familiar!

storm vigil
#

is there a way to automatically unreference assets within a folder so that I can delete the folder without crashing? Thank you

spark cliff
#

not that i've found, reference viewer helps

harsh juniper
#

Hi, I have a scene root that is parent to 10.000 instances of instanced static mesh. It renders fast. However, when I move the scene root, performance goes away.
How can I effectively move all instanced meshes at once, without losing performance?

gentle urchin
#

c++

harsh juniper
#

I can do it in c++, however my blueprint code calls one node update in one actor, once per frame.

gentle urchin
#

sounds something like what im doing,

#

altho at 1/10th of the amount

#

there are some tricks in c++ that arent exposed to bp tho, will get you further

#

beyond the regular perf diff

harsh juniper
#

Ok, so how would I do it in cpp?

bleak hornet
#

trying to make 2conditions, "DIE ON HIT" and "DIE ON EXPLODE"

#

any help?

gentle urchin
harsh juniper
#

will look into it, thank you 🙂

timber knoll
rough cedar
#

I have a animation montage I want to play while my character is sliding on the ground. But when I fire the montage it looks like the animation is half way between my walking animation and the slide. almost like a 50% blend of the 2. any ideas what it could be?

#

this is in my characters bp

#

This is in my anim bp

fiery glen
#

How is the montage blended?

vestal plinth
#

I have a character blueprint that's set as the default pawn, set to receive input, etc. It's not receiving ANY input though. what have I forgotten?

rough cedar
#

maybe something in here?

odd ember
keen wedge
#

Hi all, quick question if I may...

I have a small game where enemies are spawned and give off "threat"... the object is to collect the enemies and destroy them, reducing the threat to zero - game over you win etc...

At the moment, the gameover condition is being checked against the remaining threat. Because these values are floats, when they are getting added together there is a tiny little fraction left over, so, although I remove the cumulative threat for each enemy, its never actually gets to zero (unless you destroy the very first enemy quickly and no more spawn).

I looked at the IsNearly node, and noted it has a Tolerance property. I set this to 0.1 for good measure, being that the values I am left with are things like 0.000763 etc, it still didn't seem to work. The existing logic was just check for <= 0 etc.

I wondered if perhaps there was something else I could do? I was hoping to avoid wiring up specific values if possible, e.g. <= 1, but the floats are a bit of a pain in the arse. Only other thought it is to move to a solution which counts the number of enemies instead and then checks whether that is zero, as that would be integer based instead.

odd ember
#

I'd check if you have a bug first

#

nearly equal is pretty good at picking up on things

#

but you could also try rounding

maiden wadi
# keen wedge Hi all, quick question if I may... I have a small game where enemies are spawne...

0.000763 would definitely return true for nearly equal zero at 0.1 tolerance. If you have a set amount of enemies each map, it could be worth turning the threat display into nothing more than a visual, and just rely on the actual enemy count for game ending logic. If you're using a spawning system that spawns until a set amount of threat is reached, it could be worth just doing a simple check based on the lowest threat enemy versus how much threat level you have left for spawning.

keen wedge
# odd ember nearly equal is pretty good at picking up on things

Stepped through it a few times, and it was always the same, if only one enemy was spawned and destroyed, all all worked fine. When there were two or more, the issue with the floats became apparent, and after destroying the last enemy there was still a little bit of "threat" left in the game preventing the win.

I changed the value on NearlyZero to 0.001 and that seems to have resolved it for now. Feels a bit of an arbitary value though, so think I'll probably re-engineer the mechanic to use the number of enemies instead. Not sure why the 0.1 value didn't work yesterday, maybe I wired it up wrong when tired. 🙂

keen wedge
# maiden wadi 0.000763 would definitely return true for nearly equal zero at 0.1 tolerance. If...

Yeah, I think that's the way I'll go when I iterate over this feature again. The enemies keep spawning, but there is enough time in between for the player to destroy all that are in the level, if they are quick, and thus end the game. So maintaining the count of spawned enemies and checking for when that's zero is probably going to be safer. I prefer the constant of zero than having to choose a tolerance value which may/may not be ok for all occasions etc. 🙂

winged sentinel
#

why is my print string outputing my characters bp instead of what im actually trying to get

#

i have it connected to get current active montage and it keep outputting my base character bp

#

doesnt make any sense to me

haughty nymph
#

i get this warning "Blueprint Runtime Error: "Accessed None trying to read property CallFunc_Create_ReturnValue". Blueprint: Menu Function: Execute Ubergraph Menu Graph: EventGraph Node: Add to Viewport
"

heavy lion
#

Is it possible to blend post process settings in a blueprint?
For example, blend bloom intensity from one value to another over time?

winged sentinel
#

wait sorry

#

wym by blend

#

ik you can control post process from bp

heavy lion
#

I cant seem to find any options to do so

#

Ahh, Set members in PostProcessSettings

odd ember
#

yeah structs in BP use the details panel

dapper bobcat
eternal drum
#

How would i put binds/bounds on a camera or object so it for example doesn't go under -90 on the pitch axis?

pallid gate
#

is it a lot of work to get a menu that can scale the skeleton ect ?

odd ember
odd ember
odd ember
pallid gate
odd ember
haughty nymph
#

where can i add my return value from the create widget node to

sharp rapids
odd ember
tight schooner
odd ember
pallid gate
#

yeah im a little ahead of my self rn lol but its one of my main things to learn / get a grasp on

odd ember
heavy lion
#

Is it at all possible to have an asset which is an array of curves? Instead of having a curve for every single value?

#

So I could do away with this and have them all exist within a single asset?

odd ember
#

something like a curve table perhaps?

#

curve atlas?

sharp rapids
tight schooner
#

A data asset but it's an array of references to these curves...

#

Wouldn't be strictly 1 asset though

odd ember
sharp rapids
odd ember
#

but I'll take a look regardless, if this works even to some degree it'll save me doing the full complex viewmatrix bs

odd ember
#

thanks a bunch

unique falcon
#

Hello i'm new to UE4 i was wondering why is there UMG and the hud blueprint to render a UI on the screen?which one should i use?

#

i've read some stuff about both of it and i think im going to use UMG for the main menu UI and for rendeing some stuff like the crosshair or the health bar i should use the hud blueprint

#

am i on the right way?

odd ember
#

I can't seem to replicate your results

sharp rapids
#

In Screen Space, Y is up-down and X is left-right
Check the absolute values of X and Y,
if Y is bigger, set the widget position to the upper/lower edge of the screen (lower or upper edge is calculated based on sign of Y), update the X position
if X is bigger, set the widget position to the left/right edge of the screen (again calculate using sign of X), and update the Y position

#

It's not really 'clamping' the values per se

odd ember
#

ah I see

#

I've gotten a normal in screenspace so far and I thought I could multiply that with viewport size

#

but I guess it isn't that easy

#

I'm trying to avoid having a separate widget space

sharp rapids
odd ember
#

well I had to normalize the normals to an alpha value

#

so both x and y have a range from 0..1

sharp rapids
odd ember
#

I think that's fine technically. it's essentially trying to follow a circle bigger than the viewport

#

but clamps to viewport edge

#

as I understand it

sharp rapids
odd ember
#

ordinarily a normal would have -1..1

sharp rapids
#

0 to 1 would only give you the upper right corner of the viewport always

odd ember
#

but if you create a constant bias you can normalize it to alpha scale

#

so 0..1

#

not if you multiply by the viewport extents

#

it becomes percentage of the viewport

#

but I'm not sure if it works for this method

sharp rapids
#

I'm not sure how to handle the clamping in that case

odd ember
#

yeah that's a good point. if the circle would be big enough the clamping would be automatic

#

atm I'm trying to just make it work without clamping and I'm getting very odd results

sharp rapids
#

Multiplying the values by a large number and clamping them gave some odd results.

odd ember
sharp rapids
#

I simply have an Image anchored to the center of the screen

odd ember
#

ah that's why

sharp rapids
#

So, (0,0) is already the center

odd ember
#

yep ok

#

so I spawn a widget on screen

sharp rapids
#

Keep in mind, I'm changing the position of an Image withing the Widget, not the whole widget

odd ember
#

but yeah I still can't get it to work properly even with center viewport multiplication

#

I'm certain the math is correct but I just have no clue what to do with it

sharp rapids
#

You have the normal vector, right?

odd ember
#

yeah, cos(angle), sin(angle)

sharp rapids
#

does the widget perform a circle then?

#

If you set this vector as the position

odd ember
#

if I just set the vector it stays in upper left corner/disappears

sharp rapids
#

Weird 🤔

odd ember
#

actually

sharp rapids
#

It's a normal vector

odd ember
#

I see it now

odd ember
#

so it makes sense it stays in the corner

#

there's some pivot weirdness now I'm sure

#

it seems to go in a circle that center on the (0, 0) of the viewport

#

so the upper left corner

#

when I multiply it with the viewport center

#

so I'm only getting a quarter of the rotation

sharp rapids
odd ember
worthy carbon
#

Hi i want to learn how the weapon (pick up, fire weapon, pickup multiple weapons, etc) system works. Does someone knows a good tutorial

odd ember
#

if I don't multiply it by anything viewport it's just stuck in the corner

#

I need to make the pivot come down from the upper left corner into the center

sharp rapids
odd ember
#

well no

sharp rapids
#

Tracing a circle of very small radius

odd ember
#

it stays in the upper left corner

#

because it uses normal values

#

so both x and y are -1..1

sharp rapids
#

I'm talking about Cartesian Plane

#

(0,0) at center

odd ember
#

right but because I don't spawn my widget inside another widget space, I use viewport space

sharp rapids
#

(0,1) to the upper side
(1.0) to right
(-1,0) to left, etc.

odd ember
#

hmm

#

so were would I convert this

sharp rapids
odd ember
#

I tried multiply the normal by ViewportSize() * 0.5 which just makes the radius of the circle tangent the screen center

#

it does not move the pivot

sharp rapids
sharp rapids
odd ember
#

adding

#

of course

#

that could be it

#

yep

#

that centers it

#

also found alignment

#

which may be the cartesian you're talking about

#

it isn't, lol

#

welp

#

but ok

sharp rapids
#

The alignment is probably the pivot

odd ember
#

going out from middle

odd ember
#

okay

#

added 90 degrees to the amount of degrees, made the radius larger than the viewport size and it's working

#

it's missing some accuracy but it's way better than what I had before, so appreciate the help

#

for the record these are identical, but the one on the lower side is cheaper

sharp rapids
#

Yeah, it's not that accurate

odd ember
#

I think I can play around with the radius of the circle

#

to make it slightly more accurate

spiral sand
#

Got a weird one. Projected is C++ base and replicated. This problem relates to a prototype (mostly in blueprint) and is not replicated. RTS style game

What should happen:

  1. Player selects building what they want to build
  2. Shadow/Ghost version of building follows mouse

What is happening:

  1. Player selects what building they want to build.
  2. Shadow/Ghost Building spawns but doesn't follow mouse
  3. If pawn is unpossessed or the PIE is exited but not closed (by clicking on world tree)
  4. the pawn is repossessed or the PIE is resumed (by clicking back in the window) the building follows the mouse

Sad part is, I've done this before without this issue

odd ember
spiral sand
#

As I said, this is not replicated.

#

This occurs locally only

worthy frost
#

seems like a capture issue

#

what is Shadow/Ghost building?

spiral sand
#

actor

worthy frost
#

and how do you move the actor?

sharp rapids
#

@odd ember so, you want a circle or a square

spiral sand
#

it's what is mostly BP. All the variables it uses are C++ based right now (the methods will be too when the prototype is done). It is being spawned by a actor component (100% bp currently) that is attached to the player controller. The second it spawns the building it through casting (interface will replace this soon enough) calls a method (event) in the building BP that sets actor to location. Location is passed through the component. The location is based on the mouse location with some offsets.

#

(code base I am using works, it is from my tutorial series, but I am making an new version of it in C++)

odd ember
spiral sand
#

@worthy frost here are the methods (events) I am using

#

also I need to move is previewing I know

sharp rapids
#

@odd ember but that would result in the widget going out of the screen

odd ember
#

it works for all angles

#

top down too

sharp rapids
#

For some reason that results in the widget getting stuck in a corner for me

worthy frost
#

and what does MovePreview do @spiral sand

odd ember
sharp rapids
#

Yeah

odd ember
#

that might be why

spiral sand
#

@worthy frost this is the BP prototype of the BuildingMasterBase class file.

worthy frost
#

sorry i was meant to ask where you get the mouse info from

odd ember
# odd ember that might be why

I will have more than one of these widgets on screen at the same time, so that's why I think it's better to spawn them directly in viewport

spiral sand
#

the player controller

worthy frost
#

it feels like a focus problem

spiral sand
#

the information is valid and is being correctly passed along.

I was just given a suggestion though that it may be the way the building master is constructed

worthy frost
#

as when you loose focus on the game viewport then regain focus

#

it fixes itself right?

spiral sand
#

yes

worthy frost
#

tried setting the InputMode to Game?

#

PlayerController - SetInputMode Game

spiral sand
#

already done. Game Mode and UI mode (due to the nature of the game)

worthy frost
#

interesting, i mean we only ran into that issue when the input mode was wrong in Red Solstice 2

spiral sand
#

I thought it was a focus problem too. Let me quickly tackle the building master base issue (I constructed the base code differently), because that in theory could explain it too.

#

(if begin play does not finish firing by the time it is suppose to track the mouse the mesh may not being set and by leaving the viewport it sets partially - would also explain a secondary issue)

sharp rapids
#

@odd ember ah, I see

spiral sand
#

Tested both ideas.
Setting the mesh in the construct script did nothing.
re-setting (in case the C++ player controller setting was ignored) the focus for game/UI did not work either

worthy frost
#

do you spawn some widget?

spiral sand
#

I do

#

There is a widget the player has to click to build the building

worthy frost
#

tried not spawning the widget?

#

or hiding the widget

#

see if that fixes it

spiral sand
#

can't spawn the building... will make a dummy key for it

worthy frost
#

your widget could have stole the focus

#

we have had that happen also

spiral sand
#

hmm

#

shit

#

can't really not spawn the widget, nto without a lot of code change

#

I could just not add it to view port

worthy frost
#

@maiden wadi how do you stop the widget from stealing focus?

maiden wadi
#

First thing I did when starting my most recent project, was make a new Userwidget that is a button, has styling options, but most importantly, it and it's internal UButton has IsFocusable disabled by default.

worthy frost
#

jnot a UMG guy.

maiden wadi
#

UButton has IsFocuable true by default. And it's incredibly annoying.

spiral sand
#

One moment. I seem to have lost something... like the construct script

#

weird part is it is still firing but it is not even listed as an overrideable now

maiden wadi
#

@spiral sandOn a side note. I haven't been following the conversation long. What button is the widget stealing focus for?

spiral sand
#

it's not the widget

#

just did without the widget on the view port, using a hot key to spawn the building in.

maiden wadi
#

And that doesn't work either?

spiral sand
#

nope same error. Small update to the problem though

#

I made one small mistake and this mistake is why it appears to be a focus issue.

odd ember
#

@maiden wadi if you're interested in the offscreen problem from yesterday we got it resolved

spiral sand
#

It is not clicking out of the view port that matters. It is clicking out of the view port and selecting the actor in the world outliner that fixes the problem

odd ember
#

(for all angles)

maiden wadi
odd ember
# odd ember I think I figured it out, this is basically what I am doing now:

this is the easiest way to show off what's happening. the radius is the outer bound for where the indicator wants to be, and that is clamped by viewport size. the math itself is getting the angle between the vector of the OtherActor pointing at the camera (or pawn), then translating that into a 2d normal by going normal = (cos(angle), sin(angle)), then (normal * CircleRadius) + GetViewportSize() * 0.5

#

circle radius can be adjusted based on normal value to get best results

#

so it's not just a circle but an ellipse effectively

#

in my case I'm using something like CircleRadius = normal.x > normal.y ? GetViewportSize().x : GetViewportSize().y

maiden wadi
#

Huh. Might have to mess around with that. I was always wondering how to project it to the edge of screen effectively. That'd be a pretty easy way to handle that. Also probably computationally faster than what I have at the moment. 😄

spiral sand
#

yeah definitely not a focus issue I think.

odd ember
#

which was the road I was heading down 😅

sharp rapids
odd ember
#

like you have the find the actual camera to get its FMinimalView struct (because for some reason this isn't available through the camera manager)

sharp rapids
#

the angle you calculated earlier

odd ember
#

ah yeah, appreciate it

#

I will probably rotate a part of it to give an indicator. have to create a new widget now that the logic is in place

#

I'm also trying to scale the widget based on distance

#

but perhaps opacity is a better marker

maiden wadi
#

I'm cheaty. I just get look at rotation from Screen center to screen location with zero Z and use the yaw value of that to set the angle of a right facing arrow.

sharp rapids
#

But lookatrotation only seems to take the position into account 🤔

#

If character is standing at a location and you get the rotation to the target,
Then you rotate the character in the same place, and again get the rotation,

#

In both cases, it returns the same value

maiden wadi
#

For the arrow direction. In screenspace.

sharp rapids
#

Aah, Ok

#

Got it

maiden wadi
#

I do the same thing for quick radial menus. Getting the angle of Initial mouse location to current mouse location after pressing the key allows very easy radial menu selection. Can choose the option from an array based on the angle.

#

I prefer float comparisons for this. Some people use delays.

odd ember
maiden wadi
#

In regards to this, how often should the hit be able to damage? Like once per second, or?

sharp rapids
odd ember
sharp rapids
#

Why is there a branch with always true condition?
might as well remove it

odd ember
#

if it's being registered every frame, your issue isn't with this blueprint. your issue is how your hit registers every frame

sharp rapids
odd ember
#

start is where we start looking from

#

target is where we look towards

sharp rapids
#

So, If Start is the player character and target is the target actor

#

It should give the direction from Player to Target, right?

odd ember
#

then we are looking from the player character

#

but that's not what we want

#

we want where the other actor is looking at the player from

#

yes

sharp rapids
#

We find where the target is from the player's perspective

odd ember
#

you already have where your character is looking from, that's the forward vector 😉

maiden wadi
#

@sudden briar Try this out.

sharp rapids
#

90 degrees means the indicator should be displayed along the right edge of the viewport

#

This is what we've been talking about, right?

odd ember
#

I would personally look into structuring your architecture so this doesn't happen. because if it happened here, it will happen again elsewhere

odd ember
#

so it may be a question of using right vector instead of forward vector

maiden wadi
#

Hmm.. I wonder if that's a possible feature request. It would be nice to be able to set macro's local variable defaults.

sharp rapids
maiden wadi
#

There are cases where that isn't applicable. Since that would force you to execute that macro at least once before use. That isn't ideal in UI uses at least.

odd ember
#

as far as I understand macros aren't actually like functions

#

they are just collapsed graph

maiden wadi
#

I use them to keep variable lists clean. I love macro's local variables.

sharp rapids
maiden wadi
#

Macros are generally meant to be ran multiple times and keep state. Otherwise there's no point in using them and you should just use a function. To set up initial state in a macro would require having a bool and switching on whether it's been executed before.

#

One wouldn't think it would be that difficult for some UE graph wizard to add an editable value in the details panel for the node.

odd ember
#

afaik there is nothing keeping macros stateful

#

I avoid them like the plague

icy dragon
#

this tbh

maiden wadi
#

I've never had problems with them. 🤷‍♂️

odd ember
#

I've never had use for latent macros in any capacity

gritty elm
#

https://answers.unrealengine.com/questions/803198/how-to-sort-an-integer-array-in-blueprint.html?sort=oldest
https://answers.unrealengine.com/questions/729952/how-do-i-sort-an-array-by-distance.html
https://www.reddit.com/r/unrealengine/comments/6r5np4/blueprints_trying_to_sort_actor_array_by_distance/

search at google "ue4 sort array by distance", if it is C++, then create your own function in C++ and expose that function to blueprints

There is a blueprint function called "Max/min array element", which return element with it's index, just do with your array and remove that index element after adding to new array. Unreal engine should have that kind of functions in blueprints as well for sorting arrays.

odd ember
#

the best answer is have these in a priority queue

#

or at least that's how I would do it

#

of course one of the very valid data structures that still isn't natively implemented in UE4 😔

formal wren
#

Is it possible to initialize an asset reference using it's path in the content folder?

#

E.g. I want to get an array of Texture2D references by iterating over all .uasset files in my textures folder

gentle urchin
formal wren
#

Is the AssetData Struct bugged? Why can't I set its member?

brazen merlin
formal wren
brazen merlin
#

I think soft objects would be the area but ive not worked with them really

formal wren
odd ember
#

it's a can of worms due to how cpp handles copies

sand shore
#

it isn't bugged, that's an intentional design choice

steel zealot
#

Hey guys. Is there any way to disable a first person characters hud from appearing during the loading screen? Currently I have an empty level which is used to display the main menu, and at the end of the script I have a DestroyActor function to prevent the HUD from appearing. I'm sure theres a better way but I'm not sure.

maiden wadi
steel zealot
#

so the only way ive found thus far to prevent that is to destroy the character

maiden wadi
#

By hud I'm assuming you mean a widget. This is one reason that character spawning should not handle widget creation. At the absolute most, your character should call to the local controller's actuall AHUD class, and tell AHUD that it's spawned. And AHUD can manage your actual widget UI. Then you can not use that HUD class in the main menu.

spiral sand
#

@worthy frost in doing some reading it appears this issue happens to others too when the root is the collision mesh, which still makes no sense but hey at least I'm not the only one with this issue

dry glen
#

I'm trying to set up a metahuman with the Advanced Locomotion System following a tutorial but when i start playing the animations i get some weird clipping between the jacket and head

trim matrix
#

Hi, i 'm needed to set vlue of this variable "Wood Life" that is stored in another BP it ask me the target what should i put in it?

dry glen
steel zealot
trim matrix
#

Also i want to hide this object when this variable reach zero, how should i connect the trigger?

#

this happen when game start ofc

odd ember
#

no branch needed here

trim matrix
#

but if i connect only to new visibility the exec node is not called

#

i need eoither to use event tick or something else?

velvet smelt
velvet smelt
dry glen
icy dragon
#

MetaHumans already have 8 LODs by default.

velvet smelt
#

Something you can do…since he’s wearing a hoodie, you can hide his torso with a material that’s blank

dry glen
#

Ok so i added a LODsync and plugged in the LODs and it works fine on lod 0 but not at default -1

#

Oh i figured it out

velvet smelt
#

Hoodie missing?

dry glen
#

I had a misspelled word somewhere

#

thanks for the help though, i think it was a problem with the LODs

lofty smelt
#

dont know where to be

#

but i have a very simple question

#

how do i get my text to not get out of the fucking borders lol

#

like this

#

anyone pls...

velvet smelt
lofty smelt
#

@velvet smelt

#

got it

#

xd

velvet smelt
supple bane
#

Does anyone have a good quake movement clone?

trim matrix
#

Hey. How can I have my components overlapped actors specific component?

icy dragon
#

Well, it's more of a later Source movement, but Source is based on Quake engine, so yeah.

hard charm
#

Guys, how would you make a statistics graph in widget?

icy dragon
odd ember
lunar flower
#

Hi! Is anyone here familiar with the UE4 to Arduino plugin?

supple bane
#

I put it in my plugins folder

#

but nothing comes up when I search for it

quick lance
#

do planes not trigger collisions?

odd ember
#

hard to tell

#

follow the instructions

#

we know as much as you about the plugin

#

(if it even is a plugin)

supple bane
#

Im probably just gonna make movement myself

#

i need the experience anyway

odd ember
#

good luck

supple bane
#

ty

bleak hornet
#

how do i implement two conditions on these booleans?

#

on hit and on explode

odd ember
bleak hornet
#

when bullet hits the target, it should die and when the barrel explodes the target should die again

#

with variables i did it twice as u can see at bottom

#

but one of them overwrites another

odd ember
#

the enemy shouldn't be responsible for when the bullet dies tho

shadow crescent
#

any ideas what I have done wrong here?

faint pasture
shadow crescent
#

The property associated with Camera could not be found in '/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C'

faint pasture
#

What are you trying to do

shadow crescent
#

I am following a guide for a 3rd person game

#

I want to keep my 1st person perspective

odd ember
#

so you started with first person instead of third person because...?

faint pasture
#

what is this bit of code supposed to do

odd ember
shadow crescent
#

omg, doesn't starter content come with one, lol

odd ember
#

the default engine comes free with one

#

you just need to add one

shadow crescent
#

it has one already

#

and apparently 2 guns, lol

odd ember
#

right but you need another

shadow crescent
odd ember
#

don't talk to me or my gun again

#

no but for serious

shadow crescent
#

lol

odd ember
#

you need a third person camera

shadow crescent
#

k

faint pasture
# shadow crescent

One is what you see, the other is what other ppl see. Are you trying to have 3rd or 1st person view?

shadow crescent
#

1st person view

#

like in Satisfactory

odd ember
#

well right now you have first person

shadow crescent
#

I wanna place things into the world and need this reference for line tracing

faint pasture
#

K then you're fine, what are you trying to do with that code snippet you posted?

shadow crescent
#

omg, thanks for helping me to see the light, lol

#

but wouldn't I wanna stick with the same view as the player has, to ensure accuracy?

random plaza
#

what's the best way to save and load physics objects that ive already spawned into the world? idk how to upload my project files so people can help, could i just give you the uasset file?

faint pasture
#

For line tracing you already have everything you need. Just trace out from the camera you already have

odd ember
faint pasture
#

No he doesn't, I just don't know WTF that bit of code he posted was trying to do lmao.

faint pasture
#

OK i gotcha. He's makign a component to handle the building mechanic and move the ghost item around

shadow crescent
#

yup

#

love the idea 😛

umbral ginkgo
#

I have a custom event to spawn an actor and I want that event to trigger on collision with a box trigger. What's the best way to do that?

faint pasture
#

This is where you fucked up.

shadow crescent
#

yup

odd ember
#

use that

faint pasture
#

Do it just like he is. Just telling the Build Component that its Camera variable should be the camera on the character. This is done from the Character

faint pasture
#

He is setting BuildComponent's Camera to be Characters Camera

hard charm
#

someone knows how it would be

shadow crescent
#

I don't understand enough yet on how to change it to 1st so will follow him and figure it out later

umbral ginkgo
shadow crescent
#

thanks for your insight @faint pasture

#

will be easier next time around 🙂

faint pasture
shadow crescent
#

will do

shadow crescent
umbral ginkgo
#

yes

shadow crescent
#

ta

#

I really need some super beginner training, lol

#

this is not working, lol

faint pasture
#

That isn't the same thing

shadow crescent
#

I suspected not

faint pasture
#

Drag off build component, set it's camera

odd ember
shadow crescent
#

nothing listed though, lol

#

'tis the first thing I tried

odd ember
#

this discord channel

#

pinned

shadow crescent
#

ta, will take a look

faint pasture
shadow crescent
#

nope

#

when I drag from the component and type cam nothing shows

leaden breach
#

aight so I made some VR arms and they are acting up a bit

stable osprey
#

hi,,,, i'm having issues with playing my game,,,, for some reason when I click play it only simulates the blueprint i'm in,,, i dunno why

faint pasture
#

Or you named it something different.

shadow crescent
#

this is what I have now (but still in 3rd person) ... will clarify how to switch the came later as I have been getting "stuck in the details"

#

oops

tight schooner
tight schooner
#

Yeah complex can be wonky in some scenarios

umbral ginkgo
#

ok, what is the simplest way to spawn in an actor from collision with a box trigger?

#

k thx

supple bane
#

I got the movement working

#

well I made my own

#

its not spot on but its close enough

trim matrix
#

does anyone know how to make this work

tawdry surge
#

Change the type input you are passing

hybrid ether
#

I'm using this in game mode after Died. It works in my multiplayer game but problem is that it resets player but not "controller" example: UI shows 0% health

#

Is there way to reset whole player after getting killed in multiplayer game?

#

Like open level to current again but without loss multiplayer session

odd ember
#

there is a way but it's cpp only

#

seamless travel

trim matrix
#

but thanks

#

❤️

#

Hey guys, I'm working on a jump system for a small project, Im trying to emulate something like in the FF13 games where the jump is fixed to a position. could someone point me to the right direction for resources, I think I need to look at, Camera and Animation material, is there anything else I would need to look into? Just looking for an idea on the right keywords to search for, thanks all!

icy dragon
odd ember
icy dragon
trim matrix
#

like this

icy dragon
#

At least in first Final Fantasy 13, you can't jump around at your own will (as there's no need to - the game is very linear and not a platformer), so the characters would jump from one point to another only in specific points in the map.

trim matrix
#

^^ this yeah

icy dragon
#

(also can't forget how the "prologue" chapters drags out for hours but I digress)

trim matrix
#

yeah that was terrible

odd ember
#

looks like something you could set up with sequencer generally

icy dragon
odd ember
#

lerp would linearly bring you to the end position

icy dragon
#

And that's pretty much how it goes in the game. It's just basically play (exaggerated) jump animation and move the player entity into position.

odd ember
#

yeah but a jump is a curve in space

#

it's not linear

#

it goes start > jump apex > end

icy dragon
#

I'm thinking about the jump animation do the lift up.

#

Not necessarily "in-place" animation.

odd ember
#

that's bound to cause issues

#

I'd handle it as a cinematic and have the character teleport basically

#

hence sequencer

#

it also simplifies the fact that you have cinematic "jumps" separate from game logic

trim matrix
#

Cool I look into both options then, cheers

warm rain
#

I'm new to unreal and I'm trying to figure out a way to get all objects with a certain tag and then run some code on each of them. The problem I'm having is that all the objects are different classes and have run different code so I can't reference one function.

fiery swallow
odd ember
#

it's exactly what an interface is for

#

though it depends on what function parameters each class has

#

there has to be some parity in the function signature

icy dragon
#

Though he mentions tag, so I'm assuming it has to do with GameplayTags

#

I'm not versed in GameplayTags yet

warm rain
#

It turns out the tag part was unnecessary, I can now just use does implement interface.

hard charm
#

Guys I have already created my own graphing script for statistics 🙂

tawdry surge
#

There's also a get all actors with tag, but both those functions are pretty heavy because they get everything and then check if it has whatever you're looking for..
If you can avoid it, I'd try get direct references another way or do an event dispatcher and have each of your actors implement a delegate event to run the code you want

hard charm
#

too easy

icy dragon
tawdry surge
#

Well now make it fancy..
With like colors and dots or something

hard charm
#

this is mine I did it from 0

hard charm
#

I'm putting more data to show me but it works very well

icy dragon
#

You know, because kantan charts is free and open source, just in case you claiming it as yours, made from scratch. But I'm overthinking tbh

hard charm
#

I think it is not worth buying some of this if you can do it yourself

icy dragon
#

Buying for $0?

tawdry surge
#

If it's easy to do and you wanna do it, I always find it's easier to work with my code then someone else's

icy dragon
#

I'd prefer making things from scratch because cooler first, practical second.

#

Imagine the street cred gained from going deep into the code, heck yeah.

#

Not to mention potential to naming things yourself to be said in public presentations

tawdry surge
#

Haha idk if you've watched the cppcon presentations, but they get deep..
I gotta pop an asprine in advance

pine idol
#

How do you create a bullet tracer round that can be seen, regardless of distance from the actor? Similar to how you can see Bullets flying across the map, and from the barrel of your gun in any modern fps game, like battlefield, cod, etc.

#

The material will always fade drastically or disappear completely when it reaches an unknown distance, and I've never been able to figure out how to fix that.

brazen merlin
#

sounds a bit more like a vfx questions, but if you use niagra ribbons and a line trace, you can draw a line. with a little finessing you can make it as if the bullet took a few frames to reach that distance or else it will be an instance line. the fade effect and appearance can all be handled in the ribbin

pine idol
stray mural
#

If I have some blueprint uassets files, is there any way to 'view' them without adding them to some functional UE project? 3rd party or otherwise tool? Just a semi functional viewer? Original uproject is un-openable, so can't do export from it, and just want to examine some things

icy dragon
stray mural
#

yeah, need access to BP nodes first 😦 I did find a uasset 3d model viewer, but nothing for blueprints

brazen merlin
#

could you take the uassets of your bps and open them in a new project?

spark steppe
#

first of all make a full backup of the broken project

#

then take out assets and put them back in until you found the "corrupted" one

#

then get that asset from source control or the backups you make regular (right?!), otherwise check if there's an autosave of it which still works

thorn ermine
stray mural
#

oh there is like a million problems, its not my original project that 'went bad', it was just never good/functional, requires things I don't have (plugins, and whatnot)
and aside from spending several days trying to unwind things, I just wanted to read/reference for educational purposes by looking at some of the uassets.
(e.g. downloaded a old sample educational project off internet, and even though using right version, just busted af)

surreal peak
#

I mean, theoretically you can move the files, if all references are moved, from one project to another, given they are the same engine version

#

But there are of course lots of terms and conditions attached

#

It's probably better to at least get that project to open and use the Migrate function to get the files out.

icy dragon
#

Shall the project unable to open at all and File Explorer is the last resort, at least make sure to keep the file structure all the same when copying from one Content folder to another, as to not break the references.

tidal marlin
#

Noob question. Why Add movement input with floationg pawn movement not working when i spawn actor?

faint pasture
rancid steppe
#

my NPC Essential enemy move to me but without anim walking

#

how can i fix it

wicked shoal
#

Im trying to adjust friction based on vehicle speed. is there a way to adjust paramaters to the wheeldata asset on runtime?

velvet dagger
#

Just curious, how hard would it be to make a game from start to finish entirely in blueprint? I remember hearing something about how there's certain things that text coding is capable of doing that blueprint can't do, or is really difficult with blueprint to do

earnest tangle
#

Depends on type of game and features you want

warm rain
#

for some reason specifically my e input isnt working when i am holding control. I changed it to f and it worked perfectly.

icy dragon
velvet dagger
#

What does PITA mean though?

icy dragon
#

Pain in the a||rse||

warm rain
#

I tried like 5 other keys and every one works with control except for e

brazen merlin
velvet dagger
brazen merlin
#

the first thing i made was a fps shooter, nothing great, but thats the basis of the engine

velvet dagger
#

Awesome none of the less

sharp rapids
tidal marlin
#

If i add him on scene all work correct

#

But not when i spawn it

faint pasture
#

@tidal marlin what does that print string output? But also why are you not using a ProjectileMovementComponent for your rocket?

tidal marlin
#

Print string i use to see that all variables is correct

#

k i fix it

#

Need change auto posses ai

unique falcon
#

I'm trying to implement a crosshair for a tank by using a line trace but for some reason its not accurate, First i use line trace by channel then store the hit location in a variable and then in the hud i retrieve the value using project BP i display it on screen but for some reason its not accurate i could fix it by adjusting the return values on the project BP but is it really the correct way to do it?

#

Also for some reason when i shoot the crosshair jumps down why is that?

faint pasture
faint pasture
#

@unique falcon That's not how you draw something on screen space from world space. You need to convert the coordinates.

#

And when you shoot you're probably tracing and hitting your shell.

unique falcon
#

"convert the coordinates" which coordinates ?

faint pasture
#

Convert 3d world to 2d screen

unique falcon
#

you mean i have to convert the return value from project BP?

faint pasture
#

Is that what that project node does? Haven't seen that one.

unique falcon
#

yes

faint pasture
#

You need to offset it. The point you're giving it is the top left corner.

#

Haven't seen that draw texture node but try setting texture u and v to 0.5

unique falcon
#

i think its probably becausse of the texture width and height

faint pasture
#

Try setting the UVs to 0.5. That might be the UV they map to the XY

unique falcon
faint pasture
#

Lmao

#

Ok then offset the XY by half the width

#

Subtract 27 from x and y

unique falcon
#

subtracting does work but is it the correct way to do it

#

but what about the weird movement of the line trace and the crosshair

#

when i shoot it just jumps down for no reason

#

look at the video you'll see what i mean

faint pasture
#

You're probably hitting your projectile with the trace unless you have recoil

#

Have the projectile collision NOT block whatever channel you're tracing in.

unique falcon
#

oh i think you are right ill try that

#

its currently set to block all dynamic

unique falcon
faint pasture
#

Just edit the collision settings. Unblock whatever trace channel you use for aiming.

unique falcon
#

what do you mean by unblocking "trace channel"

#

you mean these two?

#

oh wow

#

thank you so much it's literally been a few days i was dealing with it

#

i think i have to go read some docs about physics

faint pasture
whole dune
#

Hi quick question: is there a way to convert a Texture 2D Dynamic to a Texture 2D in blueprints? Im downloading images but want to change its parameter values at runtime so i have to convert it

bright frigate
#

Hello, I have a prompt for when I am overlapping the box and it comes up fine. But it doesn't seem to go away even after leaving the box. Any thoughts? This should've just ... worked?

faint pasture
bright frigate
bright frigate
#

This has solved it

So that means that the multiple overlaps are creating multiple widgets and it's always one short of removing the last widget. The question is why? Why not remove all the widgets?

bright frigate
#

wth! All my light blueprints are just messed up on their own! I know the first thing you'll say is I did something, but I haven't touched this blueprint in weeks after making everything perfect. I just checked and all their locations are messed up, they're no longer as they were (e.g. light parent of 2 lights, both children are no longer children and just listed as separate components in the hierarchy instead of being parented and their locations are all offset at random spots)

#

wth man

#

I just don't understand these weird things, unbelievable

strong halo
#

Hi! What is the correct way to make a tooltip on specific words like this?

#

So far I've found only two ways:
1 - break the text into multiple text blocks, which doesn't work with multiline
2 - make a custom rich text decorator in C++, which may or may not be reinventing the wheel

umbral ginkgo
#

Is there any way I can get trigger collision input from other blueprints besides the level blueprint? I want to spawn an object when the player walks into a box trigger except the spawn system is on the player blueprint and cant be moved elsewhere because it relies on a variable in said player blueprint

sand yacht
#

I want to make a procedurally generated office, does anyone have a good tutorial for this?

strong halo
#

@sand yacht multifloor or not?