#blueprint

402296 messages · Page 798 of 403

eternal reef
#

Maybe use an enum switch based on category (pages for your UMG) instead of having to loop through all your objects to find the correct tags

shadow crescent
#

can my items still have more than one tag this way?

#

like with, for example a fence, there are different heights, lengths, materials, etc

eternal reef
#

You "could" include as much information as youd like to, but nesting with structs, enums, etc. is always sketchy in Blueprints

shadow crescent
#

in fairness, this only has to be done once, and updated when unlocking anything new

#

or would it HAVE to be called each time the build menu is opened?

eternal reef
#

I guess you only need to refresh it then, but by sketchy I refer to the actual development process
Adjusting settings after you made some changes to the variables can lead to bugs (well at least it did for me often enough)

gentle urchin
#

BP structs are horrible

#

prone to bugs and errors

#

relatively hard to work with aswell just adds icing to the cake

shadow crescent
#

I do find them inconvenient too, lol

#

I can't why I can't just have a normal data table, lol

brazen merlin
#

Gameplay tags right?

shadow crescent
#

yeah

#

like if you search for a type of wood or metal relevant build pieces will show up

brazen merlin
#

Youve got layers is the thing

gentle urchin
#

what stops you with regular datatable?

shadow crescent
#

different major cats

gentle urchin
#

so?

#

filter the db rows

shadow crescent
#

and on the right will be grouped by tags

brazen merlin
#

Cant edit the values of a data table, but u want that right?

gentle urchin
#

filter the filtered db rows for the tags

shadow crescent
#

I am not sure I will need to edit anything

gentle urchin
#

if you do need to, db is not the road to victory

shadow crescent
#

i'll be tracking whether they have unlocked it in a different table I think

brazen merlin
shadow crescent
#

I have no udea

gentle urchin
shadow crescent
#

just brainstorming at the mo, lol

gentle urchin
#

All build data could live inside a db

#

its static, known,

#

and has a set of rules for filters

shadow crescent
#

this is what I suspected

brazen merlin
#

Maybe just check out gtags

shadow crescent
#

will do!

gentle urchin
#

you could

#

have gameplaytags in a container on the player,

brazen merlin
#

In case you decide you need to edit things

gentle urchin
#

which basicly just enables some db row

eternal reef
#

Maybe something like:
Datatable holds all building information (un-editable)
Map Variable holds "currently" possible buildable objects
Other variable holds resources
just a guess

gentle urchin
#

I'd just to tag 😄

eternal reef
#

(Map is not possible for multiplayer btw.)

gentle urchin
#

instead of map

shadow crescent
#

sorry for the noob Q but whats the key different between a data tab;e and map?

#

oooh, I want MP eventually, lol

gentle urchin
#

a map is a pair of something

brazen merlin
#

A map is basically two columns

gentle urchin
#

a key paired with a value

#

while a datatable is some variable struct

shadow crescent
#

so as part of the save file, I will simply list the ID for each research?

gentle urchin
#

could do that

#

but if its an id

#

you dont need a map

#

you can just stuff it in a int array

#

if the id exist, the thing has been researched

shadow crescent
#

quicker to process?

gentle urchin
#

less checks i suppose

shadow crescent
#

I want TONS of items eventually ... maybe even a marketplace, lol

brazen merlin
gentle urchin
#

sounds like you're way out of scope

shadow crescent
#

lol

#

eventually maybe 😛

gentle urchin
#

multiplayer, tons of items ,

brazen merlin
#

Mp use GAS

gentle urchin
#

we're discussing a datatable vs Map 😛

shadow crescent
#

lol

#

we are discussing

#

something I have no clue about 😛

gentle urchin
#

Point in case ^^

shadow crescent
#

lol

brazen merlin
#

Good night then

gentle urchin
brazen merlin
gentle urchin
#

I'd consider dataTable for the build info, and some gameplaytag on the rows for checking if the player has researched it or not

#

datatable would also contain an enum for sorting into categories

#

or

#

you'd use the gameplay tag as a row lookup

#

Wasnt there some nice method there for grabbing the bigger categories...

#

nvm, im mixing the last part there with something else 😄

shadow crescent
#

I'm learnin

#

kinda

#

😛

#

a lot more than I knew before even though still a little lost

#

when it's time to scale up ... it will be fun finding a solution

gentle urchin
#

something like this

#

Along with a "category" filter

shadow crescent
#

oooooh, sexy code!

gentle urchin
#

not knowing how you want it, you may or may not want to show stuff that is to be researched

shadow crescent
#

lol

#

a few nots in there!

gentle urchin
#

maybe they are grey, unclickable, or maybe they dont exist

#

😄

shadow crescent
#

not kidding ... a little harder to digest, lol

eternal reef
#

Just do yourself a favour and really think what you need / want
Such systems can easily cost you a lot of time by having to rework them 10 times

shadow crescent
#

indeed

shadow crescent
gentle urchin
#

Using tag container should give you some flex imo

#

but surely, its not perfect

shadow crescent
#

easiest way to book mark discord chats, lol

gentle urchin
#

this was a tad more complete

#

didnt care to create a new struct just to show an example , so you gotta live with my transportrequest 😛

shadow crescent
#

lol

#

Has Tag

#

thats related to the tag mechanic rather than Tag exisiting in the dataset?

gentle urchin
#

its related to gameplaytags

shadow crescent
#

right

#

look at me learn! lol

gentle urchin
#

So the Category is a single tag,

#

updated when a ui button is presed

shadow crescent
#

thank you Mr Squizel

gentle urchin
#

while Research Tags is a tag container

#

which can hold many many tags

shadow crescent
#

nice

gentle urchin
#

another nice thing about these is that they are way easier to keep track off imo

#

since they can be grouped and separated and listed like this

shadow crescent
#

nice!

gentle urchin
#

instead of some manual input type

#

I'm still experimenting with them so this setup could be completely flawed , but i have yet to experience why 😄

shadow crescent
#

loooooooooooool

bitter helm
#

How can i make these variables as an array in my struct?

#

As I have multiple materials

maiden wadi
#

Click the little O icon and change it to the array one.

bitter helm
#

Damn

#

It was so easy

#

💀

shadow crescent
#

🙂

bitter helm
#

Thanks!

shadow crescent
#

nice neat box BTW lol

bitter helm
#

lol thanks

shadow crescent
#

better than I would have done

trim matrix
#

hi guys

#

virtual default joystick is not appearing in my gamemode(GameMode_1) but its appearing in another gamemodes(GameMode_2)

#

whats the reason will be?

orchid star
#

controls are stored in playercontroller, not GM

halcyon grove
#

morning, is there any issue that can be caused from calling a macro from within a function?

crisp lance
#

In CPP I often "pass by reference" to avoid copying structures on the stack. The goal is memory efficiency.
Should I apply this logic to Blueprint too or is "pass by reference" just in case you want to modify the input?

halcyon grove
#

specifically, I'm using interface to call damage calculation... but within "damage calculation" there can be instances of "damage over time"

#

which I think would need to run via a function

#

i mean a macro sorry

#

because of the timer aspect of that

halcyon grove
#

yes i know that bit

orchid star
#

I am not sure of the answer to your question but if you are using macro guessing you use delays

halcyon grove
#

xD

orchid star
#

use timers

halcyon grove
#

like because you can't use timers within a macro

orchid star
#

get used to them

halcyon grove
#

i mean a function

orchid star
#

you can

halcyon grove
#

sorry its early

orchid star
#

timer is not delay

