#blueprint
1 messages · Page 134 of 1
It's useful sometimes to use the self and all children. But rare. I use it on some visual overlays, cause they're not clickable and have no tooltips, and I can't be assed to go through dozens of child widgets to make sure they're all not hit testable, so I just mark the whole thing invisible via the parent. That said you lose ALL hit testability, including tooltips, so it has a very niche use.
If you mean a literal Border widget, then it's just this.
is there something like this in bp?
why not set the exec to an int then do a switch on int
what does "bubble up/down" mean with regards to handling events?
Usually to allow the next thing in line to handle it.
Specifically for widget functions: OnMouseButtonDown and OnPreviewMouseButtonDown
How is line sequence determined?
For context: I have a widget and I want to drag that widget if LMB is held, but I want to execute other logic to consume the item if LMB is double-clicked.
RPG inventory system.
I have the drag logic but I can't figure out how to sequence my double-click logic.
When you click on a widget, you generate a stack of widgets under that mouse. First it'll run through them backwards from the top most parent calling Preview functions. If nothing handles it then it'll start running through the normal on mouse down functions from the leaf most child you clicked on.
Bubbling in this manner means to allow it to bubble up to the next widget. So if the one you directly clicked on does not "handle" the event, it will bubble to it's parent, and then repeat until there are no more parents.
That's very helpful, thank you.
What are you having trouble with specifically on the double click?
Well I put my drag logic in the OnPreviewMouseButtonDown. And then I tried putting the double-click in OnMouseButtonDoubleClick
@maiden wadi you are back 🥳
I would maybe start by checking out CommonUI. In my opinion, it's a really necessary extension to UMG that has a really sophisticated button class. One of it's events are for double clicks.
who is he?
@finite hearthThat said, some basic testing shows it has the same issues. I'm pretty sure I've gotten it to work with the buttons before but I don't remember.
On the other hand, making one yourself out of a non buttoned UserWidget seems pretty stable and easy.
UserWidget itself is mainly the image for hit testability.
in components, can I not have actor references for variables
Like can I not have an actor variable reference in a ActorComponent
Oh thanks for the examples, I'll give this a play.
You should be able to have an actor pointer in an actor component. Where do you mean exactly?
Well when I attach the component to an actor, I can't seem to find the actor variable in the details tab
My dungeon room component (so far)
the component details on my dungeon room actor
you can see that CorridorConnector is gone
It's largely because that is a pointer to an instantiated actor. And you're viewing the details panel for your class, which is not an instantiated instance. So the editor is saving your from yourself essentially by not allowing you to set that pointer.
What would you suggest I do if I would like a reference using the actor component? I plan on using the DungeonRoomComponent for the procedural system
actually
i think i can just use an integer instead and look up the room in the array of rooms via the int
Having that pointer there is fine. But it needs to be set at runtime as you're generating the dungeon.
You can't set it on the class, as the class is essentially a "blueprint". It's an idea, not a fully created instance.
Gotcha, thank you
It's like telling a bridge blueprint to connect to the end of a specific road in the world and then trying to use that bridge in other places hundreds of miles away from the road it's referencing. You'll have a bad day. 😄
is it bad or good to be using interfaces to change values in an animation blueprint?
Depends on the use case and implementation. It's not inherently good or bad.
An interface is just an extension to the class you use it on that allows you to call functions by casting to the interface specifically instead of each and every class it's on. So you can tell an Apple to change colors same as you would a Lion, despite that apple is a much simple class and they have no easy class in common you could put a change color function on.
That said you can attain the same functionality by having a component on both of them that does the same thing, and generically look up the component through AActor's component list.
Whether to cast, use interfaces, or component based design is largely up to the user and how complex the implementation needs to be.
Weird. None of my LMB presses appear to be triggering OnMouseButton events.
RMB triggers as expected.
Parent is UserWidget?
Correct
Do you have anything besides an image in the widget hierarchy?
Oh yes, quite a bit.
The button is likely eating your leftclick.
Hungry button
UButton won't handle right click, so that passes through fine.
Guessing there might be a way to use the button instead of onmouse events for the widget
is that an image from an ai? cuz it looks really good
Yeah, that's from midjourney
Also, for a much more fun time. I definitely recommend compressing the brush into a single material. You can avoid a ton of slate prepass costs. As your button here only needs basically one image brush and the text so far. You can do some really neat stuff in materials too besides that.
I'm still learning terms. Is "brush" the "IMG" stuff?
Can make the border, background, display images inside of the borders etc all a single image brush.
EG if I put a display icon image there. My material also cuts off the corners.
Oh that's fun!
so in my procedural system for creating dungeons, I plan on having pre-designed rooms to maximize level design quality and replayability (by choosing random pre-designed rooms). How should I handle the overlap function for placing rooms?
I considered having four custom vector variables for the room's actors, for each of the four corners, but I'm unsure if I should have like an empty object on each corner or use actual vector variables
You also get easy animation tracks for hover effects and such through the brush used.
because I dont think unreal has a "empty point" object I can drag onto the scene and place
SceneComponents can do that. And you can also make your own component type for better management.
Well I would add the four corner variables to my DungeonRoomComponent, but I'm unsure about changing the vector xyz data
like if it's local to the room's actor origin, then maybe ill just get the world pos + corner vector pos
and on top of that, i would have to do this manually since i am pre-designing the rooms
IMO, I'm all about data. I would start by making some form of data sets that have everything you need for generation. The room you'll spawn, it's sizes, attach vectors, attach allowance sizes per attach points, etc. Having that data makes it a lot easier to iterate over and pick through the randomizations. Then your rooms can just be level instances. Or Prefabs if you're using something like Prefabricator.
Yeah that's the part I'm at, what I'm considering is how I would be interacting with the data through the procedural system and that's what I'm questioning about for the corner vectors
my last system DungeonSystem-MKIII had a size + origin system
but it didn't have pre-designed rooms
IMO if you have the code for it still, it's the same thing mostly. The only difference is that your predesigned rooms have preset sizes, which makes it even easier.
well here's the thing about the preset sizes
lol
I'd like to get the sizes automatically, because otherwise I would have to somehow count the x and y units in each direction
and to overcome that, I would rather just use the vector corners
like for example
this is a LVL-1-Default actor with the walls, corners, and doors
the four circled components are basic cubes I put down for the corners
my plan was to extract the location xyz data of each corner actor
im unsure if it'll get the world location or the location within the actor tho
local location
Are these level instances?
Should be able to get both local to the actor and world space points.
Okay yea that's what i thought
i just need to test it instead of procastinate here lmao
how should I store these room actors for my dungeon generator blueprint? because I'd like to have an array of room actors and choose one randomly
Every scene component should have both of these. And even if you only had world space, you can still get the relative by transforming it.
i cant just make a new array and set it that way
and i can get the scene component via its name, great
like, I would love to drag and drop room actors from my content browser to this array basically
Store it as an array of classes probably.
If you have C++ ability, you can write a simple helper to get the CDO, which you could pull data from if you don't want to cook data into like a data asset or datatable. And you can use the CDO to get it's corner points of each class.
hmm I would rather avoid having to use C++ for a prototype, but I plan on using C++ for the game's release though
I can't seem to store a blueprint class (room actor) into an array of class references
hmm
The class type needs to be of your room actor's base. Or even just AActor, but if you have a base class it would be better to be that.
The CDO function is pretty simple. Should be used a bit with care as it's for the CDO object. Generally only to be used for info gathering in cases where making data sets for it is too tedious.
An example I use this for is that I have dozens of building classes. And I have a construction site actor. The construction site is generic, but it needs to display like what it's constructing. So I get the CDO of it's intended building and copy all of the mesh components into the construction site and replace their materials.
UFUNCTION(BlueprintCallable, meta=(DeterminesOutputType="Class"))
static UObject* GetClassCDO(TSubclassOf<UObject> Class);```
```cpp
UObject* UAuthaerObjectLibrary::GetClassCDO(TSubclassOf<UObject> Class)
{
return IsValid(Class) ? Class.GetDefaultObject() : nullptr;
}```
this might be better as a subsystem actually
Maybe. I thought about packing the data assets with the info. But it felt redundant at that point. Since there's already an object(CDO), loaded at the time of use already, with all of the info I need.
eh it's okay, I'm going to implement this through blueprints first though
the game is already set up for C++, since i have ue5.3 from source
Trying to get a random point in bounding box. What the heck is the half size lol, like the size of the box/2?
if so, why is it a vector
@gentle urchin in the end, the following works:
unposses, delay/timer, possess
character movement component -> max walk speed = 0, delay/timer, reset speed
create a boolean in your character, create a BTS to track that boolean, create a service that checks if bool is true and use that to block it
It's a vector because a box is 3D. It can be longer or shorter on any axis
Usually it's named extent, or similar.
oh so i would just put the x units and y units in the x or y direction
gotcha
so that would be my dungeon scale * tile size / 2
Worth noting that you'll want a different implementation if you're doing things with seeds. As you can't stream that random point.
I'm not sure if I want seeds though, at, everything is based on a random value. I could generate a noise, but that seems a bit extra for now
limiting my scope
even then, if I want to expand it to that later, once this is in place I just change how i select position data
It's useful for testing. Plus you get to generate the same dungeon twice. Useful for reloading the game, unless you're planning on saving all of the generated actors and stuff.
How would you recommend I get a seed and change positions from that? Based on a noise map?
Like I said tho im limiting my scope
You can use your tile's placement and a global seed. The global seed should drive everything of course that needs randomization in some way or another. But for like these you can mix that with your grid's location. Seed+GridX+GridY. Use that to make a new randomstream and use that to get your randomized point.
Hmm. I'm gonna have to investigate the flow design of that later, once I get there. For now though I only care about generating random dungeons from pre-designed rooms
at the minimal requierments
Plus your halfsize of course
Then as long as you're generating for the same location, using the same game seed, you'll get the same random point each time.
wouldn't this just move the dungeon center though
it wouldn't effect the actual positioning of the rooms
I may have misunderstood I thought you were randomizing the offset of each grid point?
I thought there was some miscommunication haha
i was so confused by how you made the seed
randomize the offset of each room position
so the dungeon is random
but that's not what I want atm
deffinitly not using multicast
#multiplayer and read the compedium
you are adding not setting anyway
but I am more worried the fact that you are using multicast
for something stateful
I suggest to do it in single player first then
well then it's a multiplayer issue isn't it?
Don't use multicast, have the rotation as a replicated variable
change it every tick on Proxies
95% of the time you shouldn't be using multicast
common pitfall
If something needs to be sync, don't use multicast
Running on server just mean, running the code on server machine
so what's the easiest way you think I should handle overlap logic? AABB algo? or min max it?
If the numbers actually replicate
then just set Rotation using that number?
On tick, on all proxies character
I don't know what you tried but don't see why not
u saying set Rotation doesn't work?
well I don't see any replicated variable
or if u change it on tick
To test for intersections you mean?
so Idon't know what you actually attempt, can;'t help you here
no reason to not be able to do set Rotation using that rotation then
No idea then
It's quiet trivial to replicate an actor rotation
Controller rotation is different thing
That's the rotation where you are facing
u can have the character face a wall but the camera looking at the roof
Yea so replicate it away
make a variable that dictate the rotation
make it replicated
well I am assuming you are using pure blueprint for multiplayer anyway
that's already a limitation, regardless of how long you used the engine
Wiry code fun.
You want to replicate the rotation
of the character pawn yea?
I don't know how well timeline work in multiplayer setting
the server can't update fast enough
afaik it;'s almost the case that Client proxies interpolate to given data
such as rotation or position
@dreamy marsh but I still don't see anything replicated >_>
not sure, I am multiplayer beginner. I know Add Movement Input does
it's handled in CMC
Well gotta ask the expert or dive into Add Controller code.
Though if it's replicated
then all u have to do is do it locally? no need for RPC of any kind
well im pretty sure actor rotation is not replicated
You mean the control rotation? because that's not actor rotation
yea u do need to do it your self
so
Player 1 -> Rotate Locally -> Send Server RPC with the rotation
Server replicate the Rotation
All other client -> Interpolate to the rotation to Rotation given by server
i mean for anything movement, you need prediction
if u are telling the server to rotate then rotate when u get the data back from the server, even a slight ping will make the game unplayable with lots of jitter
can u show this
ahaha this will be my fourth time doing this
This doesn't rotate the actor at all?
and u check the value of Rotate Rate?
well it gotta be 0 then?
I don't see why add actor world rotation won't rotate if the value is not 0
@dreamy marsh so nobody rotate, not the server, not the client despite the rotate rate not 0 and it's being called?
and you send Server RPC from the client?
Im stumped if the variable does
@dreamy marsh I would add print string here then take a short video
if all in order, then I have no more clue
Hi all. Was wondering if there was a more efficient way to step down from a general actor into a specific class other than casting.
Trying to scale my interaction system a bit, and running into an issue where I have many different object types
casting is unavoidable, cast to the base class when possible
if the object types share the same base class, then cast to that base class
but if they are derived from different class,
then you can use interface
Is it possible to populate an array with unlike object types?
I mean I guess I'm already doing that
depend on the type
yeah
Yeah that's what I have it's just hard to discern information once the array is populated
depend on what you want to do
it's quiet simple tho
if you are trying to communicate with different classes, use interface
if you are trying to communicate with objects that share the base class, use that base class
Eg in your base class , have a function called Interact.
Less communicate, more execute different code based on type
Then when u loop thru your array, just cast to the base class and call interact
The interact can be handled differently in the child classes with override
Like if I pull an object from the array I want to determine the type -> then perform additional special evaluation per type
That evaluation should be handled in the class it self
Character, doors, Lamps
all interactable
if you use interface, then you can implement the function for each of them
and when u loop thru the array u just need to call that one function
that's for objects with different classes
if u want to communicate with classes that is derived from the same base class
just make the function in the base class, and override them in child classes
your Code for the array shouldnt be a series of If statement or cast one after another
That's what I did when I first start and it's a nightmare
Yeah definitely trying to avoid that haha
if else, if else, if else, if else
or cast, if failed, cast if failed, cast if failed
shouldn't ever look like that imo
No totally I will definitely try to leverage the interface to evaluate that for me, thank you
This is what I was thinking it was going to end up being 😭
@dreamy marsh glad u figured it out, but yea afaik most of the movement stuff r interpolated in the client machine, simply because server won't be able to send data to client fast enough.
This sounds very.... interesting 😅
Hi guys, new to UE and using Mover 2.0, I really don't like how the camera rotates around the pawn and the pawn doesn't face forward towards camera direction.
So I enabled "Use Controller Rotation" on the pawn in the blueprint, but now moving the camera makes the pawn freeze. Any ideas on what's going on here?
Aborting task - wouldn't stopping brain comp also do this ?
Why does the print "HELLOOOOO" in my GM_Werewolf in my OnSwapPlayerControllers event (override) not print ? When I go from my lobby level (having the GM_Lobby gamemode inherited from GM_Core) to the Mansion level (having the GM_Werewolf gamemode inherited from GM_Core) using "seamless travel".
The GM_Werewolf : BeginPlay print is being called without any issue and GM_Core : BeginPlay is being called as I use Parent:BeginPlay node so that's all good but somehow the OnSwapPlayerControllers causes an issue because it's not being called for some weird reason.
workflows for dealing with GameUserSettings (GET/SET)? There are so many settings, whats the best way to avoid a spaghetti of nodes ?
I cant seem to find test box box intersection
Trying to stay as modular as possible fwiw. But in BPs there are probably limits.
Lyra has this all somewhat automated with the settings UI building up from just some assets settings
But that requires c++
i looked at the lyra stuff. It's just as ... busy
i wanted there to be a way to iterate through the settings in game user settings and set/get attributes using the IsDirty() .
but there doesn't seem to be a iterate
but anyway. Messy is fine lol
You can make your own child class of it and figure something out but still c++
I can't tell if my logic here is correct for spawning new rooms for a dungeon generator
this is my overlap logic
hey folks! Is there a way to create a copy of an existing object in a blueprint?
I think this might make sense to implement in c++ actually
Prob need to be more specific
I'm working on an inventory system. I need this for the use case where I'm transferring a countable item from a container to the inventory and I want to split the item and transfer part of the items only. For example I have 5 health potions into the chest, I want to take only 2 and put them into my backpack.
countable aka stackable
That's as simple as changing the quantity value
right but I'm actually passing an object to the add item function of the backpack
What object
and I don't want to reference the address of hte item in the chest
the item object
That has its own problems I tried that - they're UObjects implementing an interface and I need to copy all the properties. Which is what I'll have to do I think.
thanks man 🙂
You can pass in any properties u like but you have to do that manually
Even in cpp imo
yeah I'll just loop over them or see if there's a cpp way to do it easier
In cpp you can do a copy constructor but process more or less the same
/**
* Convenience template for duplicating an object
*
* @param SourceObject the object being copied
* @param Outer the outer to use for the object
* @param Name the optional name of the object
*
* @return the copied object or null if it failed for some reason
*/
template< class T >
T* DuplicateObject(T const* SourceObject,UObject* Outer, const FName Name = NAME_None)
{
return static_cast<T*>(DuplicateObject_Internal(T::StaticClass(), SourceObject, Outer, Name));
}
here it is
thanks again, have a good one!
hi, what happened to float / float node in UE 5 ? I couldn't find it . What is the replacement in this case ?
Divide still exists
it work, thank you
why do we want to use float in this case for BananaCounter, why don't use int and save us some trouble of conversion ?
To be honest, I would use int for the counter too. But this seems to drive a value from 0 to 1 in the end, so you gotta convert back to float for at least the division
is there way to undo delete of blueprint?
For a Sidescroller, how to make the player drops down the hole when a key is pressed, while standing over it?
The player should then be able to jump out of the hole and back to the ground.
basics would be Linetrace down to floor, and disable its collision
Add checks for:
Is player not jumping?
Is floor able to be moved thru ?
wait... thank you for your answer
but I should have been clearer I'm complete noob at BP
I'm just modifying TP BP
sounds like a good thing to learn on
slowly for my needs
i would start learning about collision channels
yes it's always is but so are a lot things, just limiting things for now.. haha
rabbit holes are danegrous for me
for some reasons my linetraces hits a box component, but the response for line trace visibility is ignore
any ideas ?
Hi, does anyone have any experience with the new Learning Agents by Unreal, I have already done the drive demo but there is nothing else online, and I still don't really get it
any help?
Did they update macros in 5.3? can't seem to set a local bool inside of a macro anymore
Ah thanks!
Hello!
I аm trying to understand the interfaces.
How can I send result through the Interface, from one BP to another?
In my case I have not contacts between the BPs and then cant select the target in node. I overlap coins colider by the hero and try to send result to door for opening.
But It's have yellow pin
which thing has the interface ? this BP or the actor you are overlaping ?
can you pull off Other Actor , and type Coin Score Transfer ?
it should give you a different node
should look like this , but with your Coin Score Transfer (message)
i saw something about bpi the other day but i can't remember...
it's a setting or something ?
wrong node, pull out the one with the msg icon
@versed sun @lofty rapids @frosty heron
Thanks a lot! Message node can be received only if I grab it from blue pin, but not available from search result by RMB on the field.
But this still does not work because I want to send the result not for the actor who overlapped the collider(my hero) but for BP_Door
well then other actor won't cut it, other actor is what overlapped
This is when you pick up a coin ?
Right
what exactly are you trying to make happen, when the player overlapped the collision box, something triggers ?
When the player(BP_Hero) overlapped the collision box(BP_Coin), i try to send(using the interface) the result to BP_Door, to open it.
so first thing you want to do is make sure it's the player overlapping
most likely with a cast of other actor
cast other actor to your player bp
so you know the one overlapping is the player itself
are you going to open doors using this code, or this is a one off ?
I heard that the interface its the better alternative than the cast
can someone explain the concept of relative transformation?
well you need to see if other actor is the player, the best way to do that is to cast
idk if you can do that with an interface, i don't think so
you can use the interface for the door, but you need to get the door first somehow in order to call the event
if you have multiple doors that open depending on something then your missing a bunch of logic
if you just want to open a single door, on overlap it's not as bad
but it will probably for now look like a cast to the player, get actor of class for the door, then call the interface function on it
not sure how you can get around using get actor of class here
relative to parent
If a character mesh is the parent and weapon is the child of the character mesh
50,0,0 relative transform is 50 units , 0 units , 0 units from the character mesh
so if character mesh is located at 200, 100, 50, the position of the child is 250 ,100, 50
@gentle urchin aborting task will simply make the ai repeat it. So you need a way to make it stop AND not repeat it
but this will open the door with no logic, so as soon as character overlaps it will open the door
see thats what im kinda confused about because i want to create a rotating pillar, where this pillar rotates in the x axis as displayed in the picture
and this is the BP:
now i want it to just rotate 90 degrees based on its parents position and how it looks in the Blueprint, but when i put it into the level, it does a weird as rotation
Timeline should lerp from current rotaiton to target rotation
u are changing the rotation every update
so u are doing it wrong already
Define your Lerps A and B before the timeline
cache the current rotation before the timeline for A target
isnt this it?
nvm
im a dumbass
i cached location instead of rotation
you want Lerp between where it WAS and where you need it
you have Lerp between where it IS and +90 where it IS
hello there
so I'm having a issue here
im trying to use a point on my gun for where to shoot the bullets i used to have it with the player camera and that worked fine but that wasn't accurate
and as you can see in the video when i set it up to shot from that point on the gun it would shot to the ground
any ideas why is that behavior ?
Thank you! "Get Actor Of Class" is the solution which work.
i saw what you said, apparenly my only problem was saving rotation. i was saving location instead of saving rotation. so it works now. but how do i do it if i want something to constantly rotate all game?
do i just plug it into tick?
you may want to cast to player, do you have any enemys or anything moving that may overlap the coin ?
you'll get a hit and increase coins if anything overlaps
not just the player
you want a smooth looping 360 spin ?
yeah
any help ?
should be simple
Maker sure to Loop your timeline
thank you ❤️
i feel like your stuck with that, how else would you get the door ?
by passing the door?
the actual door
not random door in the world
i was asking if they had multiple doors, but i'm not sure if they do
if they only have one then it would be fine, but with multiple you would have to some logic to figure out what one
still get actors of class, find the right one ?
or you can hard code it somehow ?
it's safe to assumed that there are multiple doors in a game and EVEN if there is only one door in the game, get actor of class should be avoided in this context
u can pass the actual door, why do you want to potentialy use get actor of class
I have only one door
Playlogic
On the scene I have player(BP_Hero), 3 coins (BP_Coin with coliders), door (BP_Door) and interface BPI_Score.
BP_Coin and BP_Door linked by interface (BPI_Score).
When the player(BP_Hero) collect the coin - overlapped the colider box(BP_Coin). BP_Coin thro the interface BPI_Score send the amount to BP_Door. When all the coins collected, the door will opening.
It's all work at now. Thanks a lot!
many ways , it depend on the game
obviously for overlap you can get the other actor
cast that to your door and do the interface
if the overlapping actor was the door ya
but it's not in this case, i think it's the player
but probably best bet just open the door when you overlap and have enough coins
would probably be much simpler
i know you want to avoid get actor of class usually because it's expensive, but i've found times where it's almost necessary
not because it's expensive
because it's terrible code for this context
personally i would use get actors of class on beginplay, and loop through the array checking if it's the right door
but whats another way ?
have the door tell another actor that it exists
wut
getting it on overlap
assuming player interact with the door
the interaction was on a collision box on the coin
how would otherwise get the door ?
get actor of class is used for the wrong reason by people who just start blueprint a lot
this is one of the case of misusing it
anyway my game started
well i don't see another way to do it
many ways
i would be open to any way
many ways to get a ref
use the one that make the most sense
in this case, when the overlap happend
well usually i would agree with you because you know what your talking about
but i'm really not understanding what your saying is a better way
like i said, i'm open to any way to do it as i'm learning and would like to avoid it myself
hello is it possible to detect keyboard type with BP? Like QWERTY/AZERTY
@versed sun i saw another easy method to do this instead of adding all the BP. by just adding a Rotation movement component. However this, rotates the whole BP instead of a specific static mesh. do you know how to only rotate a specific staticmesh using the Rotation Movement Component?
you can have the game instance keep track of doors
Each door registers with the GI
when you overlap coin , get the GI and do whatever with doors
Is there way to autocompile blueprint once i change something?
I have blueprint that generate preview for noise generator once i press compile.
Or at least is there hotkey to compile button?
i dont think so
I am just learning. I saw the video where said that the interface better and "cheaper" then cast, especially if you use cast in little BP (like my BP_Coin) with big BP (like my BP_Hero). That why i used interface instead of cast.
Is the "Get actor of class" not optimal or difficult for my project too?
interface is not "better" and "cheaper"
Get Actor of Class can be an extremely easy way of getting an actor, but it's not a great way of doing it, nor is it expandable.
Exposing the variable in some way on the actor and setting the value when placed in the scene makes more sense as you can now be sure which particular actor it is that you want to work with and can make the coin actor reusable for any number of doors in the level, not just one particular door (namely the first one placed).
it's used to communicate between different classes
the author is clueless and repeat the myth
Yes ofcourse ^^
i c, so a variable on the player that is the door ?
@spiral ridge don't use interface to replace cast, that do be a mistake
Thanks
you can't set a variable just a ref ? you have to set it dynamically or am i missing something ?
i'm just thinking either way you need to "get" the door somehow
I wouldn't put it on the player, you'd put it on the thing that cares about the other actor. In this case, the coin seems to want to interact with the door, so you'd create a "Door" variable on the coin, hit expose on spawn/instance editable, then when you have the coin selected in the level, you can specify a door in the level that you want that coin to interact with. The code would need to be changed from using a "Get Actor of Class" to just use the "Door" variable.
makes sense
but you still need to get the door ? or you just drag it from outliner ?
No, you'd be specifying the door in the editor itself.
i c
So now, I could have hundreds of coins and doors, and each coin can individually interact with a door 😄
i wouldn't want to add coins to each door
but thats not a problem of mine, i was just wondering lol
have something that Manages coins and doors
Yeah i wouldn't necessarily want to either.
i would do it differently, but when helping i usually just work with what they got, i don't know much about best approach just yet
But it would depend on the game. If it was a 1:1 kinda thing and you only had to do it once or twice a level, no biggie.
personally i would just get all actors on begin play, promote to variable, have some variable on the door for the amount that opens it, and have a coinupdate function
Light switches changing a whole bunch of lights on and off? Same principle, but you'd probably want the switch to reference an actor that controls a whole bunch of lights without you having to specify exactly which lights
then doors would just open up if your coin amount was >= the amount on the door variable
But again, get actor(s) of class doesn't guarantee which particular actor it is. As soon as you have two doors in the level, then you can't use Get Actor(s) of Class reliably as you don't know which door is which unless you tag them which in itself is annoying and prone to typos.
And in certain cases you may only want one of the specific doors to open.
ya i was saying just put a variable on it
loop through and check the variable against coin amount
so door bp has a variable, CoinsToOpen
this way you can just add doors np
and put in the amount that opens it
your good to go
is thhere way to "slide" these values in blueprint ?
is there no other way? i have too many of parameters in noise generator nodes
Dont hardcode them ^^
i have to, there are too many of them and they often repeat
Even worse
thats usually when you would use a variable
Guys, what is the way to prevent camera looking into the character? I've tried attaching to the camera a box collision but this way doesn't work.
is this first person ? and you don't want to see the character ?
nope
3rd person
when I move down the mouse it goes to the floor and the spring arm length decreases until reaching the character and looking inside of it
right you can do some logic to make the target arm length only go so short
how?
clamp the spring arm target arm length maybe ?
@gentle urchin @lofty rapids it would not be possible to manage in my use case that many variables with rapid changes
Its the perfect usecase for variables
mmmh
i mean maybe just some for repeated ones, so you can adjust one and not have to adjust the other
Clamping works fine^^
maybe there is a better way
but that would probably work
just have to adjust the numbers i didn't test it just threw numbers in there
I'll have to find another way
Since it manages like this mouse input
i mean it should work
your target arm length controls the spring arm
so if you have a spring arm it should do the trick
Hello i have a problem with my Blueprint here. I want to make this code in BP. But the DOT Product just returns huge numbers and in the wrong direction. I'm pretty new to UE5 so any help is welcome. It's from this tutorial, for reference: https://www.youtube.com/watch?v=CdPYlj5uZeI&list=PLVSvmZ3rmZ5y1MJTuVqa2UdEazRRI7T8h&index=16&ab_channel=ToyfulGames (Force#2)
A detailed look at how we made our custom raycast-based car physics in Unity for our game Very Very Valet - available for Nintendo Switch, PS5, and Steam.
BUY NOW!! https://toyful.games/vvv-buy
~ More from Toyful Games ~
- Physics Based Character Controller in Unity: https://youtu.be/qdskE8PJy6Q
- Instant "Game Feel" Tutorial: https://youtu.be/...
Hello smart Unreal people )
Tell me where is it correct to store data like Inventory or BagPack? In GameState or in Level?
why in level
it really depends on your game design
for example if you want the inventory to exist outside the character, then PlayerState / Controller is fine
So when your character dies and destroyed, it's inventory can still be accessed
Yes inventory should be accessible not directly from character, I think Inventory should be accessible from a highier level of abstraction
the c code works ?
It's from the video, so i'd assume it works.
but it's unity correct ?
yes
unity != ue
well it don't mean things can;'t be replicated
i mean te c code is from unity but my project is in ue
i just don't know what those functions actually do so i wouldn't have the slightest
atleast you got comments
i never used unity and i don't about if theres even 1:1
yea so the logic works. the TireWorldVel and the SteeringDir work themselves. But when is use the DOT product then it breaks.
no, no way to make the camera work as intended.
Why did u add Right vector with a world location? @inland berry
There's always a way
Then an advice would be helpful
@grizzled beacon what is your spring arm values?
my cam don't really collide with my character
because without it just goes into nowhere.
@frosty heron these are the spring arm values
I guess, I know nothing about math. Gl
I know nothing about math either. That's just what i found out XD
what is the value of tireTransform
in that C# file
That's the position where the force is being applied. At the Tire's position
@tawdry star can't u just do this then? but the target is your tier mesh
instead adding
I mean, I just don't see add in the equation you showed
Hey I wrote these notes after watching a video on yt, is everything accurate?
using interface to replace casting is a mistaske
Why do you say that?
it's a harmful myth that is prepepuated by youtubuers
Yea it does't really make sense to me either. The right vector should just return the right vector, instead it goes to nowhere. Here's with my setup:
Because they serve different purpose
if it's already loaded, it's not going to be reloaded every time
Cast when you want to communicate between classes that derived from the same base class
use interface when you want to communicate between different class that doesn't share the same base class
Using interface to replace is a mistake, you will end up in debugging nightmare
Casting is unavoidable, when possible, cast to the base class.
It's just one of the Bp limitation
if you want to optimize, then use soft references to load the heavy stuff like textures, material, etc
not sure what else to read
you can ask #cpp guys for clarification
a lot of them work in the field
so most of this isn't accurate?
yea, I would consider it harmful imo
depends,
U are right with the hard reference
but using interface to replace casting is not a solution
casting to C++ class is free, that's why always make the base class in cpp
So I should never use interface in the place of casting?
not to replace casting
you use it to communicate to classes that doesn;'t share the same base class
@grizzled beacon I left mine at 0
minor clipping but im gonna do transparent material later anyway
looks normalized
changes nothing
Even if I put a collision box, it doesn't even print the string
it simply doesn't care ..
did you take the first person character ?
stupid engine, I had to choose Unity one year ago, damn.
i placed mine on the head
As Cold said, the part about casting creating a hard ref is correct. Everything else is, especially about replacing casting with interfaces is incorrect.
The actual solution is to use good hierarchy where base classes are lightweight and don't themselves reference heavy/large assets. You would then create children of the base class.
In most cases, when you cast you would then be casting to the base classes.
As an example, look at the character class. It has a skeletal mesh component inside but it doesn't actually reference an asset. This would instead be done by the child such as the third person character.
No, 3rd person character.
Does this 'count' as replacing casting? (If the player presses [E] in a trigger box then it will tell the closet to open it's doors)
3rd person template
No is just multiplied it by a small value so u can see it. Without, it would be too small
interaction is one of those cases where you want to use interface
because a door is not a player character or an NPC
but all of them are interactable
if I move down the mouse, the camera slides on the floor going through the character
it is what interface is for, that's not considered replacing casting tho
u cast when u have to cast
u use interface when u have to use interface
and you cast when you don't know
okay, I was just asking because an alternative to that was to cast to the character
so I wasn't sure if it was considered 'replacing' casting
you are showing two different examples tho, I am not sure what you want to do here
yeah I have to learn all this hierarchy stuff
I would put it at the top of your list.
camera already have collision
I didn't finish the rest of the code, but it's supposed to just be another way to open the closet door
then why it keeps going through the character?
nah, nothing to do Im just wondering why u have box collision there
Overlap box -> If implement interface -> Interact
or just call interact right away
then do the door opening in door bp
because camera doesnt care about collisions, it collides with floor, then slide through the character
What you've shown is a way of triggering an interact event based on player input whilst the other just triggers something to happen on overlap.
Two different things in my opinion.
the problem is that you showed an exemple in the Player character BP and in the BP_Closet... which aren't the same so the way to talk to the other(in blueprints) is different
it does care, hence why it collide with the floor
u dont really want to collide with your own character
but u can if u want
check your collision settings
my advice is to just detect overlap and switch to transparent material when the character mesh collide with the camera
not dlding anything
lol
Okay, I just see it as 2 different methods to open a door
I want to press E to hide a mesh BUT only when player is in the trigger box. I have them working separately but how to make them work only when both conditions are met?
check your probe size, that is your camera collision size
try changing it to 1
and even then, it wont be perfect
If it helps, this is the size map of a quest manager component. As you can see, the bulk of the size is down to the UI side of things. (various quest related prompts) This means anything else referencing the quest manager component would also force these to load. Generally this wouldn't be an issue as they'd probably need to be loaded anyway.
However, (what I'll end up doing at some point) what you can do is create a child of the quest manager and move all the UI stuff to the child. This means anything that references the quest manager won't know anything about the UI stuff unless they specifically cast to it. In the parent, you would have blank functions that get called when they need to and allow the child to override them to handle the actual UI side.
cuz ur feet is touching the ground and the cam is sliding thru the floor
I plan to just set the character material to be transparent when colliding with the camera
FIXED.
that was hard.
2 Branches after eachother. So use another branch node after the 1st one fails
not sure what those do, I will check that
there's the bool AND operator
prevent the camera going to the floor
you could use isvalid where on begin you set a variable to the player pawn, then on end you invalidate it
started on BP today itself. All this is alien. ;?
lmao
it might take a while to understand, there's a lot of stuff
Hmm, I see.
there's the bool AND operator - they don't take the white triangle inputs
I'm guessing you would do that
what's the white triangle inputs
and then input your 2 variables in the bool AND operator
Execution pin?
the white lines are the execution flow
yes ..haha ok got it
well, wtv you put on the true execution pin is going to run if it's true and false otherwise
so if the condition is true it will flow out true, false it will go out false
and basically says if both are true
Here's the result. (around 10mb reduction in the size of the base class)
but how do I input pressing of E and plaer hitting the trigger box
feed them into AND
Cool. Is that much optimization really noticeable in the long run?
well one way would be to have a boolean on the character, that you set when you begin/end overlap
then when you press e just check the boolean
no need for and really
btw the 'E' event is the deprecated input system, it's fine for now but I suggest you to learn about the new one
yes using the enhanced one
As you're project gets bigger yea. It also makes it easier to make different versions while you prototype. Now I have 'Quest Manager' & a child 'Quest Manager Default UI'. I can create another child of the main one and handle the UI side differently if I wanted without it affecting the main class and everything that references it.
Ahh true
Yeah making a child BP sounds like a very simple yet useful method to use
I'm surprised I'm only recently hearing about it
but for a door, I don't think it should be a child of the character
it's basic principle of OOP
would help you to make your game to learn OOP first imo
10mb here. 10mb there, a few more 10mb here, and suddenly you can't release on XB1 cause out of memory crashes.
Hey, excuse me, I am running into an issue that I honestly am not sure if it's blueprint based or not but im guessing it is and it's connected to the grab component in a VR space. I have an actor parent and some child actors of that parent which is all good since i want to be able to grab any children of that parent, my question is, is there a way to grab the whole actor instead of the mesh? Because whenever i attach the grab component to my mesh the code i have that is supposed to trigger an on overlap event and such dont trigger and grabbing the object is essentially useless at that point.
Object Oriented programming?
@grizzled beacon btw that works, never know they have this handy variable we can set. It probably just clamp the max pitch like other suggested
I'll add that to the list
Idk where to put this, but any idea why when I package my game, main menu button doesn't start the game but instead it relaunches menu for some reason. In editor it works fine, when I press play it opens the gameplay level.
you most likely didn't include the map to the packaged build
err i followed a packaging tutorial, how do i do that
include them in the project settings
project settings -> Map
the reason your game relaunch the menu is that it can't find the map to open
Do u mean this?
cos i have set this up
u have it to setup for the menu
now tell me where u add the map u are trying to open
actually it's on ProjectSetting->Packaging
List of maps to include in a packaged build
Btw, is there a way to release my game in HTML5 ?
dont bother imo, the web support by epic is deprecated
it doesn't even exist in UE5
this should be fairly simple right? a node to merge them?
you don't want to do that
do you know about variables ?
but that is what is needed, to satisfy both condition
you don't know 1?
loll
this is just a testing thing
you should watch some tutorials fuirst maybe
and it doesn't do what you think it does
never cross pinning
🍝
and ingredient for bugs
ok
i would go with the isvalid approach, but either way you just set a variable
Ah thanks a lot, that helped 👍
you see how you have two events and they are checking if it's the player is the other actor?
out of true set the value of a boolean true on begin, false on end
I would do smt like that:
E --> get overlapping actors --> if the player is one of them --> do something
well i would just set it on begin overlap, invalidate it on end overlap
the do Press E -> IsValid(playerisincollision)
this should be fairly common used thing? Like open the door when near it
can't find a tutorial
💡 Download The FREE GameDev Tools Here: 👉 https://buvesa.com/free
✔️ Free GameDev E-book
✔️ Free Game Design Document
✔️ Free Platformer Course (UE5)
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
🏆 Join My Premium UE5 Course (The Unreal Vault) 🏆
👉 Link: https://buvesa.com/course
🗸 Full GameDev proces
🗸 Level design
🗸 Boss Fights
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
📱 ...
took me 5 sec
that's like the simplest way you can open a door in ue
which is great
When I click on the red area, or anything thats not a button in UI, my Click event is fired like there is no UI at all and it just goes through, does someone know, why that is?
just search:
door system blueprint ue5
nothing that hard lol
great for starting point but it has no place for proper development
u will need a proper interaction system
it's his first day..
lol
that's why I said , it's fine for starting point
you do want to interact with more than just the door
normally, you'd use multiple classes I guess
Interface / component is candidate for interaction system
use widget reflector
u will find out what element you are interacting with
which click event btw? post code
Using Enhanced Input bind to LMB, when I press at a button this code is not called.
Because the widget button consume your LMB
I could be wrong but I am pretty sure that's the case
yeah you are right, I want the remaining UI to also consume the LMB click, because right now I could click between 2 buttons and deselect my current unit, because the click event is called through UI.
can u give a clearer picture as what you are trying to do if possible
I can't picture it, sorry
#cpp ?
I think it's a problem with the Widget BP
you could try to get the screen coords and if your in a certain box disable you selecting
but seeing if you can fix it widget probably best bet
a video might help, I prob won't have clue, but u can post that in #umg where the veterans are
ah sorry i missed the umg channel, thanks showing
no sweat, many channels are hidden by default
Buttons handle left clicks. Other UI Elements do not usually.
Ok, is there a way to override that behaivor for other Widgets?
UserWidget has an OnMouseButtonDown or similar named event. You need to have a hit testable child like an image in the userwidget and override that and return handled.
thanks!
Excuse me, could i get some help with this problem im facing please?
Short version of the problem:
Actor -> has working overlap events (grid snapping, scale manipulation from said grid snapping etc.)
Actor -> has an attached grab component to it -> can grab it -> overlap events no longer work although I'm not even interacting (grabbing, throwing etc.) with the actor at all
Without that grab component it works beautifully, but I have to add it somehow, I'm using the vr template thing that UE5 offers
Yeah just implemented it, worked perfectly, thanks!
Never used the template. But I would check if interaction somehow disables collisions or overlap events. If yes, then when stopping the interact you'll need to replace that state.
I think i can pull up the blueprint
there's this in the grab component blueprint in the template folder
What does this function on the left do? Is that C++ or can you open it?
wait i searched for overlap event
and this came up
i dont know if it's relevant much
i can open it yes
i think
you're talking about set primitive comp physics right?
this is what's inside it
can I in unreal mark output as array or something usefull or do I have to write parser from string? 😥 , its wild card, but if I connect it somewhere then it works, but I need array of vectors
Probably not relevant, should still generate overlaps when simulating physics. Hit events it won't unless enabled, but overlaps it will. What is the macro next to it?
this is inside it
i dont think this macro is related either
cause it doesnt really mention overlaps
if the script output is a string(which it usually is on any data being sent/recieved) your only option is to parse it
can a border have pressed/hover effects like buttons do?
😦 Nothing here looks like it would stop overlaps either.
the only overlapping i saw is in that one screenshot i sent
where it sets a collision profile
That would globally affect it though, not only when being picked up.
hmmm
ill search for the word overlap in the VRPawn to see if anything comes up
So in here there's one thing that mentions overlapping and it's this
sry for the multi screenshot it's just one long string of blueprints
only here it mentions an initial overlap
so it may not be that either
I worked around with it like so, but still have a question if borders supports hover in code, why they don't simply have the variables exposed to the property editor ?
Seems to work fine outputting an array of vectors.
Does anyone have any idea how to find this asset that's supposedly in the level?
Search for it in outliner?
It doesn't show any external actors. (not entirely sure what that means)
It says its an NPC. I only have 4 and non of them reference what I'm looking for. They used to but I have since changed it. (gameplay tag)
@violet spokeFor full clarity, I did this. The python script just generates a random set of vectors and sets output.
To connect it I made a for each loop that had the vector array and just dragged that to the grey output pin on the python node.
import unreal
import random
def random_vector(min_x, max_x, min_y, max_y, min_z, max_z):
x = random.uniform(min_x, max_x)
y = random.uniform(min_y, max_y)
z = random.uniform(min_z, max_z)
return unreal.Vector(x, y, z)
def generate_random_vectors_array(count, min_x, max_x, min_y, max_y, min_z, max_z):
random_vectors = []
for _ in range(count):
vec = random_vector(min_x, max_x, min_y, max_y, min_z, max_z)
random_vectors.append(vec)
return random_vectors
vector_count = 10
min_range = -100
max_range = 100
random_vectors_array = generate_random_vectors_array(vector_count, min_range, max_range, min_range, max_range, min_range, max_range)
output = random_vectors_array
Apparently external actors are what actors get turned into when using One File Per Actor, but idk much about that
I don't have any options on the character itself for it and external actors is unticks in the world settings. 🤔
Very weird. Are you just cleaning up ref chains or how’d you end up looking for it?
having a lot of trouble with this
the GET only seems to get a copy, and not a ref
the SET Turret Row Name does not affect the thing its getting
there's a foreach (as ref) node iirc
i did, and i got the ref. but it still acts as a copy
something is seriously wrong with my code logic
ill b back
Yea just cleaning up unused stuff. I ended having to delete the file it mentions through the file explorer. I assumed if it was still referencing something it shouldn't be it hadn't updated and thus wasn't needed lol.
When you're three function calls deep into a set of logic that is supposed to modify an array and you spend forever trying to debug the later two functions only to find out that the first of them took the array by copy. Much pain.
This is what im trying to achieve by the way so it can be more visible
excuse my OBS juggling skills
I don't think you can in blueprint. Can you show a pic where u think you get the ref?
You can do refs in BP. But there are limitations. a BIE function for instance requires a const array by ref, so you can never actually alter the original array.
if it's an array of a specific class you should be able to set a variable
i'm guessing it wasn't setting
am I missing something for crouching?
your trying to add a grab component to the floors that you spawn ?
I also recently learned that by ref in BP is technically false. What it actually does is sort of copies the property, you alter it in your bp function scopes and when done it copies the new property's memory to the old one's address.
Hehe nice
ya i think there is a can crouch, or crouching enabled thats disabled by default
ahh okay
mm no, im trying to add a grab component to the falling object in the video that's falling onto the grid, just imagine how it works in bakugan, i throw it and it resizes itself when it hits the grid
i may have found something though
one moment
NEVERMIND
excuse me im dumb im actually dumb
Is it supposed to move my camera height or something
because I don't see anything happening
Have you debugged that those inputs are actually running?
you have to create the animations but your capsule half height will change, so your collision will change and your capsule will be smaller
idk if the template has it built in, but normally you have to make the animations
hmm
I'm in first person so I don't want to worry about the animation at the moment
I guess I'll just move the camera location
It should already work.
Simply change the value in your character movement comp
The camera should move when the capsule's height changes.
But also make sure those inputs are running for sure with a debug break or print.
oh it's first person so like mentioned probably the camera should move
is it the template ?
thanks, im investigatint it, how did you convert output to vector type? I only got gray (wild card type)
I sure can do that, but its better to use existing features 😄
no I started with the third person template, and then moved the camera to make it first
i just didn't know if you could even return other types, i was saying if it's a string your stuck with it
got it.. kind of
nice casting trick :D, thanks hero
me too, as I did almost finished maze script, but was unsure how can I use it, if it would be limited only to widget, but it is not, i can make procedural stuff now 😄
procedural ftw
unreal is actually really good at spawning/destroying actors
i do a bunch at once and bp doesn't even flinch
Except when they have particles and FMOD sound components an you're doing it on an XB1. Then fuck life.
ya i have not used particles yet i was looking at it the other day
For some reason old gen consoles cost a toooooon to spawn those things.
well i'm talking pc, i got a lower end pc and it still runs well
a really bad cpu spike but i get that with a blank project as well
Do yourself a favor and say no to old gen consoles even if you get the chance. 😄 Your sanity levels will thank you.
true, but some stuff is easier to make with coding and not in bp 😄
but anything can be made in bp too
i'll see the limit when i hit it ig, doing stuff on tick seems to take down the fps a bunch
but i do a lot on tick
some of that stuff i need to offload to c
No lol
You can only do things that is exposed to bp
Bp is very limited
when i spawn the room via blueprint it looses it original collision, why? how should i set the collision in the blueprint originally they are well put, I call the room in the second picture, each room has it`s own blueprint
?
They are called trial version for a reason
do you have any example /
Loading screen
😆
That's how fast you hit the wall
Multiplayer
Changing keyboard focus nav from arrow keys to WASD.
10000 iterations in a frame
Who ever tell you bp can do everything is either I'll informed or never tap the full potential of unreal
You can certainly do a lot. The little village game thing epic did showcases that you can really do a lot for a project in BP. But even they had to do some hackery at the time to make it work entirely.
Now, you can jump a ton of hoops and do quite impressive things with bp only
But i dare say almost any project will benefit from mildly to greatly by using some or much c++
Even a tiny bit makes a lot of difference
You also get acces to all things the engine has to offer
Not just the 46% thats bp exposed
Also data management. Primary Data Assets are the best.
Higher than I thought lol
Was a random number😅 prob way less
30 perhaps
On a good day
Depends on what counts and what doesnt
Well I dunnoe, can't read source code. I'm too noob
Jk, I can only kinda read it
Then you realize that there's a whole different world of shaders that make a lot of things even easier, but you have to learn those too and C++ or blueprints don't really help you there a lot. 😄
Slate stuff , custom nodes
Diving into c++ is like getting the first experience with unreal again
Everything is shiny but you’re lost af?
Yepp
i've gotten as far as a blueprint function library in c++
i have a couple projects c++ from start that i was looking at as well
but even the function library gives me huge improvements
Thats the biggest single thing you can do in cpp
Along with structs to avoid project corruption
meh...
mine hasnt broken in a long time
Theres always exceptions
i use a bp struct and it works fine but i just set it and forget it
Is it worth gambling on?
i back up every few ... days
So you mitigate the risk
the only i can see is maybe you are using the struct in bp, and you remove/reorder the struct around or change the types or something
i feel like if you just build and leave it does it actually just break on its own ?
that would be really weird
Question is why risk it at all when its so easy to do in cpp?
yea, it worked unitl invetion of tests
for cpp you need actually to read all docs instead of making game, so for solo devs it can require more work and time before actually making game. In bp you see what takes what and just plug all stuff it requires
Declearing a struct/enum is quite easy to find samples on
Doesnt take much time at all and it:
- removes corruption risk
- allows explicit bp exposure
- allows defined replication rules
- allows struct comparisons on a struct to struct level
- can react to DataTable changes (if its a FTablerow subclass)
but it takes more
and its just eunm
you make characters in cpp too ?
I'd argue its worth it
move components or sockets?
Yes i do
How do you check if they appear corectly?
Depending on what it is, I usually expose parameters if theres any uncertainty om how it would appear
😏 so you are using bp after all
a mix of both is best
Ofcourse, bp is superior for certain stuff
Asset paths / pointers being one of them
Imagine setting up a level purely in c++....
😂 but it sounds like that
i just enjoing bP, if im gonna need cpp probably gonna switch but for now im good here, I don't know even full unreal possibilities, until then I don't need to learn few things at once
Hi, I'm just putting this here in case someone knows the answer. I have a 40 frame animation of a flower that is a morph target. I can set the Initial Position of the flower opening, but when I play the animation in the BP, it starts from 0 instead of the Initial Position. How do I access the Initial Position in BP? Also can you reply in thread. Searching for answers is better when people put it in a thread I found. Thanks kindly!
wow works perfect, I don't even need ue module, nested lists works fine 😄
set morph target
morph targets are not part of animation (as far I understand) it can be affacted to bone location and roation, but not morph value itself
Actually this is a 40 frame morph animation... It just plays the animation in sequence. Also thanks for responding @violet spoke
Morph targets are part of animation. You can set the key frames in 3d software and export the animation
anyone know i can set a max and min these can go?
Instead of increment and decrement, you can just add or subtract then clamp the value
should i use vector lenght to determine direction between two actors or just the diustance node
oh that makes sense lol, thx
lookat ?
sheeeee, I just realized i can't use py scripts at run time, im gonna need cpp sooner than expected
c++ ftw
time to refresh cpp 😄
Python, C++, Same thing. 🤷♂️
python is actually weird where you do it based on indentation
no brackets, really odd to me i like the brackets
TBF I haven't really used Python that much outside of rare necessity to fix something. It's syntax is a bit odd after using C++ for a few years.
you can use ; to do inline comands 😄
python is really flexible
Hey, me again, um so i fixed my collision for my card to work with the grid by throwing, i added a box collision under the grab component and it magically worked, but here's the situation, im trying to check my overlaps for my grid and my bakugan sphere actor's collision doesn't trigger any overlaps whatsoever on the grid and on the card, these are my current overlap settings, any help is appreciated!
and there's like almost no info on this stupid grab component in the documentation from what i was looking and yt tutorials don't really delve into this stuff, im using the vr template grab component for context
and even if i set my bakugan's actor's collision to ignore the floor just to see if the collision works and for some reason it's not even falling through the floor when i adjust the overlap settings
@maiden wadi welcome back
I recently got humbled by grids. You'd think it would be easy to make a grid material. It's just a bunch of square math. Right? Moire disagrees.
@maiden wadi oh? Did you figure that out? I struggled and gave up and used a different method
You mean like take a material, split it by uv coords and use it separately or something else entirely?
mine is a bunch of rectangles
and like the idea is to overlap the card on the grid then overlap event the bakugan on the card to do stuff
This was my original Looked nice... Until I zoomed out. 😂
but it's just saying NO
Found a new shader though after some digging that looks a ton better.
This one is just a single plane that spans the world with a material applied to it, using world positions to draw the grid.
I see
I hate that the documentation doesnt really state how the stupid VR component interacts with the overlap settings, because that would at least give an idea what to look for
cause currently i've as i said, i fixed the issue i had earlier today in the most funniest ways, just adding a box collision to my throwable object made it work with the logic for my grid, trying to apply the same logic for my throwable actor did not yield the same effect even though it's setup almost the same way, hierachally speaking it's lined like this
My grid object is a plane -> it has the VR grab component attached to it -> the grab component itself has a box collision attached to it
but i tried applying the same logic to my skeletal mesh actor and it just didn't work that way
I personally have found that learning the base engine is useful. Because building off of other people's core concepts can be messy. They have an idea in mind for things, and don't necessarily finish it or don't consider all of the things that someone extending it could need or use. Or even worse they use outdated ideals that lead to really hard to handle systems. Dealing with other's code is a necessity, but it can often be best to simply start from scratch so that you have a full view of what is going on in your systems.
Well yeah but you would think the VR template provided by unreal would have actual documentation what stuff does
Lol. I'll find that less funny when they stop using construction helpers in their C++ templates.
Any idea how to change this text when you hover over ur packaged game .exe?
Kinda don't want it to say Epic Games
LOL
idk, im like new to this stuff and making my own logic for taking the input from a motion controller feels too impossible, well not impossible but such a hassle for something they couldve documented how it works
you can edit the metadata with Properties, if not use some third party software
but quite sure this all can be specified in the project settings in the first place
hello folks, blueprint beginner here. I've been trying to get a light flickering event playing for a movie render. The event works fine when I simulate however it does not play in the sequencer (and in the render), I tried to add a trigger in the event graph to add it as a track in sequencer. But it didn't work, so do you have any suggestions how should I solve this?
Why not just animate the light itself in the sequencer?
I have multiple lights in the scene, and they all start at different times (which I made them publicly editable), all I want is to start this timeline event in the sequencer. I also made a similar timeline event, a simple rotation for another blueprint actor and it worked okay, so I don't understand why light intensity animation doesn't work
I do not get what you're trying to do with the "trigger"
I've never tried but can you blueprint debug when running a sequencer? Is that boolean true at the time of beginplay?
make an event that starts the timeline and call that
yes
I saw someone adding a trigger to the graph and adding it as a track in the sequencer
what's a trigger
okay I will check this out
just a boolean
right and you can change that, but it's not gonna do anything
you could have an event tick and pass it when the bool is true
okay will do that
thank you 
I'm not sure begin play was even called at all in the render, which is most likely your issue
but I'm not certain how exactly that works
event tick makes no sense here though, you'd just be telling the timeline to play (or worse play from the beginning) every frame
def use the guide I sent
interesting, I'm new to blueprints, just started to learn them by making simple animations in the scene so I have still no idea about lots of things. but the interesting thing is that I made a similar graph for a rotation animation and it worked in the sequencer, and in the render
Are you actually supposed to change this? I just checked our released game files, and a few other UE games I have on Steam and they all say this.
after looking into it beginplay should be called
you can easily verify this though if you put a print after or breakpoint on it
yea it was like that at first
worked in the simulation, didn't work in the render so I tried to add a trigger boolean
Ah I see I just thought it'd be cooler, my teacher is an idiot though and will definitely think I stole the game from Epic Games
just take local position, uv or world,, use sinus with frequency scaling and round it to 0 and 1, then lerp 😊 colors