#blueprint
402296 messages ยท Page 802 of 403
Sodrfjhfglksdjfgdklsjfghslkdfjghsdklfjghf
What
All I want to do, is to be able to fucking click on a list view item
Ye
And nothing is working 
But as i see it
Youre creating new widgets every frame
So even if you hit an item last frame
It wont be there this frame
How this even worked is beyond me
Dude this logic has worked amazingly before like yesterday
At the very least
IDC I JUST WANT IT TO BE FUNCTIONAL 
Do some check
For amount of players
Vs amount of widgets in your array
If they are equal, dont update it.
And even if I did press it for only 1 frame - it would STILL play THIS sound https://screenshots.foxy.rip/0Zfs03Dk
But nothing is fucking firing in the first place
Bruh

Would it tho
Im not convinced it would
Just.. add the frickin check ๐
Its a branch
Simple as that
Foxxy my strat for debugging stuff this frustrating is to GRADUALLY rebuild it from scratch. Start with just a completely basic component and gradually turn it into your list view, checking that it works at each step
And visibility there is ofc visible?
With no event overrides for mouse button down?
So that wouldnt do any overriding
The graph aswell ^^
This is the entirety of the graph for the PlayerButton widget.
Noice.
Thats the data playerbutton btw
Looks fine
Wait hold on
Wrong thing
Thats the DATA_PlayerButton
Just literally has PlayerState and a HelpRequested? Variables
Ye
Squize do you mind like VCing or something so I can show you my screen
Because not gonna lie, I have been focusing HARD on this for like 5 hours and I cannot see an issue anywhere
Maybe a fresh pair of eyes would help
The data is just a class that holds variables so I can pass through some stuff
Yeah but its the one being pressed, yes?
I tried setting the camera boom rotation to zero and it didn't help
Nope
how about setting it to the control rotation?
At least I dont think so
what is that?
the rotation of the controller
the player is in the correct orientation
Data playerbutton, the one used to add to the array which are used to set list view entries
i guess the idea is above your head
Or is it just playerbutton..
Ok I am so confused now
So am I.
But baby is crying so i cant VC ๐
Nor be at pc
The entry widget you have in your listview
FUCK
Has a listview interface
try (BoomProxy is my SpringArm)
Which should have a function for get listview object
Uh
Idk wtf that means
I am creating this guide since I had trouble grasping the listview at first, seeing many have the same struggle and there not being any good information about them in a blueprint context. The listview should be pretty straight forward to use once you got the basic grasp of it. Note!:If a widget is generated for one instance more than once, the...
No
Thats not the one
Thats the reciever
Theres a sender aswell
In the function list
Override
Atleast, thats where i think it is, rven if its from an interface..
Hey, is leaning in the event graph or the construction script in The first person character?
like this?
wrong end node
Sleep