#

set timer by event etc

halcyon grove
#

ok and if I use a function to call that within a macro

#

the timer will still work as intended?

#

i know I can just write this and test it out etc etc but just wanted to ask before I put in the work

orchid star
#

this keeps looping

halcyon grove
orchid star
#

you can stop it after storing it to a timerhandle

#

then invalidate it later on

halcyon grove
#

I think thats what I was worried about

orchid star
#

you can also choose to not loop etc

halcyon grove
#

i thought that functions had "timing" issues but they can still run timers its just delays

#

they cant call

orchid star
#

delays are not good

#

you cannot control them for first of all

halcyon grove
#

hmmm

#

well actually

#

while we're on that subject

#

what I have done

#

is set an attack speed value

#

by using a delay

#

and after the delay it turns on a boolean

trim matrix
halcyon grove
#

1 sec I'll show you the code

orchid star
#

it can work for you sure

gentle urchin
#

timer like this makes alot of sense for dots imo

orchid star
#

it doesnt make it a good choice though

gentle urchin
#

cycle an array of current dot's -> subtract from remaining time -> apply damage each tick interval

halcyon grove
#

I did this to control the attack speed

gentle urchin
#

attackspeed of 2 would mean -1 delay

unique falcon
#

Hello everyone i have a problem with spawning the default pawn, all i did was i changed the static mesh which resulted the mesh to be a little lower as shown in first and second image and now it doesnt spawn, tho i can easily posses the same BP which is in the level with no problem.
I also get this error "Accessed None trying to read property CallFunc_K2_GetPawn_ReturnValue" i think its because the pawn didnt spawn.
When i change the mesh to the default one its spawns with no problem
any help will be appreciated.

orchid star
#

and not hold it down

#

You will not be able to fire again with this I think

#

not sure tho

halcyon grove
#

no it works perfectly

#

to explain a bit here

orchid star
#

then what is the problem

#

go with it

#

I said what I said

halcyon grove
#

yea it was just planning for the damage application part of it

#

no worries 🙂

#

thank you

eternal reef
unique falcon
#

i dont know why thats the problem?any better way to fix it?i have no idea what its colliding with

eternal reef
#

Id first try to just spawn it in a clear area with just a floor (and move the spawn further up from the ground)

unique falcon
#

wait i think its the pawn when i ignored it it now spawns lol how is that possible

eternal reef
#

As you have two different meshes they collided with themselves

unique falcon
#

i have my playerstart waay up

#

alright thank you so much you saved me hours

bitter helm
#

Can someone plz tell me how I can save my character?

eternal reef
#

What do you mean by save your character

bitter helm
#

I have a modular character

#

With different parts like hands, torso, pants, etc

#

All having multiple materials

#

I want to save my character with a press of a button

#

So that the same character can be used in any level

#

In short how to save my character after customisation

eternal reef
#

Id go for a GameInstance

#

Save the selected stuff in there and retrieve it when necessary

bitter helm
#

Yes I did

#

I also created a structure

#

To save the modular parts and the materials

#

But idk how to make it work

eternal reef
#

You could for example
On Begin Play call the gameinstance and retrieve the information and set it on your character

topaz badger
#

Saw somewhere that mentioned blueprint nativization running 10x faster, which makes sense but I could only find info from 3 years ago from when this was introduced. Is it still best practice to nativize heavily used blueprints (Like player characters)?

#

oh wow ok thanks, so I shouldnt at all worry about it?

#

haha gotcha, thanks for saving me headaches :)

bitter helm
#

Here is the system

#

Ive wasted 6 hrs on this

cunning bane
#

Hey!
Any tip how to access cpp inherited field/methods from a blueprint (base class -> child actor -> blueprint)?
Currently, I use child actor class as a proxy to expose base methods. Do we have any other way?

bitter helm
#

This is my widget bp

#

I want to save my modular character with all the materials in the *CharGameInstance

eternal reef
#

Is it possible that the materials can be changed? Otherwise set it directly on the mesh so you dont need to save them

bitter helm
#

Yes I need to change the materials

#

Im working on character customisation

light token
#

Hello. I'm very new to profiling and just ran some traces after optimizing some things and now I'm trying to interpret the results and I'm a bit shocked. The bottom picture is before and the top picture is after. If you look at the Incl tab to the right it says the old results did 1.3s over something (a tick or something else?) and now it does 85ms. Does this say that I improved performance? I do notice a 10FPS framerate raise in the editor. But I'm new to this so I might need some help on this.

#

The change I made was a stationary light set to static and substepping from 2 to 1

eternal reef
#

@bitter helm somethings off with your character reference in GOK_Base

bitter helm
#

Hmm

eternal reef
#

I mean you call a function within GOK_Base is there even a need to plug the char ref in

bitter helm
#

No lol

#

I did that now

#

I didnt make references to game instance and character properly

#

@eternal reef it still doesn’t work

#

Its not giving any errors

eternal reef
#

You need to be more specific, what exactly does not work
I mean did you manage to save all settings correclty?

bitter helm
bitter helm
#

Its not giving any errors now so I think yes

bitter helm
# bitter helm

Is this enough to carry the changes made to another level?

#

Or do i need to load the changes somehow

eternal reef
#

Okay for your understanding
Basically what happens
The Character which you set up with your customization is not the same when you transition levels anymore as a "new copy" is created
Therefor you have saved the settings of your first character, but you need to apply them to your "new copy"

bitter helm
#

Ok

eternal reef
#

So you need to set up the logic that on spawn of your character it checks what you have picked in the customization
Basically what you can do is in your character:
Event Begin Play -> Get Gameinstance -> Get Settings -> Apply on character

bitter helm
#

How can I do that?

eternal reef
#

Event Begin Play -> (Get GameInstance) -> Cast To GameInstance (Or Interface) -> Get Saved Parts -> Set Skeletal Mesh / Mateirals of all your different slots

bitter helm
#

Hmm

eternal reef
#

And you might need to consider as when first loading up the character there is nothing set in the game instance
Therefor you might need to set default objects into the Saved Parts Object

bitter helm
#

Ok let me try

light token
#

I did make a package build but I did a development shipping configuration because otherwise the insight tools don't work.

lime cairn
#

I've got a Vive Tracker controller that I want to use as a camera. Due to design constraints, I can't position the tracker like the image attached, but rotated 90 degrees so that the X axis is facing upwards and the Y axis is facing backwards. How do I implement this offset? I tried adding 90 degrees to the Orientation but it's still showing some funky behaviour.

#

Is this a case where simply adding or subtracting an offset won't work? Or I just haven't stumbled on the right amounts

bitter helm
#

@eternal reef IT WORKED 😭😭😭😭😭😭!!!

#

Thank you so much

light token
#

Wow, I tested it again with substepping 1 vs substepping 2 and it improved by 1/3!

bitter helm
#

But how do I set default mesh?

eternal reef
bitter helm
#

Done

#

👍👍👍👍

bright frigate
#

hey, is there a way to enable or disable a material slot?

E.g. you can hide a component of a blueprint with a boolean and a set visibility node in the constructor.

But how about materials? I've realised that in my door blueprints, there are some doors that take two materials and the others only take one. This is the source of those map check errors talking about overriding 2 materials to 1 slot.

#

Ok I figured it out. Branch node to the rescue lol.

bitter helm
#

How can I use this animated button as it only has the “on visibility changed” and its s widget bp

safe iron
#

Hey there, wanted to share a thing, not sure if I did it right, but I am still proud of it

random crow
safe iron
#

