#blueprint
1 messages ยท Page 165 of 1
is there a function I can call or some way to check if a mesh is overlapping something using it's complex collision?
A timer is not made for interpolating values. Timer on a low rate is not better than tick, it is not designed this way,
Timers catch up missed frames, versus only running once each frame.
You can end up with some bugs if you're trying to interpolate on a timer
i'm having a problem, it keeps rotating. maybe it's because i'm using mouse wheel up?
what does it look like ?
Think, if you plug get world delta seconds into the interp to, on a timer with a low rate, if it runs it's catch up, it's gonna act as if two seconds have passed
add / remove a delta to your desired rotation on the scroll wheel event, the rinterp interps between desired and current rotation
wdym it keeps rotating ? it should rotate the amount you change it with the amount of wheel movement
it's the same as your picture but with a bunch of branches before the event
it keeps rotating by itself, no input from me
show what you've made
also i want it to rotate 90 degrees every time
in full
okay, I have a question what if I use Interp and plug the delta seconds from event tick is this will work
thanks guys you're very kind
yes, interpolation on tick is what you want.
if you mean using the delta time from a tick event on a timer then no, they're the same value, the same issues occur.
if you're gonna use a tick event anyway and associate logic with it, why abstract away into a timer thats making things worse
thanks for correcting my information.
no problem, it's one I see passes around a lot
you might want to print the difference between current rotation and the rotation var you're interping to
IIRC mouse wheel up will fire once for each little tick of the wheel, which means in one good scroll you might be adding 1000 degrees to your rotation :P
if you just want 90 degree increments, you might consider a keyboard keypress
you typically use mouse wheel if it's delta based
that's what i'm using
i'm using mouse wheel up
are you scrolling more than one up ?
and it fires on a ridculously small increment
or your just testing with a single click or two
i thought you meant just one type key event, is it not the same? it gets recognized as one
one decently lengthy scroll is going to add a ton to that var
no, it rotates even if i don't scroll
it is not the same. they keyboard events are keyboard keys, not mouse buttons
i know
so is it rotating to the base position of the variable ? or it just keeps spinning ?
oh i see your issue
it's always going to rotate, you want to rotate towards get actor rotation + your variable
the actor rotation and the variable are never the same and never can be, it's always going to rotate
this in the part with the tick or where i set the rotation variable
?
i'd assume when you're setting the rotation var
as it's then where you'll want to rotate it x amount in front
might be best to initialize it in begin play too to actor rotation
you should be able to just change the target and it'll interp to it
weird you would have to do more, but i can see get actor location but then you may get mid starts for the rotation
it would solve multiple ups like a power scroll or something ig
yeah it keeps spinning ๐ฆ
when in doubt, print your values
they are both in the same bp ?
yes
are you setting rotation varible anywhere else ?
that'll do it
stupid error
thanks guys, it is now working. one more thing, i would like to set interp speed as the time needed for the object to rotate, how can i do that?
well interp speed should be the time it takes
but you can also use rinterp to const
which will do it over a constant speed instead of the fade you get with normal interp
ok so now if i put .1 it's really slow, while if i put 2 it's faster
anyone have experience with editor blueprints? I have a BP that instantiates a foliage actor into the world, but it doesn't show up in the editor until I manually enter foliage mode- so it seems to be an editor state thing. Is there a way to manually 'refresh' the editor so my foliage appears without needing to enter foliage mode first?
not moving with that
ya i just tried it somethings f'd about it
thanks guys, now it's really smooth! just like i wanted it. but i had to put like 10 on interpspeed, it's a bit annoying not knowing the precise time it takes
also now i have a bit of a problem because if i click (the click place the object on the world) while it's rotating it puts it rotated, while i want it to be only of 90 degrees. but i think i can fix that
Can anybody tell me why non possessed AI blueprints cant spawn this sound but players can do?
I know this is a dumb question, but how tf do I get rid of this symbol. It's distracting and difficult to see aspects of my mesh with it on display
omg I could kiss you. Thank you!
no problem ๐
๐
What is the best way to create a collision for a player controlled monster like this?
Capsule collision is too small
Typically, by not using characters, and rolling something custom.
The engine classes don't deal with this very well, you may want to consider a plugin like General Movement Component.
I dont really want anything complex, I just want this to not happen...
Blocking the back would be enough
Long noodly guys like that are tricky.
Unfortunately you don't have many, if any options that aren't tricky
I tried adding a capsule collision but this did nothing
Yeah, because only the actor collision counts for AI movement purposes.
It's not something the CMC, or any of the built in movement's are built to handle really
It would be much easier if I just could rotate the root capsule collision...
So like... one of the tricky things is you basically need a separate nav mesh for Very Large Creatures.
its a player character not ai
Even trickier then, because players Do Not Do What You Want Them To Do.
Your best solution I can see is honestly general movement component. It's built for non standard shapes like this
So, for me, if I were making this character I would do the following steps.
Seriously reconsider this as a character. The easiest way to solve hard problems is to just not do them.
Make the capsule larger, and much wider, and pull it back to the characters chest.
Make a complex animation system that controls the tail and the arms to prevent them from clipping through environmental objects.
Also - the general movement component isn't a bad idea.
Nice!
Its not perfect but better than letting %90 of the monster have no collision
Now you just need to do number 3 - a complex animation system to avoid the rest of the clipping.
Or... just accept the clipping!
Most people do!
Especially for large critters.
This just works %90 of the time so I guess Ill let it slide
Would be cooler if I could cut thish extra height
i wonder if you could take a capsule component and change the half height to be lower then the width, meaning it creates a flattened sphere. i don't think so, but i've also never tried it.
Noo, capsules don't do that.
yeah i was afraid of that
Half height just shrinks the length of the capsule, which Akane has already reduced to zero.
ah, i didnt read that far up xD
you could do some maths to figure out if something is in that spot or not, something probably on tick though so if they get within a z it fires of an event
wouldn't be easy or light on the game but might cut that top part out
you could also just use a few seperate collision
maybe combine them to a single event or something
I sculpted some walls with the modelling tool but their collusion remained the same. how do I fix this. I can't pass through the door i cut open.
every time i move around a bp by holding the right mouse button the browser shows up on button release, it's extremely jarring. Did i forget how to move around in a bp or is this usual behavior? i dont recall it happening
Print the target rotation after being set in this event. Make sure it's happeneing when you're assuming it is
Thanks, I fixed it now
I have another problem. I stored a ref of a widget in a blueprint and i want to set the percentage of a progress bar in there. I'm able to give a value to other variables there but when i try to set percent of that progress bar it gives me error "accessed none" trying to read property of set percent. any idea what could it be?
You really oughta invert that
have the UI know about the thing it represents, not the thing knowing about the UI
but why do the other variables work?
show your code
and show the error
anyone know if theres a way to disable shadows from widgets used as health bars? (no cpp please)?
any ideas why this is vanishing when i click play
its behaving exactly as if hidden in game was checked
and it was working before, and i havent changed that
nvm figured it out lol
is this a proper way to do soft references? ๐
Since meshes are instanced assets its fine. But if you were to use an actor you would need to set the reference and check if its loaded or not.
ah okay, thank you
i usually put my widget refs in the HUD class, it's easy to access from anywhere
You need to load it first; unless it's already loaded.
@zinc jasper It's not fine. And you should always just async load the asset and cast the return to static mesh to use it. You don't know if something else has loaded it. Calling AsyncLoadAsset will just return it immediately from the completed pin if it's already loaded anyhow. Otherwise you're going to potentially be debugging blank meshes later.
He's using a resolve node; it won't force load. I'm only assuming he's loading the asset prior to this. His usage is perfectly fine if that's the behavior he intended.
Why would you load up every mesh in the array to pick a random one? O.o
I couldnt tell ya, I really dont know the usage context and whats going on prior to that snippet. If this is all the code then ye he would have to load the asset.
i want to use a soft reference exactly because of this - not wanting to load all array assets when im just picking one random
so this is not the way then?
Just use an AsyncLoadAsset call and cast the return to StaticMesh to use it. There's almost never a good reason to use the resolve node unless for very rare cases where you 'might' want to use the value but only if it's loaded.
ah but AsyncLoadAsset is not available in a construction script..
You 'can' use LoadAssetBlocking. But that's kind of a rough situation. Generally you never want to ever do that because it'll flush the async loader, meaning it'll stop running the gamethread until every asset is loaded and ready. Which can cause up to multiple second long stalls on some games.
Are you spawning a bunch of tiles or smth similar and want each to have a different rock mesh?
Will all rock meshes in the array to be present in the game?
yes and yes
Might as well have them all loaded. U gain nothing out of having them as soft references given they are meshes.
Either ways they'll be loaded
Yeah. Not much point to a softref there.
that thought crossed my mind but i still wasnt sure what the best practice is
but yeah I guess that makes sense, thanks
Whatever works for your game. ๐
hello guys
quick question can i use there something to call more than 1 tag?
Example if the player1 or player2 or michaeljackson collides with it its spawn beetle
use more of those "actor has tag" nodes and then use "OR" boolean node
ahhh ok thats a way true! thanks
I know some functions (such as getObjectByClass are really inefficient to call repeatedly as they work by iterating over every object in the scene, checking the parameters, and returning the ones that match.
does GetPlayerCharacter work like this?
Yup as in "yes there are functions like that" and no as in "GetPlayerCharacter is not one of them"?
Get player character grabs the character reference of the player.
@heavy hemlock for information , I just tried this and this is working perfectly.
Make sure the new sphere collisions (or any collision shapes) overlaps with the original capsule collision.
If I want separate elements of my character to glow, belt for example. Then I need to ask my 3D artist to make a separate texture and split belt from the character model? or there is a better way?
you can add another material without splitting the belt from model
I guess you need to choose different material sides in blender
how do i get a specific class from this get owner? I basically want to swap out the return value for something better
Get owner returns a generic actor, but I want to return a specific actor
for the purposes of getting values and functions specific to that actor
does this make sense
Nice! Great job!
yeah thats just a cast
does a cast get an actor in the level though?
like an actor needs to be placed in the level
or can i cast without that
a cast just does that
it specifies a type of a pin
I donno, i usually have a reference to what i want. So i find them hard to use.
If i make a character reference array but store custom chatacters in it, i would need to cast from the chatacter to the customcharacter. But i dont want to, i just want to ise the customcharacters memeber functions...
if i connect this get variable to tick, does that mean it's constantly calling the cast every tick or what?
the variable is taken from a casted object on begin play
The Cast is only on Begin Play
On Tick you are using already the "cached" cast actor, so Cast is not called again
That's the proper way to do it
is it negligible performance to doing the same thing within in the actor, marco?
I want to do this for at least 6 or 7 different actor components, is why im asking
This is probably a bit of an odd question, but if I've got a spline and a point along that spline, how would I got about getting the spline distance to each of the nearest 2 points?
@eager thicketif you find yourself repeating the same pattern for multiple BP's, that may indicate that you need to derive them from a common parent BP and have the shared parts in the parent
Hmmm, ok. I guess I want to have at least 3-4 blueprint components all taking these variables for different functions
@opal ivydo you mean distance to the previous and next control point?
Why can't I connect both Return Inputs into this Variable?
I want the distance ALONG the spline though, not just raw distance
I don't touch spline much but you can get the segments along the splines. Loop thru them and add all the distance between each segment
@opal ivyLike this? https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Spline/GetLocationatDistanceAlongSpline?application_version=5.3
kinda? My goal would be knowing the next and previous points given a known distance along the spline.
@opal ivyok then you need to get the key of your point and compare it with the keys of the control points
You can get all the control points with this: https://forums.unrealengine.com/t/get-all-spline-points-of-a-spline-component-blueprint-only/410487/2
That seems super inefficient for long splines though
Knowing the two keys you are after, you can extract only those two points. That would be more efficient. Otherwise you are up for some C++ code.
You can try this: Get Input Key at Distance Along Spline, which returns the key of your point
From there you get the previous and next key and their locations, then measure the distance from them.
What's the right way to have the camera orbit the selected object in the viewport editor view? Alt+LMB orbits around some random point, even with the object selected and "orbit camera around selection" turned on, with it on or off it doesn't orbit around the selected object or even orbit around 0,0,0 for me, just some random point in space I can't seem to control
@misty fibereven when putting the object in Focus with F? That typically works.
it does work with f, but the selection thing seems ignored without it
maybe the selection one only applies to level editor
firstly i am sry that i ask it here,i asked it also in general chat and didnt get an answer ,maybe here is someone who knows it
i have a weird issue,my foliage has no material ,can anyone suggest something
do i need to bake or build the foliage ?and if yes how do i do this.i applied material on the foliage but on the map it has no material
grass has material,but trees,mushrooms etc does not
@misty fiberworks in the viewport for 5.4.1
but if the actor is large and its pivot is offset from the center, the orbiting looks weird
hmm I think something else is going on, I can't move the mesh with the translation control either, even though it is attached to a scene root and isn't root or anything
can still move it by typing in a location..
@misty fiberMay be locked. Even though when locked the translation gizmo disappears as well.
Okay, so now looking at this, this is actually perfect
Get Input Key At Distance Along Spline literally solves my entire problem
I've got a really strange issue, and I'm wondering if it is a bug or on my end. Anyone having issues making events using actor sequencer? I can create the event track, and the keyframe. I can add the custom event. But then I can't compile. Pressing the button keeps it as "dirty" and the event never fires. Anyone else seen this?
hmm, it's within the blueprint editor, locked is only within the level editor right?
Yes correct
Is there a Construction Script acting on the component?
gridsnap somehow set to 500 ๐
so unrelated to the orbit thing
duh!
I suppose I do have one other question... how expensive are these calculations? Do I need to avoid doing them every tick?
(yes, I know that's a complicated question)
Because there would be no way to determine which wire the value should actually be set to. While you may have the execution path executing in a certain way, wires from pins can be thought to pull values, not push values to the next part of the execution.
Here's another example of why it wouldn't make sense to be able to connect two wires to a set node. How could it possibly know which value should be set in that variable?
Hello! Why won't this work? The widget gets added to the viewport just fine when the time dilation function isn't connected. When it's plugged in the timeline never finishes
Makes sense. I came to my senses and just set the variable 3 times
Is your Time Stop value approaching 0?
Yes
Then it'll take an infinite amount of time to complete the timeline.
Huh, even if the timeline is only supposed to last 1 second?
Yes, because you're changing how fast time moves and the timeline is bound to that too.
Ohhhhh there's the paradox. Thanks! Is there a workaround?
@opal ivyTo know for sure how expensive it is you would need to profile it. Once you know how many ms that requires, you can decide if you can afford it on every Tick or you need to find another solution.
for sure. I'm just trying to rough out an idea to make sure it's feasible before I dive in too hard
Possibly by changing the playrate of the timeline. So if time dilation is at 0.5, you'd want your play rate to be 2 basically.
That can probably be updated on the timeline update.
That's a great idea, I'll try that. Thanks again!
I think it's 1/dilation
is this a lot for my train_BP?
Not sure if this is the correct channel but does anyone know how to make procedurally generated maps?
Yes, that seems unusually large for a Blueprint asset.
Hello, I don't find the documentation of the Event On Component End overlap
what is the difference between "Overlapped Component" and "Other Comp"?
Overlapped component is whats being overlapped (in your case looks like colwithbox) other comp is the other thing your overlapping with
but you can't overlap yourself?
By that I mean having one pre made map lead into another random pre made map with some specifications
Right its giving you a reference to the component if you need it
You have two components at minium overlapping
does it mean that it look if the component end the overlap and trigger the function?
If i use other comp, the trigger will be the other component?
that is a little bit confusing
So with overlap you have at least two components overlapping
yes
Other actor and other comp would be the one outside your class (ie your player hit a wall) other would be the wall, overlapped component would be your player/collision
that event has already fired, its giving you references to what was overlapped (ie your collision box and whatever it hit)
that's mean if i use other comp i have to cast because i don't know what was overlapped. if i use overlapped component i don't need to because it's the component itself?
Right yep
ok thanks
Though to clarify this, it might not be your specific class. So you might still need to check or cast (check the pin to see what class type it is)
what is a normal amount? or range
I have many casts, so I'll have to optimize them at some point
Bumping this for visibility. Help please ๐ข
Well, looking at Lyra, I don't see anything bigger than 1MB.
The event you are trying to call UIShowDeathMenu is part of the BP_GameController blueprint. The blueprint you are currently calling is not that.
So the self reference that is being passed by default to it is wrong
If self is a subclass of BP_GameController
Otherwise you simply need to get a reference to an instance
If your BP_GameController is the gamemode you should be able to do a Get GameMode and then cast that
Is NewParentCharacter controlled by BP_GameController?
yes
Then it is something like Get Controller Cast to BP_GameController and then pass that
I put in a cloud mask object and how do I get rid of the clouds outside the cloud generator tile?
If I store a CLASS in my save file data, not an instance of the object, does that include all the data of that class? Images and such?
No, it would be a reference to the class asset.
... If those move are my save files fucked?
My gut tells me yes.
Also, related question, how dirty is it to use a data table row handle struct as the keys of a map?
๐ค
The use case here is items. Right now for an inventory I've got a map using the item class as a key and the count as the value. Advantage: Extremely easy to go from map entry to instantiated item and vice versa. Disadvantage: All this shit.
Plus I think I want to have the item data as rows in a data table. I don't NEED that, but if I had to refactor all this shit anyways it wouldn't break my heart
I'd think it would work, but not sure how useful it would be to have both the data table ref and the row name as the key, rather than just the row name, unless you plan on somehow utilizing multiple data tables for the data.
my inventory is just an array
The advantage is strict typing. I don't trust myself to type out row IDs manually. If I could have a variable which achieved that with just row names I would.
Ah yeah gotcha
Plus like I MIGHT have different data tables for different level's items. Or maybe different factions, or tilesets? There's lots of ways I could break it up if it gets big, and it'll probably be a pretty big list
How do you handle multiples of an item? Or are all your items unique?
oh, "value" is a stacked item. anyway, i may be confused, but can you not have a data table as an inventory, adding and removing items from the list?
my items are unique thou
I think if you're adding and removing things from a data table at runtime you're using it VERY strangely. I dont even know if htat's possible
nah, i havnt used one in a while, i just witnessed some persons inventory the other day and thats how theres was looking.
would this be a good place to ask about anim notifiys?
I'm calling an animation from its character bp
and listening for a notif on an animation on the animation blueprint
but the notif doesn't seem to be getting recieved by the animbp
That's an odd way of doing it.
Personally, I'd use a data table to define objects, then I'd use maybe just a map (with an integer to represent how many of the item I had) for the runtime version.
thats the normal way ;p
can i see the character bp?
not sure if its just how i'm calling the animation
or if i need to more directly call the animbp to run the animation
i dont think thats the correct reference.
what is
is the animation not playing ?
the "skeletal mesh"
Playing the anim like that will replace the anim bp
Play animation uses animation asset not anim blueprint
the animation is playing
i just need to get the anim notify to get back to the character bp
If u want to play anim inside your anim bp, use montage
U won't get notify back as Ur anim bp is overriden
The animation mode is set to using animation asset
so how do i fix this set up
animation mode is set to use animation blueprint not assset
That's not what u are doing when u pull the play animation node
It gets overriden
slot ftw
so montage isn't taking my asset are you suggesting placing a slot to handle it
losing the thread here
so you need to make a montage fromo your animation most likely
and play that, but you need a slot in your anim bp
@frosty heron will the montage inherit all the notifs or do i have to reassign them
also struggling to get the montage to play
ok got the slot and the anim working
@frosty heron @lofty rapids any tips on holding the last pose of a montage
using this for a death animation
and its currenlty reseting to sanding
wasn't needed in the previous implementation
for death i use a boolean
and just in the state machine switch it to death anim
then when i switch it back he pops back to life
yeah ic just folding it into the state machine sure
If anyone knows how to use implement references as a interface could you message me, have it setup just not working. Could use some help.
Ask here? you are trying to get one bp to talk to another bp, using an interface?
Yeah. For some reason sometime it doesn't find the reference
i just went through the case where the gamemode will change to a listen server.
but i think u should cast there
I'm using netmode play as client, setting up everything for dedicated servers.
this wouldn't work? interface with diferent functions like Get gamemode, Get controller etc. Then in the gamemode I implement the interface and open it then set up the gamemode like this:
or for controller reference do that in the controller BP for controller function
Hey !
I'm using BPs instead of Static Meshes for my Weapons in my FPS project (in order to customize them and add functionnalities like showing ammo directly on the mesh).
So, I need to use them as "Child BPs" in my FirstPersonCharacter BP.
But there is no "Owner No See" or "Only Owner See" option for a Child BP. So, I cant setup a proper FPS view. I've been trying to find another solution, playing with Visibility, but I cant manage to make it work.
I also tried by spawning BPs instead of using Child BPs. I get the same non-result, when trying to play with Visibility.
Is there a way to setup a similar way than "Owner No See" or "Only Owner See" with a Child Blueprint ?
I don't want to cast though
pretty sure you cant just call self on this, and make it a derivative class.
you might beable to pass the reference of the gamemode along with the controller creation so its available when u want it
I have this for when play connects,
Then that in my controller
To load the character in my controller,
Then in gamemode:
I'm not sure I'm understanding your use case, but this all seems unnecessary.
Get Game Mode always returns the game mode currently being used just in "GameMode" format rather than your specific GameMode for the level, regardless of what class you're in.
You probably should be using casting rather than an interface, and if you want an easy way to access your game mode like "GetGameMode" create a blueprint function library that has a pure function that does a GetGameMode and casts to your custom "unbound" game mode and return it.
I was using the interface instead of casting. So the reference message is my gamemode blueprint and I am getting the gamemode. It has to have get gamemode if I am calling the message reference in another blueprint
ChildActorComponents aren't actors, they are components that spawn and contain a reference to an actor. From the Child Actor Component, you can "Get Child Actor" and then you should be able to use "Owner No See" etc, but I'd make sure the owner on the actor within the component is also properly assigned to the owner of the child actor component.
Thats exactly what I did
Setting the owner, then using the GetChildActor node
Using OwnerNoSee node or Visibility node doesnt behave like it would if part of my main BP
And in this case, there would be no benefit to using an interface over casting, if anything, it's more costly. Interfaces are good to use when you want to communicate to a variety of classes that do not share a hierarchy. Game Modes should almost always retain some form of hierarchy, and the fact that you're returning an "Unbound Game Mode" object indicates that all your game modes would in fact be "Unbound Game Modes", therefore, you may as well cast GetGameMode to "Unbound Game Mode" and use it.
there's only one gamemode I am just referencing it
I don't want to cast everytime I reference it
yeah bad performance
I thought it was the opposite
Your reference in your current case is the parent class of "YourGameMode" the cast allows you to point from parent to the child. since your game mode inherits from it.
It's a massive misunderstanding and miscommunication that has circulated for some time.
Each time you reference a particular class in a blueprint, it requires your blueprint to load that class if it gets loaded.
An interface can save you from having to load multiple classes within that one blueprint.
IF however, you're accessing something that is already loaded it doesn't matter. Your game mode, assuming it's always going to be an "Unbound Game Mode" type, it would always be loaded anyway.
And by having your interface return the type of "Unbound Game Mode" it would still have to be loaded anyway, even if it wasn't the game mode selected, so you wouldn't really save anything with it.
It would already be loaded, the interface is to access it and get information from it. I wouldn't cast everytime I want to get something from it right?
But it costs more CPU time to use an interface to access it than casting does.
Also doesn't make it easy on yourself trying to follow along with the logic of blueprints when you use interfaces.
So tell me if these words sound crazy or if I'm doing something horribly wrong.
Seems like I can use the constructor of an object to rapid edit ALL objects of that type in a level, in order to move around per-object settings. EG moving from a row name var to a Data Table Row Handle struct with a bit of code.
HOWEVER This is not a one-step process because somehow this change does not mark the level as "dirty", so it does not get saved and does not get marked as modified in source control.
BUT if I mark the level as dirty some other way, EG move an innocuous object slightly, THEN all these updated values are saved?
Many things work weirdly with childActorComponent
So instead should/could I have a function that casts once to set a variable then I just use that variable to reference? So in the function I would cast to say my controller then set it as a variable. Then in the blueprint containting that function the variable would be set.
Just attach actor to actor in bp
Also I wouldn't say never ever use them, but rather that they're kind of dangerous because they're a good solution to a pretty small set of problems, but a TERRIBLE solution to a huge array of problems
Their replication is badly broken
You could, sure, but then you're having to reserve more memory to store a reference, likely in multiple actors.
like this
Store it on a variable. Make the cast on beginplay
You will have to cast at some point
Yeah, but it's a trade off between RAM usage that could end up scaling quite large depending on the number of actors you do this on/with for a mostly insignificant amount of CPU use.
Are bp cast as cheap as cpp static cast ?
I imagine BP is slightly more
so If I want to get a controller reference in one character then another. It's better to just cast twice?
or in one character if I use that reference multiple times it's better to cast multiple times than to store it in variable and use variable?
If you're doing something extremely frequently, like on tick, then you may have an argument for storing it in a variable. If it's just the odd time here and there, where you don't need to keep a reference in RAM, then you're better off casting each time.
You don't have to, nor would it likely make sense to as this event only fires one time when a player joins the game and the controller object updates each time. You could make calls into the controller from this event directly from the cast, or if you wanted to make it a bit easier to manage, you could create a functon that handles the logic in which case you can promote the casted value to a local variable which would then be automatically cleaned up once the execution of the function is finished.
I just put in a var coz I'm too lazy to cast it every time
for example like this? Then on PostLogin I'd add that function? idk what to put for object
You'd pass in the player controller reference as an input.
would this also clear the join ID set ?
the local variable?
Create an input on the function. Set its type to "Player Controller" Object Reference.
Connect that pin to the "object" pin of the cast.
When calling the function from your game mode, pass in "New Player" to the input of the function
So I wouldn't put it to my controller that I am using?
PostLogin gives you a reference to the Actual Intance of a Player Controller that is joining the game.
You want to cast that.
If you want that value in your function, you need to pass it into the function.
And I'm not sure why you're trying to use IDs for players. Generally it's not a great idea as it becomes very difficult to manage. Players can be referenced by their PlayerState by everyone including the server.
Would I do Controller instead of PlayerController, thought playercontroller was more for local. So instead add the controllers to an array to keep track?
You don't need to keep track of controllers. Players as they join the game are automatically added to a "Players Array" on the game state which is an array of PlayerStates, and this is managed locally on the server and clients.
The server can retrieve their controllers from the PlayerState if necessary.
You need to set the input to whatever the OnPostLogin provides.
Once you've passed in the value from the OnPostLogin, you'll be casting it and can set the local variable as you need it.
Make a new section in the montage. Then loop the section
Ideally the last frame
I was using postlogin to keep track of players. Do I even need postlogin then if everything is automatically kept track of? I would just access the players array from the gamestate to get them to the gamemode?
Yes
and is the controller I have set for my gamemode auto assigned right?
This doesnโt make much sense to me, can you give an example? Either way, the answer is probably: not with blueprints
is the playerstate managed by replication? is there any need to create a class for it?
Can't find player array in my gamestate
So I don't have to do this?
Depends on what โstuff breaksโ means. If weโre talking null refs, you could maybe have an isValid check that prints out some instructions. If it gets more agnostic than that, youโd likely need cpp
No. GetGameState gives you a reference to the current running gamestate in "gamestate" format. The only time you'd need to cast is if you want to access variables or functions that you've added to your custom class.
But if the designer is deriving stuff from a base class, I would maybe give them a set of direct instructions or better yet, find a way that doesnโt require them to do anything special @signal thunder
Oh that helps thanks. If I wanted to then store them in another array which I then shuffle on the gamemode. Would I store them in the gamemode?
You can store arrays anywhere you want, but managing references in an array isn't handled automatically when that reference goes invalid, so you could end up in a situation where you have an array that has null pointers.
So if someone left the game it wouldn't update it?
@teal yoke on the leaving event bind a refresh to remake the array
Correct.
would that be more costly than just using postlogout?
and removing them from an array I add them to
You could use post logout for handling things specific to the game mode. And yea, you could use that to remove them from the array and trigger any other logic that needs to happen if they left. For clients though, you may want to use the EndPlay of the PlayerState to trigger anything they may need to do if that player leaves.
I'm doing for clients since dedicated server. It's better to remove them from the array in playerState? PlayerState acts as a state for each player right?
Remove what? Arnt the player array already handled internally?
Guess it doesn't remove them
So I need this in playerstate?
or maybe no condition
No, because the playerstate is automatically removed from the Player Array.
If you create your own array, you have to manage that array.
And you have to make sure to remove the specific reference from that array, not just whatever is at index 0.
Okay so say for some reason I just put all the players into a new array called NewPlayerArray. Then Someone leaves. It would remove them from the PlayerArray but not the NewPlayerArray I created. So In playerstate I would have to have the remove but for the NewPlayerArray with probably no condition?
Are you new to blueprints or programming? Might not want to start with multiplayer
You will want your own custom class to extend the player state
Sorry I'm lowkey blind; is there a section for UMG / HUD questions?
My question: I am creating a widget at/near screen center using this blueprint. In C++ I am using the following code to try and shoot at the same location as the widget. **The problem is there seems to be an offset, does anyone have any advice to alter my C++ code or my BP screenshot? ** Apologies for the messy code
EDIT: I just needed to adjust my anchor in my UMG
somewhat new. Read lots of the docs but only helps so far. Trying to learn the correct ways of doing things, I seem to get different answers so not sure what the right approach is lol
But also maybe #cpp if your code is the issue
Just mind the crossposting
Not sure about the answers you get but from what I read there are confusion on your part. So you might have interpreted answers differently.
Just a heads up that multiplayer is not beginner friendly. If your goal is to make a complete game, try finishing a small sp first. Just my 2 cent.
It's probably both. My goal right now is multiplayer, something simple. With what I have now it could be a single player game. Not a good one but if I spent more time adding things then it could be. Unless I'm missing something, single player game seems easy. Just depends how much detail you put into it.
turns out my issue was just needing to adjust the anchor in my widget, anyway. Sorry again for the spam
A reference to the item itself. If "hit object" from the hit result is your item for sure, then you'd want to cast that to Item and then you should be able to feed it into your node.
awesome thank you!
what is the difference between these two?
they both are same function
and which one is better to use?
I'm not sure of the exact differences when it comes to interface calls like this, but the one with the "(Message)" bit is the one I usually use.
what am i doing wrong on the phyiscalMaterial override?
Afaik the regular one is for use within the same bp, and the message is necessary for inter-bp communication
But I could be wrong, itโs been a minute since Iโve messed around with interfaces
Yeah that sounds right
The message node is equivalent to:
if (Target->Implements<UMyInterface>())
{
IMyInterface::Execute_MyInterfaceFunction(Target);
}
The regular node is just the interface function as implemented in your class.
I.e. you can use it if you have already done the casting and the class is of the correct type.
Message nodes can be used to test any UObject for the interface and run the function if it is implemented.
It does the casting and type checking for you.
Idk if thatโs accurate based on the code youโve shown
From what I can see there all it does is check if it implements said interface
If an interface message node performed a cast, it would kinda defeat the purpose of using them when casting is purposely avoided no?
But either way, good to know that it has a DoesImplementInterface under the hood.
i want to remove the last card from the deck and return it in my function. However, im worried that it will not be valid if i have to run the remove function before the return node. Will this work, if not how can I make it work?
Promote the get to a local variable before removing the index and return that instead.
my get node returns a temporary copy of the item in the array
ok i will try to do that
Interfaces by definition require casting.
Maybe not in the bp cast node sense
Didnโt say it wasnโt
BP casting introduces loading dependencies which isn't.
Well then what I said is not inaccurate.
Ur very humble
Weโre in #blueprint so for a sec there I thought you were implying that node is doing what bp cast node does, mb
is this what you had in mind?
Gotcha.
It's still pretty good to learn and understand the workings of interfaces in BP so you know why and why not to "fear" casting.
Aye we regularly smack people that say casting is generally bad ๐
๐ you do be surprised how many ppl trying to not use cast at all because misconception from yt
agh yeah
But there are indeed a few instances where you may want to swap out for another comm
Hi, I am new to Unreal Engine 5.4. I am creating a 3D environment, with a 3rd person player character. I have watched many YouTube videos on how to swap the Default player character with my character, and then retarget the animation, which fails every time I try, no matter which method I use. Is there a de facto way to achieve my goal in Unreal Engine 5.4 please?
Right click and retarget animation is about as easy as it gets in 5.4
Idk which video you watched but the GDC talk about 5.4 animation covers it iirc
I tried this with a Mixamo character. The character floating off the floor and the hips don't move.
Mixamo char is easy to retarget
Get an in-depth look into how we rigged and animated LEGOยฎ Fortnite in Unreal Engine, and how we reinvented Fortnite Battle Royaleโs locomotion with Motion Matching. This talk will show the tools weโve developed and share details on the content weโve built, including the transition to Motion Matching on a live title, how we landed on the animati...
@cold gale All of the YouTube videos say the same, but after hours of attempting to retarget the animation, I am lost.
I'm using some mixamo anim if that helps
That was supposed to be @frosty heron ๐
R u retargeting to ue skeleton?
@frosty heron Hi, thank you, I don't need any Mixamo animation. I only want to replace the Default player character with my own 3D character. I started with a Mixamo T-Pose character, to learn the methods involved.
@frosty heron Yes
Didn't take an instant for me to retarget anim but if you do the process correctly, there shouldn't be an issue
@frosty heron May I ask, how did you learn the specific process correctly, please?
Watching videos, failing and repeat
@frosty heron There must be something I am missing.
@frosty heron I have done the fail and repeat many times over ๐
Make sure to retarget corresponding bones
Ye I failed for a while too until I don't anymore
@frosty heron I though that Mixamo rig is now supported.
Not sure what you mean by that
And any rig will be just fine
As long they structurally simmiliar
Make sure the source and target have the same pose
@frosty heron The recent UE video on UE 5.4 explained that Mixamo is now supported for retargeting animation, to make the process simple.
This video: https://www.youtube.com/watch?v=u9Z8CK561_Y&t=1160s Seems to go deep into control rigs, not replacing the default player character.
Get an in-depth look into how we rigged and animated LEGOยฎ Fortnite in Unreal Engine, and how we reinvented Fortnite Battle Royaleโs locomotion with Motion Matching. This talk will show the tools weโve developed and share details on the content weโve built, including the transition to Motion Matching on a live title, how we landed on the animati...
Does anyone know a specific tutorial that explains how to replace the default player character with a custom character, without going through hours of trial and error?
I don't know I'm using 5.1
Trial and error is part of the process
According to EPIC, this is no longer the case ๐
I noticed I can have multiple event graphs in a single blueprint. Can these two event graphs communicate with each other through events etc without limitations? My multiplayer game has two games going on at the same time, (imagine two players playing blackjack in one part of the table and rock paper scissors in another part of the table) so Im looking to reduce the complexity of my game mode blueprint. Also does anyone have any other suggestions as to make my situation easier to manage?
I feel like if I proceed to keep making this game straight up without any smart planning, its gonna get out of hand quickly and become a mess
Two graphs communicate to each other? What does this mean?
For your multiplayer card game you just need to care about what server runs and what client runs and sees.
Server hold true to all the gameplay data, client simply try to sync with the server
for example one event graph handles logic about blackjack and the other one handles rock paper scissors logic. When both players make their decision in the blackjack game, then maybe it triggers an event in the other event graph where it can start handling the rock paper scissors logic. The players will play one game first and then move on to the other one sequentially. Is that a valid way of using two event graphs or would I be fighting against the engine if its not designed for such use
Pretty weird way of looking at it
You just need to write the flow of the game
Player join and ready -> game start-> server draw cards -> sets cards (replicate it).
Server allow player to play a card-> and so on.
gotcha so ill make the whole game flow in the game mode event graph. (Obviously replicating the needed info in the player state etc)
When people say fighting the engine, it normally means going against how some features are set up.
Take example character movement component. A lot of people don't want to use cpp and find another way (fighting the engine) and unsurprisingly it didn't work for them.
Game mode defines the game rules
You can put the logic else where as long the server is the one doing it.
alright thanks for the guidance
Hello blueprint-masterminds!
Everytime I try my hand on adding a sound to a player-specific movement (swimming in this example) I always end up with sound-catastrophe..It just keeps playing on loop etc, or drowning out all other sounds, or even both and not stopping even though I added a node for the branch etc..I don't kno wat I'm doin wrong lol plz send help
Guys quick question. Each time i try to make a map more detailed with lightining it starts lagging like crazy since i place a bit more light sorces. When i use "build lightning only" it places all lights on the map even if i delete them. Does this save performance or what is build lightning for?
Triggered is called every frame. Basically you are saying, play this sound every single frame.
if you have 60 FPS, you are playing the sound 60 times in a second
I suspected as much, but how do I prevent it from happening?
by not calling it every frame?
Haha yea ofc, but how would I go about doing that in correlation with enter and moving in water? Make a custom event "in-water/swimming"=spawn sound - play etc?
Don't know, depends what you are doing. For me personally, I will just play the sound on the swimming animation with anim notify
I c. Well i have no animations since my game is first-person. Thanks for the reply anyway : )
You can create a timer or check delta time on event triggered
when the input is released or your character stop moving, you will have to reset the timer or set the delta to 0
With delta route, you can check if it goes over certain treshold then you can play the sound
With timer, just play the sound. On Movement end, clear the timer
Fine ideas. I'll look into it, thanks ๐ โจ
It sounds like you're machine might not be able to handle all dynamic lights. Try setting them to Static (or stationary) and build light maps.
If you want to try keeping all lighting dynamic, avoid placing a lot of lights in a small area. The folks in the #lighting channel will probably be able to offer more help.
Ahh okay thanks
so i've following a tutorial to make a push/pull mechanic, however the issue i'm running into is when i move push/pull one object, all objects called "SM_Cube" are being moved, could anyone help me figure out how to fix it 
BP_Cube - https://blueprintue.com/blueprint/5yosg2_h/
BP_ThirdPersonCharacter - https://blueprintue.com/blueprint/wm9g-uix/
macro that moves the cube - https://blueprintue.com/blueprint/nqm3c01r/
The issue is that all cubes are checking if the player is pushing a box of which there's no distinction between which box the player is actually pushing. If you were to fix this, you would then only be able to push the first box that the player character finds using the the get actor of class node.
gotcha, in that case i take it it's probably better to just re-make the entire thing altogether
im working on a soft lock system and it seems to work except it makes the camera jitter and shake unpleasantly
any idea what might be causing such
^ this runs every tick while the timer is active basically
what is the target value?
Do you also disable the player control rotation? might be fighting againts each other, just a guess.
Alternatively, you could try setting the control rotation directly? Control rotation also has some smoothing you can do built-in, iirc
Right now I'm working on a first person shooter and I need to make a variable using blueprint that tells the game whether or not i'm holding a gun how would I do that with blueprint?
0o just noticed you rotate the capsule instead of the control rotation
There's quite a lot of foundational principles that goes into something like that, but it's also fairly simple. There's countless youtube videos on the topic, so I'm sure you'll be able to follow a tutorial until you have an idea of what you can use.
another actor
it does feel like the camera is fighting the set rotation though
i wonder if its worth just redoing the camera code similar to ALS where its completely separate from the pawn
@raw orbit Why do you rotate the actor to begin with? If you want a tracking system shouldn't set the control rotation.
soft lock system for when there is an enemy nearby and i want the player pawn to face it automatically
hi guys, i am trying to make a first person game, i am using a spring arm to make the camera smoother when turning and moving but i look up or down it zooms in for some reason, is there a way to stop this from happening please? its really bugging me.
I don't know what your locomotion system's like, but this is achieved with set control rotation alone assuming this is what you want.
oh thats a hard lock, i do have a system for that
soft lock is meant to be more of an assistant that doesnt fully commit like that
i think dragons dogma 2 has a soft lock system
If a player is connected to a bunch of objects using cables, how would I know if at least one of them is linked to a specific object?
For example, Obj1 -> Obj2 -> Obj3 -> Player. I want to know if the Obj1 is linked or not
I don't play that game but for combat assistance, I would call fort RotateToTarget on my attack montages so the player tries to face the enemy in given Anim Notify State duration
hey there, any ideas why this lerp rotation isnt working? The actor is character-derived and has an AIController. I've used the same code for getting the player to look at other actors (but w player controller instead ofc)
just noticed i should prob be using GetControlRotation not GetActorRotation but it still isnt working
i.e. the character does not rotate at all
Is the character set to use the control rotation for its yaw?
yes
however it does only mention PlayerController; does this not apply to AIControllers?
looked this up and it does indeed work differently; I need to use SetFocus to tell it which actor to look at
working now 
Is there a way to create an event that will trigger each time a variable is modified?
or you create a custom Set where you set + call an event
In blueprint RepNotify
Not sure if this is the right place:
Has anyone had a chance to play with Actor Filters on Data Layers? I can't find any documentaion.
I'm hoping to create Level Instance with the versioning filter dropdown. So essentially, you place a LI in the level and select which version you/actors you want. This is distacted by Data Layers in the LI with the actor filter.
on the variable? i can't see that parameter
Yup, you will see OnRep Function
that func gets executed everytime the variabel is updated.
Set the Replication to RepNotify
then you will see the function
I'm gonna sleep, look up online if you can't get it to work yet. Good luck.
Guys, how could the direction of a particle change when colliding with a certain object? Can this be done?
hey, im using the default weapon, and when i fire, its offset to the right a little bit; how would i change this so its in the center of the screen
Hey i know this is for blueprint coding but i was hoping someone to help me or relate to this
Hey guys quick question morning
Animation Sequencer
My character stays in a T pose within the animation sequencer, this happens when i use certain animations, not all of them. Some would animate but this one wont, Anyone understand why this is happening?
Also i do notice for the ones that work, i log off/ log back on and then it stops working, i would have to delete the UASSET file and reimport it into my content folder and then it works. Is there some kind of plug in that i am missing or is it unreal engine 5 thats the issue? do i wait for updates? not sure if this is a common issue going on
Click on the link below so that you could see an image of what i am talking about.
has anyone ever experienced this problem before?
inheriting from spawning actor perhaps?
i can try and ill see if it works
?
Purchased a blueprint for skies but there are no instructions on how to access it in unreal. Never imported a blueprint before, what's the general process? Says 'Drag and drop' (I saved the file in the content folder) but that doesn't work (I tried dragging the uasset into the content browser)
why do i get this?
the player controller doesn't have and it's not a character movement component
if you have a pawn (or an actor with the character movement component) you need to attach the player controller to that pawn (actor)
then your player controller will be able to control your character.
show your code for how it knows where to fire from and what directino to take
You're trying to do character movement component stuff to a player controller
like that you can possess an actor and use the player controler to control the movement of the actor, of course after defining all movement rules to be controller by the controller
Did the purchased thing come with an example project? You can open it and migrate what you want
or if it has the option to add to project, you can do that
I have an idea and could use some brains here to throw some input at it. Im working on an inventory component for players and lootboxs. Im using data asset references in the inventory slot which works well but I want to reduce the amount of data sent over the network. So im thinking of mapping each item type and slot type to an FName value. However I dont want to do this in a data table because that requires me to update the table for every item I add. My idea is to use the asset registery to grab all ItemData assets and create a map of them in the Game Instance or in another data asset. Then use that as a reference. So runtime generation. Can anyone toss some thoughts at this?
sending over a data asset reference should be as light as possible
its likely just a few bytes
It did, will try opening it now. I'm not sure what files I'll need exactly but I guess the idea is to select the folder, migrate to the contents folder of my project?
Hi, I'd like to make a simple fish ai that moves to random points in 3 dimensions without colliding with the scenery. Is there a simple way to do it? because I find very few resources on this on the internet.
what is the actual thing being replicated or sent through an RPC?
Start by haveing it move to random points without caring about collisions
Interesting, does it work on some internal IDs or does it use the asset path string?
then add the ability to care about them
Something like that
Is there a simple way to do that ?
Generate random vector in box -> simple move to
how is your fish moving to begin with?
didnt decide but i think move to will work
I would do it in this order.
Make the thing move at all
Make it move to random spots
Make it path around collisions
If it send the string path, that would consume more bandwidth than say a 6 character FName.
Multiplied by the number of slots in the inventory.
it doesn't, a reference is just sent as some sort of name
Yeah if that socket isn't centered in the screen then it won't hit centered
it'll fly along a path parallel to the camera
how do i do that?
you gotta do more math
you need to either:
Spawn the projectile where the camera is and pointing in the direction the camera is (usually not a great idea)
or
Figure out where the camera is pointing (line trace from camera), store that as AimPoint
Then spawn the projectile from the socket, pointing at the AimPoint.
Right now you're spawning the projectile at a point offset from the camera, and flying in the same direction as the camera is pointing. It'll hit offset from the camera too
just try
i cant find a from camera
there is no from camera
you can get the cameras location and forward direction
and do math to figure out where to trace from and to
Hey, I'm trying to build a really simple patrol graph, I have my Navigation Mesh Bounds set, and I know the event triggers properly, even the random location is fine, but for some reason, the pawn doesn't move at all and I keep getting a "fail", any idea why?
what movement component does self have
I didn't give it one, I assumed since it's a Pawn class, the movement derives either from that or from the AI Controller it has
MoveTo relies on a movement component I'm pretty sure
Hi there, does anyone know how I can make a metahuman visible and unvisible in game with a widget? it seems that all the parts of the metahuman are seperate so I can't do it easily
@sinful hingeYour best bet is to base this class on Character unless you have some reason to not use Character
Like if you want to keep it a lot simpler or whatever
Do they have a common attach parent?
Isn't Character made to be controlled by a player?
no, ai can drive it too
all pawns can be driven by either
parent class is BP_ThirdPersonGameCharacter
show the component layout
okay
oh didn't know that ! I'm gonna try, cause right now I really don't see why it doesn't move, and the documentation doesn't say anything
trying to have it so when i hover over a thumbnail, metahuman appears
like a character select sort of thing
the tutorials ive watched just use a character as a static mesh, and ive been having trouble converting the entire metahuman to staticmesh including clothing so i wanted to ask if there was any way i could do it
place the SKM into your level, go to Actor menu, Convert to Static Mesh, see if that works
i just tried that but the hair didnt transfer over in the static mesh??
then maybe just use the regular SKM?
why the need for a conversion ?
in the chacracter selection tutorial im watching the blueprint has all the characters stacked ontop of each other and is just editing visiblity for the mesh
but mine is split up into all the modular parts of the metahuman making the visibilty rig a bit more complex, i just want to make it easy as possible
not sure what the ideal solution is there, maybe try #metahumans ?
I'm sure people there have done this kind of body featuring thing
I asked something about this before, but just revisiting it so ik what my options are. I can't rotate the default capsule of my char because it inherits it from Character. Everything in my level is facing in a way that right is Y and that seems to be the case in UE's templates too, but the way they made Character, right is X. I am currently having to rotate the char by 90 degrees on begin play so it faces the correct way but if placed in the level, it faces the wrong way at Editor time. It's not a huge issue, but kind of an eye sore. Do I have a way around this other than editing the actual engine source?
any reason you need to rotate the capsule? I've always just rotated the mesh and called it a day
rotate the character mesh inside the character actor
even the default char is yawed 90 degrees
hey so i have a problem
this is a button
when my mouse on the button there is a white box that wraps the button
and when my mouse is not on the button the white box invisible
how to fix that?
to vansih the white box
this is a button
when my mouse on the button there is a white box that wraps the button
and when my mouse is not on the button the white box invisible
Sounds working correctly?
Maybe setting the hover image to the same as the default one?
Been a few weeks since I buttoned, so I could be misremembering.
then look at the hover or mouse over style stuff for the button
ok
i did image and it work well but for 1 sec i see the rounded box
can i vanish that us well?
now when my mouse on the button there is no box
looks for other style's that still have the rounded box value for their draw as
oh
and turn them off
oh i forgot
i need to change that us well in pressed
i change that to image us well
and that works now
thunks in any case
The fwd vector is the issue
Ik, thatโs what I meant
I legitemately don't know in what channel to ask this question. xD I have a sceen capture 2D but I only want it to capture certain sublevels and ignore others from a persistent level. Anyone know if it's possible without selecting every element to hide individually?
i havent used the character controller yet myself, but i needed a spectator/free-flying like camera for a top-down looking rts -- and i ended up having to subclass my own C++ type from PlayerCameraManager, adding a new property "camera identity rotation" to make an "identity" rotation be looking downward.
Itโs not camera related
i know, but its the same problem
But not same fix ?
pretty sure its going to be the same fix. because you cannot stack another actor with a transform above it, because the top level actor is expected to be the controller
if all you want though is an initial rotation, and after that it all already works for you
just assign that in your default values blueprint
or if rotation isnt exposed there .. subclass C++ and set it in constructor
then it will be assigned before begin play
or i guess just make a construction script
Current rotation on begin play does the job for runtime. I was curious if there was any way around that weird 90 degree yaw they have for Editor time
Ig construction script yeah
a construction script, i think would do that
Such a weird design choice for the Char class tho
so by default what unreal engines global/identity matrix is what? +x forward, +y right
so, (1,0) would be character facing forward?
but i suppose they wanted it to be (0,1) forward
or does this have no impact on anything other than the starting value
Yeah, char has x right everything else has y right
Yeah I mean itโs more annoying than anything
If you do like, "create look at orientation" for the controllers actor and a target
and try to apply that to the controller
does it end up wrong or something
i guess it might, if the controllers yaw is always off
fwd vector of what
just use the forward of the capsule as the forward of the character
Yeah thatโs what I meant. But itโs fine, construct script does the trick
I'd just consider Mesh.Right or -Mesh.Right as forward but if it works it works
of the top of the head
anyone know of a method to bind the players camera to an object?
got a decapitation death moment
so you want what? an orbit cam targeting the head or..
whats the normal camera
its a first person game
so i wan to seamlessly bind the camera to a physics object
and then let it drop from their shoulders
PlayerCameraManager::SetViewTarget( actor, ... ) perhaps
The thing you allocate can be a ACameraActor
if its not, it still might work though
AActor::GetActorEyesViewPoint()
you could also overload that for your player, or the actor you spawn for the head
This is the call you are looking for though.
set view target only wants a player controller as imput
what does this mean?
dunno but i got it switching between visual studio and rider
hmm, I think it was because the last time I had unreal open I put my pc to sleep while it had it open
might has been while I was closing it, I don't have the best memory
@steel star got it working
Nice!
whats the deal with overlay materials? i have yet to get any material specified on that to actually render anything visible to me
the one on static mesh
.. disregard, i just did..
so the problem then is, its not being rendered in front of a cloud looking thing i have in scene, as a heterogenus volume component
or rather, it needs to draw after that, not actually be in front
how do you control the draw order of translucent materials?
nothing i do seems to put it after my heterogeneousvolume
found it.
its static mesh > Translucency Sort Priority
is it possible to set this node dynamically by passing in the name of the asset?
sure
drag off the blue pin .. look for like "Get/Find asset by name"
something like that
hmm ok ty
i have 3 button
settings
Sound on
Mute
so here you can see that if i click on settings
sound on button appear
and if i click sound on so mute will appear
and if i click on settings so only settings will appear
my problem is that if mute is appear and i click on settings
so mute is invisible like should be but if i click again i want it so stay to mute
because now mute isnt staying, sound on is appear
click settings
sound on appear
click on sound on so mute appear
click again on settings so all disappear
click on settings so sound on appear and i need that mute will stay
how to do that?
Yo! I'm working on a game on 5.4 and recently I wanted to turn on seamless travel so that I could persist my playerstate variables between gamemodes. When i turn it on, it takes me to an empty transition level. This is fine, except it just traps me in an endless void and I never make it to my desired map. Since I couldn't figure out this bug I just decided to scrap seamless travel and figure out my stuff another way. However, even though I turned it off on the gamemodes and even deleted the original gamemodes, it still acts as if its turned on to the point that when I try to switch gamemodes, it still takes me to an endless void. Help?
trying to get an enemy to ragdoll
enabling simulate physics on it is currently not working
any advice?
Does the enemy have physic assets?
yes
Are you trying it in standalone?
You simulate physich on the skeletal mesh comp?
I would just change the brush instead having 2 buttons on each other like that
yes
No idea then
If you simulate the physics body in the Physics assets, works?
Am I misunderstanding something with this? I made a custom "camera" static mesh that has two materials assigned, but it doesn't seem to want to properly display the dynamic material interface on that mesh -- I thought the material would adapt itself to fit into the part of the material it is applied to. As you can see in the first image, the plane is working fine, but the camera is only showing blue.
might be similar to a wierd issue i've hit before
static meshes don't like it when you try to update material assignments (can't even do it in sequencer)
just for a test
try changing your asset to a skeletal mesh
o_o
Any better way on this concept for the higher the level, the more targets I want to set? Like is there better structure to use for things like that?
yeah. i know lol
For loop with a select and set by ref for the variable.
I am having some trouble where I cannot click the eyes to make them public. I tried recreating these as well and it still won't change? any ideas?
@dawn gazelle some sanity check. Eject from your character. Select the camera, select the place and move it by an inch
No change :/
Back in my old project 4.25, I have this weird artefact where my render target doesn't update on the plane, unless I move it
๐
Select the plane*
well at least its not bullshit
Nadda. The plane works just fine, I know it's rotated, but I'm wanting to use the material slot on the camera itself.
any ideas what could be preventing this ragdoll from working correctly?
op
i got it
it was the collision settings
Okay real talk. Does the reference viewer fucking lie sometimes?!
It SAYS this object is referenced by this BP, and it used to be, but the BP has had that entire variable removed. It isn't anywhere there!
Is there any way to figure out WHERE that's referenced? What this line is?
Like... It's a data-only BP. And none of the variables are even the TYPE of this one!
Yea nadda on that too. Skeletal mesh reacts the same way
Is that type possibly contained within your structure?
Which structure?
Basically, if it's referencing the data table itself, it could be referencing that type somewhere in the data table?
Is this actual way to do enhanced input system if I want something like Left Mouse Button + Shift = IA_Action? So I have to create 3x, IA_Actions and them use 2 (button sepearately, shift separately) and create IA_FinalCombo from it
Nah, that's just item data and that struct looks like this
Plus it's worth noting, BP_ManifestPersonal isn't the only child of its parent. It's one of a handful of Manfiest BPs which are all data-only BPs. So, because UII_FirstAidKit is only referenced in ManifestPersonal, it MUST be from that data object specifically, not any of the sibling objects or the parent
I'm just gonna delete it and see if anything shits
I'm just gonna delete it and see if anything shits
An interesting debugging option
Figured it out. It's my lame ass 3D modelling skills. Didn't unwrap UVs
Tada!
you should not change the material on the static mesh to begin with
i think the static mesh component caches the materials, which may be why you didn't see any change
does ue come with a sobel shader somewhere? do i need to hunt marketplace?
sobel = outline
You mean like the one for selecting things?
yea
Does anyone know how to bind an event to an event key on the sequencer? I'm having real troubles trying to get this to work, ive got more info and my code in this thread, if anyone could help that'd be awesome#1234120020670550130
it looks like "stylized rendering" is what i want, but its under samples > legacy and only engine 4.1-4.24
suppose ill install it anyway and see if i can hijack any materials from it or not
sobel is like < 10 nodes you can do it rather quickly
does anyone know how I can make a metahuman visible and unvisible in game with a widget? it seems that all the parts of the metahuman are seperate so I can't do it easily
separate components or separate actors?
except i dont know that its going to look good for the effect i want
seperate components
theres SetActorHiddenInGame
and id rather not be stuck not knowing if i did it wrong, vs just looking innapropriate
i was getting some help from this guy , is this going in the right direction?
this is on the widget blueprint
i haven't looked into this yet, but do ue widgets have any support for 'data binding' .. or mv
UMG ViewModel
ie, in this case he wants to link the value of "some actor's visibility" to some ui button's pressed/not state
not directly
shame, considering its a property that is a bool for both
am i not able to do that?
you can do it manually just like you are
or just have it a press button, not a toggle button
that toggles the value each time
well it looks like you are hooking into OnHover?
Dont you want click clicked or something
you are not supplying the cast object as the 'target'
also you might want to first get the value of visible
then invert it
and set it back
damn uhh
right now its always setting it to false hidden
okay
you know how to turn on simulation and watch if its getting called at all?
you are setting visibility of "self" ?
surely the widget is already visible if your able to hovor over it
though idk if thats actually required
also isnt this event happening on the widget? why do you need to cast it to anything
and whats the distinction between (CRUSH) and .. the other
Crush is one character / Angel is the other
i have them both in the level ontop of each other
ok
and my widget is overtop when pressed play
so, you need to get that actor
to supply to the target pin
of the set visibility node
do u know how i do that
well, you could give it a name
for the metahuman right
the bp for the widget
or widget
you might need to get the world first
nodes: "get world" > "find actor by name" > set visibility
can I invoke the delegate here in any way?
drag off its top right red pin.
normally it would go to a bind call
okay i added a tag to the root of the metahuman
I need to call whatever is bound to the Delegate param tho
then that is the wrong node
Not the wrong node, just asking if blueprint supports direct bound delegate calls
that is the wrong node to trigger a delegate, that is the node to hook a function into a delegate
for each actor found, set visibility x
where do i input the node
execute path looks like .. event > get actors with tag > for each > element > set visibility
theres no for each node for after get actors available
or do i type something else
you drag off from the "out actors" pin
yes do that
^
this correct?
okay i did that
drag out from array element (which is an actor) to 'set visible'
connect exec line again
onyl set actor hidden iin game is available
connect from loop body to that last node
then drag off from new value, do 'get value of 'hidden''
from new hidden?
yea
or better
just drag off again from the loop array element
and get value 'hidden'
from the loop array index?
yes. for each actor, get current value of hidden, invert it (boolean NOT), set value of hidden
then, if you have two actors in your scene with this tag, the two that overlap each other and use different models
set one visible and one not, in the level editor
each time you click button, it will flip flop
dont use array index
drag off the blue one, you can do so twice
get actor hidden
so that red pin on the new node, is the value of 'is hidden' currently for that actor