๐คก
Its not giving me set controller rotation as an option
10 hours after me.. ๐ด
SetControlRotation first off, and turn off context sensitive
I mean.. i'm trying to walk through it but... there's so many bumps along the way
found it
Hold on @gentle urchin, do you want me to record a video of me in VR demoing it
Sweeet, thats good atleast
And showing you what the fuck it looks like and if it is working or not
Sure
Alright be right back - will take like 5 ish mins
because context sensetive. You are in the character bp, so only those relevant nodes come up. SetControlRotation is contextual to controller.
Thanks Conrad, your a champ ๐
That should give some indication to what the fuck is going wrong ๐
Oh its still uploading
@gentle urchin
There you go - that should give a slight indication into what is going wrong
Not hovering, not clicking
Mhm
another SCP VR?
Almost like it is not fucking there
No, its Pavlov - a milsim social game
SCPavlov?
Pavlov vr is a multiplayer shooter in VR with heavy focus on community. Set in both modern and WWII era's, you can choose a variety of ways to play the game how you want it.FeaturesCommunity hosted dedicated servers.Quick-starting developer hosted lobby system.Search And Destroy, Deathmatch, King of the Hill, and Gun Game game modes.Multi-crew r...
$24.99
26653
lol i know the game
Lmao alr
And this was working yesterday
Well
It is SOMETHING to do with the list view
I sort of agree
Yes, widgets are working,
And the interaction is working
But something with the list and or button is not
Or how the interaction happens
What did you change since yesterday anyways?
I added the logic which makes the button blue if any player requests an admin
What logic is that
Uh a lot
Sounds related
One sec
Very related
Ok so first - I added a new empty class (DATA_PlayerButton) with PlayerState and HelpRequested?
How would you create a grand strategy game with borders and counties/duchies? Trying to find something that I can combine with pre existing real life shapefiles/vector maps
Then I changed this part
And then uh
Thats it I think
Oh no accomodated this to it
So it actually passes the player state and help requested
But... what
Thats it
Before I used the new blue button logic, I believe (I think I can remember) these not existing: https://screenshots.foxy.rip/IBX1M2Fq
Listview items set directly to players?
(this one)
Hi. I want to implement the character shake effect. and that too effectively replicated. Any resource on how can I do that.
Id backtrack and do it step ny step to see what fails..
I'd still argue updating on tick is close to insanity, but that'll be up to you
OH SHIT
FOUND THE OG
Looked like that
Thats an old screenshot
Thats what it looked like in the buton
Alrighty
Will make a backup of this shit mess tho before I "revert" back
Brb while I do this
Just keep the current method in a function or commented but unconnected
๐
Funky how
cant imagine why
Been fine since beginning of times
It's not printing what I'm giving it though. This looks right hey?
try getting from the var
LOL OK let's check.
its a matter of milliseconds to make my advice concise when i see that your typing
Such sleight of hand
thats what you get for trying to be so thorough
Why use many word few word do trick.
but still readable..
Why many, few ok
LOL thanks guys! It must have been getting a value from somewhere in between calculations. It matches now. It didn't do this in the last version.
Fixed. One word.
i thank dean for the knowledge on such discrepancies
I decided to spam print the values so I could see what was going on. Lead me here not 2 mins later. HAHA!!
Thanks everyone.
Thanks, I will. I just trusted that what I was seeing was what was actually happening.
Oh yes I've made that mistake!
I'm sure there's a joke somewhere about a VFX artist walking into a coding bar and slipping on spaghetti.
There's no tam-tam, inaccurate. 0.25/10
Damn thats harsh
What does this mean?
Fuck it, going back to an old version and just gona try and add stuff i did recently @gentle urchin
๐
Nah
is there another way to check collision than an event?
Ah I see (altho in this case wouldnt you get an error because of a null reference when you play?)
Displayname is also safe for nullptr i think
Just doesnt print anything
Wasnt there some warning ealier when you crossed between exec paths?
Or was it just what people said... cant recall
the only way to reach the Exit pin of a Gate node is through the Enter node while the gate is open right?
Ye
I thought functions could have a output pin of type Exec
they cant
I have multiple gate nodes that I need to open at the end of some code, instead of doing an event for each gate, and calling each of those events at the end of the code, what is the alternative ๐คฆ
You need to attach a node to the Cast one, try a Get Player pawn
it still doesnt destroy it
You need to have that cast node in between the other nodes, nothing is triggering it
I needed a delegate
huh
what is wrong now
lol thx im kinda new with unreal sry
You can always search for the node in google, that will bring you lots of answered questions regarding the problem
uh it still does not destroy me
Set an Event for that, like pressing a key or entering a trigger box
You should watch a tutorial on youtube on how to destroy actor
Its better than joining nodes without really knowing what you are doing, you'll get used to it pretty soon
"Hypothetically" how do i get the spawned player on start?
this does not work @pseudo narwhal
What is the Destroy Actor Node in Unreal Engine 4
Source Files: https://github.com/MWadstein/wtf-hdi-files
Try to replicate it, and then apply it to your project
better to teach them about blueprint communication
still....
https://www.youtube.com/watch?v=EM_HYqQdToE watch this
i will but could you please tell me what is wrong?
?
What are you trying to do with this?
to destroy the player
.
no because it's more than just one line of text
I need more context.
it's a way of thinking that you need to integrate for doing programming
if i prees F i should be destroyed
So press F to suicide the character?
KEELIT
As opposed to paying respect?
It's great because you can just rapid tap it again to pay respects
DAMMIT you were slightly faster ๐
Pay Respect Any% WR
yes
but idk what to do and why it is not working
First guess is that you've put your input in a class that doesn't have it enabled. The second would be that your pawn is not a ThirdPersonCharacter.
Well you gotta hook up F to suicide your character first
Also. The cast is pointless.
CE linked the basics for blueprint communication, I suggest looking through the whole thing
Then figuring out how actors in a world interact
guys, im trying to change the resolution according to the option the player has chosen, it works even in windowed mode, it decreases and increases the window width, but in full screen mode nothing happens, it was supposed to be blurry if i selected one resolution lower than the monitor
this is my bp:
Atleast commandline works
i will try
I have a blueprint that works properly when I play in the viewport, but not when I launch the game. Does anyone know why this might be happening? Also I don't know if this helps or not but it involves 2 actors overlapping.
Any more details?
There is an event dispatcher being bound and unbound
That's a weird mechanic, but that depends on your game's definition of being freaking dead.
Because often in games, being dead is just another state an entity can get into. Not actually wiping from existence
To be clear: destroy actor wipes it from existence.
Which leaves the controller in an awkward state with no pawn. Poor controller
Can we use AnimSequence/Blendspace variable in anim graph ?
bUt iT's tHe SaMe gRaPh
@smoky marshI found something out: for some reason a component only gets destroyed when playing in the viewport but not when I launch the game.
can you reset an object? for example a trap`?
You can do mostly anything
I also tried setting the relative location and that didnt work
Atleast the perseption of it
I don't like his up beet attitude.
It seems that while the game is launched the component wont move in any way
How
I made this for panning my camera, but I want to set a limit for its movement, I tried including a Clamp (Float) node but its not working, any ideas? ๐
whose?
I cant set the relative location, destroy it. Move component to doesnt work
Blueprint Communications | Live Training | Unreal Engine video I'm watching.
suffer through it
how can you reset a blueprint ?for example a trap`?
it's worth it
Did you mean kind and professional or โ ๐ชฒ ? Not sure what "up beet" is.
no one is that happy using blueprints.
๐คฃ
@zenith troutI would just try to build it in a way that resets certain parts when an event is called
I tend to agree
or despawning and spawning a new one if you cant do that
I like tutorials where the person shoeing me how to use blueprints swears at least twice.
You want professional developers to swear on youtube? O.o
you should hear my boss
I'm exceptionally profane myself, but definitely would not be if making developer tutorials. ๐
I would at the very least mutter neath my breath
I'm making some structs now for a collectible system. I want to have Something like
BookTitle
-> Chapter 1
-> Verse 1
-> Verse 2
-> Verse n
-> Chapter 2
-> Verse 1
-> Verse 2
-> Verse n
-> Chapter n
-> Verse 1
-> Verse 2
-> Verse n
BookTitle2 [...]
What kind of variables would you recommend? (Book & Chapter = name/string?) The verses are going to be of type text since they will basically be paragraphs.
I want all of these in data tables to be able to create all widgets from them.
Any suggestions? Maybe the whole system is poorly thought of.
GameplayTags
GameplayTag
wow, that was fast...uhm... what now ๐ญ never used them before ๐
Chapter1.Verse1
Chapter1.Verse2
Chapter1.Verse3
Chapter2.Verse1
Chapter2.Verse2
etc
i know they exist, but have no idea on how to actually profit from them
they're easy to use, can be stuffed in containers, and has a bunch of check functions
๐ฎ
In this case you can even query entire chapters ๐
that's like auto-making my sistem lol
Atleast, I think that can be done
It can.
not that versed with it myself yet, but i love it so far
ok, i'll look into them, and see how I might use them. I also need to bind them to droppable/findable loot
my whole game is procedural
collectible
if you want "several" items to exist in one you can use the container, again ๐
basicly a stack of tags
or a .. .container... of tags
Wait am I a dumbshit for NOT using gameplay tags for my dialog system? I've just got like a struct with an array right now
This looks familiar
@flat coral๐คฃ that's copy-paste my conv system from 3 years back - how deep did u make it go? mine was only 4
lost myself in my own convolution of structs lol
and selectors
I had an awesome system for it, but it got convoluted in the datatable ๐
the pointers to new id's became... messy
no clear visual connection between row 1 which pointed to row 17, row 41 and row 123
so in my latest endeavor I found a plugin. good times
some prefer the more generic flowgraph one
Ok, lemme see if i get this straight:
I need a struct for my DB:
- GameplayTag (for classification)
- Text (the actual "verse")
and basically that's it? I just run my drop chance rolls on the whole table if this item type is selected? Am I thinking clearly? That simple? ๐ฎ
GameplayTag is rowname
This can grow to have SOME metadata on dialog steps but I think if I need wildcards it will crumble
yea, still want to keep it (double it) in case i need it, I found myself needing that info in the past.
In some cases it can be handy to have a pointer back to the row i guess ^^
Dialogue has no limit on how long it can go or how many branches it can have, but there's max 4 options per step for ui reasons
meh, mine had a depth limit too
and 4 options too
I guess in practice my depth limit is however long an array can be in ue
I'm not really worried though, my game isn't really suited for long conversations
so, (Q->A = 1). Had 4 of these. But I was more of a beginner then then I am now so ๐คทโโ๏ธ it did its job ๐
my db ended like this
but...how would I create the widget structure from gtags? break them into strings or smt?
felt safer with row handles for the pointers atleast
the tag would be split by category and a .
Book1.Chapter1.Verse1
Amazing! so glad I asked u guys before headbutting into this. Would've never thought of it! Thanks! I'll go learn some GT then ๐ฅณ
Worst part of it was the 'triggers'. felt like a good idea at the time, but im not amazed by it
really worked, another question here
can you tell me if there is any command that changes the texture of objects too?
@high oceanOn a side note. If you have any C++ ability, one function for GameplayTags I find rather invaluable(Specially when dealing with Datatables), would solve your issue of needing to double the tag in the table. GameplayTags has a static function to get them from an FName. You can do FGameplayTag::RequestGameplayTag(FNameValueHere) Cause then the table's names would serve as Tags as well.
Oddly it's not BP exposed, C++ only, would need your own library static for it.
@maiden wadiAlas, I have no cpp knowledge and it'll convert my whole project to cpp. If I pack like this, I can track my problems (so far I did). If it's converted, i'm not so sure anymore... What should I call it... I'm scared of cpp I think ๐ฎโ๐จ
But after I finish the EA for this game, I want to take a month to get the basics of cpp so that I can feel a little confident and at least expose useful stuff to bps.
Haha. I feel you. Was there myself sometime a little over a year ago.
I mean it's not like it'll convert everything to cpp
cpp influence creeps in under the skin
first it's just a library with some functions
then it's a base class for BP
then before you know it half your project is in cpp
you're out there making subsystems
srsly? ๐ฎ But ur a programmer right? So u had the basics - or?
Not really. Before that I had a little over a year and a half in blueprints. Few months of Lua messing with WoW addons a decade ago.
@maiden wadi๐ค So unless I'm way dumber than you (ofc if ur not some genius) it's not THAT scary... This gives me hope actually ๐
I think I first picked up UE right at the end of 4.24 if memory serves.
it really isn't. UE4's cpp helps you out quite a bit
It manages all of the hard stuff for you if you just follow a few simple rules.
so, even if you type in 10x as much and can't instantly test what you did, it's still "faster"?
it's not just that it's faster
Length =/= performance drop necessarily
it opens up avenues that aren't available otherwise
like subsystems for instance are a godsend
Don't be afraid of long code
Honestly, even just being able to override the default framework is godly.
@maiden wadiwhere did u start?
Like 95% of the framework is virtual and not even BP exposed. There's a ton of things you can do.
maybe it would work for me too
See THIS is where I fell apart because I actually knew C++ from back in university but then trying to get into coding it for UE4 everything was totally different
static library functions.
I could do an interview in like 6 programming languages but UE4's cpp made me go to blueprints right away
so...wait.... should I NOT learn standard cpp? I was thinking of taking a course of cpp unrelated to ue.... wtf?!
u know, learn the basics from scratch
there are some crossover, but like you don't need any of the standard libraries
I'd learn C, then learn UE CPP
you still need to manage pointers and addresses to some extent, but nowhere near how much you need it in cpp standard
and memory management is automatic for UPROPs
and i've seen in some cpp stream a long time ago that references aren't "a thing" in cpp like they are in bps? And it doesn't throw all of them into the memory?
it's just a different way of handling the data, but what you get out of it is the same
Learning C will teach you all the tricky memory and pointer stuff. IMO you don't need to learn the parts of standard C++ that are in neither C nor UE C++
There are fundamentals, and then there's basic C++ and then Unreal wrapped C++.
Fundamentals cannot be skipped. This is stuff like the difference between a float and integer. The different between an unsigned integer(uint8) and an signed integer(int32). Knowing what a pointer is and the difference between a pointer and passing a value by reference.
Basic C++ is knowing what an std::vector is. Hint, it's not a location. std::vector is an array. And knowing this is entirely useless inside of Unreal.
it's been ages since I did C and I remember nothing of the memory management, yet I've done some decently high tech stuff in UE4's cpp
subsystem for saves, subsystem for AI
@maiden wadi what the hell is a uint????
well those "basics" I have an understanding of - kind of "know" them from working in bps
I think every coder should learn C, but I don't think they need to like be proficient in it. The idea is just that learning C teaches you what every other language is doing in the background for you
@odd ember oh cool! Whats that?
int8 is -128 to 128. uint8 is 0-256
but you get twice the range for the same memory, but only positive range
y not just use integer? wtf
if actor made on listening server is being replicated and made on client not, where is probably mistake?
oh
integers are 32 bit, way to much
Wait int has a max range of 128? I thought it was 256
-128 to 128 is a range of 256 ๐
Gosh.... refactoring tiem
like when's the last time you needed 65535 different combinations of anything?
int's max range is -65534 to 65535
*laughs in 3am conference calls because a team used a sequential int for an ID and ran out which broke our entire system*
2^32, 32 bits
trying to make a vigilante asset tank driveable. when i hit play this is what happens
just completely spases out
32bits is like 4 billion
Looks like a meme image
you're right
Where tank???
I failed
the blurry thing lol
which of them?!
i saw a cat at first
left thing
I wonder if somehow your motion blur settings are messed up
16 bit is 65535
these are like photos of bigfoot lol
is it a skeletal mesh?
I bet it's colliding with itself or the ground
@fervent temple sounds like a collider issue
yeah
ah ok
its not my asset
try to drop it from up high
its some super advanced vigilante one that i saw
and see if it lands ok
If you raise t above ground does it fix it?
Or just disable gravity
ok yeah its fine when gravity gone
thx guys!
@fervent temple disable the collision for the mesh and use a collider as your collider
I'd also try just spawning it slightly above ground and letting it drop onto ground, and see how it performs like that
does anyone know if AnimBP live recompilation is still in experimental ?
i dont find the setting anymore ๐ค
have you asked in #animation ?
Hello guys
I need someone to help me mesh two marketplace systems together
Rpg inv and combat system
I have a problem on connecting wrapons from inv get triggered with the vombat system attacks
Idon really knoe where the problem is i just cant put them together
If anyone is interesting in giving me a hand please let me know
https://answers.unrealengine.com/ Unreal help page is down.
how do i cast a ray from a camera to select an actor.
trace from camera.location to camera.location + 10000 * camera.forwardvector, get hit result
thanks
how do i find actor or character who spanned in world, using blueprints.
spanned?
How do I get the "Parent: Tick" node?
Found it. Right click tick node -> Add call to parent function
Are events more efficient than Functions in BP?
Is there a way to force base aim rotation to replicate? A few sources I'm seeing say it is automatically replicated but my aim offset only works on the controlled client
@spring nebula no they serve different purposes. Events have no outputs but can use timelines and timings.
Functiins can input and output but cannot use timings.
@true marsh i would ask in the replication channel. It is possible but i forget how
I know that much. I was just wondering if there was performance difference. I was watching this tutorial. Is using delay with a very short delay time better than using the tick function as this video suggests? https://youtu.be/jJbYr7eqd4I?t=810 13:30 is the timestamp.
Hey guys, in today's video, I'm going to be showing you how to create a dynamic crosshair with changing colours in Unreal Engine 4. In this system, the cross-hair will turn red when you hover over an enemy, blue when hovering over a teammate, ally or friendly, and white for neutral when hovering over nothing.
Crosshair Images: https://drive.goo...
@spring nebula delay is best used for static logics such as damage invulnerabilities and such. Otherwise you should use a timer when possible and finally tick if not expensive.
Do note that many folks have a misconception with tick being bad. It is fine as long as you dont overdo it. Like dont do 10 nested loops per frame.
@spring nebula raw c++ will always be better than bp but the magitude also matters. Do you want to spend an hour coding and testing for 0.001s improvement? Not worth it.
So to answer my question, there's no real reason to initiate an event loop with a delay small enough that it's called every tick over just using the tick event. Thanks. I appreciate it.
@spring nebula and if it doesnt need o ve done every single frame: use a timer and loop it.
To be done**
i'm probably being stupid, but how would one move the camera on a boom arm behind the player and raise it a bit, almost like a camera position/rotation reset event
nvm i got it
lol, swear ive answered this for two other people for the same exact thing recently
i sent it, then i googled for the solution and found a tutorial for it ๐
SetControlRotation ๐
sounds like you found a fix though, hope its not a hulking bandage
Anyone know with blueprints how I press a button and it either open discord link or copy to clipboard text (which is the discord link)
This picture is from Unreal engine 4 but in Unreal engine 5 there is no vector * int, what changed??? How can I get that in unreal engine 5
Have you tried just plugging an int into a vector x float?
no there is no vector x float
Are you dragging off a float or vector pin? I highly doubt ue5 is missing vector x float
Question,
I have walls, their normals point in different directions, there are ones that point inwards and there are ones that point outwards.
I always want to calculate an artificial normal that points outwards, depending on the linetrace
How can I do that? Kinda late and my head steams
@timber berry ue5 doesn't have type specific math nodes. Its just a multiply node
facing direction of the wall is needed? because the wall has things with varying normals?
Lemme make a quick video that should explain it
the pannel with a arrow shows the normals direction and how it changes
id like the arrow to always face inwards,
ahhh, i dont know the math, by i think you might have a better result by aiming with bias to player position
thats what the linetrace is for, it gives me a start and end point
what about have it bias towards the root transform of the actor these are all attached to?
i thought of that as well, however this would have to work for cases where, lets say you place a helm inside the ship, and the floor you are placing it on just so happens to be below the root of the ship.
wouldnt work properly
flipping turning will be added for sure, however players are lazy and i dont expect them to figure out you need to turn it, because if the arrow faces outwards it creates a very ugly mesh
and i dont want to include the arrows in the polished version
thats what i see in most of these kinds of things, and yours is fairly open ended that its hard to account for the number of edge cases
exactly
like you can make your ship any shape, as long as its with the given amount of freedome the editor gives
is there an easy way to cast to the current level to get a target point set within the level?
no, you can't access level bp from outside
what you might want to do is make an actor which represents your target point, and spawn it in the level
Guys, does anyone knows, how to make the components of a blueprint instance editable?
I have created a blueprint containing paper grouped sprites as components which are defining my layers for parallax, as i am using orthographic camera.
I can duplicate the blueprint to change the layers but in case i need to make some changes i will have to edit all the layers of all my levels which is verry inconvenient.
Can anyone guide me?
gotcha yea that was my other option: re: @spark steppe thx
i guess i could also just use spawn points with tags
Hi. I would like to make a list of bone names (spine_01, spine_02, spine_03, pelvis, head, neck, etc) and I want to compare it to the break hit result hit bone name so if it is == to one of the list then I would have a logic of a larger damage (branch is true), but if its not included in the list I will have the false as a lower damage. It is easy to == per bone name variable. However, I am not sure how to make a list (list of bone names) using arrays and compare or == it to the hit bone name (not array). The other alternative is making a lot of branch per bone name variable but it involves a lot of bone names. Thank you
Just wondering, wouldnt it be easier to use the physics body?
Tmap is faster ๐ I think
and array.. dont ahve a key to it
how'd you compare it
a struct?
2 arrays?
wait, is there two values being checked?
i was just thinking a name array with a find return into the branch
@storm vigil lol no wait
advice removed
do Squizes lol
not sure if bone maps with damage float, but yeah
use Find
basically
Hi. thanks for the advices. I think the output of the find float I can place on the damage input float i have in the return float?
hehe
You'd probably want to multiply them
its bone | damage, so if Spine_01 is hit, this is the damage, etc.
damage multiplier *
Anything else would be.... interesting
'sadly' the damage event doesnt directly tell you which bone was hit
that's where you make your own damage bpi
Or ramp it up pre apply damage
some trace is probably happening, pick it up and at it there
or custom damage type, which includes bone name hit
Custom is probably easier ye
๐
still yet to mess with damagetype clases
same, havnt touched them yet
tried them, but i wanted a certain damage formula and ended up doing that elsewhere before damage happens
sounds about right yes ๐
i have a very generic issue i was wondering if anyone could help? basically everytime when i rotate my character using the Mouse the camera rotation after 2 seconds will snap back to its original rotation
after reviewing my logic for rotating the camera i see no logic at fault here is there a setting im forgetting to check?
Hi. I think I did not need to use the find for the map (name/float) variable but due to your recommendation it led me to using the variable CONTAINS for the array of the bone names and compare it with the hit bone name. I connected it to my branch with two separate return nodes, one for the normal damage and the other I have logic for reducing damage. Thanks ๐
Do you have any custom code that could influence your camera rotation, if so could you share it?
i have problems with vectors

