#blueprint
1 messages ยท Page 12 of 1
Atm my recipe contains a product which has a data asset item and a quantity and then multiple of those for the ingredients. so item and quantity for each ingredient
So you are using uobject instead of where i am using the item data asset class?
Only the base is a dataasset
rest is uobjects
i really like the in-line editing options of them
oh uobjects rather than data assets?
yeah
these uobjects are managed by the owning data asset, so they're also considered singletons
so the same rules applies
But you just can edit them while in the other data asset?
this avoids me having to make all these task classes in the editor, and can just make 'templates'
you edit them in editor, not at runtime
(you can, but dont :d)
Was more meaning whats the difference between doing it the other way?
Like if i do by ref to data assets? vs ref to uobject
you'd need to create the new data assets
in content browser
and set them up
so for 50 quests, with 10 tasks, you'd end up with 500 DA_QuestTasks
while I keep my related tasks directly inside the DataAsset
not sure if that explains it well but
So for you, you have 50 quests each with 10 tasks. And each of the 10 tasks are only in their own quest?
Idk. i feel like i don't understand as i am thinking about it from an item point of view where all items need to exist anyway
Will probs look back on it when doing quest stuff
Yes exactly.
So when i need to edit a part of a quest
So does that mean you can't reuse tasks?
I dont need to find the correct task in the content browser, open and edit it, and verify or whatever
I can, by making template tasks
So its just a task subclass with a different set of default values
Ah, ok
So basically you can either input values from scratch or you can edit them based on a "template" of default values
and when you use a template it just copies the values in rather than references the template?
Yepp
It creates its own instance of the template
Much like a struct do
And yes, by using this method in regular bps they can easily replace structs on many levels^^
With extra functionality
You can have custom functions in them etc
so how do i do that? ๐
So it has a reference to a uobject which can be like instanced inside the editor?
and so acting as like a "template"?
Kinda. Yepp
do i have to do stuff in c++ or can i do that stuff in bp?
Ah, rip. Currently just trying to understand how stuff relates in unreal and using bp for faster and not having to relearn c++ yet
Sweet, thanks. Will keep that in mind and have a look once i work out if the current way of thinking and my game idea is actually possible without lots of problems
Just doing this part is possible with close to 0 c++ knowledge
Yeah, sick
i have knowledge but its hidden away ๐
i need to relook at some code to remember
thanks, you've been really helpful
so Iยจ'm having an issue with a inventory I'm trying to do. In my head it should work but I can't figure out why it isn't lol.
Use columns in both cases
Not rows
oh dang
You dont need rows if you specify inventory size
ohhhh
still not working ๐ค
Did it change at all?
Possibly
where I do Columns * Rows to get the max inventory slots and also set the size of the array with the result
Can you not spawn actors from functions in data assets?
They are uobjects, so no
No world context
Huh, thats awkward
Yepp๐
Maybe i can spawn an actor and pass it to the data asset to configure
Here's what I do, I did it this way so i could (in the future) change inventory space based on the gear the player wears
In a way I felt made sense to me
But MaxSlots is zero by default and then gets set to whatever Columns * Rows equals to. Or do you mean in the widget?
Just set max slots to a default value ๐
and then divide by maxslots and modulo by slots aswell? ๐ค
divide/modulo slot index by MaxSlots
nah i'm confused ๐ that doesn't make sense
Just divide and modulo columns
Maxslots is unrelated to the grid placement ๐
yea so basically what I had, except the rows division
I like Division (Whole and Remainder)
sexy ass nodes i can't lie hahah
those lines ๐ฅ how'd you do that? ๐
The same but with modulo looks better ๐
Electric Nodes Plugin
Electric nodes?
ahh neat!
and tidy
yea still not working
Breakpoint and verify your values
Also show screenshot ๐
last index getting set to 35, as it should. Outgoing Index is zero as it's the first iteration. Gonna check print now
yea idk, i'm confused af because In my head this makes sense lol
Wrong container? Weird slot rules?
Beautifull ๐ฅณ
because you gave me the formula
my old project was a total mess
It's like one page long lol for something soo simple
well I added a read little outline as you can see and it does seem to work, it's just weirdly created
Now ot figure out why tf it's climbing out of its slot box and into another
Oversized container
You need to match up the slots and the sizebox size
Did i guess correctly?
Or perhaps you set it to a fixed size in a canvas
I'm still looking for it ๐ But my guess is you're right, I'm still learnign to find my way around everything haha
(Slotsize (inc padding) * columns) + padding is the total size
yeaa, its 100x100
plus padding from the slot widget?
Yea I just meant in the cases where you'd store static game data in a struct.
About not changing it. I actually use it to modify debug settings in the editor because it exists at edit time.
Ah right ok. I wouldnt use struct for static data, but dataasset is ofc good for that
padding is 4 on the slot widget in total. 2 on the border and 2 on the size box, so 604?
Probably more like 4x6 , so 24..
624
uhm
Each slot has 104 right?
@gentle urchin the late night hero
yea
i fixed the overlapping by setting the border (with the Inventory text) to Size: Auto. Although the slots are still weird
correct
not sure where I'm supposed to set this value
yess
So sizebox should have its width set to 624 for ugp + the padding and border of the scrollbox
Whats it currently at?
Well its on Fill Screen, if thats the size we are talking about
Not that one
Where it says inventory
Seems to be fixed size ?
Probably the vertical box tbh
Id do this a bit differently
ah yes the vertical box
Width of vert box?
424,75 and 78,04 (X, Y)
by differently I guess you'd create the inventory widget inside a "main" widget that hold sthis wiget and creates it?
kinda like the slots are created inside the inventory widget
Offsets?
Yepp
Let the inventory handle itself all the way
Main just has a ref to inventory
none from what I can see. I will change it to a main widget that hold inventory widget real quick
Its a result of mismatching sizes or padding as far as i can guess
So id play with those
Id also try to make sure textures are sizes of ^2
Is there a way i can add "onActorOverlap" functionality to a newly spawned actor on creation?
Are you hard coding the Size or calculating it after populating your grid ?
Like i wanna spawn an object, give it some components and then make it print something everytime i walk over that object (give it code to run everytime it has an actor overlap it)
Actor component could have that code
Bottom part auto sizes the grid's Sizebox
Yeah, not sure how to set it up before hand compared to on spawning
As it won't have the component it will need to reference on the actor
Wha
as i wanna create/add the component on the newly spawned actor then do functionality based on that component
Not sure i see the issue
yea I realized I should do that lol.
that to me?
Ye
Idk how to add it
The actor would have collision
The actor component just get parent -> and subscribe to collision events
And has code related to the collisions
Yeah, so my actor currently has a static mesh
So i spawn it, i change its static mesh. i add the inventory component and set it up. then i want to call a function using that inventory component from the newly spawned actor each time it has an actor overlap but i can't see how to add that. i try make connection in bp from the actor but when i tried to do do bind to on actor overlap, it just had errors that i couldn't seem to fix
either errors or nothing happens
lmao, my brain is having a field day
So add that onactoroverlap code to the inventory comp after spawning? Or in editor beforehand?
As i don't want all inventory comps to do it
I want to pass the inventory comp as a param in the on actor overlap from the newly spawned object
i'm stupid
I created the new main widget a little bit ago.. or so i thought.. apparently I decided to click the inventory widget again ๐
You could always extend the regular inventory comp
and have a new component based off it?
Yepp
Ok, yeah. i don't want to do that
If this is a common thing
So i'll find a better way of donig it
Aight
it was mainly for testing purposes and seeing what i can do
i think i got it working
my static mesh was setup to ignore not overlap
๐
ok i got it back to almost "normal" lol. Trying to figure out why the tint is so weird now ๐คฃ
Try setting ugp to not stretch horizontally or vertitcallyy
Can not see any such option in the designer, unless its graph
so just center align? that fucks it up quite abit hehe
Should remove the gaps?
Also
Id add these slots in editor
With the pre construct ->
So you can see it live in the main widget etc
Helps you size it up etc
Also
Rows is a rule of the widget, not usually the inventory comp
i did it on pre-construct but not sure how it's supposed to work
i'm just trying to make the slots bigger in the ugp
Branch on the bool and add the slots if true
This code only runs in editor
You need a var that exist in the widget
For amount and columns
You can make two new ints
PreviewSlots PreviewsColumns
Mark them instance editable
anyone know where the file is located for the BP macros that UE has ?
need to yeet the file to fix something thats happening
like a Fit To Screen option? or in the details. I cant find anything of scale to fit or similar
more like... they're forced smaller by owning widget containers
if you add the preview
you can see this far more easily
Are you hard coding the Grid's sizebox?
here is how to calulate it
like even if i increase min desired slot width/height, all it doesis just stretch the slot widgets apart (more like pads them apart)
Thanks to your help i was able to make a quick test where i can press a key and it spawns a chest with random number of items and each chest has its own unique inventory ๐
but this doesnt set the slot sizes tho? this sif or a sixe box? or am i confusing myself
You can control the Size of each Button/Icon with "Icon Size"
The total size of the grid will be calculated after you add things to it
the Size of the Icon in inside its own widget
but thats a custom variable?
Nice
Not sure why it x4 at the bottom, I thought it should be 2 but it was streached like you were getting
my brain
i love learning, but i dont love suffering
๐
thanks to both of you for all the help โค๏ธ
got it ?
Yes siiiiirrrrrrr
Noise
so now, would any of you know why I suddenly got this tint on the widget after adding it to a "main" widget?
Nice, now... what if you only want 32 slots? and have a 6x6 grid
you bumped a Borders Tint?
hmmmm
What do you mean? ๐ I was gonna have this as default inventory size
you can spot changed values more easily if you check this on the Gear
If your looking for the color tint thing
but.. what if ? ๐
uhm.... by doing more maths? ๐
I see you also specifying rows and columns
hello guys can someone help with a predict projectile path system? how can i control the speed during the game by clicking 1 and 2 is strange,also it is for mobile so i need somehow ti control it by joystick
i would appreciate any help
true, but not the most desired solution i'd guess. I see where he's coming from and if i have guessed it correctly, by using his calculation (maybe not even entirely same) I would not have to deal with an ugly inventory or disabled slots? ๐ค
Youd still have to deal with it
Theres numbers thats not cleanly divisible
7
13
Id say thats acceptable
You can also auto-scale the Rows/Columns
1-9 items = 3x3
10-36 items = 6x6
36+ items = 10x(%10 +1) or something
so different containers have different views
i suppose yea
Get the root of a size to find the closest fit ?
Not sure it matters at that point
If it dont fit, it doesnt matter how mich
Small pouch, 3x3 grid
Chest 6x6
Bank 10x10
Plus root isnt perfect
have preset sizes
Sounds good
Then its 1 Widget, and can scale to whatever is needed
you guys thinking further ahead than I'am ๐
We know where this is headed lol
that is fair enough, i'll get there someday myself I suppose ๐ one day..
the only thing in ym head rn is opacity... alpha... opacity... ๐
didnt find it yet?
nopeeee
been playing with all colors i could find to see whats causing it
it wasnt like this until I moved the Inventory widget out of the main widget
the only other thing I have is background blur but i removed it to test wihtout and that wasn't it either
If its fine in your Inventory widget, maybe its under something in the Main Widget that you added it to
Its not Disabled , is it ? that tints it out
what is disabled?
Is Enabled?
(Not)
It isn't not disabled
yes there was one that was not enabled ๐
that fixed it, cheers again guys
i can finally relax
for abit
^ 0/36
Derping from time to time
0/0 is going to be weight ๐
haven't implemented yet
i was going for a spatial inventory (Reid Tutorial) but I felt it was going to be too much for my limited knowledge. I do still have a working example of it incase I ever want to use that
Spatial -> jigsaw?
Diablo?
so I thought instead of slot by icon size limits, i'd do weight
like DayZ or EFT
i cant think of any other game that uses it, that i've also played
Both arbitrary inventory constraints
english please ๐
i just twisted my tounge reading arbitrary
i'm not english native btw lol
Spatial
ahhh, I assumed there was a tons of words for it because I had no idea what to search for when I was looking for this kinda inventory
Hey, due to a bug I had to remake the 3d character blueprint. How do I make it so that the capsule/mesh's rotation is independent from the camera's movement?
Turn on or off?
I'll check it out
Doesn't work. Checked or unchecked, either I can't move the camera or the model still rotates with the camera
Where are you making the changes, on the char?
What do you mean?
The "use controller rotation" checks are attached to self
Not any of the components
Well I have a revelation. I was able to disconnect the camera's movement from the camera by unchecking the yaw. Now, though, the model doesn't turn at all
It did before when i moved
The code is the exact same as it was before so maybe it isn't in the code? I can open a new template if you think I still should
found it! thank you both for the help
Ah I would have suggested that but I didnโt realize you meant while moving mb
It does not work
If I have multiple ongoing input nodes running into the same function, does that function fire 4 times more frequently than one or does it get filtered down into one ongoing input?
And if not, is there a way to make it just one continuous input? ๐ค
Interfaces are tricky. Did you implement the interface in the second bp?
Entirely depends on what you mean by ongoing input nodes
These ones.
Ok, what is it youโre actually trying to achieve, why would you have 4 different keys trigger the same thing
In this case I'm trying to achieve custom movement by firing the 4 axis of control into one function that I wrote in C++ (to release myself from the shackles of the baked in movement component).
But as I began asking this question I'm wondering wether or not I can make an input node that makes a 2d-axis of those four directions, which would make life a lot easier ๐ค
helpppppppppp
last guy said i didnt set the var to the widget but i did look top right
That's just Declaring that it exists, you need to set WHAT its talking about
the WHAT is the Return Value from Create WB Chest Widget
Drag your ChestWidget in the graph and Set it between Create Widget and Add to viewport
and , either Set visibility , or remove it
Allright I'm back guys, with a brand new brain twister ๐ Why on earth would I be getting "Blueprint Runtime Error: "Accessed None trying to read property InventoryComponent". Node: Branch Graph: ForLoop Function: Update Inventory UI Blueprint: WBP_InventoryNew" on the for loop ? ๐ค
screenshots are in order, top left to right
Does anyone know why my character is doing this after I changed some animations and blendpsaces?
the inventory component is part of the character BP and not just a variable ref
In pic 2 , right click on Inventory Comp and click Conver to validate Get
Its a component in the charbp?
yes exactly
ah, will try
If not valid , print
and this one is valid ?
it is not... hmm
No it's there ๐ค
are you getting the Function's Input Variable ?
Her'es the first one, happens inside the main widget.
ok, might got it...
Inside a function with Inputs, all the inputs get there own Getter, at the bottom of context
But , you can also have a 'real' variable with same name
I still had these bad boys in the event graph of the inventory widget
New Param bool are 2 different variables
they were connected tho before i took the screenie
1 of the New Param is the getter from the function, but it can be named the same thing
makes like harderer
eveywhere else dosnt let you name things the same
easy way is to add prefix for local variable
L_MyVariable
thats what I observe other people do ๐ ๐
can you even name it the same
I think editor will scream at us
same :), but its the generated Input from the Func
ohhh right
seen someone set the incoming input to local variable
then work with it
but probably redundant I dunnoe
In the old days
The inputs werent already local vars you could get
So local vars was the only option
Does anyone know why my character is doing this after I changed some animations and blendpsaces?
looks like your animations aren't solid, they are moving
i mean they are not in the same position, but move outward
your skeleton move forward but root motion doesn't exist
so when it's completed u get rubber banded
with root motion however, the root motion will translate your capsule component
so if you set root motion, it won't move out like that ?
so u don't get rubber banded
it won't get rubber banded if you have root motion applied though for movement u probably don't want that
I did from mixamo have an issue where some of the animations wouldn't stay in place, so now i can use them ig, nice
your animation should stay in place
To visually check, open console and type Show Collision
You will see that the character went ahead of the capsule component
there should be option to force root lock or something like that in the animation detail tab
With what?
Is there a way I can check which type of AA method is being used in blueprints? I'm working on a menu where the user can change the Anti Alising method being used. I found a console command to actually excute the change. However, I need a way to check what method is being used so I can change some UI things.
with my question
Your question made no sense
Try #visual-fx they might know
is storing a variable in SaveGameObject ok?
Yes, that is what is for, why are you even asking that lol
Have you tried to save one?
Guys it's clear that I can't get game instance from a data asset, but what if I pass the game instance reference to the data asset event through a variable instead?
why
From data asset can't use the node "get game instance"
The stupid limitation of unreal
why do you have logic inside a data asset
have logic somewhere else
where?
anywhere thats not a data asset
data assets arent meant for logic, they are meant for data
I cant put the logic for 5k different items in a game mode, game instance or player controller
that's foolness
i agree
and this shit of engine
don't have persistent data
in exception of basic stuff like strings, integer, or structs
the only persistent thing could be a class pointer
which makes me able to access data as "class defaults" which already is something useful
instead it likes to have objects of everything, which got reset when you change level
I don't know how many LSD Trips got the developers when they thought this way of working o.O