I needed a subsystem to calculate health inside of different Character classes, but since I am an ignorant in C++ I couldn't make one... But turns out I am no normal person either so I coded a Macro in Blueprints instead and I'll use it as if it was a subsystem

trim matrix
#

simple question, hopping someone could help me with it:

when i call "Spawn Actor" node with an actor, does "Spawn Actor" calls the actor's constructor in parallel execution order? like if i have a lot of code inside of the class constructor, when i spawn the class with "Spawn Actor" node, will the node wait for the constructor to finish constructing the object before executing the code after it? or will it just do it in parallel? (sorry i'm kind of new to UE and programming in general and idk the technical term for parallel execution)

safe iron
#

If I get it right, you have a lot of code connected to the input of Spawn actor, right?
If so, It will wait to all the code before it to be executed, from left to right, if you want your node to be executed in parallel you should use a sequence, on Then 0 you connect Spawn Actor, on Then 1 the other lot of code

#

I might be wrong though, I am not that expert, only 4 months of experience

trim matrix
safe iron
#

Ah

trim matrix
#

but thanks for the help!

safe iron
#

I think it spawns the thing first then it executes the code inside of it

trim matrix
#

yeah i think that's exactly what's happing in my case

safe iron
#

You would like it to execute before it spawns? On the beginning of the game?

trim matrix
#

i have to use a delay of one tick to get some of the functions inside of the class when i spawn them

safe iron
#

You need a delay of only one tick, right?

trim matrix
#

yeah

safe iron
#

I think that delay set on 0.0 should do the job

trim matrix
#

i can't use the "overlaping actor" node right after the spawn actor node, so i'm guessing that the actor is not yet been fully constructed

safe iron
#

IDK

trim matrix
#

ahh it's ok i guess i'll need to look up in the UE docs to get what i'm looking for (but i don't know the technical term for it)

safe iron
#

Yeah, otherwise Google will help for sure

gentle urchin
#

Whats the usecase anyways?

trim matrix
trim matrix
#

Hi. I wonder how I can calculate the direction a player is moving in. So when moving forward he is at 0, when hes moving right he's at 90, back at 180/-180 etc..
And not take into account what rotation he has.

#

or 0-360 if thats easier.

#