i'm calling a forward vector based on my character.
why does this happen?
Why does the red needle not rotate with the character, but goes to 90ยฐ, and then back, and then to -90ยฐ and back?
why does the vector only cover half the circle? not the whole circle?
this is all im doing in the controller for rotation (it was alot more than just this but after stripping it down issue still persists)
i feel like there is a setting thats causing this i could be wrong but ill keep looking
now that im double checking i seem to have 2 cameras in one of my characters one camera reserved for special events and the other camera being the main one
Huh, the rotation might be derived from the one not moving?
possibly is there a way to set what camera gets considered for rotation
Good question.. I guess you should definetely be able to define that somewhere but no clue where
auto activate is on both of them i guess i could untick this for whatever one is not being used since i manually activate it anyway
You want it to go 360?
yeah, i want it to cover the whole circle...
but it only covers half

what rotator are you using
i'm just getting the velocity and taking the Y rotation
well it doesn't matter whether i'm taking the character rotation or the velocity
both vectors only cover half the circle
wait actually- nvm
i have to take the velocity
because i've set my character movement to not rotate based on my WASD
so i can strafe
what was the logic
logic?
in that
oh you mean what i'm trying to do?
No..
I'm trying to make my characters head always face the direction of the camera, but have the feet rotate, while the capsule component also faces the camera
so there's a target rotation
or a move rotation/direction
and a look rotation/direction
i have the velocity of my character
and i have the camera rotation (= character rotation)
and i'm rotating my character mesh based on the velocity
camera forward is look direction , while key input is move direction
what happens when the move direction breaks the law of physics?
do the pawn turn then?
or to they swap to backwards?
(Y)
Do you know how I can limit my panning camera? I can drag it to the infinity. Tried the Clamp nodes but didnt work ๐
panning camera?
I mean, I created a model viewer similar to sketchfab, so I can rotate over my object an pan X/Y axis
But I'd like to have a limit on the X/Y dragging
what did you try to clamp
This is my BP
aand you tried to clamp what?
I set a Clamp node just right after X Pan and Y Pan
How would that work really
think about the values being passed on here
is the output from Pan Axis X the absolute rotation?
It worked in the rotating camera section
Walk through it logically
why would it work for the camera but not for the spring arm offset?
To be honest I dont really have a clue ๐ , I tried following some tutorials and Im really lost at it
Let me give you a hint
the input coming from the Axis is in the range 0.0 to 1.0 (assuming scale is set to 1 in input settings)
you're also using two different nodes for rotation vs panning
The upper one is not on the screenshot but i bet its not addLocalRotation
Thats the rotating part, I adjusted the Clamp to a min/max so it doesnt fully rotate around the object
Which is fine
it's very clear why that would work
not sure what you rmacro clamp is but doesnt matter much
But as for the Pan Camera I dont really know what else should I change or add
Ive been trying it since wednesday, looking everywhere but Im totally stuck ๐ฆ
For your rotation you're checking the current rotation, adding some value to it, and setRotation
while for your pan you're adding offset based on the input
not checking the current location
so there's no way you can clamp it
Think of an example;
Input is 1.0
PanSpeed is 2.0
So 1 * 2 = 2, then *-1 = -2
Then if panning "AddLocalOffset" recieves 0,-2,-2 as the input
which is what you're trying to clamp to -130, -70
That -130, -70 its just the rotation limit, not the panning
well i couldnt guess that ๐
Still it ends with the same thing
no matter what you try to clamp here
there's nothing to clamp
because you're working on the delta vector
the "amount of change" if you'd like
So, ignoring the clamp, is there any specific node I can use for just limit my camera movement, instead of moving it infinitely
Clamp.
Clamp is what you want here
that or some boolean check, but it results in the same thing anyway
Where should I put it? Before the Make Vector node?
Did you not read or was my explanation that horrible
Im just an environmental artist, dont really know a lot about this ๐ฆ
All that BP took me like 7 days
you need to check the Spring Arms current offset
add your input to it (like the rotation),
then clamp
There? In the AddLocalOffset ?
you also need to swap the node
to a SetLocalOffset.
Add is additive
internally it adds whatever input comes in to the current offset
Cant add a SetLocalOffset , only lets AddLocal or AddWorld
Pretty sure there's a set
Even deactivating Context Sensitive
Then SetRelativeLocation, thats it
Now all I need is a Clamp node before that? ๐ค
Perhaps you get away with clamp vector,
if not just clamp the 2 or 3 floats individually if need be
i'd think doing the vector itself would work fine
Oh thanks, Im testing that !
Its starting to work ๐ , I bit choppy movement but at least is working, thanks
you could interpto if you want to smooth things out
I'll try the interpto
This is working fine, copied your BP, it only pans in X axys though
Guess I have to figure out where to add the Y axys and its done
Do I have to duplicate that for Y ?
Adding it to the X i assume
Let me try
I have this object reference variable on my enemy base class, but when I place the enemy in the world, I cant seem to change it
its in the AI section
try searching for it
the details menu is also arranged based on your variable category
Oh wow... sometimes the solutions are so simple hahaha
Thanks man
Been looking for like 15 minutes lmao
If you use a delay right after the click, any additional click will be absorbed by the delay.
hello guys I'm trying to Package my project for android. and it succeeds but I can't open it on my phone it keeps saying "it has stopped"
so I check my log in saved folder and there are a few lines like this : Log file open, 01/08/22 15:46:20 LogWindows: Failed to load 'aqProf.dll' (GetLastError=126) LogWindows: File 'aqProf.dll' does not exist LogWindows: Failed to load 'VtuneApi.dll' (GetLastError=126) LogWindows: File 'VtuneApi.dll' does not exist LogWindows: Failed to load 'VtuneApi32e.dll' (GetLastError=126) LogWindows: File 'VtuneApi32e.dll' does not exist
could these be the problem ?
I found some approaches on the internet like delete intermediate and saved folders and try to open again but these won't disappear
it is the same for all my projects even if it's an empty new one
I think these are why the android apk keeps stopping and jumping out. have any of you come across this b4 ?
It's been a few days since I'm tryna get a clean package that's working but no success..
here's one way to do it
I have a stupid question but uh what's the name again for the kind of variable that acts similar to an integer but using text/names/words
enum something I think
๐ค
so I could make a list of words instead of using numbers
afaik there was a easy way to do this
I guess I can just use a name switch
Edit: turns out i'm dumb and it's not just a variable but something I create as a blueprint thing ignore this
okay turns out the vectors do point always outwards (blue forward vector), but i am using their up vector (red) to orient things along its surface which causes issues
why cant i just use the forward vector as rotation aaa
would there be any issues with a setup like this since the events run on every frame?
it is intended to be used this way
the example in thirdperson template
i more meant that im feeding two on frame events into the same node, im not super familiar with how blueprints would deal with it
feeding 2 just means it would call twice
depends on how you insert the World Direction and the other parameters
as long the values are correct, there wouldnt be issues
Hi guys! I have a weird problem at hand. There might be an easy fix for it but I can't seem to find it. So...
- I have chairs in my game. These chairs spawn invisible "sitting pawns" on top of them at the beginning of the game. This works.
- When I click the chair I will possess the "sitting pawn" and there's a smooth transition between the camera of the actual character and the camera of the "sitting pawn". This works.
- When sitting, I want to limit the camera angle so that the player can't look around like an owl (or like the girl from the movie Exorcist). This... works and doesn't work at the same time.
So... I've used PlayerCameraManager for the camera-angle-restriction but it only works correctly when the chair is facing a specific direction and fails when the chair is rotated to face any other direction. It feels like the PlayerCameraManager pitch/yaw/roll are based on the actual world and not relative to the situation. How should I work around this problem?
How would I go about sending an interface message from one BP to multiple others? Since both INT message node and does implement interface can only take 1 object reference, how would it make sense to call an interface implemented in numerous BP's?
you need to calculate the limit based on the camera rotation
since the values are absolute and not relative
for each loop and call their interface?
So should I get the world rotation of the pawn and then, based on that rotation, do the same thing as I did above but with some math?
rotation of the camera
so I should have an array of object references and do call the interface everytime I want to call it, is this really better for performance then using an ED?
@remote meteor Oh yeah. Ok. I figured doing it with some math-stuff might be the case but I'm not sure how to go forward with it. With my stupid-brain I think I'd have to make the same mouse-restriction for at least four different directions before I'd be starting to "get the picture" of how I'd implement it for every direction.
this both means the same thing underlying the blueprint graph
performance is more or less the same, the more important part is the how you would like to structure your object relationship
event dispatcher requires the exact reference to bind them
I already have an ED implemented that works as intended but I keep reading everywhere how much better for performance INT's are so ive started to try and replace them
in my opinion it doesnt really matter
if you really want the best performance, full cpp is the only way
If I understand correctly, if I have something that should happen in 5 different bp's, using the interface to loop trough 5 objects and call the function should logically be better then calling out to all blueprints for it to find the 5 that have a binding?
say you have a manager and some spawned objects
lets say event A happens on the manager and you would want to tell your spawned objects to do something
if the relationship is like this, you probably already have the reference of the spawn objects in your manager
you can straight away for loop the stored reference and call the respective functions
this is one way
say you have a pawn and your game state
you want your pawn to listen to some event in your game state, for example, OnCinematicViewChange which the ED belongs to the game state
your game state might not have all the reference of pawn on hand
in this case it makes more sense for the pawn to get the game state
bind the OnCinematicViewChange delegate
and when someone else calls the delegate
your respective pawns can do it such
it really depends on the use case which one is better
for interface, it would be extremely useful for Interact event for example
Hey i have a static mesh something like this
But when i import it in my actor bp it becomes this can anybody help me
I see, it's abit confusing as I'm trying to min-max any performance I can get, in most cases the interface is a simple way of solving it, but in this specific case I'm literally checking if the player should be dead, this check or message has to come from multiple BP's, and it should call events in multiple others
check your scale
So it just wasnt as straightforward what would be best, because calling the message requires me to have an established reference to all BP's that implement the event
@remote meteor I didn't touch that
By INTs, do you mean interfaces?
yeah sorry blueprint interfaces
I hate youtube so much.
as in the player have no more pawns left so the player is dead? for example.
im trying to get your scenario so i can think which one makes more sense
essentially player has 1 life, and there are many ways he can die, the different ways he can die happen from numerous blueprints, and there is even more blueprints that each have functions/code they need to execute whenever player does die
so what I've been using is a simply ED call everywhere he should die, and I would bind it everywhere I need something to happen whenever he does die
not sure if it makes sense
oh
right i get you
for killing the player
your actors can call an interface to the player pawn to kill it
yeah like one is " not rendered for X s", other is has overlapped a mechanic that kills him, etc
or you can use apply damage event that is already implemented in all actor and have like a hp system
for after the player is dead
and other other actor to do things
you can make use of the game state
player tells game state im dead
calls a delegate
and other actors binds the player dead delegate on game state to do other stuff
I mean I havent been using apply damage and such because there is no health pool, player has 1 life and everything that does "damage" is an instant kill
essentially what im doing exept I have this binding in many blueprints that do different things
yeah it makes sense to do this
because your game state doesnt need to know every other actors that needs to perform some action after player is dead
what was mainly confusing is if going over to an interface with a for loop everytime the player died events should be called is going to be better for performance vs calling and binding
Im lowkey confusing as to what the game state is, is it like the game mode?
in unreal engine theres like a few key design
game mode
game state
player state
player controller
game instance
to name a few
for each persistent level
you have a game mode and a game state
you can make use of either one as a hub to communicate between all the actors in your level
yeah I have set up my own game mode, player controller game instance but I havent touched game state
as everyone can access them
as for what is the exact difference, it doesnt matter that much in a single player game
you can use either
but it will matter when it comes to multiplayer
I understand so it's another blueprint I can use because it is always consistent troughout a persistent level, like the gamemode
It's 100% singleplayer
yes
i will just give you the example
game mode will only exists in the server
but game state exists in both server and client
right so your suggesting I make a custom game state, and inside it have the function that should do everything whenever the player dies
instead of having them be spread out trough different bp's
for simplicity, you can use game mode
have a delegate OnPlayerDead
when your player dies, calls it
a delegate is the custom event that comes off of the ED binding right?
right but you mean have a dispatcher with a binding that delegates to an event?
inside the gamemode
the binding can be placed in your BPs that needs to perform task after the player is dead
game mode is just to hold the delegate
I mean this is essentially how I have it setup now
I perform the call everywhere the player dies, and have the bindings that do stuff in different blueprints
I was just wondering if this can be optimized with an interface instead of the delegate
that should be the ideal way to do it
I understand thanks
to do it the interface way
Hi, How could i get a text render component to always face the camera please.
your bps need to submit themselves to the game state and stored in an array
when things happens
This is what i have at the moment it kinda works but it rotates the text in world.
game mode will call the interfaces
but wouldnt that end up being better for performance, because I would cast to each BP that needs to be in the array once in the game state, then I would loop trough them calling the function when player dies
@glossy bane
People who do not understand how the engine actually works are under the impression that Interfaces are the godsend of all because it can help them dereference their project's classes from one another. If you interface everything, nothing has a hard pointer to another class besides the interface. This avoids casting.
The reason why casting is "bad" is because is because of how Unreal handles loading objects. Lets say you have three classes. You have a custom Character, an Apple which inherits from Actor, and a Datatable.
You have three hierarchies.
UObject->Actor->Character->MyCustomCharacter
UObject->Actor->Apple
UObject->Datatable->MyDatatableAsset
When Unreal creates an object it has to have that object's class default object loaded up to copy from. So lets say you have an empty map with nothing but a SpawnActor node on beginplay. You specify Apple's class here. When that map is loading, it also has to load up Apple from hard disk to memory long before that node is ran. Of course UObject and Actor already existed because other things loaded them up as they're used in the things that have to start the map.
Now you add a Datatable pointer to Apple as a blue variable in it's variable list.
The moment you load the map, before Apple's default can be loaded into memory it has to check if Datatable is loaded and load it if it's not.
Now you specify your own Datatable in that pointer.
Now loading the map has to not only load up the tiny Datatable class, but also load the custom datatable you made into memory.
Now you put on Apple's beginplay a GetPlayerCharacter->CastToMyCustomCharacter.
Now when you load the map, before Apple can load it has to make sure that Character class as well as your CustomCharacterClass are both loaded and ready for use in memory before Applie can be instantiated. Note that a custom character does not exist yet, you've only cast to it.
The reason I explained that is because that is how hard pointers work, hard pointers are the usual medium blue variables in BP you use to call functions or interfaces on objects. Now, if you only call an interface function on MyCustomCharacter from the Character pointer instead of casting to MyCustomCharacter, no hard pointer to the type of MyCustomCharacter ever exists you only load the interface instead of the MyCustomCharacter when loading Apple.
This thought process is fine, until you realize that over 85% of a game's memory use has nothing to do with core classes. Memory use is largely taken up by assets. Assets being models(Static and Skeletal Meshes), textures/materials, sounds, etc. If you have a lot of these hard pointed to on a character and you cast to that character, you load ALL of these, which can make it seem like that character is huge when in reality it's just the stuff the character is pointing to. Learning how to handle your hard pointers, and learning how to use SoftObjectPointers will not only make you a better programmer but eliminate the useless need for interfaces.
Also to note about interfaces, calling an interface function in BP is processor speed wise slower than either event dispatchers or casting to and calling a function on an object. So when someone tells you that interfaces are "more performant", what they really mean is that they're too lazy to manage their project.
The top image is what I have being output at the moment and the bottom image is what I was looking to achieve.
is this one of those "find 5 differences" images
Only four!
@maiden wadi Yes ๐
Three names and size.
LOL
The top image shows the text "Looking at the player and rotates to keep looking" kinda creepy lol
but i want it to be flat facing camera text render.
i know im using the wrong node with "Look At Rotation" but not sure how i set the rotation to always face camera.
That's semi complex to do well. You can start by using a screen space widget component. That gets costly after a while though when you have a bunch of objects. Also harder to manage the distance display.
I tried using a screen Space widget but the positioning of the widget goes all weird when the player moves around
Depending on camera almost all you have to do is set Z rotation of the widget to camera + 180 no?
a sprite already has the look at functionality
Thanks for the great explanation, it makes alot of sense that casting to an actor that has alot of references to other memory-tasking pointers will make it seem worse than it is. I'm just confused as to how you would go about using soft object pointers rather than hard, like I assume a hard pointer is when you cast to an actor and save the object reference to use later (which I do)
Personally, I would probably consider writing a ui manager for it. Let the objects register themselves. and let the manager decide what's shown. But that's also costly in BP because of loops
I have this to make sure a component is always facing my camera, it's cpp but basically all math
FRotator NewRotation = CameraControllerRef->GetSpringArmRotation();
NewRotation.Pitch = FMath::Abs(NewRotation.Pitch);
NewRotation.Yaw += 180.0f;
NewRotation.Roll = 0.0f;
NotificationManagerComponent->SetWorldRotation(NewRotation);```
Ok i think i can understand that code.
Not even looked at CPP tbh I tried looking at CPP a few years ago trying to display some images through SDL and omg..... I never went back lol
If I'm not mistaken Pitch = Y, Yaw = Z and Roll = X
Basically all you should have to do is get your camera rotation, take Z + 180 and take the abs value of Y and set that rotation on your widgetcomponent
ehh
pitch x, yaw y, roll z on the axes
a good way to remember this is pitch is "nodding". yaw is "shaking your head" and roll is "tilting your head"
Am I confusing this? Blender Z is not the same as UE Z?
its not
Okay mb then
unreal Z faces upwards
I almost never do rotation stuff in UE so that's why I said I'm not sure ๐
so rotating on Z is like "shaking your head"
This is waht i think the conversion looks like
on the tick event
They will help you figure it out, yeah on tick
the trap with rotations is: the direction you rotate around is different from the rotation direction itself
Nvm that looks good I think
Seems to keep it facing the camera but now just seems to "wander" from location XD
This is the master item I created the others from i changed to world display so you can see the widget location
Simple question : Is it possible to have a cube render only the faces visible to the player and not the others ? Like if you have 1 cube next to 1 another cube, the adjacent surfaces between the 2 cubes don't render to not waste resources.
How would I go about that as I don't know how to make each face has its own texture and how to not render a surface
Even simply casting is enough to force that thing to be loaded. You don't have to save the pointer. There is a small difference with Asset types and other classes. Asset types have their own class of course, Static Mesh, Skeletal Mesh, DataTable, Material. These are all classes. But those classes are infinitely tiny. The data they represent is large though. This is why if you have a character class that has a skeletal mesh, and three static meshes. You start off incredibly small. The space it would take in memory is nearly nothing. Now add a single static mesh to that character, and the space it takes goes up by x5 to x500. Multiply this by every single different asset you use. The trick is that once you load an asset though, it's loaded. So having 300 of the same character with the same assets is nothing compared to having even 10 characters with all different assets when it comes to memory management.
For using SoftObjectPtrs, you use them on the assets themselves. You make datatables or maps of soft object pointers to meshes and load them in when they're needed.
you would do that in your dcc of choice
what's dcc ?
But how would I do that in Blender ?
But the thing is I need to code that through blueprint too like : if cube 1 is next to cube 2 do not render this face
then you're looking at the engine renderer
then make the cube out of plane
I know nothing about CPP, so now way to make it blueprint ?
@glossy bane Consider this. You have a skeletal mesh in a character, gun for instance. You have 100 guns in your game. If you specify these as hard pointers, you load all of those meshes into memory at once. Putting them in a datatable of softobjectptrs to skeletal/staticmeshes and only loading them to set them on the skeletal/staticmesh component ensures that only one weapon mesh is loaded per character at a time. Along with that mesh are all of the materials, this also applies to particle effects. It all adds up fast.
Or at least being able to expose those 6 faces in the editor and choose with a boolean if each face renders or not
there is absolutely no way to do any type of low level operations on the renderer in blueprint
nope
It's not a worthwhile thing to do anyway
why ?
because you're not going to be better at optimizing the renderer than the people who have made the renderer
don't you think they have thought of this?
That makes perfect sense thank you, but I'm still confused as to how soft object pointers are literally defined in BP. If casting results in a hard pointer, is there a different node for soft object pointers? Sorry if this is a dumb question
nevermind how slow it would be to have any of this done through blueprints
Well nanite is their answer to it, but unless you have thousands of cubes on screen at once the benefits will be slight
the renderer is one of the most optimized parts of the engine, because it has to deal with everything
I don't know but if they did then I don't need to do it then. I know they did that for each object (as a whole ) to render or not depending on the visibility and the cull distance, but I'm not sure they did that for each face of static mesh, so that's why I'm asking on how to do that.
can you accept that you are out of your depth here?
@glossy baneYou can do it in the variable selection. Sec. Editor wasn't open.
what does that mean ?
that you're trying to do things without having an idea of the implications
Ok
I'm just trying to do good to have my game optimized, is that a wrong thing to do ? ๐ค
if you don't know how to optimize, yeah
it is
you're going to cause more harm than good
ok then I will have each cube next to each other with all the faces being rendered (if the engine doesn't handle that)
ops i forgot to link the targets