for some reason, it fails to cast
I'm tryna add a horizontal box from a different widget into a vertical box from this widget
Add Child node works fine
but the momment I try to cast either a verticalBoxSlot or horizonta, it fails
Show the capsule
Then simply what you are casting is not horizontalBoxslot or child of it
Is Player a HorizontalBoxSlot?
its a whole widget
- Donโt fight the engine.
- You should try to understand what a DA is for, rather than lash out at people giving you guidance.
- You save stuff in save game objects
made of a horizontal box and two text components
Print the class of the return value
You want to cast to whatever class it is to reach in and touch the horizontal box
it isn't a horizontal box, it HAS a horizontal box
casting is a "is a" question
casting X to A is asking "is X an instance of A?"
oh pffff, I'm short minded
You probably want to get the slot's child widget
Wherever I save stuff, this doesn't fix the problem in where to have logic, and I was asking if it could work lol
which will be whatever you just shoved in there
You'd have a spawnable itembase that would have the logic
the itembase could get its data from a DA
it all works fine now
really need to get used to using the print string more often....
Itโs not designed to work that way. Think of DAs/DTs as just .csv with values in them for reading. Logic should be elsewhere, getting the necessary data from the DA/DT
That's what I just did in creating the classes...
So then you dont need any logic in the DT
DT holds static information
or DA
same thing different wrapping
They can have very simple logic (DA's) for Getting stuff from it in a more ... user friendly way
but their data is considered static for all intents and purposes
Yeah, that's why I put the logic in the classes
Perfect
I was just asking if could work passing the game instance as variable..
It doesnโt exist before runtime
It would work, but it's a weird thing to do
So you canโt reference something that hasnโt been created first
no reason the static data should hold a reference to GI
you'd have to update it at runtime for it to work
Kinda pointless to store it at that point
Yeah, the GI fires the event from the data asset class
for sure.
Wha?
What event is this?
Why is the GI involved at all
Ok, I'll try to explain the whole logic
thanks
Game istance has a map: Character Class | Character Struct. The character is used to store the character reference, the struct contains data (HP, MP, ETC)
I used ad interface attached to the data asset class
The Game instance pass itself to the interface as variable, and the DA Class will heal characters in it or do other stuff
I was wondering if that could work
Since I access to the GI from an interface through it's referenced variable and not the DA itself
So you ARE putting logic in the DA
you can hack your way around regular DA limits to make it manipulate other stuff
but it's a very very uncommon approach
this way the main class works as a controller, and all the DA works as containers for data to be retrieved
potentially terrible one?
potentially
How you guys would manage an "item effect" having the character data stored in the game instance then?
the usable_base class has a onUse event
Which does what it needs to do .. .grabs the data from the referenced DA , grabs the game instance, and calls an event to manipulate..
I don't favour going to game instance for my char stats
the base class is "Object" in UE, I don't know of any "usable class"
but lets pretend we do
I'd have a baseclass AActor
thats actually what i do
Actor baseclass are meant to be spawnable stuff in levels...
Isn't that a "hacky way" too? lol
It is spawnable
It must be
now it may sound overkill for something like a health pot
but it's not for a one-time-use firework with niagara effects
and it's handy being able to spawn or set a mesh, attach it to the players hand etc etc etc
and if you dont need that, AActor is pretty cheap to spawn anyways
ok, so the engine doesn't have a real way to do that kind of stuff. LOL
if you say so
every way is a "workaround" to achieve that
yeah
the super engine which isn't able to asyncly wait for a level to load with Open Level. LMFAO
"no, better manage 12930812903812 levels in an empty container. makes much more sense"
We're just saying you're trying to hack a made-to-be static class to do dynamic shit, instead of using the dynamic actor that exist for the purpose of what you wanna do
that's why when I see things like FF VII Remake the devs need a statue to achieve stuff like that
what?
the default transitions system between levels with Open Level... LOL
you can load a level async
"Get stuck -> Levels Load -> wait bro, I have to load shaders and stuff"
only with level instance afaik
which means having an empty map, and losing a life unloading and loading stuff -> The most dev\user friendly thing ever
If you're only here to rant, im sure there's better channels.
nobody's forcing you to use it
no mate, you tell me about "hacky ways" and I answer
go for your hacky way then
nothing seems to be made to work as it should, so the only way deep in order to achieve something nice are hacky ways
"as it should"
as you see with proprietary engine made games
they use data assets to do dynamic stuff?
data assets is a class derived from Object, so...
yes, instantiated by the engine
as singleton
definetly not ment for your purposes
as far as I know, if I construct an object and make the game mode as owner, it will go to the garbage collection
but the whole point was at the beginning "will it work?", wasn't able to have an answer, so gotta test it the hard way
nope, you just said "DA aren't made for this" , which is not a yes and a no neither :|
You are able to , at runtime, pass in a valid gameinstance to a DA, which you then can use elsewhere
Ahhh so it will work
Thank you :)
Cool
hi why this doesnt work when i press a button? but it rotates when it is on tick event
he should rant in #cpp, gonna get roasted to hell and back
there'd be no end to it
if it doesn't print hello then it's not called
try to look at videos at how to setup enhanced input if that's the case
is there any easy way to flip all the spline points? that is to say, the last spline point should be the first and vice verse - not sure how it got that way but i must've done something weird
no the print is called.
but it wont rotate
when i press a button
Print string your rot speed
If the points are in an array , you can Reverse it
Started Fires once on press, you want Triggered for on tick
any clue why is that error ?
Did you compile BP Alexios ?
Hello, I have different blueprints and I added an actor component to each blueprint. I want the component to work separately for each blueprint. Is there any way to do this?
get owner, cast for each one ?
I think I'm doing that
So whats the issue?
Get owner would return the owner of the component
You generally want to do that as the comp should work accross different bps
It just spawning one of them
how can i use the tags instead of the class ?
Use tags in what way?
Video dont load in my potato phone
Itโs a weird extension I wouldnโt event try opening it tbh
Oof
to check if that actor that got hit has the tag enemy then i can apply damage or do anything else
Has tag
I would consider using interface
thank you
Actorimplementinterface
Does implement ๐
how can i optimize widgets?
This ๐
In what way
if i have 400 widgets in one place then my FPS drops
Do they all have canvas panels?
yes
what's wrong with that?
Afaik canvas panels are expensive and itโs better to use other components
But Iโm no #umg expert
sigh........
There's special widgets for handling many widgets, you doing a grid ?
a few sure, but 400?
There's no reason for 400 widgets to exist and have their own canvas
If this is something like damagenumbers, and it makes sense to throw 400 widgets in the players face (not like it's gonna do much good), then there's smarter ways to handle it
so they can be expensive if you nest em
This seems old
It's not updated with the new field bindings
This is still true,
but they've added some new stuff that is far more efficient
Guess it's still event driven tho
since you gotta manually call them whenever they change ๐
so there should be three sets of grid ?
Yes. For every object, different grids.
how are you creating the grid, it looks like it's setting to the last one, if you add another ig it will just do a grid on the new one ?
I'm getting the Owner -> actor transform. Getting the scale values x, y for the grid size.
Yes. It's setting to the last one. But I didn't figure it out.
looks like you destroy all of them ?
You are getting all actor of class.... and destroying them
Yes
this will end up leaving only one actor in the world with those grid cells
you can do that ?
Sorry ๐
I didn't see that. I did that because for debug
You should contain the GirdCells in the relevant component and only destroy the grid cells related to the component
I want to find the correct offset value. I forgot to delete it
I removed CanvasPanel in widgets, but I still have the same FPS as before
Thank you so much.
Does anyone know why my character won't change it's animation? I have it set like this: Bottom is idle, middle is walk, and top is run. Then, left side is turn-left, and right side is turn-right.
Then I have this piece of code in the animation blueprint to control the two variables. Hoever, the player character doesn't change animations no matter what.
and those variables are hooked up to your animation ?
so your actually using them somewhere ?
inputting them into the blendspace
like this?
is the cast failing ?
yup, I just checked
it's failing
how do I resolve this?
can you use get player pawn ?
instead of the try pawn owner
How do I tell which player index to use?
single player
i mean just use the default, it will get your character
well, this still causes the cast to fail
so your using bp thirdpersoncharacter ?
yes
hmm, i wonder why it would fail i'm still new to unreal
so i know only a little bit
look in your world settings in your override, and your sure that character is in there ?
or maybe you possess something else ?
Get player pawn? Wth
Yea anim instance you want pawn owner.
Regardless of the player
ya that's what they had
If it's failing that means the mesh that is running the anim instance isn't a BP_ThirdPersonCharacter OR they are looking at the "Preview" instance.
put it back to try owner, probably more knowledgable people can fix the problem
alr, thanks anyways
Think of 3 characters that use the anim instance in the world. 1 is controlled by the player the other is controlled by a.i or not controlled at all.
Get player pawn will get the player pawn so that's what it read. So if the player character move, the other 2 character will also play moving animation even tho they r not moving
When the game is running, you can select the instance you want to preview. The "Preview Instance" is the mesh you're seeing on the left which will never have a pawn owner, hence the cast failing.
makes sense
so how would I fix the issue?
There is no issue. it's a matter of you're looking at the wrong instance.
Hit Play > Select the instance you want to preview. The cast should be succeeding on a valid owner.
Oh, that worked, thanks! However, I'm still facing the issue that the animation doesn't change...
so the cast is not failing ?
Debug with print string. Print your speed, direction
pain in the ass you got to select an instance whats that all about ?
i mean i'm guessing you don't need to do that in a standalone ?
Hey if im not doing animations do I just leave this out?
Hi guys I had my ship setup to be possesed by a linecast but wanted to change it to an actual wheel location now I am done testing and without keyboard events using my interact keybind.
I have a box on my boat around the wheel and I know my player is triggering the overlap event as the "Press E" widget appears when I am in it.
However it does not seem to be changing the boolean of "AtShipsWheel" to true as when I press my interact key nothing happens.
This seems odd as this is how I have my other interactable items set up and the only part of the BP I have changed is how the logic is initiated for getting on the boat so it should posses properly with the right input.
huh, that's interesting. Speed doesn't change, which is normal, but direction barely changes either?? It's supposed to go to -180 when turning arouund...
full diaper
The thing is that when you're looking at the anim blueprint window, it allows you to see all running copies of the anim instance. The mesh displayed in the anim blueprint window itself is its own instance. Here's what it looks like when you have the game running on multiplayer even.... There's multiple copies because clients each have their own copy running for each character.
This happens with other blueprints as well as you can see how the blueprint is executing at run time but there can be multiple copies of that blueprint running, so you have to select the appropriate instance you want to view.
makes sense
Like here.. This is the actor blueprint at runtime, allowing me to select any of the spawned versions that exist.
if you don't need it might as well leave it out, if it's needed keep it in
i would leave it there and just keep it unplugged test it out make sure everything works
then get rid of it
Does anyone know how I can make layered blend per bone only affect certain animations? I want it to blend the top and bottom when swinging a sword, but don't blend when dodging or rolling.
Create different montage slot
Eg upper body, full body
Sword swing will use upper body slot
While montage such as opening chest uses full body slot
Gonna go to bed, gl
k thanks
Does anyone know how to get hit detection in amount of seconds? Like if I'm moving and I collide with the wall, but I keep pushing toward the wall, after 2 seconds I want to do something
Just test for hit, then give it a delay of 2 seconds, and if it's still overlapping, do something
Man, I really overcomplicate things sometimes
thanks
no problem, glad to help
I am working on changing the games resolution and I have it working, but it doesn't change the window size and nothing looks different.
I am getting the resolution and printing it so I can see what it is when it changes and when it does change, it is the right resolution
Some tips for optimize 1000 widgets in canvas panel?
reduce widgets
But i can't
here's the #1 tip: whatever you don't use: collapse it
Why do you have so many widgets?
the invalidation box didn't work?
gonna have to show us what you're doing. I find this extremely hard to believe
There isn't a single game on the planet that needs 1000 widgets rendering at once
Used d=โ((x_2-x_1)ยฒ+(y_2-y_1)ยฒ) to stop prop surfing ๐
If I scale it I see 1000 widgets
@wild crater
You'll need to show what you're doing. Without context it can be difficult to recommend alternative methods.
A skill tree with 1000 skills sounds painful to manage
why not split it into smaller trees
or perhaps have predefined layers to scroll up
Scroll boxes?
I doubt I'd be able to think of 20 skills let alone 1000 haha.
Big project ๐
There's big, and there's unmanagable
you should definitely be approaching this and splitting it into more manageable chunks
think of it from your average consumer's POV
any player would get overwhelmed at scrolling out and seeing that.
the bonus for you is you get to handle it in a more manageable way for not only your player but their systems
You've still not provided context though. Why not start by showing the widgets and explaining what they are and what you're trying to achieve.
then we can't really help you
There's not really much we can help with then.
In all honesty though it sounds like an issue with the design. But you've not really provided much information to say for sure. ๐
Is it possible, for example, to render the entire contents of the canvas panel and display it as one image?
Not that I'm aware of.
same here
and nothing that would let you keep your interaction either
my honest advice if you do need behemoth skill tree, is split it into layers you can scroll between, like a scrollbox.
So rather than zooming out, you just pan around
Tabs for categories can be another good one as well. I prefer as long as the number of tabs doesn't get too big.
But yeah, you'll definitely want to approach this as a design reorder.like instead of a behemoth tree, you could even have subtrees
although no matter where you go for something like this, outside of the tabs idea, you're gonna be breaking good ui design principles.
There is seriously no solution to what I want? For me it's just 1000 widgets ๐
you're asking something insane.
1000 widgets is an unfathomably large amount to have drawing at once
you need to cull those numbers down
having some way to reduce the number you're drawing at any given time is the way to go here.
yo, what blueprint can i use for making multiple features on 1 key?
I can handle it, nothing is impossible
bro is really tryina make the next Path of Exile with 1000 skills
1000 widgets is nothing ๐
path of exile has the largest skill tree, and it's 1325 skills
๐คฆ
not confusing whatsoever
oh yeah they've also got a second skill tree
so fun
highly doubt you're gonna be able to get 1000 skills
but yk
Exactly what i was thinking of
the only suggestion i could begin to give would be down in c++.
I don't think there is any possible way UMG can handle this without stripping out some stuff
you are in expert level territory here
industry-veteran-with-a-source-build-and-a-vengeance
hope this guy isn't tryina do this solo
yep, as expected, PoE is built on a proprietary engine. So they definitely have custom things written to manage exactly these kinds of insane systems
i retract my previous statment. 1 game on this planet needs this level of widgets
although very loose meaning on "need" there ๐
The same as in PoE is not a problem
what do you mean
In this game what I do, this widgets are much bigger and has more functions ๐
yeah this isn't going to be possible unless you are gonna have a completely custom build of the engine or do the easier thing and just not render all 1000 at once
it really isn't a big deal to just not do that
Ok, I see that I can't do without C++
This could easily be redesigned to have groupings that you click on to zoom in. Zoomed out it would just show a single icon until you zoom in and just show the things inside.
Plus it would be much more user friendly.
Is there a way to check when camera finish blending?
Good idea ๐ค
yeah the path of exile one is so needlessly complicated lol
if like 12 websites exist to help your users use your skilltree, you overcomplicated your skilltree
:P
but yeah i definitely like the idea of in-tree groupings
cleaner than tabs, and easier than panning around
you could even make hotkeys to focus a specific group for your more advanced users to quickly look at things
and you still lie cleanly in the ui design principles
win-win-win
Anybody got any ideas on this I'm still not sure?
Anyone know how I can implement collide and slide on an actor with add world offset? I'm making a 2d game locked to XZ and want to implement custom gravity/collision response. Not using pawn or character.
If a tutorial exists I'd like to see it.
I have made an enemy that flys after the player. It does this by applying a force on event tick, does anyone know if there is a better more optimized way to do this?
You can try the projectile component which has a homing feauture if im not mistaken, but im sure that the component uses an event tick as well. Also what are you trying to optimize? If it's not causing issues then there is nothing to optimize.
is your enemy a pawn?
its not causing issues... right now but in the future when we have a lot of other enemies and projectiles and stuff it probably will so i would like to make it as optimized as possible from the start ( ye the homing i think also goes by event tivk)
no just an actor
You can also use a heading vector * velocity vector to move your component with add world offset.
target vector would just be the difference of your enemy and target. Then you could interpolate rotation of your heading with your target vector
Anyone know how to stop this jittering when walking over objects
Throws the camera around too much
maybe try changing it so that the player cant walk up on objects (if it wouldnt ruin your game)
Question, how do I create this GET variable with the valid pins?
ok so i tried that just now and it didnt really improve performance and didnt really work as well (at least with the quick implimentation i did)
Right click and Convert to Validate get
brain farted on me...
ah cool thank you!
Hey, anybody know if this starts at 0 or 1? So would Jan 1st be 0 or 1?
quick tip, use a math expression node
just type in what you just wrote and it will do the math for you
print it and you'll see
but i doubt it starts at 0 lol
is there is a way to any get the objects or pawn with specific tag in sphere trace
oh nvm i found a way to do it
Having trouble trying to add the powers and square root to the node
D = โ ((X2-x1)ยฒ + (Y2-Y1)ยฒ)
Anyone know how to put this into the math expression node?
sqrt(power(X2-X1)+power(Y2-Y1))
makes this
not sure how to increase the powers though
to a factor of 2
in actor to ignore
how can i call the other actors like other friendly Ai and so on
just add a comma is my guess.
i.e. power((X2 - X1), 2)
np
is there anything except these that is global scope and doesnt depend on world?
I want to save some variables there and read them from multiple editor tools that only run during editor time
Maybe you want to look up editor sub system. I haven't done any editor utility stuff but it may require some cpp
Hi sorry. I added two inputs under the same Input Action. How do I make them correspond to true and false for A and D, respectively?
Use the action value pin
And set the one you want to return false to have a negate modifier in the mapping context
hi thank you! sorry do u mean in the blueprint? i create a nod of action value?
There is a pin on the action event node
Below completed
And add a modifier to the "D" event on the action mapping (first image)
"Negate"
oh yea i did. sorry but the print string is still true. is it because of how i set my print string node? jsut wondering
hey there
is there is a way to set a delay after the first started event on the input action so i wont be able to spam the button
Have something to check if you are allowed to commit the dodge
Make a PURE function, call it 'can roll'
In that function you want to add all the condition you need, eg bOnCooldown, etc
You can then use timer to control the cool down. Start a timer right after you roll, and set the bOnCooldown to true. Then when the timer expires set rhe OnCooldowm back to false
I'll try it when i get back home
are you setting the print string from the action value?
it should be like this
and use triggered, not started
ah well actually doesnt really matter
Why am I not able to add child actors of a base class to a array of the base class? ๐ค
My array is created inside my inventory component, maybe a stronger ref is needed.
more than just the variable of array type ItemBase ๐ค feel like i shouldn't have to though
Wth is a stronger ref
For the variable type you generally want to pick the base class
Like for dogs cats, mice, puppey. The base class you want is animal
oh dont mind me, my brain is working on 10% ๐ i barely slept, damn cat woke me up at 7am
Since the animals mention above are children of animal
yea because, when i breakpoint to check if it's been added there is none inside, even if i check using contains base class or if i check the way i did in the screenshot
always getting the false print btw
Then you probably never add those actor to the array in your inventory component
but the actor gets destroyed when the added bool checks true, which it does
however, i never check if it's actually valid tho
wait, should i do Array Add or Set Array Element
because the array size is already determined on beginplay
Get ref of the object you want to add. Get ref of the inventory. From the inventory array, drag and type asd
Add*
Then connect the object u want to add to the add node
Bp array is dynamic afaik
It will just resize it self if you use the add operation
Maybe I'm wrong since I never test it but I believe it's dynamic array
yea but i need a predetermined size because of it being a inventory, hence the resize, but i tried with adding it to the inventory anyway and it increased the array with Unknown Class ๐ค
You don't need to specifically tell the array to be a certain size. Not sure if u can even do that
What you should do is do a check when you want to add item to inventory
Let's say add item to inventory functiin
resize function sizes the array to whatever number you want it be
This will check the current size of the inventory, if it exceed the limit then don't add and inform the player the inventory is full
Yup but they don't limit it, you can always resize it. It's a dynamic array
Different with cpp array where you can have fixed size array
You are doing needless work anyway. Apart that it does nothing
All you have to do is a check when you want to add an item.
This is inside my inventoryComponent. I'm not sure we are on the same page or maybe i'm just misunderstanding what you mean
Then I have the Add Item function inside my interact interface of my ItemBase class
That is soo wrong
i'm just having the branch on true for now
Just do add instead of set element
U are setting all your item to one specific incoming item anyway
It will overwrite from beginning till the end
yeaaa, but if i use Array Add, it will put the item into a index one higher than the actual array size, it won't add it if i do a condition for it. The Added item still returns a Unknown Class if i use Array Add
You should just loop with break
If that's how u want to do it
Loop through the inventory, check if the element is valid
The first element it found is not valid, means we can add in that slot
Then just break afterward
Eg. Check if 0 is valid? If valid go to the next one
Check if 1 is valid? No? Then we can set to index 1
Id make a function simply for finding an empty slot
Its handy to have
With early return with the found index
If you're using object refs theres a "find" node integrated
That can find the first nullptr
Returns the index it found
did I understand you correctly here?
@gentle urchin my lord I need your help ๐โโ๏ธ
https://m.youtube.com/watch?si=OwpYvZzLWZaIUMUf&v=jhpFX6E-R84&feature=youtu.be
6:28 sry can't paste time in mobile. I saw you smoothly more around the widget from element to element like that. How's that actually done? Any general guidance I can follow.
Granblue Fantasy Relink Gameplay New Demo PS5
Granblue Fantasy takes place in the Sky Realm, a world where myriad islands float in a great blue expanse. Take your role as captain of a skyfaring crew, joined by a scrappy little dragon named Vyrn and a young girl with mysterious powers named Lyria. Together you sail with a colorful cast of crewma...
That's not correct, you want to add after the is invalid node then you break
I will do what squize says tho, make a function to find a valid slot index
I used click events, not controller input ๐
That's fine, I wouldn't have controller too ๐
Just trying to figure out how to centre the selected element to my screen smoothly
Lerping
I added that code into a new function FindEmptySlot
Got that bit, but i don't have much clue with cache geometry and absolute coordinate etc. I suppose they are involved?
I'm confused at how to calculate the camera panning