#blueprint
1 messages · Page 72 of 1
Imagine the "Find look at rotation" is an invisible line. You know the end of that line - it's where you clicked. But Where does the start of that line need to be?
Unrelated: You are plugging Find look at rotation directly into the set. You can keep it like this and it will work, but as I mentioned earlier you saved this as a variable earlier and you can drag that from your menu into your graph.
This helps keeps the line clutter down on your graph as your project grows in complexity, and you can do some really cool things with that variable once you get into some of the more advanced features of Unreal.
I'll give you a hint: one of your missing nodes is self
(assuming you are building this logic in the actor that you are trying to make rotate)
But you can't plug a blue node into a yellow node. You need to convert it first.
The blue node is just an object reference - it is a thing that holds a bunch of data. Once piece of data that would be useful for you right now is the coordinates / location of the blue node.
I have one question about this node, I'm trying to do settings like they did in Lyra but I can't show them on screen with this node, it's like it's not doing anything, I already marked that that widget is ActivatableWidget and still nothing, is there anything else that I have to add/make/do to make it working?
Do you mean this is equal to this?
Correct
But it's only = to ClickedLocation AFTER the white pin processes the SET node
by after, I mean to the left of
How can i check if ctrl is being held at the same time as a click? This isnt working. Or even better if you can show me how to do it for enhanced input
Im using the Event ActorOnClicked and that outputs a button pressed
Or is it because ActorOnClicked button press output will only check the mouse buttons?
I haven't used onclicked events, but I see they have a "pressed" and "release". So you might want to think about setting a state (isLMBHeld) on press and clearing that bool when it is released. When your branch fires, it checks for isLMBHeld and isRMBHeld.
Alright?
I am running this on an actor that isnt the players so i dont think it will pick it up actually
ahhh i managed to get it
gotta cast to the player and have a function with a return to check it
bit of a pain though if i end up with aloooot of keybinds later on
You're taking a few steps backwards. You deleted the first green node and now your game forgot what ClickedLocation is. You still need that initial SET.
And I'm sorry, I was trying to teach you variables but maybe that's too much too soon.
Next question. If i have Input Action object as my input here, is there a way to check the value of that specific one to then output so i can select any input and use 1 function to check it instead of a function for every input action
That's still there, I just pushed it away.
But it is not connect to the white pin and it may as well not exist. The game only cares about stuff connected to the white pin.
Is this a good player level up function im following a cpp code that my friend wrote and trying to turn it into a blueprint
The green nodes do not need to be directly connected to the white pin, but they must be attached to something that is (or something that attaches to something that is).
You are missing that white pin between SET and set actor rotation.
And I don't know what you are doing with cube and up vector, but it is probably not helpful information to you.
instead of up vector, you want to know the location of that actor (self)
in start?
Well, there is a node that will help you get the actor's location.
But that can be a tricky node to find sometimes. You'll need to drag the blue pin from Self on to a blank spot in your graph, OR uncheck the little box when you right-click on your graph that says "context sensitive".
i can't find the node OR
I wan't saying the node is called OR
I was saying there are two ways to find get actor location:
- drag from self into a blank space
- uncheck the little box when you right-click on your graph that says "context sensitive" before you search
If you are working in an actor blueprint graph, then it might appear when you right click. But you haven't told me what graph you are in. I am assuming the actor's graph that you're wanting to rotate.
It's important information to know, because "Self" will mean different things.
I'm on my character graph
I don't know what a character graph is.
How can i check what player controller clicked on an actor?
It would help if you go into game mode and send a screenshot of the default classes. I think you're maybe using the starter content and using ThirdPersonCharacter or something?
This is the game mode, right?
I made the character from scratch since I am interested in learning how to do it
That is a game mode, but I don't see anything called "character" here. You said you are in your character graph and I (and also this game mode) have no idea what a character graph is.
Maybe you did not set your game to use this game mode? You can confirm from Project Settings > Maps and Modes
name my character "personaje" because I speak Spanish but it is the character I manage
How does your game know to use this new character?
In the game mode select that this is the character that I will control in the video game
Oh i see, you have it set to default pawn class
I didn't catch that. So you're probably in the correct graph and you can probably use Self
yeah
Yes but where do I connect it?
So let's go back to your graph. I feel like you are very close, just need that actor location node
get or set actor location?
Get if you want the game to give you the location
Set if you want to tell the game the location
so I choose set right?
No. You don't know that actor's location. You want the game to tell you, so that you can draw a line to the clickedlocation, and the rotate the actor to that invisible line.
then get?
Correct
You are so very close
But blue nodes need a connection to the white line, otherwise they might as well not exist.
And you can run the white line through other nodes. If you put set actor rotation between set and print; then your game will set the rotation and then print.
If you put the set actor location after print; then the game will print and then set the rotation
This will all happen so fast you won't even see a difference in game, but the order of nodes is very important.
for a node like print it does not matter so much in this context. But if you put set actor rotation before set ClickedLocation, then your code would fail
you can delete your purple line on set actor rotation
then right-click on new rotation, then split
you can do the same for the yellow vector pins
Then attach them as needed so you get the rotation. You can also use 0s in the set actor rotation if you want it to keep its existing rotation for that axis
Something like that, but I get my axis confused all the time, but play with it and see how it influences your character. Then keep trying things until you get the results that you want.
You might need to split your yellow pins also
If a pin set is on the left side of the node, it means data coming IN; if a pin set is on the right side of the node then it means data going OUT
uhm it doesn't work either
I'm just about to head out but I can make a quick starter project and try it myself. Did you start with ThirdPerson or TopDown?
okay, start in a blank project, I made the character using the blueprint character and the gamemode, I made the movements with the input in project settings, I will send you a photo so you can see
there is
there is the content browser just in case
This is mine and it works for me, but I'm using topdown starter
Why didn't you use variables?
They are not necessary for something this simple. I wanted to try and teach you variables at the same time but I think I just made it more complicated for you.
oh, haha don't worry
uh for some reason it doesn't work for me even though I copied your code
How do i cast to my bp_mainhud from player controller?
But don't worry, I'll see how I fix it later, it must be some problem when I created the character then it will be a simple copy paste
I'd check your "class defaults" in your character, maybe do a search for "rotation" and compare what you created to the topdown starter content.
or do i need to reference to my player where i created the widget?
Whatever object you are in for the screenshot, you somehow need a link to WB_MainHud. Follow the chain back until you have something that talks to WB_MainHud
I gotta head, good luck both!
Thankyou
Congrats! And you should post what you did here to help somebody out if they have the same issue and search this channel. Holding is a bit more complicated, you'll want to research states and looping events. There are many ways to do it, but I'd use set timer by event > and creating a looping event every .2 seconds that sets the new location of ClickedLocation.
I don't have time to help right now, but somebody else here might - or you can tinker with it and try out different things. GL.
Thank you very much friend, I spent literally 8 hours researching and trying to get this simple code to work and I couldn't have done it without your help. Good luck!
Casting isn't getting
managed to sort it, just used a ref from player that creates it
quick one as Im feeling dumb today, I am currently using Child actor components, and wanted to try and make the same actor a scene component that I can Add to an actor instead. But after creating a scene component version of the same actor I add as a child component I am unable to add them to my actors . I cant find a way to add them to my actors , What Have I forgotten?
Is this My only Option , to add them as actors like this ?
Or Is there any way I could add or change them in the component list
I would also like to keep the ability to turn on and off parts of the component and have them visible in the BP just like I can do with child actors via there settings
Hey to all of you. I am working on combat racer game, similar to Death Rally, but with homing missles. I have a logic, where engine scans for nearest actor of class with tag ( In this case AIVehicle +tag ) , loops and returns a target for My Homing missle
Problem is: it scans for all AIVehicle objects, doesn't matter if they are in front of player's car or behind it
Sometimes I get a problematic situation: when I deloy a missle and some car is close, behind players car - a deployed missle flies towards this car behind instead of targets in front
I need to correct the code somehow, so it returns false if the target is behind my car
I believe I should compare horizontal distance between the two cars somehow, check their forward vectors etc
but unfortunately they share the same forward vector when driving towards a finish line
I don't really know how to approach it
Any ideas ?
is there a way to have something like a timeline play inside a behaviour tree task in blueprint ?
Not directly in it by you can call dispatchers or play montages
i tried doing it with an interface message to my npc blueprint(i'm trying to rotate the npc based on each individual patrol point) ... the problem i have is that i can't seem to cancel that when the actual task gets cancelled (say when he sees the player an begins chasing them). he still plays out the rotation timeline in the npc blueprint which makes him run backwards or sideways depending on the rotation. tried sending an abort message via interface again to stop the timeline and still didn't work :x
Use Execute abort nodes
I think you can just set the new time to the end no?
Or stop it altogether
Which part didn’t work exactly
Hold on, I keep reading it lol
So you’re doing all this to rotate your actor?
no clue how else to do it, still a complete noob
kinda tried that but my rotation comes from the actual individual spline point rotation and as far as i can tell he tries to rotate to literally where he is standing. so he doesn't rotate at all at that point
otherwise i would've just used that yes
Why you using a spline?
for a patrol path
Don’t do it that way
Go watch the 4th pinned video in #gameplay-ai in its entirety
EQS is the way to go here. Or at the very least just use fixed vectors as bb keys
Let the AI do the patrolling itself
maybe i'm dumb but , i'm using vecotrs as bb keys with the spline ? i mean i simply get the vector from the next point and tell the ai to go there? or am i misunderstanding ?
Then I don’t understand what the problem is with using rotate to face bb key ? What does the spline have to do with it?
Tell it to rotate to face that vector and move to it, that should be all there is
oh no sry, i mean i want him to rotate WHILE he's already on said point. i.e go to point --> wait on point and rotate to somewhere --> go to next point when wait time is over
Have you tried this or are you just theorizing about what it might do ?
tried it with the rotate to bb key , he just doesn't rotate at all then
just stands there
You need to debug to find out why. Start by using the AI debugger (‘)
See if your bb key is properly set
You can also watch the tree live at runtime and pause and step through it to see if it reaches that point
This might sound confusing. I am doing a multiple select of buildings, and i have an info page and im trying to make it show x1234 (number of buildings) when multiple of the same are selected. They will all be childs of my master building. How can i check them all and display the # of the ones that have the most amount matching? i can add the class to an array but then i dont know how to check how many of each class are in there
So if theres 2 of blue building, and 4 of red building, i want it to find that theres more red than blue buildings and display those
didn't know i can see the tree at runtime, didn't have a debug object to select thingy, you're a genius 😄 he didn't reach the rotate task, because he didn't set the rotation properly in the patrol task. apparently it spazzed out when i initially renamed the key, deleted the variable and recreated it and he now turns with rotate to bb entry, much love 🙂
Should you maybe using a map instead ?
Yeah im now trying to add it to a map xD
but from the array loop as i have too much using that already
Does that look right?
Havent really used maps much
DirectionToTarget = (Target.Position - YourCar.Position).Normalize
DotProduct(YourCar.Forward, DirectionToTarget)
It's super inconvenient that bp basically does inputs backwards compared to cpp
i mean it's just pseudocode to get the idea across
Yeah. I'm just musing aloud 🙂
I really wish BP had the vertical/horizontal split like code, kinda annoying that everything is left to right
Execution top to bottom would be nice I think
The named reroute nodes from materials are super fab for that.
Does BP have them?
That looks fine to me.
idk, materials are a bit different I suppose as it's all one giant statement
They're pretty much goto so I suppose it'd be weird
I think if you need reroutes for your BP then you're doing it wrong
Yeah maybe.
Well, no.
Reroute nodes are good for tidying up lines.
Not for creating gigantic ones that stretch across the graph
can i get a key from a map from the value?
I believe you'd have to search the pairs in the map and check each one.
Why do you need that in your context?
Maybe even, in BP, map.getkeys -> foreach key -> check associated value
Give me a sec ill get some screenshots.
I reaaaaaaaaally hate stacking.
I only do it when someting is done
when it's being worked on it's more spread like the bottom row
Hate intensifies
Okay so, when i drag my mouse i can select multiple buildings in my game. I have a little info page that pops up and gives info on the building. I have it atm so if theres 3 buildings it will do "x3" next to the info name.
Now i want it to check all the buildings and say if theres 2 red buildings, and 5 blue buildings, i want it to show me the 5 blue buildings. So find whatever building has the most amount in the selection
Please dont bend me over for my spaghet xD still fresh
Nice to see those object pins shooting off into who-knows where
This is how BP shoulda been IMO
Or something to that effect. Vertical execution with horizontal statements or vice versa
With a couple of reroute nodes you can do that.
just like code
well yeah but thats extra shit and ugly
I mean they shoulda just had execution waterfall down the screen
I like to close the BP and not look at it once im done 😂
until i need to find something, then not so good
instead execution and statements go the same way so you end up having to stack if you want your statements to not be screens apart
Is the way that im trying to do it going to work? or can anyone suggest a better option please
The map is filling up correctly, but yeah not sure how to find the key from the highest value in that
Named ones are materials only
get keys, for each, get value, select highest
They're probably super bad for BPs tbh
Honestly this isn't too bad, this is like 20 lines of code on a screen, pretty readable
Tbh they prly made BPs this way because they’re easier to read for people less versed in programming
execution pins not being at the same height inside nodes drives me nuts tho
why the hell woudl they do that
So that you can press Q 😀
Worst is trying to align 2 nodes that are connected by 2 wires lol
You have to disconnect one of the wires to get the proper alignment
Offset them so much that it looks intentional.
but it doesn't even follow a pattern
It’s the haphazard pattern, designed by Tim 😀
Thanks that sparked me brain!
Woo got it all working 😄
If you tilt your head sideways, its vertical 😂
those blue and purple lines shooting off into space got me fucked up lol
Can somebody help me with the case I've posted above ??? . I am working on combat racer game, similar to Death Rally, but with homing missles. I have a logic, where engine scans for nearest actor of class with tag ( In this case AIVehicle +tag ) , loops and returns a target for My Homing missle
Problem is: it scans for all AIVehicle objects, doesn't matter if they are in front of player's car or behind it
Sometimes I get a problematic situation: when I deloy a missle and some car is close, behind players car - a deployed missle flies towards this car behind instead of targets in front
Already did
dot product
read up on it, you will 100% need it all over the place in games programming
DirectionToTarget = (Target.Position - YourCar.Position).Normalize
DotProduct(YourCar.Forward, DirectionToTarget)
Thanks
I'll try
someones gotta show a bad example xD ill be that guy
Okay i want to simplify things xD
So in that array of selection of buildings. How can i check how many of each same class type there are and then find the one with the most amount? Surely there is a neater / easier way
Hi, is there any way to automatically paint with x layer a part of the Landscape when spawning an actor? That just below that actor is painted with a layer instead of the current one.
I could be wrong but I believe that's virtual textures that allow you to blend the materials used on different actors.
can i use the arrow for mvoe left right in blueprint
character movement?
you see left right arrow in the ui?
can i use that
I'm not sure what I'm looking at. Its really zoomed in.
You want to move a widget with the arrow keys?
yes but in game
yeah, you can do that. What is it for?
move inventory item position
Widgets can capture key inputs
i need use this for button
like if u click button the position change to left
for example
If you are using input mode ui only, override the input keys in the widget. This sometimes is an issue with Game and Ui mode.
or liek this hwo to amek movable ui?
Can you check if a mouse clicks UI or Game? if game mode is set to ui and game
i use that
Was asking a question myself sorry xD
use pritn string
If you have a selection state for the UI object, just use you current implementation to move the object if you have one.
if i click the floor in my game it cancels selection. i dont want it to cancel if i click on UI but it goes through and thinks i hit the floor
In the panel of the UI or a border element, override OnMouse down and set it to be handled.
Perfect thanks mate
Hello everyone, how do we convert a struct to json? I have a struct which I have to pass in the parameter of an API call in the form of json.
Can you clarify what you mean?
Do you need the last index? An index for a specefic entry? Or something else?
i have 0 adn 1 index, i want get the index with ==
like get integer value
Your second screenshot just compares two integers and returns true or false.
Still not sure what you are after.
like this
this is my index, i want get this index to == branch
Drag from the array and type get
how to connect with branch
Do comparsion operator
Into your "Equal" node you posted in previous screenshot
and result of that into branch
what i need to fill in B ==
set B == to 0?
Depends what you want to do with your code.
But if you want the Boolean to be True when you input your BP Ammo in the "Find" node then yes.
Oh wait sorry
Your screenshot was BP_Battery
i us emy code. if index 0 spawn actor BP_Battery, else 0 spawn BP_Ammo
I can't know what index your BP Ammo has based on your screenshot, so I can't tell you the exact setup.
If you simply use the "Find" node and always has the same "BP Ammo" input in the Key, you will always get the same index output (assuming you don't change the array).
if index 0 BP_Battery else 0 BP_Ammo
this function for remove item from inventory
I'm sorry, but I really don't know what you intend to do.
i have inventory system, if i click battery (Throw) remove an item, if i click is battery that remove the battery, else battery that ammo. that reasone i use array
hard to explain with word
Well what you showed could work for that I guess. Though I can't know without knowing more of your setup and intention. Have you tested it?
This is a bit hard to explain, but seemingly randomly I am not able to place a "called event" node on the event graph directly, and instead need to use Assign To , which is annoying as I need to connect it in BeginPlay now. Has anyone experienced this?
the box is ammo, capsule is battery.
if i click throw the ammo is drop the BP_Battery not BP_Ammo
i want to make drop item same with the icon
but you can have more than two different items right?
yes
but when i drop it the object is same
that why i want get index value
yes
which?
this
drop the object same with the icon
if i click throw on ammo drop the BP_Ammo, same with tha battery
I would not do it with a static input in the "Find" node then. I would make it a variable you send in from your widget.
Then you use that variable (class in your case) to know which thing to spawn in the real world. And you find it's index and remove it from your array as well.
but i dont kwno how to get the class
Where is this event taking place?? It doesn't seem to be in the player character which could be causing that issue?
widget
When you click an icon in your widget (hotbar in your case), set a local variable in the widget. When you click drop/remove in the widget, send that variable to the Blueprint where you handle this array code.
Feed your existing function with that class to spawn the right thing in the world. And use the "Find" node to get its index in the array and remove it.
(this approach assumes you only have a max of 1 of each item by the way)
And how are you getting the current item??
In your branch, you're checking the index of that class but you're not correctly checking the current selected item
that idk hwo to get current class
How are you storing your items?
use drop function in bp that have my array?
This will always return true because Battery is on the first index
I'm having a problem where I feel like I have way more Primitives (polygons/triangles) in my scene. Is one of the following approaches a way to combat it?
-
They use Nanite. Can I reduce detail / group triangles more aggresively with some sort of Nanite setting?
-
Can I create my landscape with the Landscape tool in much lower resolution, then convert it to a Mesh, and enable Nanite for that mesh? (effectively to get a landscape built of way fewer Primitives/Triangles/Polygons)?
Or do you have an entirely different method of getting fewer Triangles?
Currently built of around 2000 meshes from Quixel bridge in very high detail.
this is confused
You're checking the index of the item you're hardcoding, not with the current selected item
When you click on the item in the widget, try getting that class of that item, set it to a variable and then compare
With your Find node
@young meteor i fix this problem with make different function
Great. Well done.
but this is make a dpulicate bluepritn
is Greater and less operator same like real math, like 2> 2 is not included, if 2=> 2 is included
Yes.
Greater then, means any number that is greater then the number you assign.
Greater then or equal too, means that number you assigned or any number greater then the number you assigned.
Less then, means any number that is Less then the number you assign.
Less then or equal too, means that number you assigned or any number Less then the number you assigned.
Any idea why if i start my game with some npc's in the map, i can make them move (blackboard value for location) but if i spawn one in and select it, i get the following error
"Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetBlackboard_ReturnValue". Node: Set Value as Vector Graph: EventGraph Function: Execute Ubergraph BP Unit Base Blueprint: BP_Unit_Base"
And i cant move that one
even if i just use this, i get the same result. Only difference between the npc's is ones start off on the map, i can move them fine, the others im spawning in and then i cant move them. Im running in standalone atm too
is there a way to override a timeline curve in a child BP?
You can set curve from the timelinr component reference
That's great thanks. 🙂
most likely answer is no but, is it possible to navigate to a comment box?
like using ctrl+shift+F
Comment boxes do show up in the search which you can navigate to. Assuming they contain the text you are searching for.
oh thats true
for some reason I didnt find it when I tested
How to "connect" a variable to actor component eg. color to pointLight?
I mean I want to be able to read and set the color of the light in my actor so I need to control it via a variable, you know what I mean.
Hey hello! I am trying to making a space game. I have trouble turning the camera upside down.
I want my ship to be able to fly in all directions with all rotations
when i try to flip the camera it gets stuck
it seems like there is something prevent a default camera from flipping
What do you mean by “get stuck”?
its clamped to never go inverted
you can only look down at the floor
or up at the sky
you cant get over that limit
over rotation
Show your rotation code
its the default unreal rotation code
if you open a third person template
and move the mouse up up up to the sky
it eventually stops
You will have to implement quaternion camera rotation, search on google, a common problem
does unreal engine 5 not have this by default now?
Get the light component and set it to a variable as a reference in the actor
mhhhh
Get controller of the other actor and then cast as Ai controller and if it fails cast as your player controller.
or maybe you need to get the owner first? I’m just on my phone here not with UE open
yeah that workedÄ
Which was it?
can't manage to get the Cursor to show, while also receiving input for the mouse movement axis values (without having to hold LMB).
I know this was possible in ue4, I feel like i tried everything in UE5 to make it work, but the values for the axis just remain 0.
The only way around I found is to permanently set Input mode to Game, but then I can't interact with the UI anymore, I want to be able todo both...
Game and UI usually
that only works while holding LMB unfortunately
so the camera only moves when you hold LMB ?
or your just not getting any position of the cursor ? or movement ?
Hi guys, simple question for you!)
Do you separate meanings "blueprint" and "asset"?
A blueprint is an asset but not every asset is a blueprint
Yes, but do you separate it? Do you call blueprints like assets when you speak about it?
blueprints are an asset
blueprints usually consists of logic and "code"
an UAnimationSequence would be just called an animation asset
But do you use the word "asset" when you speak about blueprint?
For example, "I have an asset derived from actor..."
And will you understand if I will say "I need to find all assets with components"?
usually wont, we would use blueprint straight away
the "Player Character blueprint"
BP_PlayerCharacter
for example
Thanks)
It seems like the ue community has their own habits=) bless us!)
How do you contrain movement on z axis
Does it pass only map references into looping actors or does it bloat memory with target actor reference?
is there a way you can make a light be visible to a camera from really far away? I'm trying to make an isometric game but the issue is orthographic camera is broken when it comes to using ambient lighting so I'm using a perspective camera with a narrow FOV placed really far away, which gives rise to another issue... the spotlight I'm using to represent the vision radius of an enemy no longer renders because the camera is too far away, how do I fix this?
It passes them by reference so it's fine.
In some cases like delegates it creates a copy, but then the editor tells you with a note.
Sorry for the late reply. Yes, the camera only moves when holding LMB, the Mouse Axis values stay at zero otherwise.
I think you can manually keep track of the mouse position and calculate the delta from that
what is your settings in here ?
because you can set it to capture on mouse down, might be something worth looking at
i searched capture
in the project settings
I tried almost all of those, also with the nodes in different orders and setups :/
Interacting with UI will take away input from the Game so the easiest way to get both is to probably keeping track of the mouse position and relaying the delta to the Game
Thanks, I'll have to try that I guess, I'm pretty sure this was possible in UE4 though
It may have to do with the way Enhanced Input works, I remember it working in UE4 too
for a more technical answer, a blueprint is equivalent to a C++ class, or a "template" which objects/assets will be created, an Asset is an instance of an existing class/blueprint
hello, i'm having a weird problem, in my fps game in 4.27 when i look down and make the mouse go either to Y = 0 or Y = Screen Res Y i stop being able to use RMB and LMB, like it loses focus. I believe this only happens in borderless window and not fullscreen. Any idea what could cause this and how to fix it?
i mean it makes sense, if you go out of the window you can't click on it
Anyone have an idea why hammering the input key for this causes the stamina bar to not regen/increase even when the player is stationary? The purpose of this blueprint is to create a sprint with stamina drain and visible stamina bar, it all works but there's this one small bug.
I am trying to load the contents of a struct into an array but I am unsure if I am doing that correctly or if there is a better overall way to handle this.
Help would be greatly appreciated
Hello, small and probably easy question: How can i get all vector locations from the actor array, as an array. (So I have an array of actors, and I want to have all there locations as an array)
for one thing why you use two seperate nodes here ?
use add
And also you should be using <= not != as that can easily break. Might also need some isValid checks on those handles
As for your actual question, debug using breakpoints or watch values to see why it’s not acting as you expect it
I would wager that you are very close to my question
because I would assume the data should be stored in a struct but reading structs is what I dont know how to do
well crap I was wrong, that doesnt answer mine as well lol
Thanks!!
i feel like im missing something here after last montage finishes i cant play attacks anymore
does the ++ increment attack count ?
because on 2 you would be at three so if you don't reset you won't be able to do anything
the switch would be on 3 ?
it goes to two and then it stops yea maybe reset would fix it
Hey, so, I'm trying to make a blueprint that gets every single actor with collision in the game so that I can hopefully use these collisions to find the edges of each collider so that I can break it down into polygons and use it to create a list of points on the edges of every single object with a collision surface facing upwards in the level. For instance, if I had a 4x4 unit cube pictured below, and wanted to make a point every unit it would generate more or less a set of 4 points along the top of each side of the cube. First off, does what I'm doing make any sense? I feel I need a bit of a sanity check. Second off, how would you recommend finding every single collider for this if it is a sensible plan? (Also, apologies for my dogshit MS-paint drawing)
makes me think, a highly visual plugin for visual learners such as myself would be sweet as a training wheel sort of thing for new devs/schools: Animated nodes that follow the spline from node to node with the variable that is being modified.
Also, to add onto my own question, a lot of this relies on the idea that I can get the normal vector of a collisions surface in order to figure out whether part of the collision is facing "up" or at least within enough of the error of margin to be valid. I guess what I'm really asking is whether or not there is a way to get the individual polygons/tiles of an objects collision?
what node in bp would reset do you know?
im not great with bp 😄
you want to set the variable to 0
ohhh
thank you
yep that works i can improve more logic from here thank you men
such a simple thing I failed to see
Does anyone know why in the preview in the content browser the colors look good, but when I enter the SM it looks black?
what does the material look like
Is an instance
how about the base material then
because that instance isnt showing what you are expecting I believe
It uses gray textures in the master material and in the instance it colors it, but it doesn't work. It is a package from the market
I would troubleshoot the nodes that you can configure in the instance to see which one is the fault.
Sounds extremely complex and getting every single thing that has collision and breaking it into polygons would likely be very expensive. What is the point of this exercise?
Packages from the market are not infailable unfortunately. Have you checked to see if other users of the package have the problem or if they have a way to be contacted?
The end goal is to create a system that finds every single ledge that the player could feasibly climb on and generates a climbing point on that point.
Just use a line trace, the end.
… I’m going to need you to give a bit more detail on what you mean by that?
I have two loops that run on player input (so the loops could happen at tecnicly any momnet)
One loop is not allowed to run unitl the first is done.
if the loop is attempted, it needs to wait for the first loop to end and then It can continue (wait time should only be a few frames)
any advice on how to aprach this?
Don’t try to find every single point at once, just trace in front of the player and make the collision point on demand
This does not work for what I’m aiming for
I’ve already considered this option, and I’m aware of the whole sphere-trace method of ledge-finding
if it's a square not so difficult, but shapes that would be a hassle
I’m trying to get a moving block to push an enemy without affecting its y coordinate since I’m making a side scroller.
I’ve tried using the physics constraint component but that didn’t work. I’ve tried setting its y coordinate to 0 via Tick, which worked but it causes the block to slide through.
Which is why I'd need to get collision tiles. To my understanding of collisions, they're all broken down into polygons just like anything else. This is also, to my understanding, how the NavMesh generates. By rasterizing the tiles of every collision on the map, determining whether or not they're too steep by using the tiles normal, and generating a mesh based on their rasterization of the culled set of tiles.
I think. I've been reading and rereading the code for the RecastNavmeshGenerator for a bit but I still don't really understand it.
Anyone have any idea how I would go about setting up a way to save files as a new name every time I called a function to save something? Like when taking screenshots it saves to a new file instead of overwriting a previous one
maybe an increment, and save it so it is persistent
like image01
image 02, etc...
For some reason i can bring up my pause menu but i can't click anything. What might be the problem
I’m also struggling with importing shapes from blender. Everytime I import, Unreal automatically nests a blocky collision shape, which I do not want. I even toggled the “one convex hull per ucx” on and off and still didn’t work
Also, to go into more detail for why this doesn't work (sorry for the short reply I was on my phone earlier and my sausage fingers do not agree with tiny screens), the idea is that the player should be able to procedurally move to any climbing point within radius rather than one they're directly looking at. The main goal of this is to kinda replicate the feeling of a rock-climbing wall, where you're able to reach around and grab nearby ledges to pull yourself higher and higher up while still kind of dangling off of the side. If I make the player look at and manually grab every single ledge, it's going to feel very clunky and slow.
This stuff can happen in one tick and also you can do multiple traces around him
And renaming such shapes with UCX_shapename causes the process to fail
The importing process to fail
I would have to do a lot of line traces to make sure nothing gets missed, and they have a pretty high cost at runtime. The idea is to do all of this before runtime.
Ah, I understand
I think I'm gonna take this question over to CPP, since it might be too complicated for blueprints
what happened if we use switch on enum with more thatn 50 enums?
Is anyone here?
Yes
If this is ran in the charachter should just need to create widget pause menu on x button pressed then attach add to viewport and maybe set show mouse cursor in the widget itself i think. The input should already be good to go id think by default. Can probably unplug the set input mode and myte work.
Then make a flip flop optionally and remove from parent (don't have my project open but should work)
When importing, there is an option not to auto-generate collision, tick that. If there's a UCX mesh in the fbx it will automatically be applied.
The UCX mesh should be made of quads though, irregular shapes don't work.
You can, it will be a mess though.
i agree with all but the flip flop
except if its single player game
then the flip flop is fine
glad to hear, I thought it'll be broken, but it's not
Why would it matter, menu is client-side anyway
just partly in some cases
but in general, yes
is just using complex collision an option for you?
@lofty rapids its borderless window so it's filling the entire screen, so it shouldnt do that
it's from the player controller
nvm i think i found the issue
Let me know if you get it, haven't set ui from the controller before brain's lagging
hey! hope u can help me. i just want to attach the puzzle pieces together. the problem is, that if one puzzle piece is already attached to another the already attached piece never ever is going to be attached by another piece. thanks in advance!! 🙂
Attach all pieces to a shared single piece
That could either be a seperate actor or the first piece to get attached to another
yes. i know. but it should be all individually, like a real puzzle, you know? but thank you for your response!! aprpeciate that.
Or alternatively you could attach the new piece to the other piece instead of vice-versa
Anyone have any idea if there is a way to have a while loop run while a bool is false instead of true?
Previous method should still work though, it could attach to the first piece but keep it's position
Use a NOT operator on the while node
Thank you
so what should i change? i'm sorry if i misunderstood something.
If all pieces are identical this would make which piece attaches to which random
Both pieces will trigger the overlap and only one wins
every pieace has its own blueprint with its own trigger on every side.
yeaah true.
Best way to me seems like assigning the first piece to be connected as the "root" piece. Then attach each new piece to that one, but keep it's currect position.
This will also allow you to work on the puzzles on two different sides simultaniously, then connect them together.
When there is two half-finished parts of the puzzle, to connect them just reattach everything on one side to the other's root
He's so close he's got this spynora with the saves
Now thinking about it it's way more complicated than that lol, what if two half-finished parts of the puzzle don't match exactly? You need to account for that before attaching
never thought that it would be that complicated honestly. 😄
You'd need to loop through each piece connected to the root piece and check if they're all overlapping other compatible pieces
Isn't that the cycle lol have a fun idea that seems simple enough find out it's complex
haha yeah 😄
Unless the puzzle is too big it would work, otherwise the performance hit would be pretty big I imagine
it's a 5x5 puzzle
Then it's fine
Another problem thay may arise is detecting when you detach a whole half-finished section by removing a piece. You'd need to detach all of them and attach to a new root piece. So you don't get floating pieces
yeah you'll need to do some logic here to enable detaching singular pieces from the whole
probably some graph stuff to detect islands and separate them
Yep
I'd have an adjacency or edge list and search it every time you attach or detach a piece to determine how many separate pieces you should have
I do the exact same thing for my 1D physics engine
The main problem is the pieces are connected to MULTIPLE pieces logically, but you can't parent a mesh to multiple meshes. So you need to do the connectivity logic yourself
It wont be if you do this
Just loop through the root piece's attachments
It's quite interesting no lies, just the sheer ways this can be expanded
You can save every attached piece to an array, then each time a piece is removed, loop through it to see how many pieces got detached. If more than one, you have one or more islands detached.
Or you can detect pieces that hold together islands beforehand so you don't have to loop through every piece each time
Connection made / broken
for each piece, search down its connections to gather ALL pieces connected to it (breadth or depth first search)
Once you have all pieces in groups by connection, for each group, attach everything to the 1st piece in the group
done
^ +1
sounds for me as a beginner a little bit hard. 🙂
Who could've guessed a simple puzzle game would become a mess to implement
Welcome to game dev
yeah it is
not too bad but decently hard
That would be 6 groups
thank you sooo much for your effort!!
You could just do it where you add 1 piece at a time and can never remove a piece for now, that'd be easy. Basically the connected pieces can never be broken apart
then you wouldn't need the searching, just connect single piece to connected pieces
just don't allow misplacing
Then it's not a puzzle though is it
in the animation blueprint if I want to blend by enum I should go for the int one right?
like, there is no node suitable for plugging enums?
oh
Right click on node to add the pins you want
thank you so much
found it, thanks
thank u all. i'm gonna check this out, but i've thought it would be easier 😄 therefore i've made for every single pieace a blueprint with its own unique trigger and sockets for every possible attachement. well, yeah that's game dev ahha 😄
here u can see u the trigger.
I am saving a render at runtime and need my code to not continue until the file has been saved and the render has completed. I am trying out a while loop that checks if the file currently exists and if not do nothing then if it does exist continue. The code seems to trigger an infinite loop warning though. I'm not sure if it is actually infinite or if the while loop is preventing the render from happening
This happens at the end of the trigger to start the render
when i say render I basically mean taking a screenshot using the movie render queue
On loop body try adding "Delay until next tick"
Not sure if it would work but worth a try
Oof, there's much easier ways to do that lol
Im assuming you cant use this in a function right?
As its to do with delays?
oh, if it's a function yes you can't
okay 😄
I can try moving it to a macro instead i guess
Nevermind though it looks like it doesn't work anyway
code will not progress past the while loop until it succeeds
I don't think it can be done inside the function, as functions can't take more than a frame to execute. And the file may appear after seferal frames
You don't have a callback for the render being done?
You'd need to move the checking loop outsite the function
gotcha lemme try that
While loop also works in a single frame, so it again won't do the trick
It'd be a lot easier to give every piece an integer ID or integer 2d vector for its location in the final puzzle. Then you can just compare id with hit neighbors and rotation data to see if it should count as a connection
Here, try this @earnest vigil
The timer can be started by an event
You can call it from the function
You're holding piece 0,1 and bring it up to touch piece 0,0
They can connect if they are both oriented the same within some margin of error and piece 0,0 is left of piece 0,1
You can easily make a CanConnect function to check all that stuff and let you know if they can connect or not, no need to have 25 classes casting for all the checks, that's insanity.
i'll check that out, thank u!
@coral comet
bool CanConnect(HeldPiece, OtherPiece)
intVector2 Offset = HeldPiece.ID - OtherPiece.ID
//Check if oriented right
bool bOrientedCloseEnough = Delta(HeldPiece.Rotation, OtherPiece.Rotation).Size < SomeTolerance
//Check if positioned right
bool bSidesMatch = (InverseTransformLocation(HeldPiece.Transform, OtherPiece.WorldLocation) - Offset * OffsetDistance).Length < SomeTolerance
return bOrientedCloseEnough && bSidesMatch
if Piece.ID is a 2d int vector saying where the piece is in the solved puzzle, yours would go from 1,1 to 5,5 or 0,0 to 4,4
so I dont knwo which channel to go to whether its gas, umg or blueprint so im just gonna assume its this one since its the only one that is actually currently active. the code is complete but I am just sruggling on the blueprint front to actually get my progressbar to update and any and all help will be greatly appreciated, reply if you need more info
I have multiple actors traveling along a spline and I'm trying to determine which actor is the furthest along the spline at any given time. I implemented this on the actor BP that is traveling along the spline but I wanted to know if there was a better way to do this?
Screenshots are too blurry sadly
Would'nt the part doing the traveling along the spline already know the distance along spline?
thank ui!!
Not unless they're snapped to the spline
Thats the movement function,
Hmm so like run a timer for a certain amount of time then when the file is detected stop runnning it?
The timer would run indefinitely until the file is detected
Just save that location there and then you just have it all the time
Which I guess, yes, the return value of the lerp has the distance traveled right?
haha
Is the health between 0-100?
I tried this way and it didnt work. Ill set it up the way you have it
at 0
I dont know why
in my GE_characterDefaults healt and max healt are both at 100
i feel like im missing something obvious
Does the wait for attribute change function return the correct New Value?
don't use a while loop here
while is for algorithms that are meant to go all in one shot in one frame
you'd use a while for a search or something
nope it returns 0
oh you meant starting health my bad
Set a bool or some file name or something here, and use a timer or just a delay loop to check if the file is ready
thank you btw
No I meant the value after the function runs, but if it's always 0 then it's a problem about the function
got it
and seriously thank you, I have been trying to get help from this server all week and you are the first person to give me anything more than a one sentence answer equating to read the tranek docs which arent even the issue here
Either way it does the same thing though
If this doesnt work ill try that one. This one is just faster to test cuz i already have it there
I know the feeling
Ok I think this is working but it seems like i might just have an error in the file I am checking
@runic terrace @faint pasture Thank you so much! Its working now
hey how would u at start choose wich player you wanna set as default pawn ??
i have a Parent class and 2 characters witch you choose from
how would i configure that ?
Override the "Handle Starting New Player" in the gamemode. Make the player choose through UI and spawn the character. Then make the Player Controller posses that character
Have default pawn be a non-character or whatever you want initially, or even nothing.
Once selection is made, PlayerController tells GameMode about the pawn they picked, gamemode sets it as the players pawn class and calls RestartPlayer
various ways to do it tbh
ok so I'm back with my "dice problem" from a few days ago. I have 6 meshes in my class - each represents a dice's face, I would like to get their transform info (location x) into an array and I can't figure out the nodes I should be using here.
every time i open unreal i get this error. i have to refresh the node, then attach it to the exact same named exposed variable and save, then it does it again.
I made an array variable for DiceFaces and I want to populate it with the above
but I can't simply connect child component meshes into an array for obvious reasons
Welcome to Unreal, it does that sometimes. Try compiling the BP_ ParticleCa...
Do you want them to update?
saved and compiled, always does it
well the idea is to update their location and see which one is the highest to determine the dice roll result
I know this is probably not the optimal way of doing things but I'm learning and I want to know how to deal with that problem
eventually I want the one with highest X to change its color
It is the way I would have done it.
so I need to update it, compare the values, change the color of the sphere with highest X
z is up vector, so you want the highest Z
or Z
@faint pastureso i did that but its not possessing :/
actually you can even add sockets to the static mesh, and just get the socket location, that way you have a cleaner setup
or it just start blank
deleting the variable and making an identical one with slightly different name fixed it 
True
this serves no other purpose than figuring out how to do this via arrays really, it's just a task i set for myself and it's not a part of a bigger project
what does this error mean I cannot find anything for it online?
show code, how far do you get?
you target is invalid and not pointing to anything
thx
In that case you can use "SetArrayElement" node and set each index with the corresponding z value
if you have to use arrays then, just add each z location to an array and do a for loop, storing the z location if its higher than the previous one that you checked against
You can also just call "Max" node for arrays of integers
@faint pasture
@hollow cove @runic terrace so sort of like this?
it spawns and the camera gets assigned, but i cant controll it or the UI stuff from the player controller dosent spawn
if you're making an array like that, you can just loop through the values using the array pin
then you'd have to get the location from the item pin from the for loop
It's easier to use a map variable
Component as the key
z value as the value
If you need to access the component through a list via a value
hes practicing with arrays to try and find the highest value so he just needs to loop through them all and store if the next value in the loop is higher
I really just want to load the transform info into the array
oh in that case do what spynora said with a map
still I have a mesh and not a transform, how can I get the transform details from a mesh node
baby woke up sorry, brb
if you have the floating spheres just use get location
mesh -> get world transform
then right click on the resulting pin and break it to get the z
then you can right click and split the transform if you need to
if you need just the location do get world location
transform includes rotation and scale
Got a new issue. When using the render event from before that waits until it is done to move on I want to be able to call that in a for each loop using an array of cameras. I need to be able to render, wait till that render is finished, swap to the next cam and repeat. The issue is that delay stuff doesnt seem to work in a for each loop
implement your own queue
For context this isnt for a game or anything that needs to be user friendly so the framerate could be super low
Why not
Render the camera with index 0, when done remove the index 0. Then render the new index 0
Or hold an integer and increment it each time a render is finished. Either works
I'm sorry I'm not quite grasping what you mean
Foreach loop works in a single frame and goes through all of the elements at once
In your case you don't want that
Gotcha
If you want to render the cameras one by one through an array, you can implement a queue. Only render the index 0, when finished remove the index 0 from the array. The next element will become the index 0 automatically.
@faint pasture ideas :/ ?
Thank you Ill checkout queues now
Try this @steady night
you need to set the pawn class for a player, not just the default overall
and make the functionality in the gamemode, just have something say "hey, this player uses this pawn class now"
using the split node?
right click the pin
do it when nothing is connected to it
you can split even further, like the location output
as you are only interested in Z after all
cool. I got the Z values in a float array now, awesome. thanks
how is that node called?
My unreal crashed and now the 2 blueprints that were open at that time cant save at all anymore. Any idea what is wrong?
I'm guessing only, but check your task manager, maybe it didn't crash completely and the instance is somehow running in the background thus preventing your new instance from saving?
Heres thee message
I only see one UnrealEditor in the manager
Ill try restarting
greater than
thank you
I just restarted so we will see
Didn't save?
@faint pasturehm like how :/
that worked
@runic terrace u know this would work ?
Thank you
I've always done it like this
It's not the only way
@runic terrace yeah ok but how would i make that work
Do you have a gamemode set or are you using a default one?
set
How can i fix this?
^ in gamemode
v in widget
hey @runic terrace, the part I asked for works perfectly. thanks 🙂 I've found another problem though, but I'll try to google a bit.
Glad to hear
Make the widget focusable
Or leave the "in widget to focus" blank
@runic terrace so i did everything i think it works so far but i still cant controll the pawn being spawned :/&
Try Set Input Mode to Game
is there something like "print once" node?
i mean the widget on the player controller dosent even spawn :/?
Override the key
cheers
The character chooser widget doesn't spawn?
@runic terracenah, i got a custom player controller tho do i need to asign that also ?
No, if it's set as default on the gamemode you don't need to reassign it
Ok I actually ended up with a more difficult thing for my level right now and I think it's time to chill with the dice a little. getting the actual value (or rather, when to read it) is challenging
yeah i need to do a custom event after i choose right
Nevermind the cast shouldn't fail, if it's a parent class
it did since its running before i choose
Why are you getting player character 0 and not self.possessedpawn?
so that worked
Shouldn't matter in singleplayer
its MP*
OH
but yeah nevermind
but now the UI spawns
but still no inputs
input mode did 0
@faint pasture self.possessedpawn?
Are you setting the input mode to Game Only?
Try, if it doesn't work there's something else wrong in the Character class
tried did nothing
Aren't you starting WITHOUT a character anyway?
Looks like this works but I still don't want to have this delay before the remove index
@faint pasture yes
So why are you getting player character, it won't have one
so i remade it it plays after i choose now,
so everything works on that end UI is created,
but still no inputs
stop getting things by index
What class is this code in?
question though. I have a boolean variable IsMoving (which is updated in event tick based on actor velocity), and in my BeginPlay the flow has the condition check for IsMoving. When begin play node launches and it reaches the IF IsMoving (and the actor is currently in motion) it will just take the current (IsMoving) status and end, rather than wait for any updates?
player controller
Can you show the Character Class's begin play?
Get Possessed Pawn if you want the possessed pawn at that current time, when do you call Start, after selecting a character and all that?
@runic terrace
yes
was this to me or BloodBanner?
Everyone lol
xd
What would you do instead?
GetPawn
What if the render takes more than 2 seconds?
Wasn't there a loop there before that checked if it's done?
oh it's in the render event, instead of the delay you should have that loop
So i need the loop twice?
And yeah thats why i dont want the delay haha
No, easiest way would be to create an event named "RenderComplete" and putting that in the place of the current delay.
it should trigger at the end of the Render loop
Nice find, it was all about the timing all along
This
Foreach loop represents your own loop
i would just call the other event
instead of this weird loop
but i can see that others might prefer the loop, so don't feel judged 😄
I'd use a timer instead tbh, looks cleaner
Hello guys ! why i just can't stop simulating physics when picking up object from ground and attaching it to hand socket, and then simulate physics back when its got dropped ? why i should use this PhysicConstraints and other stuff?
But works the same and this will do the least modifications to existing code
i wouldn't do the timer on the other hand 😄 (now you are judged! :p)
if I'd want to change the material of a mesh corresponding to the die roll face, is this how it could be done?
No, that would change it on all of the connected meshes. And probably wont work if the index is > 0
Ahhh lemme try that out
yeah that's exactly what happened
Ignore the cube numbers they're misplaced lol, you get the point
i would return the actor in the first place
find the highest and return it
maybe a function
I think I'm pushing it for no reason
got overexcited and wanted to do more than I can
pushing it is a good thing when learning
yes when you have some basic understanding, I'm very, very lost
understanding the flow of blueprints is quite difficult
like some basic things, like adding +1 to a result before printing it out, or adding things like** ("Result: " + string)**
rather than printing just the result
I'm rambling though, it's late
sorry
it won't take long before that's no longer an issue
I certainly hope so
This worked by adding a .5 second delay at the end of render but before it calls render complete so it definitely has enough time to finish
I think its working now though! I tried spamming objects to slow the game down and it still worked too
nice!
render targets are their own weirdo things
their creation/rendering gets enqueued and in my experience there isn't any guaranteed time when everything is prepared
What is the best way to learn blueprints for a complete tool of a beginner... named me?
depends™️
in the original loop instead of making another array and using the index, just return the actual item from the array
Awesome thank you. I will check that one out
I'll also check out the link you sent Ben. Thank you both
I'll have a look at that tomorrow, mr brain is already asleep
mine is messier
yes I know, a graph for ants
I mean, if it works, it works
You'll get used to good enough at some point lol
I wish
Somebody knows how to integrate "Close Combat: Fighter" and "Character Interaction"?
Are those marketplace assets?
Probably nobody, you'll have to just figure out how they work and do it.
yeah
That's why marketplace assets can suck, making them play nice together can be anywhere from trivial to a royal PITA, depending on how they are structured.
Yeah, every developer structures things differently and different assets don't always go well with each other.
i have a diabolical idea : if you want to encrypt the blueprints it would be cool if there was a plugin that jumbled all the nodes together in 1 spot
or is that just retarced
Why would you wanna do that lol
idk
Once you package the game you can't access blueprints anyway
damn
Yes, I agree, but I saw a guy on YouTube who was able to do this (by the way, not only these two assets)
maybe ill just pile all the nodes in to one spot and ask for a code review
It is possible, but it's unlikely there are poeple here that have experience with those two specific assets
Even if they do, there are tens of ways to integrade things together
Has anyone gotten the Alpha to works with a Render Target / SceneCaptureComponent2D when Exporting to Disk?
Any idea what settings to change?
I want to save custom Thumbnails for Icons that will show the units custom settings/Color/values
Does export doesn't do it correctly under asset actions?
oh nwm that's not what you need
Not sure but might have to do something with Capture Source "Scene Depth in A"
Try this
Sweep is enabled for my movement blueprint but I keep walking through walls... How would I begin diagnosing/resolving this?
I gave the player character a capsule collision box which I assigned a collision preset of Pawn and the walls are set to BlockAll
Walls set to Query & Physics?
yah, that's the default and it inverts the Alpha
I think i have to make it a Material and 1- it
I wonder why isn't here a non-inverted option for Alpha
I think so 
is the character collision the root component?
if not it won't sweep
I don't understand what that means 
is it like this ^
or like this?
root component is the highest component in the actor
sweep only works on it
This is what it looks like

Capsule is now the new root
but the player now spawns halfway through the floor
and I cant adjust the location of the capsule
Reposition the player spawn
Does anyone know any sort of unreal blueprint mentorship? I know there are programs but im looking for someone to teach me with my current project
your mind amazes me
thank you!!
but could you please explain the whole making the capsule the new root??
sweep only works if the root component is swept
is that why?
An actor is basically its root component, anything below is an attachment
If you hover over the sweep pin it tells you it only checks the root component
I see...
I'm using the Blueprint Debugger to monitor an array of actors I set to Watch. Everything looks fine when I open it, but after a few seconds the infomation stops changing to match what is going on in PIE. If I close and reopen the debugger it's up to date again, but falls out of sync again in a few seconds.
I'm having a weird issue in packaged build. If i click to open a level in main menu it doesn't work. But i can open it with a command. And a second level i have setup the exact same way does open from the menu. Also everything works perfect in standalone and pie.
The level I'm having trouble with uses world partition. Not sure if it's related.
What's the proper way to make a light turn on / off when a player walks near it? I tried toggling the visibility on/off, and I've also tried adjusting the light intensity from 0 to its normal value. Both of these options cause lag when a player does them, so I'm guessing there's some other way I should be doing it?
Anyone ever had issues trying to update a blackboard value?
What do you mean by "cause lag"
FPS drops when the light turns on
if i start the game with one of my npc's i can select them and move them around fine from updating the blackboard with a location. But if i spawn in an npc then i get the following error when i try to use the same function to update their blackboard location
"Blueprint Runtime Error: "Accessed None trying to read property CallFunc_GetBlackboard_ReturnValue". Node: Set Value as Vector Graph: EventGraph Function: Execute Ubergraph RTS Controller Blueprint: RTS_Controller"
Your light is way too expensive
It works fine if I have it on by default. Its just the process of turning it on from an off state that makes it happen.
What can I do to make it less expensive? It's just a default point light attached to a wall torch.
First avoid point lights. Make the attenuation as small as possible. Disable shadows if possible
Show code for switching light
What about the FPS when the light IS on?
is it a momentary drop or is it just bad with light on
60 with them on. drops to around 30 for a second or two when it turns on the first time. Then it can turn on / off without issue while remaining at 60
Probably doesnt help that I have two torches lighting at the same time (one on both sides)
how do you know it's not?
print the control rotation on tick
are P and Y changing or just Y?
i'm having a slight issue with a blueprint for a visual novel based game i'm trying to make from scratch in blueprint. I was following a tutorial for a while but have hit a brickwall in my blueprint. The BPI Gamemoderef, will not connect to a hud dialogue Ref.
Can somebody help me understand the difference between move to location, move to location simple, and move to location or actor?
In which cases do I want to be using which?
both, my camera moves on X but not on Y
Then your camera isn't set up to use control rotation pitch
What the hell is that 2nd interface call meant to actually do?
Who made this tutorial so we can yell at them
Poly maniac on youtube.
So what is that interface call on the game mode meant to do?
I am exceedingly new, what do you mean?
What does the input action for IA_Look look like?
uuuhhh...apparently it just references itself twice. I honestly do not know...
Yeah you should back up a bit and make sure you understand what all your current code is doing and why
show the other side of that call, show what your gamemode class does with that interface call, I'm morbidly curious
if it just returns itself as the specific type that's hilarious
Lol
no, the implementation in the gamemode bp
parameter to draw object ontop of entire scene?
this looks like you're in the interface bp
uhhh...I don't know where to click to show that.
open up your custom gamemode BP and then open that function up
I think it's just called BP_Gamemode in your case
Infinite loop of self references
would that cause trouble?
lmao
yeah that interface is goofy IMO
I suppose it's usable, anyway, print the result of GetGameMode
I bet this gamemode isn't being used
so the interface call fails
wait a second, what is the type of that return value?
uuuhhh which one?
also, do you suggest a source so i can brush up and study and feel less....green?
GameModeRef, what type is that parameter?
If it's just GameModeBase that's hilarious
That'd be like "Hey GameMode, gimme the GameMode" "OK here you go, it's me"
lmao
yeah don't trust ANYTHING from that tutorial
the blind being led by the blind type moment?
Change that type to BP_GameMode or whatever your custom gamemode class is and it'll "work"
very much so
unless the original intent was for the return type to be BP_GameMode in which case it would at least do something
still kinda goofy to have a whole interface to avoid casting
Show your camera rotation settings
I bet you just use control rotation yaw and not pitch
If that was unchecked here's what was happening.
Control rotation was being used for the PAWN's rotation, and only in yaw.
Camera was inheriting all that as it's attached.
Now your control rotation drives the pawns yaw, your cameras pitch, and your cameras yaw
control rotation is just a rotation that things can automagically opt in to using
how? Actually...i may scrap this and just get a different tutorial
I think you're nowhere near bringing interfaces etc into the mix, you should try to do something TINY
like, make a box move when you press buttons.
But the visual novel is like...just widgets for the most part.
True, just make sure you get the fundamentals. I would not add anything to the project as long as there's something you don't really get
Is it possible to pass a variable from my player character to another actor on EventBeginPlay using blueprint interfaces? I've watched so many videos on interfaces but I'm still struggling to understand. I get how you can tie interfaces into something like an overlap event but is there a way to do it without an overlap or trace? Maybe I'm trying to use interfaces the incorrect way but the reason I've been looking at them is because I'm trying to avoid casting when possible. Maybe the better question I should ask would be... Is there another way to pass a variable between actors without interaction or casting?
What is casting?
You should watch blueprint comms live training pinned here.
Why are you trying to avoid casting
Yes, you can get refs without interaction but in most cases it’s not the right choice
Who is it pinned under?
Hey when i use macro for this soft class reference and use that in other function it's giving this error , whats that meaning ?
Ah yes they made pins shit hold on. It’s at bottom of the list
Second to last
It's pinned under this channel. Click the pin icon and scroll all the way down and it's second to the last.
I think it wants you to put it in an actual event
Thanks!
you cant use latent functions in macros
I don’t think that’s right