not sure how you'll do that in blueprint but in c++ i used this:

 FRotator MovementRotation = UKismetMathLibrary::MakeRotFromX(PlayerCharacter->GetVelocity());```
#

@trim matrix *

#

pretty sure there is a "Make Rotation from x" node in blueprint

#

How would I make one of those list items tinted blue?

#

@trim matrix Thank you thank you thank you! That worked perfectly!

#

All the class is is an image with some text on top

#

Anyone know how I would do it?

gentle urchin
#

doesnt the textblock widget get constructed ( so construction script is used?) Then you can use that to alter its looks i suppose

trim matrix
#

Uh

#

I update the list like this

#

And do this aswell

gentle urchin
#

Uh....

trim matrix
#

I have a request admin system in game to basically play a sound to all online admins in game, and then I want to make their name in that admin player list view blue

#

So just make that image tint blue

gentle urchin
#

guess you'd use the interface call you're already using then, since its called on tick

trim matrix
#

Huh

#

How, what do you mean

gentle urchin
#

you're already using the interface to update their names

#

you could also fetch their status, compare to whatever broadcast you got going for the sound , and use that to update the color/tint

trim matrix
#

Huh alright

#

Ill try and think of a way

#

Thx anyway

lost solstice
#

is there a way to check if an actor has a specific struct from a different component or class and modify it remotely?

orchid star
#

you can use interfaces to check maybe

#

or tags even

trim matrix
#

Any idea why this never hits when the value is -130?

odd ember
#

have you debugged it with breakpoints?

trim matrix
#

Nevermind.. I'm just a moron

tight schooner
#

@lost solstice I don't think there's a way to loop through all variables and get one by type. Like Koala suggested you need to interface it somehow, like make a function that gets it, or put the variable in a shared parent class and cast to the parent

bitter helm
#

I wonder how can I control animation rate with character movement speed

trim matrix
gentle urchin
#

Would appear like you're on the right track atleast

trim matrix
#

Alright

#

Cool, will test it out in VR and then will come back to you with the results :)

bitter helm
#

How can I control my animation rate according to the player movement speed?

rose elbow
#

is there an easy way to restrict character movement on a certain axis

eternal reef
#

The character movement component provides the possibility to constrain the moveable axis

trim matrix
#

Ok so @gentle urchin that doesnt work whatsoever

#

It plays the request admin sound like usual - but it just doesnt make the button blue

gentle urchin
#

Seems the struct isnt updated?

#

Erh, nvm

#

read it wrong 😄

gentle urchin
trim matrix
#

The player list is just a list of players in the game currently (that is updated every tick) that only admins can see in the admin menu widget

#

And then in the inventory widget which everyone can see - at the top there is a request admin button.

#

Right now, I have it so that when you press that button - it plays the request admin sound to all of the currently online admins.

#

So that all works fine - I just can't make their button blue that corresponds to their player

eternal reef
#

oof I hope theres a built in cooldown for that

trim matrix
#

Yeah

#

Added a 20 second one

#

Does that when pressed

#

Thats the conditions at the start to use the button

#

So yeah

gentle urchin
#

"their" button blue?

#

Sounds like you want the player who has requested an admin to turn blue?

trim matrix
#

I want their name on here

#

Where it says text block

eternal reef
#

I guess the position of the player is based on some sort of array
Which means if player 3 in your array requests support, pick the 3rd block in the widget?

trim matrix
#

The background to be white

gentle urchin
#

the players are already connected to the list

trim matrix
#

Yuh

gentle urchin
#

so all i think is needed is some bool in the playerstate to say if they're waiting for an admin

gentle urchin
#

bool, or enum , for "state" if there are multiple possible states (especially between admins)

#

Like "None" , "Open Request", "Waiting for assigned Admin", "In progress"

#

or whatever state is appropriate

trim matrix
gentle urchin
#

Exactly

trim matrix
#

And then when the sit/request is done

#

I remove them

gentle urchin
#

Well...

#

dont you already have a playerstate array?

#

so all you need is a replicated boolean

#

"bRequestedAdmin"

trim matrix
#

Im so confused

#

Can you explain like I am 5 😂

eternal reef
#

Wouldnt you be required to constantly run the Event Tick for both, updating the list but also checking their state by this logic?

gentle urchin
#

Yes, the logic is.. interesting

#

rep notify would make more sense

trim matrix
eternal reef
#

Or only update when someone leaves, joins or sends a request

gentle urchin
#

Exactly

trim matrix
#

Well the main player list needs to be done on tick because of the way the modkit I am using works

#

It does have on leave server, on join etc but it doesn't work in this modkit as it should do

eternal reef
#

I mean you could do that with some custom events fairly easy

trim matrix
#

Yeah no I know

#

But I would like to keep my onTick logic that I have now

#

All I want to do is basically just when the player presses that button, target that specific player's button in the list view and set the tint of the image in the background to blue

eternal reef
#

This is now purely based on assumptions:
The players get put in your Widget List based on the position of the array
If this is true, you can just use their position in the array for the position in the widget list and colour it that way I assume

trim matrix
#

Uh

#

Can I not just like

#

Cast to the button which is used in the list view with the target as the players name or something?

#

Just speaking out loud 😂

dire oyster
#

hai
anyone know how to enable setting draw distance on a SplineMeshComponent so that unreal doesn't draw the entire spline at once?

odd ember
#

you'd probably have to loop through the spline

#

or not

dire oyster
#

the LandscapeSpline has that feature built in

odd ember
#

but you'd have to loop through to set it

#

since each mesh will have a different distance

dire oyster
#

all the meshes should have the same draw distance

eternal reef
#

@trim matrix
Uhh... no idea
To just clarify my point:
You have 3 Players in the Game
Player Array: Player 0, Player 1, Player 2
Your Widget retrieves those Players from the array and displays them in the same order
Which means Widget displays: Player 0, Player 1, Player 2

Now Player 1 requests help, he has the second position in your array and in your widget list
Thereby you can coloir the second position of the list blue

dire oyster
#

i tried looping over the static meshes but it doesnt let me set the DrawDistancr

trim matrix
#

Do you know how I would do this?

#

Or even TRY and getting around to do this?

eternal reef
#

But as I said, this is just a guess
I dont really do much stuff with widgets so not really
Id first find out how exactly your widget list works and whether you can reference each single "block"

trim matrix
#

I do think list views work on indexes (I believe)

eternal reef
#

There must be some way to reference it I guess, but no clue, maybe someone else is more familiar with that stuff

#

Seems like it has an index

trim matrix
#

It does use indexes

#

But then how I would use that is a mystery thinkies

eternal reef
#

No idea if this is really efficient, but:
Get the requesting player
Compare it with your array of players and see which position he is in
Use that index for "Get Item At" and I guess then just colour it

trim matrix
#

Oh shit

#

That would make a lot of sense wtf

eternal reef
#

And as there could potentially be multiple requesting players I guess you would need to create an array of "Requesting Players"
Check their position in the Player List and retrieve their position
Afterwards you have a list of lets say {2,3}
And you basically just loop through the array of positions that need to be coloured

trim matrix
#

Yeah I get that

#

That actually sounds great

#

But then when I get the element at that index

#

How would I change the color?

eternal reef
#

That is a very good question I dont have an answer for 😅

trim matrix
#

Ah alright

#

Lemme experiment hold on

#

Would something like this work do you think? (ignore the perma 0 index for testing purposes)

eternal reef
#

I mean you can just try it
Just make a fake player list that gets fed into your Widget and on begin play directly colour them blue or so

trim matrix
#

Well there is always gonna be a player (me) when I test it lol. Will test it alone in VR, will hook it up to my button and then test it.

#

Be right back.

robust kite
#

How do i change text on a button press?

trim matrix
#

Make the text a variable and use settext on the text element variable in the graph

#

Then set it to whatever

#

Like that kind of

bitter helm
#

@eternal reef sorry to disturb but can you tell me how can I increase the animation rate with player movement speed

eternal reef
#

So basically:
The faster you run the faster the animation should play?

bitter helm
#

Exactly

eternal reef
#

Do you use a blendspace?

bitter helm
#

Yes

eternal reef
#

And is it working? Because that should be handled by the blendspace basically

#

All you need is some animations like
Idle -> Walking -> Running
You set Idle to 0
Walking to 300 for example
And Running to 600
Use that blendspace in your Animation Blueprint and feed in your movement speed float

bitter helm
#

Yes

#

Wdym

#

Idle to 0?

#

Speed?

eternal reef
#

Like this basically

bitter helm
#

Oh ok

#

Then?

eternal reef
#

Episode 14 | 30 Day Tutorial Series

★ Come join the Team Beard Discord: https://discord.com/invite/hhv4qBs

★Check out my Marketplace Asset: https://www.unrealengine.com/marketplace/en-US/product/flexible-combat-system

★ Ways to Support The Channel ★
Patreon: https://www.patreon.com/JonBeardsell?...​
Buy Me A Coffee: https://www.buymeacof...

▶ Play video
#

I think its easier this way

#

Ah your using a 3d blendspace, I mean playing around with the animations / speed values is best if you check a YouTube tutorial for that
Kind of hard to guide you through that here

bitter helm
#

💀

#

My character is sliding at 2000 speed

eternal reef
#

Is your character movement max speed identical to the max speed in your blendspace?

bitter helm
#

No

#

Let me try this tho

eternal reef
#

Doesnt make sense to set the character movement speed to 2000 but the blendspace handles values from 0 to 100 or so
The values need to reflect what you have set in your character

bitter helm
#

This seems to work

trim matrix
#

And there is always at least 1 item in that list view

#

So IDK what is going wrong lol

bitter helm
eternal reef
bitter helm
#

This is no regular human

#

I want him to reach 2000 speed instantly

#

💀

eternal reef
#

Character Movement, just edit the acceleration

bitter helm
#

Its at 2048

#

Hmm

eternal reef
trim matrix
#

Fuck alright

#

Will look around.

eternal reef
#

What worked best for me is just look what the colour settings are called in the editor and search it when dragging away from that specific widget
usually you find what you need like that

bitter helm
#

@eternal reef It worked after increasing the acceleration

#

Thanks❤️👍👍

eternal reef
#

@trim matrix
https://www.youtube.com/watch?v=JyMEAx8-nbY
Maybe this vid helps you out
In the "ListViewEntry" he defines an Image and a Text, if you additionally add a blue background which is usually hidden and you just reference that and unhide it, wouldnt that work?

I've used the ListView Widget before, so I thought I remembered how to use it. Lol. Here's the reminder to my future self so that I don't waste another couple of hours in forum posts and google-holes.

This example was created with UE 4.25 but should apply to 4.23 and later (this was when Epic changed the UserObjectListEntry interface).

#ue4 #...

▶ Play video
trim matrix
#

That sounds doable (ish)

#

Yeah

#

Right i'll try that in a bit

plush wharf
#

Is anyone able to get the "Export Anim Sequence" blueprint to work? Does anyone have an example of it working? It keeps crashing whenever I use it

feral ice
#

can you in someway set the time in timeline?

#

for example set the time to start at .5 and do the rest of the curve till you reach the end (which is 1 second in my case)

#

apperently not look at this for example

#

idk you might remember this from yesterday but trying to make a zipline

#

give me a min gonna record

#

sorry haha

#

so i want to set the time to start at 0.5 seconds

#

wait so i have to plug in the same var twice?

#

ok

#

gonna try that

#

is it bc i set it to play from start?

#

instead of play

#

sorry for the crispy video haha

#

i set the time to be 0.5 that means that it should start from the middle of the zipline

#

hang on, so i cant just set the new time inside the timeline block to 0.5 i need to use an extern block or node (dont know what its called) for that

#

oh that complicated

#

why is it so weird lol

#

alright

#

haha yeah

#

for the help

eternal reef
#

lmao

feral ice
#

haha 😄

umbral ginkgo
#

Why do the objects never equal each other when they should? I think it's because of the variable types are different and if so, how would I make it so they do equal each other?

gentle urchin
#

@feral ice isnt it better to provide the actual start vector, and not some midpoint lerp alpha?

smoky marsh
feral ice
#

What do you mean?

gentle urchin
#

Instead of doing some start time stuff, just provide the proper start vector ?

#

Not linestart but overlap location or whatever you're using to trigger it

feral ice
#

you mean so i lerp between the players location and the end loc?

left fulcrum
#

I am struggling to find the error here but it is supposed to tick every second and change the value for the cloud opacity, the starting value is 0.7 and the target is 6.0. So its suppose to start at .7 and go up by .1 until it hits 6.0 but it just between .8 and .9 like .8 .9 .8. 9 and so on. Does anyone see the issue here?

trim matrix
#

And it just does not work

#

The blue layer/image just stays as hidden

strong finch
#

Wondering if anyone could help me with the attached? I'm trying to set up a freelook camera when holding ALT that allows you rotate around the third person character (similar to PUBG). Feel like this should be working and its driving me mad!

smoky marsh
safe iron
trim matrix
#

Havent used those before on my own

smoky marsh
#

Casting is pain, don't cast

trim matrix
#

Legit

feral ice
smoky marsh
#

Casting is pain unless casting to a c++ class

left fulcrum
#

What do you mean lorash? It comes right out of the addition node

trim matrix
#

Someone explained to me that casting is how you talk between different actors 💀

smoky marsh
#

It is, but it's like if I asked your name and you shouted all your information to me, like everything

trim matrix
#

Jeeesus christ

smoky marsh
#

Unnecessary amount of data

trim matrix
#

Do I add my custom one here?

#

Oh shit ok 😳

#

Oh alr

umbral ginkgo
trim matrix
smoky marsh
#

Well, object goes in, entire object goes out if its the same

#

Which tends to be overkill

#

The ue5 demo animbp is like gigabytes in size for no reason due to a cast

feral ice
# gentle urchin Instead of doing some start time stuff, just provide the proper start vector ?

The location will be different and to lerp between end and players pos will result in different speeds. If the player is 10000 units away the speed will be 10000units/second. If the player is 100 units away the velocity will be 100units/second. Thats why you said that ysterday that i need a set velocity so whever the player is the speed will remain the same. Gonna try it your way.

gentle urchin
#

Thats why we adjust playrate*

#

playrate compensate for lerp distance being different

#

takes speed into account

feral ice
#

ok gonna have a look if this is easier

#

how many times it should update?

#

no thanks haha

#

haha

gentle urchin
#

Interpto would work aswell, but requires some manual checks

feral ice
#

i feel like i know to little to use interpto constant and interpto. Gonna have to read and watch a video on how to use it properly

#

ok

#

gonna send a reference video if thats ok

#

im trying to make it look like this, i misspelled together

#

thats true about the acceleration but ill start with just getting it to work the speed i will deal with later i guess

gentle urchin
#

The timeline could accelerate it

feral ice
#

but cant i just mix with the playrate

gentle urchin
#

Just by editing the curve

#

Not very flexible by variables tho

feral ice
#

yeah ok

#

well i have to divide this into sections

gentle urchin
#

Curve always starting at 0 would give you predictable acceleration, but would account for any existing speed

#

Interpto is surely better overall in this scenario i think

#

Yeah valid points

#

The original request didnt mention acceleration (or zip-jumping),

#

So its just guesswork when proposing anything really

last tangle
#

do inputaction's only work with one blueprint at a time?

#

i have an inputaction connected to two different blueprints but only one works at a time

maiden wadi
#

If you don't uncheck Consumes Input on the event, yes.

last tangle
#

how do i do that?

maiden wadi
#

Click on the events in both blueprint and check out the Details panel.

last tangle
#

okk!

#

Thanks!

trim matrix
umbral ginkgo
trim matrix
#

@smoky marsh/ @trim matrix back to my interface thingy, if I try and do this but want to access the event in the zoidhelpbutton widget event graph, what the hell do I put in my target?: https://screenshots.foxy.rip/f3TGrGAa

#

This is what is in that widget's event graph

indigo bough
#

Hey folks, just a question about blueprint components. Is there any other way to attach data to a primitive component other than component tags?

Asset User Data seems like it might be what I want, but I can't create new classes of that in a blueprint-only project 😦

#

(Specifically data that can be accessible within blueprints, not the material)

#

The dream would be to provide a reference to another component belonging to the same actor, along with some int/name variable.

dawn gazelle
trim matrix
#

So would I just make a new variable called like the blueprint name

#

And then that's the reference?

dawn gazelle
#

Nope. That would only be a variable that can contain a reference to a widget and not the actual reference to the widget unless you set the value of that variable to the widget that will be executing the code.
It's like if you had an integer variable, but never set it's value, it'll always be the default value of 0. Unless you set the value, then it wouldn't point to the actual value you're wanting.

trim matrix
#

So how would I 'reference' that widget then?!

runic parrot
#

Hi! i'm attaching one of my cameras to one actor and i want the camera rotation to stay the same and the position to move along with the character. The problem i'm having is that the camera rotates with the character.
Am i missing something?

dawn gazelle
trim matrix
maiden wadi
#

@indigo bough I don't believe that's possible without some framework. If you want another component's data from the same actor parent, you could just use GetOwner->FindComponent. There are a couple of ways to filter components, FName Tags, Class, etc.

runic parrot
trim matrix
#

So @dawn gazelle how would I reference it?

#

Or at least one of them

dawn gazelle
# trim matrix So <@!218956378654507008> how would I reference it?

So you provided a screenshot of the parent widget. I've not really messed with ListView objects, but you'd have to get the Listview_148 object, and then get the reference to the specific item in the list you're wanting to change. Something like this. The return values would be the reference to the actual widget object.

sand wasp
#

how would I sort an array of Blueprints after their priority which is an integer?

indigo bough
# maiden wadi <@!95540280085712896> I don't believe that's possible without some framework. If...

Thank you, yeah getting the components is relatively easy, but I'm trying to set up a animblueprint script which sets two bone locations based on the world location of another component, however I need to set which two components this animblueprint should be getting the world location of.

So far I've been using component tags, basically two component tags on the first object which correspond to 'target' component tags.

If component tag 0 = "A1", Find component with tag "Target_A1", get world location.

The problem with this is it's just a web of component tags, especially when something is both a target and a source 😦

#

Perhaps a custom Asset User Data is the only way,

trim matrix
#

That button in one widget

#

Calls that interface-based event inside of the zoidhelpbutton

#

The event never touches the parent widget's event graph

dawn gazelle
trim matrix
#

But how I go about getting the reference is the hard part for me

dawn gazelle
#

And it's the next to impossible thing to explain as it all depends on how things are set up for you specifically.

trim matrix
dawn gazelle
#

Like if you have a master "window" widget, and that request admin button exists on it, and if there's another widget that contains the list that exists on that master, you use the master window to find the reference to the list.

rich granite
#

Ah, another day, another bug.

Yesterday I saved and closed Unreal with my player movement working perfectly, and when I load up the project today, the player doesn't move.

It'll change direction, but velocity prints as 0.000,0.000,0.000 :T

trim matrix
#

And I need to access one of the buttons inside of that list view

#

Which the class is called zoidhelpbutton

rich granite
#

Er...I just fixed it. Apparently turning on physics prevents the AddMovement node from working.

trim matrix
#

I just want to make an image layer visible when a button is pressed in a different widget basically

#

So e.g:
I press the request admin button:
- The corresponding player's button in the admin panel widget turns blue

desert juniper
#

Your best bet is to use version control to revert back to a time in which it last worked, and work your way up forward to there

trim matrix
#

What would I do Daytura?

pure bridge
#

Ray cast car suspension the rays go side ways what to do

flat coral
trim matrix
#

Was you going to say something Daytona?

rich granite
#

Scenario:

The actor class Enemy_Base has a vector variable called Knockback.

The player is hit by actor class Enemy_Base_Child.

Can I simply cast to Enemy_Base to get the value for Knockback?

#

Instead of casting to Enemy_Base_Child

trim matrix
#

Bro you still typing 😂

#

https://screenshots.foxy.rip/9tgFguxZ - I don't know what you are trying to say here @dawn gazelle but it should really be a bit simple, I just want to be able to reference ANOTHER widget from one

#

Shouldn't the solution be a bit simple?!

dawn gazelle
#

have fun figuring it out.

trim matrix
#

uh

#

did I do something 😂

dawn gazelle
#

Well it's simple right?

trim matrix
#

yes but no

#

For others it should be, but I cant figure it out for the life of me

dawn gazelle
#

So what makes you think that I am any more an expert than you? Perhaps I'm taking some time to actually think about your problem, and properly construct something that could help you?

trim matrix
#

I'm so sorry if I came off as impatient - I really am trying not to be, it was more of the stress of not being able to figure it out that kind of made me say that.

#

I apologise and would accept any solution/help you can give.

dawn gazelle
#

Rule #2 in the discord my dude... Be patient.

trim matrix
#

Yeah - i'm sorry 😂

dawn gazelle
#

Now, how I would approach your problem is much different.
I would have an "admin state" as an enumerator replicated variable in the playerstate. It can have 3 possible values: StandardPlayer, AdminRequested, AdminPlayer. By default, the "admin state" should be set to "StandardPlayer".
When a player requests admin by clicking your "Request Admin" button, the RPC goes to the server, and the server sets the "admin state" on the appropriate playerstate to "AdminRequested"
Your list view widgets should likely be generating from the list of playerstates, so from that, you should be able to pull the "admin state" value and you could just bind to the "admin state" to change the appearance of the buttons.

#

No needing to call one widget from another, just simple variables changing that then drives changes in other widgets.

trim matrix
#

How would I do the "enumerator replicated variable in the playerstate" part?

#

I get everything else

dawn gazelle
#

You create an enumerator like so. Double click and open it after creating and you can set the values.

#

Then in your playerstate, you can add a new variable of the type of whatever you named your enumerator.

dawn gazelle
#

Then you can set/get the value by referencing that variable.

trim matrix
#

Is that the name of the enumerator thinkies

#

I dont have a player state, I have a Player Proxy as I am using the Pavlov game modkit

#

So all actions run on the player would be in the player proxy

#

...right?

dawn gazelle
#

I'm not familiar with it.

trim matrix
#

But then how would I access the player state?

dawn gazelle
#

Based on the video I found, the "player info class" is a wrapper for the playerstate.

#

So you'd put that enumerator in there.

#

the player proxy is the pawn of the player, or the thing they are controlling in the game.

trim matrix
#

How would I access the player info class then?

zenith trout
#

what happend why is my camera so weird what should i do??

dawn gazelle
trim matrix
#

Alright

sand wasp
#

how can I sort an actor array by priority/value inside the actor?

gentle urchin
#

Loop it -> insert in a cached array at the right spot -> return cached array

odd ember
#

find a heuristic to sort by

#

and pick a sorting algorithm

#

doesn't array by default implement a quicksort?

odd ember
#

I've never seen that but there you go

gentle urchin
#

Damn

#

Thats new

odd ember
#

I don't think it's standard

sand wasp
#

ive never seen it either

gentle urchin
#

Would be nice if it was

odd ember
#

the heuristic is the comparator anyway

#

if you pull that out and use CreateEvent

#

you can create an event that compares values

sand wasp
#

not that I would know how to use it

odd ember
#

you have to use some sort of heuristic

#

a value

#

just comparing actors or objects isn't going to give you anything

#

if you have values stored in the actors that's good enough

sand wasp
#

how would I do that tho. I have an int in the actor which acts as priority

gentle urchin
#

How would one return a result?

odd ember
#

cast to your actor

#

find the int

#

compare the ints between A and B

sand wasp
#

and how do I put it back into the array?

odd ember
#

may still be

#

maybe the custom UI doesn't distinguish between ref pins and normal pins

sand wasp
#

wait so how do I put them back sorted into the array after getting the int from Object A and B?

odd ember
#

consider it done for you

#

that's the simple explanation

sand wasp
#

just a step in the right direction...ill figure it out by myself

odd ember
#

so it needs to be a function

#

not an event

#

look at that thread

sand wasp
#

why did I never find this. I looked for a question on the answerhub but didnt find it

#

thansks

#

thanks

odd ember
#

literally first result on google

dawn gazelle
#

I can't even find that node <_<;;

odd ember
#

it's low entry

dawn gazelle
#

Ah

sand wasp
odd ember
#

I have so much disdain for the break exec on loop macros

dawn gazelle
#

whoops forgot something...

#

whyzat CE?

sand wasp
#

I kinda tried something similar but I always failed on an infinite loop...I really have issues with for each loops. May I snippity snap this?

dawn gazelle
#

Fixed again.. lol (And yes Cascade you can use this)

odd ember
sand wasp
dawn gazelle
#

Yea in a function it kinda sucks. If you had it out in the event graph you could call an event to break it XD

odd ember
#

only for eating

#

not for unwinding

sand wasp
#

fair enough

flat coral
#

The problem with an infinite loop is that the Tick function is already a place to run code on an infinite loop

odd ember
#

it's not an infinite loop

#

it's breaking the loop

flat coral
#

Like that's what tick is, every time the whole sim loops, tick gets called, forever

#

my rule is only break a loop with a return

#

Like if you're looking for something in a list, it's cool to break it when you return that.

odd ember
#

if you return you don't need to break

maiden wadi
#

Things like that make me love C++. 😄 As a UI person Array.Sort( {} ); is far too fantastic.

odd ember
#

aye, I believe that's what they tried to do in LE

flat coral
#

Well, you're still breaking the loop, just not using a break statement

odd ember
#

with the comparator

gentle urchin
#

Couldnt one make a bool for break in the macro instead

odd ember
#

you'd still have to set it

gentle urchin
#

True

#

But no return wires

odd ember
#

you'd still need the wires?

gentle urchin
#

Would look more like how youd do it in cpp i guess

odd ember
#

oh you mean like the bool would be checked

gentle urchin
#

Y

odd ember
#

every loop

#

hmm

gentle urchin
#

Basically let the macro check the bool with an 'or' statement for the length of the array

gentle urchin
#

Seems to work. Drawback is the extra bool handling

rustic kettle
#

Any recommendations on what to learn for creating a advanced locomotion system?

hexed cloak
#

Is there a way to "Make Array" from the items you have selected?

#

And automatically connect them to the node

hardy merlin
#

I've got a question. I'm using Third Person Character setup and I disabled UsePawnControlRotation on the camera boom and the camera, but the view is still rotating when I move the mouse. Is there something else I have to disable?

odd ember
#

mouse input for camera?

hardy merlin
#

That's disabled too

faint pasture
#

This might be more of a design question but it kind of gets into blueprint. I have a vehicle building game much like Kerbal space program. I've been thinking about how to do the controls. Right now, I just have direct mapping from input to vehicle parts which respond to that input, and the vehicle part is configurable by how much it responds.

I'm thinking about making it a little bit more flexible and diagetic. I would like vehicle part controls to be wired up in as simple a manner as Minecraft's Redstone or GarrysMod WireMod or Starbase.

Here's my current idea. Every part has named control fields. Every field is in the (-1,1) range. A wheel hub might have Brake and Steer, while an engine would have Throttle, a clutch would have Engagement, etc.
In wire mode, click-dragging from a part to a part creates an output->input connection (wire). The simplest vehicle would have direct mappings from the cockpit (Brakes, Throttle, Steering) to the vehicle parts, while a more complex setup would have intermediary ADD and MULTIPLY and AVERAGE (along with others) nodes. All the nodes exist as physical parts (ECU) and can be damaged.

Does this seem like an ok approach or too complex?

terse elm
#

how do i set game speed slower for debugging? i cant find set speed anywhere 😦

eternal reef
#

Reminds me of Scrap Mechanic
Might be worth a look
But to me it seems logical

terse elm
#

hrm did they remove game speed? lemme try

#

ah global one sec

faint pasture
#

Doing actual drivetrain and power and control graphs instead of just more engine equal more faster

terse elm
#

thanks!

flat coral
#

It'll automatically vector your thrust to compensate for torque on the vehicle and keep it both going the right direction AND aligned correctly

#

And it's very difficult to play without it

high ocean
#

Any chance I can modify these EDs to also send the refs of the buttons pressed (w/o cpp)? This is an edited template I made creating a bp class from the button class of the engine.

flat coral
#

You could make a custom button class that wraps Button and dispatches a custom event that includes the param

high ocean
flat coral
#

wiat no you can do all I said in BPs

high ocean
#

all u said i know, I have those setup

flat coral
#

I'm so confused where you think C++ factors into this

high ocean
#

well, i'm guessing I can edit these EDs in their source and change them in the engine (like I change my foreach loop to always also have a start index)

#

i'd like to have this on all button event dispatchers - send their refs. Then again, now that I think of it, it's no use lol Jesus I'm dumb... 🤦‍♂️

#

nvm, thanks @flat coral 🙂

flat coral
#

Glad to help?

#

🙂

high ocean
#

I have this mess here, made by my "artist" 😒 and ofc the buttons are overlapping, So I just wanted a quick fix, when I hover any of them, get their refs, check against an array of the others and set the others as hit invisible to avoid situations in which the player clicks on the overlapping area, the button is ofc hovered, but the click doesn't go through for either and it looks like a sloppy bug

#

or I could just search for a proper artist and do what I actually asked: 2.5D view+extensible of a trippy/darkcloister interior - nvm...

gentle urchin
#

Sounds like avoiding overlap is a better fix 😅

high ocean
flat coral
#

Yeah it seems to me that fixing this problem is like 20x easier than whatever you were about to do lol

high ocean
high ocean
#

i can do my 3d stuff and cheat that - not with illustrations tho

#

I wanted thronebreaker pov + style + atmo, dark, something that makes sense, he makes this gibberish and calls it a day fml

gentle urchin
#

Thronebreaker? 😅

high ocean
#

I love that pov! And some of that style

gentle urchin
#

Guess im glad i didnt finish my game?

#

Was named thronebreaker

#

Totally random

high ocean
#

uhhh.... ouch! 😐 sorry about that

gentle urchin
#

Nvm, its my current working title 😂

#

Well its not a good name anymore, not suited for the game at all so

high ocean
#

hehe, this crap I'm working on was called nameless until I got the steam app application, then I named it lol

gentle urchin
#

But yeha getting decent people to collab with can be troublesome

#

Quite a few half doers

#

They're still better than no-doers but sigh...

high ocean
#

well, I've struggled to teach/even studied for him and send him bits and pieces, did research, feck me i learned 3D myself in the process - he still sucks at 90% of the stuff - We're talking 3 years man... srsly. Anyway, gave up on him totally, so I guess I'll need to find me some illustrators to make some stuff. The rest falls on me 😦

high ocean
#

or at least listen & take into account my references. I send you a flower and you draw a dragon - like wtf. Then they're like "well, i thought it'll be more suited" lol wut?!

#

nvm, bitching here instead of doing work, besides, wrong channel - sry everyone! 😅

gentle urchin
#

😂

#

On an unrelated note im gonna do my own path correction since navmesh doesnt give me what i want

#

Getting way out of my original scope for the movement but oh well

#

I want it nice

#

Correcting it with a ton of linetraces 😱😫

high ocean
#

Oh wait... wtf, this is weird. Overlap isn't the problem, the click doesn't fire in this area o.O

#

any ideas? I'm out of ideas 😐

gentle urchin
#

Daym that looks oddly specific

high ocean
#

that's a whole lotta work man 😄

dense yew
#

Hello, does anyone have an example on how to code a projectile that will hit the clicked mouse location with a parabolic trajectory (easiest behavior example would be Ziggs' bombs).

gentle urchin
#

If it hits, i add a path point and adjust my new trace angle according to the face i hit

high ocean
#

oh but that's not so bad, I imagined many traces at various angles (porcupine-style) around the character to correct trajectory... on tick 🤣 Seen that somewhere on some free marketplace stuff - think it was flight nav. Was funny

gentle urchin
#

😂😂😂 on tick for sure

#

Jk

#

Its done once per path request

#

Shouldnt be horrible but maybe

#

Depends on how oddly shaped the landscape is

#

Mostly flat so not gonna give me a ton of points

#

Worst case would be the amount of faces over a given distance , if all faces had a different direction/rotation or whatever you'd call it

high ocean
flat coral
#

Though if they want it to be angled up so that it impacts where the cursor is, that's harder...

dense yew
#

yeah I can get a parabolic trajectory working and make it shoot towards my cursor

flat coral
#

Have you considered that, with a fixed projectile speed/weight, some objects will not be hittable with it?

dense yew
#

what I cannot figure out is how to make it hit the exact cursor location

flat coral
#

What i'm saying is there is a max range to account for

dense yew
#

oh yes, sorry was caught up reading. There'll be a max range

#

trying to make a grenade work in an isometric camera, or MOBA style

flat coral
#

also even with a fixed projectile speed, for almost all distances there will be two possible paths

gentle urchin
#

Direct and indirect, sort of

flat coral
#

like if I can throw a baseball 1 kilometer (being conservative), if you're 100m away from me, I can either throw it towards you with a slight upward so it hits directly, or I can throw it almost 1km into the air (again, being conservative with my abilities) so it lands where you are

gentle urchin
#

Usually you'd want the shorter path ^^

#

Unless obv obstructed

#

Or low accuracy

#

If any of the latter then the long route may be more desirable

flat coral
#

Exactly my point, especially regarding the obstruction

#

So all this is tricky fuckin math... except there's no way in hell that's what like League is doing. They are for 1000% sure, faking the shit out of this.

dense yew
#

yeah, I want the league cheat hahahahahahaha

gentle urchin
#

The math isnt that complicated tho

flat coral
#

All you do is send it from A to B on a straight line, and then have the height of it given by a parabola that you have stored in a curve somewhere. And then you scale the parabola by the distance, so farther shots go higher

dense yew
#

hmmmmmmmmmmmmmmmm

flat coral
#

That's not like the real math but it's close enough that anyone would have to squint real close to see how it was wrong

dense yew
#

that's much more clever than what I was attempting with real math

flat coral
#

I'm in camp Fuck Math

#

(haha jk I've done so much goddamn math for my game)

dense yew
#

gotta admit, I'm actually a vfx guy, so I want to learn projectiles so i can make some fancy stuff

#

next on the list are projectiles with random trajectories

runic parrot
#

Hi! is there any way to get a random point (vector) given a collision box?

gentle urchin
#

Random point in box?

dense yew
#

thank you @flat coral @gentle urchin

winter kettle
#

I have an "OnHit" event that is triggering before "BeginPlay" on an actor blueprint

#

is there a way to fix it?

flat coral
#

WAIT NO mine is for a beam trace 🙂

brazen merlin
dense yew
#

let me show what I mean by random as well

runic parrot
dense yew
#

Also saved those screenshoots, I'm sure they'll help me hahahaha

flat coral
gentle urchin
gentle urchin
#

Grinnings idea will work for the randomness tho!

#

Just rotate the curve 😄

flat coral
#

The advantage to physics is that it will look 100% right to the viewer and is pretty easy to do usually. But the disadvantage is it can be very difficult to tweak for gameplay purposes

dense yew
#

Thank you all, will be sure to show the results later

flat coral
#

For example if you wanted to increase shot-to-target time by 30% for gameplay balance reasons, with the physics approach you could be back to the fuckin drawing board with the math. And there will be an odd, parabolic relationship between target distance and shot time

flat coral
#

But with the "fake it" approach, you can just make the speed a float and have it in your calculation as a constant

dense yew
#

it looks good enough as well

high ocean
#

y not have a single trajectory on a spline (or whatever, a few splines which get selected), pick points in it's proximity with a certain variation and spawn splines connecting those points, then have the projectiles follow them? Idk, It's how I'd approach it, but I'm bad at programming & physics, so maybe I'm talking smack 🤷‍♂️

flat coral
#

Often the right approach is to separate the gameplay and visuals a liiiittle bit. For example, weapon that APPEARS to shoot a super fast projectile, for visual purposes, but is actually hitscan behind the scenes and the projectile doesn't DO anything

dense yew
#

I've been learning that slowly

icy dragon
#

At least in GTA V and maybe COD games, that is the case

dense yew
#

Miniguns are one of the greatest lies in videogames lmao

flat coral
#

Because like... if how it looks and how it plays are inextricably linked, what do you do when it looks good but feels wrong, or feels good but looks bad?

high ocean
#

I don't even bother with projectiles in my game (not a shooter/projectile focused tho). I just spawn the emitter when a skill is shot by a bow, then the emitter on impact - looks decent, if it doesn't even give it more impact

flat coral
#

The ability to tweak the look and the feel separately is often important

dense yew
#

eh I'm learning projectiles so I can control the trajectories

#

and apply it into the game i'm working on

flat coral
#

I guess the questions for you are things like "should terrain block the projectile realistically, or in a more abstract way?"(eg no shooting around lane edges) and "if the target is on a higher elevation, does the projectile impact sooner or is the weapon always the same shot-to-target time by distance?"

dense yew
#

yep

#

I'm currently working on a tower defense so it's even a tad simpler

#

but there's still some height variations

flat coral
#

I'm doing something that is SUPER physics-based, but even I'm often finding that the separation is still necessary

dense yew
#

we'll have to deal with that when we start applying some crazy trajectories

#

Also I pretty much love physics in games, hopefully in my next game I'll be able to work with ragdolls and destruction 🙂

gentle urchin
#

@dense yew If you wanted whats inside the node

dense yew
#

Oh I recognize the formula

high ocean
#

I just can't get it, can't find anything on the internet either. My button - and only that button - doesn't trigger when pressed in that particular area.

dense yew
#

Thank you

gentle urchin
#

and watch how the mystery resolves itself

high ocean
#

but the exact same button class works for all the other buildings 😮

#

i even looked at the texture - no difference between them, none...

gentle urchin
#

someting else lives in the widget space?

high ocean
#

nope

gentle urchin
#

override

high ocean
gentle urchin
#

on mouse enter

#

and on mouse leave

#

and see if it responds

high ocean
#

they work 100% perfectly

gentle urchin
#

but do they respond within that given circle?

high ocean
#

the click even sets the state properly but won't fire the ED

gentle urchin
#

as in, the mouse never leaves the button?

high ocean
#

i'll check, fair point

high ocean
gentle urchin
#

erh

#

should it leave when you click?

#

sounds odd

high ocean
#

i know... I don't get it

#

and if it left and I keep clicking all over the button, at a certain point it will "enter" again - nothing predictable tho...

gentle urchin
#

Sounds like

#

hmm..

#

click method?=

high ocean
#

up & down for all

#

meh, lemme try down only

gentle urchin
#

or precise click

#

I've seen weird things with the default button tho

high ocean
#

yyyep, i'll just leave it on mouse down click method, it fixed it 🙂

#

thanks! 😄

gentle urchin
#

weird, but good i suppose

high ocean
#

I don't even care it isn't "standard"

gentle urchin
#

custom buttons are safer imo 😛

high ocean
#

cpp custom buttons or?

gentle urchin
#

nah just userwidgets representing a button

high ocean
#

just some borders with images and EDs on click - ye, meh, I could do that...

gentle urchin
#

exactly

high ocean
#

the bonus is they will even work with drag & drop

#

buttons don't

gentle urchin
#

Exactly

#

buttons can,. but needs some special special handling

#

Mouse enter and leave is just hover,

#

and a few overrides

high ocean
#

lol my hover is a FL function for all buttons

gentle urchin
#

well daym

high ocean
#

but never thought to do it like that, u got a point 🙂

gentle urchin
#

has worked great so far atleast

#

probably got it wrong with the focus part but im not doing gamepad controller anytime soon

#

you can ofcourse make dispatchers for every event if you want the main widget to handle it somehow

high ocean
#
  • it's easier to set states for them if you don't do - idk how fancy you'd need to go to require that whole state struct.
gentle urchin
#

never used the state struct 😂

high ocean
#

figures, it's a pain in the arse really

gentle urchin
#

in my case the click event relies on mouse button up, after being down

high ocean
#

expecially for dynamic buttons -fml

gentle urchin
#

and if it were to trigger clicked, i just forward it aswell

high ocean
#

ye, saw it

gentle urchin
#

That is all, aside from the variables for setting it up

high ocean
#

but that's a good idea indeed. My next project i'll use custom ones instead

gentle urchin
#

clearly more can be added

high ocean
#

well, u make a class ONCE and have it forever really

gentle urchin
#

Exactly

high ocean
#

now here's a nice use for that feature in ue5 for adding modular feature packs - things like this

paper hornet
#

How can you setup variables on the gamemode blueprint? Like, I got the variable setup but I don't know how can I set up its value on?

icy dragon
paper hornet
#

Not really. Perhaps you can point me a better way? I have a camera setup in the scene. I just want that when the game starts it set itself as the camera of the player. I know I can reference objects directly in the level blueprint, but I figured out that the camera was somehow related to the gamemode? Given I could have multiplayer (multiple cameras?)

#

@icy dragon I'm quite new, so any feedback is of help

#

Like, what if the camera is diferent on that level depending on the gamemode you are willing to play?

icy dragon
paper hornet
icy dragon
#

I'm thinking to have the pawn to have the saying on what camera to be set active, as opposed to the game mode.

paper hornet
#

Right, makes lots of sense for single player. Thanks mate!

dense yew
#

now time to work on the vfx itself lmao

dense yew
#

also some vfx showoff there with the gunshots, heh. Have a great night

spice smelt
#

is there a way to have a field in the details panel which accepts a class's method pointer somehow? Or better a blueprint library's function

faint pasture
high ocean
#

@faint pastureWe got the same money man... The game we made was on a grant. Not big money for either of us. I ended up doing 80%+ of all the work, including his. Cos he was a "slow learner"... But yea. I sucked bad, I learned hard. He... didn't, so that's that, i'll just do all of it myself this time 🤷‍♂️ I have no thousands of $$ to sped, I'd like to but don't.

faint pasture
odd ember
#

oh I see

high ocean
#

@odd emberI wrote the damned grant... So yea, I paid his salary for 2 years 😔