#blueprint
402296 messages ยท Page 773 of 403
how exactly procedural?
just like this
https://www.youtube.com/watch?v=N6J2Zju_Y4I&t=462s
The Backrooms is a random, infinitely generated horror game that relies solely on atmosphere. I checked it out, so here's my review of this mini horror game.
Grab The Backrooms here:
https://www.reddit.com/r/playmygame/comments/c6a67v/the_backrooms_game_a_random_infinitely_generated/
Follow me on Twitter:
https://twitter.com/Forge_Labs
Vide...
planning on remaking this game
looks like a simple maze
yep, however I cant really find any tutorials on actual mazes
problem is I want to be able to add custom rooms in the generation, as well as different meshes spawning from time to time
@umbral ginkgoyou can turn the trigger box into a blueprint and spawn your actor from it
Thx will have to try it
@sand yacht you can make a number of prefab sections, add metadata specifying door position, and fill the level with those prefabs
Or brute force and just have overlapping sublevels and choose which one to load with a switch and a random int in range
thanks for the suggestions ill start looking into it
Im tring to create a steering wheel in VR that locks to your hand anyone have any resources to look at
Start with grabbing a ball. Once you got that, grab a wheel.
Thanks @faint pasture yeah I've got grabbing objects etc working however when I use for example Look at rotation, the rotation isnt around the x axis and once it reaches a certain value on the Y or Z axis it starts rotating backwards till it snaps to the other side
Is it possible to use soft references with Get Actor of Class node? I'm not sure if it makes sense as I will have to cast to it anyway so it will be always loaded regardless
Hi, so I have an issue where one of my blueprints acts weird and crashes the whole engine. I'm getting the " EXCEPTION_ACCESS_VIOLATION writing address 0x0000000000000030" error and when I remove it from Content browser, open project, project opens, and i can quickly pop the blueprint back in folder and open it - everything works. When I compile through VSCode 2019 then it passes aswell, what could be the problem?
Hard to say, you should download debugging symbols for the engine and paste call stack here
editor symbols for debugging from Epic Games Launcher "options"? I see it's roughly 36gb, it's not a problem but how would i use it?
When engine crashes you'll see more info about what happened, not just what you've posted so we can know what happened
@lyric marshif you still have issues you should ask this in #virtual-reality because hand tracking/motion controller tracking techniques are specific to VR
Anyone help, if I know packman moves 11 tiles per sec and a tile is 8x8, packman base speed would be 88 tiles per second.
Is there any math that I can use to covert this into the max walk speed of the character movement??
Please
tilespeed * tilesize
altho your sentence doesnt make sense to me
either the speed is 11 tiles/sec or its 88 tiles/sec
I will have wrote it down wrong, now that's cleared up though, how would I if possible get the 88 pixels per sec to a number character move could use ?
I awful at maths like really bad so I hit walls when math becomes involved
I'm just going with tile based approach, with some interp in between.
Interp between ??
One thing I'm not using it tiles so ATM I don't have anything which says it's travelling between tile A to B at this speed
Interp between grid / tile.
So instead of moving X pixels per second, move X tiles per second, and have interpolation in between.
That is if you want to replicate pacman the way it supposed to be.
Well kinda of I think I am to far in to start redoing how player works so was just wondering if there was math to be able to take know values and workout best speed value kind of
Or I'll have to do it by eye
the math is just distance you wanna travel over time ,
so again, tilesize * tiles per second (11)
gives you the speed
if your tilesize is 88uu then yes
Don't have a tile size as I'm not running based on tiles, in simple terms it's a mesh of map, approx size of packman and ghost
Ghost use ai controller standard
Tells me nothing, but as long as you know that's the equivalence of your tilesize, then good stuff (Y)
So they don't adhere to tiles etc and packman is top down character stripped with wasd control method
Tilesize == the size of whatever you call a tile
I don't call anything a tile, I'm feeling like I might have to do this by eye.
If you dont call anything a tile, then why do you care about pacmans tilespeed? its not gonna translate to anything
Because the packman game uses tiles so it's speed is based on the 11 tiles per secs etc
right,, so you need a comparable reference.
If you dont have that, the entire idea of equivalent speed goes out the window
Yeah I'm thinking I'll just have to time packman moving in game and math it best I can with my version
Just abouts
So then you know the just abouts tilesize aswell.
Easier to alter it if not its only mesh end of the day
if ur not sure, you can always make a editor bp to measure.
Well my mesh is in blender and I have a top down ref of the map
You have to make some kind of imaginary reference between the pixels and the measurement in Unreal
Let's assume, one pixel's length is 1m
So, 11 pixels/sec = 11 m / sec
Or 1100 cm/sec
Super easy measuring;
Measurepoint is just actor. Measures the accumulative distance between all the measurepoints
in your case, just use 2.
Hello everyone ,
I'm facing situation which sounds easy to solve, but i'm unable to figureout good solution.
I have 5 UI panel at different location (same class)
at every location I want to give value in public variable
such as, at location 1 Apple value is 5 ; but at location 2 Apple value is 15 , and 99 at 3rd location n so on..
and I want to print these values, as per location button is pressed.
any kind of help , idea , suggestion would be appreciated.
thanks ๐
guess you want it in uu, so just dont divide float by 100.
So I would need these message boxes in the world which pacman would be passing through
Sorry messurepoint ??
Nope, this is just for measureing your mesh, since you tell me you dont know the size of a tile
- fixed
Ohh
so just add them to the scene, 1 measurer and 2 measure points;
then click "Measure" on the measure actor
Rightt
appears when Call in Editor is set.
The actor would be the maze mesh
the mesh you're measuring, yes
Right I'll give this ago tonight then see how far I get
this is just to get the relative size of your tiles/map, not ment to be used in the game
In the screenshot I sent I have the pixels of the map not sure if that helps
seems like ur very close to just knowing the distance tho
the green line is your tilesize
from wall to corner
Rightt
They're still just pixels, Unreal uses centimetres
we cannot directly convert from pixel to cm
We need some kind of arbitrary value to multiply the pixel by
Use @gentle urchin method to measure your map tiles, then you can determine the speed
any idea if epic games servers are down or something? I've been trying to download the debugger symbols feature but it's stuck at trying to download. it says "We're sorry, looks like we have trouble connecting. We'll try again" - using 4.27.1 (Updating 0.0/3.3gb) (using stable connection never had such issue before..)
Had the same issue. Only reinstall works
is there a way to switch between the two rotation types in blueprint?
Can you send this again some of it is blury ??
it's not blurry ๐ค
Oh prob my phone then
@spice smelt I believe there are separate nodes for setting location rotation in relative/world space
I'm looking through discord on my phone so prob that
yeah, but that's what they do, they set it; I want to change the behaviour of the object when the object it's attached to changes its transform
when you set that to world, the attached object ignores its owner rotations
@spice smelt world and relative location both exist all the time
You cannot change the behaviour from one space to other. Objects exist in both spaces simultaneously
you can change the behaviour, it's as easy as clicking on that dropdown ๐ I just can't find a way to change it via code
You don't change the behaviour, you just change the way of looking at the value
I'm seeing a very different behaviour here (i'm rotating the cube)
The very answer to this question says to change the rotation type ("Attach component to actor without following rotation?")
https://answers.unrealengine.com/questions/986012/attach-component-to-actor-without-following-rotati.html
Thanks it's my stupid phone I'll need to wait until tonight when I'm on my pc to load up discord on there things will show much clearer then
Thanks for resending it though appreciated
if ur just viewing it in discord its heavily compressed. you must download it if on the phone ๐
restarting pc worked instead,(it starts verifying and then installing debugger) reinstalling wasn't necessary thought it would be good to know for future cases.
thanks
Since when is that a thing? Is it new?
you're asking the wrong person ๐
Uh since when is this a thing?
think it's been there for a while
so back to my question, no way of changing it in blueprint? I tried anything with "rotate", "rotation" but no autocomplete on that regard came out
having an issue in VR whenever i try to teleport through a door its porting me onto the roof
how can i prevent that? same thing if i put the teleport arrow on the wall it will take me onto the roof, i want to disable that possibility
@spice smelt wouldn't you just have the cylinder not parented to the cube and rotate them independently
Still in the same BP
no because i still need them to behave as relative with location and scaling
Here's my NavMeshBounds doorways its extremely narrow, how can i adjust this?
imagine a camera on the commander cupola of a tank, you might want it parented to the cupola, but without following its parent rotations
Id use a socket for that
NM i think I got it, How can you prevent teleporting and your shoulder is inside a wall?
Huh, I just tried this
I never knew this ๐ค
@unique falcon Did you get your projection working? I hadn't seen that way of doing it before so I'm curious if that worked for you.
There doesn't seem a way to do it via Blueprints,
But you could do it on your own using SetWorldRotation
no docs on this either ๐ค
This works
But we're manually setting the rotation here
Is there similar node but for blueprints? I want to place random blueprint actor. Currently it works only with mesh since I could only find the static mesh node
@gentle urchin so found this which helps alot kinda shows where tiles would be
Random BP actor huh... Spawn Actor From Class but with some logic determining the class.
Don't think there's a way to change the class after spawning
https://pacman.holenet.info/ << This has literally all the info you have been looking at from other places
I had a use case for this too but I was lazy and ended up setting rotation on tick ๐
Thinking about it again, there might be a hare brained workaround where you have a scene component attached to the tank body (or whatever the working metaphor is) that has the special world rotation setting on it, and then dynamically detach/reattach the turret component to the tank body or the scene component depending on the desired transform-inheritance behavior.
Omg that's awsome that
That should help hopefully once this speed thing is sorted which I'll try tonight
What would be best way of the level system. Like could I create a table which has the levels and what values need setting on each level
Then when a new newlevel start increment level and pull through the needed values for that variable ?
Trying to understand the Primary Data Asset (PDA)and Data Asset (DA) relationship but having an issue. When I create a PDA with the variables I need, then create a DA from said PDA, none of the variables show up on the DA. What am I doing wrong?
Level as in map or level as in character level?
Data assets are weird. Dunno where you went wrong but I'll briefly describe the workflow.
Make a new BP class with the parent class, Primary Data Asset. Add a variable for testing. Compile/save.
Make a new asset of type: Miscellaneous --> Data Asset ... and select the PDA class you just made. If you open your new data asset, you should see the variable, and the parent class (top right of UI) should end with an "_C"
here's a Mathew Wadstein video on it: https://www.youtube.com/watch?v=hcwo5m8E_1o
Yeah, that is the video and process I was following. Looks like it is bugged in 5.0 as I just tested in 4.27 and works as expected.
oh ok, couldn't tell you about UE5
the more I hear about UE5, the more I'm certain my current project wouldn't survive the migration...
Yeah, coming back to Unreal after 10 years in Unity and thought I would give 5 a go, but looks like it still needs to cook awhile longer.
Level as in map, the map remains same but with each increase in level changes are applied, sped up ghost and pm changes if spawn fruit etc
I want a way to same at this level, these are setting to apply to everything. Then next level apply all these setting.
Is it data struct I'm thinking of ??
GameMode or GameStaye should have some function or event to set the new level. You can either use math or a data table to drive the various data based on current level.
Hello. How can I make a high resolution screenshot of the level for my minimap and bigmap?
Quick math question: I have float range in 0 - 100 (0 = blue team, 100 = red team). I want flag be y = 250 at float 100 and 0 but when float is 50 flag y = 50. Like Conquest flag system.
Like this
look
think of it as range 0-50
move score from (0 to - 100) to (-50 to 50)
that's even better^
can anyone tell me where my error is?
yes, between keyboard and chair^
then it is just (Score of 50 = 100% of Flag max Height; Score of 25 = 50% of Flag max Height)
Okay!
@silver river is that self made or imported ?
Also I seem to have an error here, anyone know what might be the cause?
answer my Question maby ?
he's just copy pasting from blueprints from hell -.-
xD
just googled it guys, tryna be funny here
Is there also a cleanest BP thing?
what do you wanna see? an empty graph?
with a comment "Look at c++ sources for details"
I want to see extremely pixel perfect straight lines
Got a question too btw.
Trying out some stuff with data bases
and came to this
the thing i am missin there is the force to manipulate not just which item is stored
i want to manipulate the amount aswell
dont know how to make it tough
is the storage component self made?
yea
then change that array to an map, which has the item first, and integer as key (for the amount)
Hi, i created a int variable that i setup to 0 when Ai enemy reach a targetpoint, now i want to tell to the Ai AnimBP to play an animation when this happen
this ?
i calle d the variable and check if below 1
get anim instance on the mesh => play slot montage
that slot should be added to your animation blueprint, how it overrides the actual behavior is up to you, as you have to implement the slot in your animation flow somehow
slot montage should perform better than polling the value each frame
yes, the last one
its grayed out
that's weird, what is the datatype of the array?
Heyo - What's the best method for attaching a static mesh to another mesh at a specific location? I thought it would be 'AttachActortoActor' or 'AttachComponenttoComponent' but it doesn't allow me to enter a specific location.
ok thx
I'm trying to make it so the player can place mines on objects at specific locations
@spark steppe Data Table Row
How to disable cursor ray-cast so that it does not react to collisions
I think the problem is here:
both(?) allow you to set the socket name
can you try to create a new variable, make it a map first and then change the datatypes?
So you're saying detect the hit of where the player is placing it, and get the nearest socket name to attach to? Does it have to be a socket though?
use another channel for the cursor cast
I don't necessarily want it to attach to a socket - I'd like to be able to place it anywhere on the mesh surface
then your best bet is to attach it to no socket (None) and use set relative transform/location, after attaching it, to set the offset
Ah good call, thank you!
@spark steppe Sure i can do it, thing is that i lose the functionality of this heavenly Drop-down menu i can select my item with:
If possible, more details please, I'm just learning.
you are currentliy casting on visibility channel which includes pretty much all colliders, you can change that to other channels tho
but i'm not sure if you get a good result if it doesn't collide with anything either
what is wrong with it colliding with anything btw?
I get character rotation from all objects that have collision
i have no idea on that one, sorry
no, you get the location of them and the rotation relative to your player actor
well, custom collision channels are the way to go to exclude/include certain things to respond to traces
and then you can cast on that channel
https://www.youtube.com/watch?v=O8aV86Gdce8 this may help
You can't use a structure as the key for a map, that's why it's greyed out. Change the variable temporarily to an integer or something like that, then change it to a map, then you can specify your structure as the value, and whatever you wish as the key.
but it also depends on what behavior you actually want, so it's hard to point you in a certain direction
@spark steppe Worked perfectly, much appreciated!
doesn't help him, he wants to add an amount to the row data (for inventory probably)
so he would need the amount as value and the struct as key
maybe you can make a custom struct which has the data table row struct and an integer?
had internet timeout
last thing i asked how you would setup a storage box system where you can individually decide whats and how much is inside
Seems a little messy of a system to make things slightly easier on the developer's end.
One could easily use a map variable with a just the row name as the key and an integer for a quantity. Assuming all your items are in the same table of course.
sure
guys.... i want to know if the custom struct works ๐
can't launch the engine right now
what happend ?
yea create a new struct, add the data table row struct as one field, and an integer for the amount as 2nd field
then you could use that struct on an array
however, it's less optimal, as searching for items is pretty much like unfolding russian dolls ๐
trying right now with a little clucky idea
to add in a second tab i can change amount
thanks
guess you could make a custom struct in c++ which has the amount value in the row description
Is there an Construction script for Actor Components ?
no
something similar ?
well, the c++ struct also loses the search function for row names
which is it?
it's weird that it loses it's functionality, the editor probably has some edge case which adds the search method for exactly that one struct
i add another list to it
once i got to set another Amount for something ( like coins) i can update by a funciton and then set it to the desired amount
yea, but that's nuts
Agreed
as you could have an item with the same name in 2 different tables
maybe not in your game, but generally speaking
what is this for?
You really should only be using the data table row as a means of reading the details of an item.
The row name can be used as an "ID" for the item. You then use that "ID" as the key in a map, with the value as an integer for the quantity, and there is your inventory.
If you're going to have item slots where you can have the same item in multiple places in your inventory, then you do a custom struct array but you don't need to store the reference to the data table still.. Just the item ID, and a quantity for each slot.
...
you can do something hack-y... calling a custom function in a component via the host's construction script. But you can't get instance-overridden variables/data from the component; I've tried. I'm not quite sure if setting variables on the component also works this way. I have some vague recollection that it does weird things, so you should use BeginPlay for doing anything real for setting things dynamically on components.
Using an editor-only function (or editor utility widget) like you're doing is OK though for level design purposes.
cpp has InitializeComponent
you could have a function be called there. but that's not the same as construction script to be fair
at the end it might be just a waste of some RAM and CPU
so.... why do you need to expose data tables?
to change loot inside
data tables can't be changed
outside of the data table editor
they're supposed to be static data
he uses a array of row handles to define the loot on the lootbox actor
so he can select items from his table
what you're probably looking for is something like a DataAsset
A data table would represent ALL loot available in the game or whatever. Loot inside something should be an array of structs or handles or something like it.
that's what he does^
that's not the same. structs already aren't really mutable in blueprint, so anything with setting a row handle will be hacky at best
I have a general, somewhat academic BP question. What's the closest thing to making a globally accessible variable? Niagara and the Material Graph have an asset type called a "parameter collection" that, once made, can be slapped onto any graph/module, and that's pretty convenient. But for BP, I have to find and/or cast to a manager class, and manipulate an object reference to get the data out of it. I'm wondering if BP has a formal system that's more like a Parameter Collection.
@waxen gull I would take a look at DataAssets and see if they could work for you
Subsystems are globals you can just reach into if that's a thing you're interested in
i think you just have to ask an moderator to give you permission to stream here
they are in the user list on top?! ๐
subsystems
Message @torn kettle with !stream command.
they solve problems like nothing else
@faint pasture@odd ember thanks... I'm looking into it
Just make sure you don't get strike because of this...
ohh k
Delete it, for your own safety.
lol
I was thinking Data Table as I can define variables for each level entry can't i then pull out the values at the right times
Ya, row being level, data being a struct representing all the data you need.
This measure point has the codeing, what would i be putting into the BP Measure ??
hey guys, is it possible to have an editable parameter feeding this sign node?
I mean for something as simple as pacman you could define the levels through curves or math
k
static immutable data is only for games where it's really necessary. if it can be represented easier it should
nothing at all. We're just using it for its world location
So at the moment i have 2 measure point in the world and one measure
the measurepoint has the code
fair enough
and the measure actor is empty so far
you did it the other way around but its ok ๐
do I have this wrong way round
now just drop 2 measure points in the map
and press the magic measure
ignore the bp_measure , it can be deleted
thats the two white blobs next to each other
select one of them
and press the 'measure' button
in the details panel
a print should show up in the left corner of the viewport
well i did have print string meter but then saw you changed it to say uu instad
*instead
2497 is your movespeed
which is quite high
11 tiles per second
you'll fly through the map
TRON got nothing on you
in what way
let me check
im not scientific,
but looks closer to like 9?
tiles per sec
well anyways
play it out and test it
If its to fast just adjust it
Can anyone tell me how I can teleport my player to the end position of the cinematics camera?
Anyone that has experience parsing info from json using varest? cant wrap my head around it !
there is a teleport node
json is only available in #cpp generally. unless varest is a plugin, in which case I'd recommend #plugin-dev
I've tried that, however when I get my camera actor and get its position and rotation, it positions the player in the right place, but even if i hook up the camera's rotation, its not in the right direction
opposite direction actually
@odd ember thank you - ill check out #plugin-dev ๐
sounds weird. if you have to pan the camera back you can use SetViewTargetWithBlend
Is there a way to set Max Velocity of a player. I use Add force to fly around, and would like to create a cap for it while still keeping control.
is it a character?
900 odd would be
[22:11]
600 is defualt foir player charactor
what's the issue?
so i've been trying to work out pac man speed
so far we have worked out that 8 tile size which is what the game uses turns out to be 2470 odd uu
which turns into something like 900 roughly speed way to fast in UE4
Pacman moves 11 tiles per second or 88px/sec so move him at that based on your chosen px size. I'd just do 1uu=1px to make things easy.
Then you can directly translate everything.
^thats why the relative distance was part of it. Measuring the relative size, one tile (8 pix) is now translated to 227uu
which makes for an insane movespeed
Everything is relative, just choose your scaling factor and go from there. I'd do 1px=1uu or 10uu
Yeah, its a character
so what would that mean for me if I did that ??
That would mean you can just translate everything with the exact same numbers
it should all be under the Flying movement mode
on the CMC
this translate i'm not really getting
so what i need to be doing is checking my map size then at this stage
LogBlueprintUserMessages: [BP_MeasurePoint2] Distnace: 3,084.004uu
Pick a f****** scaling factor and stick with it.
so far that is the UU map size across
I would go with one pixel equal one Unreal Unit. Then you don't have to do any math
Make the map 224x288
Etc
well i am concerned the map size of the would be tiny
as the 224x288 in pacman game terms is in pixels
maybe just realize that you can't translate the speed 1:1
and focus on trying to match it as much as possible
a 10 min job instead of a 4 hour job
well i had a thought today to eye it from playing the game
You can if your scale isn't off in like seven different f****** ways. Just match everything up pixel to uu and it'll be exactly the same
Or pick whatever ratio you want to scale things up by, it doesn't make a difference in the end other than making your job more difficult
so time a simple movement from the classic game and match in ue4 version
I'm not using the flying mode though. It's for a Grapple ability
It keeps adding force, and I want to set a hard Velocity Limit
yeah all this pixel to UU stuff etc literally only been mentioned to me today so trying to replicate the move speed from a game that uses tiles to calculate speed to a Ue4 method i'm not 100% fast at getting there
so we have 3.5 seconds for pacman to travel from left map edge to right
so @gentle urchin never guess what
I am fucking going bonkers. I started a fresh level. I imported the top down starter content. I put in player spawn point and set the world settings to include the character, game controller, and game mode BP's and my move command will not trigger. My inputs are going through, but I don't know here it broke. Is there is setting someone where i have to click?\
try in #legacy-physics
well just tried and 3.5 seconds to travel from left to right, in UE4 for it to roughly match I am looking at pacman going about 800 roughly
Set his speed to 88, make a tile size 11, and call it a damn day lol.
It's not rocket surgery
abd he is zoom zoom
Or just interp movement between tile, problem solved.
i'm not using tiles
eyeball it
one thing i havn't copied but may as well have is the movement isn't base on tiles like it is in the classic game so taking the tile size 11 and setting his speed to 88 isn't an option unless i gut everything and start again making things with tiles being the method of movement
I am or at least for now I'm gonna go with what I have
the speed roughly works he just zoomy for now
So, you're essentially making PacMan clone, is that correct?
Dude if you want a 1:1, just do literally that. Copy sizes and speed 1:1. It'll match up pretty much exactly.
technically yet but the goal wasn't to copy exact
But mechanically faithful to Pacman?
It'll get you closer than eyeballing it when the numbers you need are right on Google.
to get the same things implemented into UE4 so for once I myself can say yes it's a copy but still a working game on this occasion based on something already out there
one thing I have major issues with is i'll start out with a game idea and will lose track it'll then be disgarded
so this way i can prove to myself I can kinda do with my mind put to it
If it's not going to be mechanically faithful to PacMan mechanics, might as well treat it as a generic maze game.
well i'll get it as close as I can to Pacman
welcome to game development
but so far sounds like i've gone about things movement in this case completey wrong way round
but ha ho see how fair i get before i shelf it
2Pacman
I don't think copying it is going to net you the results
you can't translate pixels 1:1 to units
If you want to be faithful with Pacman mechanics, use the tile based movement. I never said teleport from one tile to another, but use the tile to make interpolated movement between tiles.
well from what i can see from reading up on something provided by someone else in here , the movment is constant
And why not? Assuming the pixels are square it'll get you in the right place.
and the Tiles tell the game firstly when the actor is
and then when it comes to option what way payer can turn
go to one tile to another in constant rate, interpolate the movement in between. you get yourself a pacman movement.
for example AI has a target but only decides one tile ahead of it's current
What's the difference between that and just walking at a constant speed? It's literally the same
Unless he can clip corners
Literally the same, but lest you get the tile based movement, because pixel accuracy is defenestrated in most cases in vanilla pacman.
So you're saying turns and stops can only happen at tiles.
If that's the case then yeah I'd just pathfind to 1 tile away
turns can only happen at tiles the allow it
the AI will never full 180 as it has 4 option
left, up, down, right
because you're treating the camera as if it's the same as it was in pacman. the screen distance would need to be identical. teh amount of orthography etc.
only time it will full 180 is when in chase
That's easy to do. I see no reason why you couldn't get everything exactly the same unless it had non-square pixels or some other weirdness. It'd be a lot closer starting point than just basing the scale around the default CMC movement speed which I'm assuming is what happened here
The only time when pixel accurate collision matters in Pacman is collisions with ghosts against Pacman.
yeah the collision is base on centre pixel of the ghost being in same tile of the centre pacman pixel
there a glitch you can do in classic game that if you can cross into a another tile and ghost is crossing into your tile exacly the game won't detect a collision
you could, but it would take time figuring stuff out. as opposed to eyeballing it, which would be at most a 10 min job
sometimes it's not worth going the hard way
I'd say this is one such case
for something I'm not releasing this plus tpacman would sue me i'm not fussed about being dead accurate to the extreme
nor does it matter
small imprecisions in game speed are not really perceptible
so you could just have a side by side comparison with the game and tune it
yeah improvements can always be made
but you could find as well that having the exact game speed is a detriment etc.
I'm trying to make a rotate function that lets me move a camera centered around an actor. I have a spring arm with the camera attached and the mouse moves the camera but everything is sluggish. It's not just slow, it seems like it's resisting movement at some points. Any ideas? Here's my BP.
we're in the realm of design, so some level of intangibility is OK. as long as you don't rely on it excessively
can you show an example of what you're trying to accomplish? just posting your logic isn't going to help
I know about Set view target with blend, is it possible to keep cinematics from stopping automatically, blending the cinematic camera to the player camera, and then stop it?
ask in #cinematics
I did last time no one answered
^
Well I asked a different question
no one answered
@odd ember
this is what I'm going for
and this is what mine looks like
seems like regular camera pan, should be a million tutorials on youtube for this
I looked at some forum posts to get the gist of it and then tried to do it myself probably should have just done that from the start
@odd ember so managed to get some pacman patrolling pattern going
which actually work quite well all rand from the Ai Director like you mentioned other day
AI directors are the bomb diggity
yes
what i like about this which i've managed to do with you guide of course of get the AI Director to do the work let AI just request means I can keep BT clean and providing the AI Director is in the world the AI will have a Ref to it
plus all i do is give the AI Director the locations in an array and walla it'll increment etc
that's how it should be
it's stuff like this that avoids you painting yourself into corners with solutions that are too specific
how you mean ??
well consider all the solutions that didnt work
because there was too much stuff in one place
true
I think you'd benefit from popping the coordinates into a grid or step size though
how difficult would it be so pick whip an actor from the actor to grab it's vector
so they always go towards the center of a "tile", even if a tile doesn't exist
pick whip?
you so in photoshop you can select a colour from a colour of a pixel
trying to think of examples
it's fine if not just thought how hard would it be to implemnet only for editor functions like
there is a color picker already in unreal
it allows you to pick color from anywhere too, viewport included
so could i make something to do same for other things ??
what do you want to do?
i was just gonna for quickness select the targetpoints for the arrays instead of copy and paste but it's not essiental
I want to go more on this you've mentioned
this
well
if you consider that you have an AI director, you can also have a grid manager
that manages the grid
brb gonna grab me a cuppa
that you can then query for locations
so let's say you have an approximate location, you could feed that into the grid manager and it would give you the center of the nearest tile
i'm back
i like the thinking
that would mean when in chase move they will still try to catch player but would be centre of grid which means as this is bassically a grid they would be going to places roughly central
how do i get all children of a class as an array
it would also mean that you can give out random coordinates on the grid instead of needing to necessarily feed exact coordinates in for the ghosts
Looking for some input/ideas. Lets suppose I spawn 1000 actors with a billboard component that always faces the camera. Think of it like a real estate listing. When zooming out in a browser, these points get grouped together. So if a number of actors are within a given radius, they would get grouped into a single actor and displayed as one. But when zooming in, they would ungroup, and appear at their proper position. Any ideas as to how to best achieve this?
so it becomes more about what kind of pattern the ghosts have
and feeding them coodinates that fit that pattern
hmmmm
so you'll have less manual input
well the ghost idea is they have patterns
yep but currently you set those up manually right?
with a system like this you could automate it
the chase stuff yeah
oh okay
they grab random from nav mesh could be up against a wall etc
what would be better is only give the location if it's not up against a wall
the grid manager could definitely still help align them
also
I would turn the ghosts so they face forward
towards the camera
also there isn't a way to keep them central to nav mesh ??
hmm well they look toward travel direction at min
automatically? no, that would go against navmesh design
camera is looking from above
oh yeah so turn there mesh
they don't have that ghost shape
hang on I know what you mean
why is this not working. Trying to spawn in an actor and attach it to a game object but the final 'attach actor to component' bit messes it up. How do I fix this or is there a different way to achieve this?
so like that
yep!
and then by turning off the contrller yaw they always face same way
the actor bounds can stay the same, the mesh turning is just visual
yeah well thats what i've done
try snap to target
location
k
but going back to this, making a grid manager seems like a good idea here
i do like the idea if i'm honest
it will keep all movement consistent
could i maybe use the Grid then to grab a path so get a path to a location using the grid ??
that's a little more complex but you can definitely grab a path and just feed each point of the path into the grid manager
before allowing AI to move to that point
you could do it as part of the new location request
have it request a location which would be player for example and return it a location to move to and repeat that
Snap to target doesnt seem to exist in the player bp
that's all it's doing now for the patrol thing increments on index it was on
instead of "keep relative" pick "snap to target" in location
when you attach
@odd ember what you think best Ghost smooth rotates to travel direction of always stays upright with movment ?
I think that's up to you. classic is always upright, but maybe there's some flair to knowing which direction a ghost is heading
@odd ember Thx man much appreciated as always
i think i prefer the rotate to face just smoother
ok, you can use something RinterpTo
or FinterpTo
cmove has something already i think see how that works first
sure
@odd ember if I have a button and i don't the text on the button to cause issue what would i set so it's not detected is it non hit or something ??
found it
does a boolean return to false if its condition is not currently met?
I know in traditional languages you'd use an if/else statement
a boolean stays whatever its set. it doesn't change unless you change it somewhere
but if it's a function of something then it can change
K thats what I thought
Do you have an idea how to make some sort of condition where an actor can only be spawned once until destroyed where it can be spawned once more and so on?
Hey do someone know how to make a trapdoor that have 2x door open like this but it should be something like Squid Game that when a player go on it then maybe it go off or maybe not. hope someone that can help me with that
i know its something with box trigger or something but i dont know how to set it up
made it work like this but the trap go off when i click play
how does one just play a single animation then return back to the anim blueprint? play animation doesnt return to the blueprint. would play montage do that?
is it a answer to me or do you ask? @dreamy ice
im asking lol
ok sorry ๐
Use a collision box and do an OnEventOverlap event.
Hey guys. I have a bullet decal spawn each time the projectile hits the wall, but I'm trying to shrink it down so its not as big when it spawns.
This is my setup for it. I also tried shrinking the PNG itself. Any thoughts?
Edit: just figured it out myself. rip
Of course it goes off when you click play, thats exactly what you are telling it to do
When do you want it to go off?
One thing at a time. You want it to go off when a player goes on it.
You want Event Begin Overlap
The Trap Actor needs a trigger volume, I'd add a box collision, set it to overlap pawn.
or Playform_glass rather
can i share screen so you can see if i do it right
Sure
should i call you or where do you want to
call is fine
hello, im trying to get the turret to shoot the first enemy with tag that come in contact with it attack range then once it die, go to the next enemy, but i dont know how to get the array's location and such, is there another way?
it point down when i have that ^ code above
another way is to take a look AI and do it that way
how would i do that?
behavior tree is your friend
that and perception
Is this gross and bad or ok? Sick of managing camera actors or components for our floaty camera
The actual math will be a lot more involved but that's the general shape of it
just PC drives a position and rotation around that is used as point of view
Do you think it's a valid way to ensure there's only one instance of an actor on the level?
I wouldn't rely on that
I'm not 100% sure if there were 2 that they'd not destroy each other
Enforce it from somewhere else like Gamemode
Hm
Something like this in game mode.
Not just destroy actor?๐ค
You can only ever call destroy actor from the actor itself.
they should have thought of this in highlander
lol
Hello. I have an architecture question. I have an WareHouse Actor and a Ship Pawn. Now I want those actors to have a selection glow when I select them. I could make a parent Blueprint SelectableAbstractBlueprint or something and have the warehouse inherit from that. But the Ship is a pawn so I won't be able to inherit from the SelectableActorBlueprint. How do I go from here without having duplicate code laying around?
Maybe a component. If they share a component, and your selection tool can check for & get the component from the actor, then the component can pull double duty as an interface
in addition to doing the usual stuff of giving the host actor more functionality (selection glow and other game logic related to being selected)
Alright thanks. I'll look into making a component for that. I was also just reading about macro's but I think the component functionality is a good way to dive deeper into.
How can I do something to an object that a radial force object affects?
what seanny said. Put the outline logic in a component, slap it on an actor
Ex: I shoot a rocket, how can I make the explosion(radial force) effects multiple objects
force affects phsyics object
No I have the knockback working, I need to be able to deal damage to what It hits
SO I just need to get the object that the force hits
hmm
you could use GetAllOverlappedActors
i believe that has a radius
SphereOverlapActors, thats the one
because its a one time thing, no need for a sphere component
try #multiplayer
do you have an example, Im a bit confused
i dont, but mr Wadstein does: https://www.youtube.com/watch?v=Wlq_Ir-Ve3Q
Accessed none even when variable is not unassigned/null
Inside an animation blueprint
But the variable is null
It isn't
You can see the orange execution line going through the 'Is Not Valid' node
The variable 'Sonva' is not valid
you want this node
Yes thats why i connected the not valid branch, to show it isnt valid
His node is the same one though
but the variable is assigned
its not though
It's just compact
Didn't work
wtf? never seen that
You have connected both the 'Is Valid' and 'Is Not Valid' pins to the same node
It'll go ahead whether the variable was null or not
You should only use the 'Is Valid' node
I only connected the not valid to show its not valid when getting a screenshot
that isnt the problem
the way im reading that is when IsNotValid, it is trying to set the bool variable on a reference that doesnt exist
Reference exists, not valid for some reason
maybe use two setter nodes, one for is and the other for is not
Are you sure the variable is valid?
reference doesnt exist when not valid, but your telling it to get the bool variable
You can right click on a 'get' node and convert it to 'Validated Get' which is just a compact version of what you've suggested
get rid of this
duplicate your Set IsAFK
and set the checkbox for one to be on and the other to be off
But he needs to access the variable from 'Sonva' though
and unless there is a way to determine when the player goes AFK, it would be better to update this variable on the event
if Sonva is set in this bp... and the variable to be set is in this bp...
I suppose the error is only coming up for a split second at beginning and does not appear after that?
I found the problem
I have a parent animBP that I derive my animBP's from
Child animBP's don't work for some reason
this is the child anim?
this is parent
do the child animbp's have the same stuff?
you may want to print string the cast failed to see if the child anim bp is failing to "get pawn owner"
No
I have it set up like this because I don't want to repeat code on different animBP's
then... the child anim bp's dont ever call either events...?
like.. are the child abp blank or do they have the parent calls?
Oh yeah Im calling
Shouldn't Child BP's call these events anyway? We don't have control over those
Ah, we do have control,
my bad
I dont think it matters though, it called by default
I called it just in case that was the problem
where's the begin play one for the child abp?
you've got Event Begin Play > Parent: Begin Play in that child abp too?
Yeah
silly, but i must ask, do these users of the child abp have it hooked up in their bp?
sorry, not the anim bp, the character bp
I am trying to reference the location of my character and the location of my bomb spawn so that I can control the rotation of the spawn of the bomb explosion, how do I reference the player character in another blueprint? I am missing reference at GetActorLocation
you can use GetPlayerCharacter
is there actually no built in way to create a blueprint set from a blueprint array?
This just seems like such a common thing I can't believe it doesn't exist
am I missing something here?
bp set?
Can you show your character BP? Where you set the AnimBP option on a skeletal mesh
btw What about this?
yeah bp set
ah bp set... ๐ i dont know what that is
wait, cant that just be a for loop of the array to feed the set?
yeah that is all it is but I just can't believe they don't have it
they have set to array
but they don't have the opposite - array to set
wouldnt it be due to the limitations of the set?
like if you have a bp array of the same thing 3 times, it wouldnt translate to the set
well in that case I would expect a set with one element
theres nothing incorrect about that
TSet constructor can take a TArray
I don't know why this isn't exposed in BP
How do I get the rotation between my character and bomb spawn location? I think there is something small I am forgetting here
Don't waste your energy on this
Blueprints were not meant to be a replacement to C++. They were meant to allow Designers to take over simple things, until users started making full games in them.
The support for Blueprints is, and will always be, limited.
You will find limits in every direction.
I just created a macro to do it for now
ty will give it a go
Still think it is weird that they don't have it
Yeah or write a quick C++ static function or so.
actually wait, i misread your question
You are doing the math very wrong
You are normalizing a Location
Which completely changes it
You ever only need to normalize directions
Well, +-
Rotation between Character and Bomb depends on what you want that to be
find look at rotation => https://docs.unrealengine.com/4.27/en-US/BlueprintAPI/Math/Rotator/FindLookatRotation/
Angle between Character Forward and Direction from Character to Bomb?
Or just the Direction from Char to Bomb turned into a Rotation, like Ben posted
hey guys i just started learning unreal engine today and i'm making a basic fps. i have experience with java. i have an event for taking damage and want to update the value for armor post calculation into a ui progress bar but aren't sure what to use
what should i connect the set part to
there are a bunch of ways to solve this, which somehow depend on your gamedesign
I mean, you have a good start, to be fair
i would add a event dispatcher to the character, like onArmorChanged, and let the widget subscribe to that event
You already got your Armor Value reduced (might want to clamp that though)
then you fire the event in your character when the armor value changes and you get the event in the UI and can update the progress bar
Yeah that would be the optimal solution
also the hardest one ๐
usually beginners go for polling the value from the character... which isn't good
k
I am trying to use the vertex of the bomb spawn compared to the character location, to make sure the rotation of the explosion by default will always be moving in the direction the character is facing. Currently i have it working for left and right but not up and down
as long as i know the algorithm and the names of the functions i should be fine
The easiest would be using the FindLookAtRotation node then
With the Bomb Spawn Location being the From, and the Character Location being the To
Try, but I think it's fair to use bindings at the start and later learn one or two ways of doing it event driven
I can't f*ing type today
TRUE, not TRY brain, thx
And a typo again. brb coffee
yea, if he has some programming experience, he might get it with that 12 minutes of video, otherwise fall back to some easier solution
the earlier you understand them, the less mess will be produced ๐
One of my employees came from a Java background. They had trouble getting their head around it at the start. Sometimes having prog experience can be a curse.
But yeah, 100% better to learn it correctly from the start
But then again, the prototype I work on atm has bindings
ty you legend, made some progress enough for me to tinker ๐
Thank Ben, he already suggested that to you :P
Thanks Ben ๐
indeed, specially when it comes to working with blueprints, where good practice of programming doesn't always apply
oh ok so if i'm understanding correctly an event dispatcher is like a messenger that tells other parts of the overall code that things happened
and from there those things can be altered
yea, but only those who subscribe to the event before
how do i get lets say a ui aspect to subscribe to that event
does your character exist in the level before you add the UI?
then you can use the begin play event of the widget. there you would get the player character, cast it to your character class, and bind the event to a custom event on the widget
basically what mathew does here https://youtu.be/sEcoWGrF1Hg?t=243
kk
What is the best what to get actor location at button press over the get actor location at spawn?
is there a way i can use a gameinstance
cuz i think if its possible it'll be much easier for me
For what you previously asked: No
GameInstance is not meant to be used for gameplay code
I'd only use GameInstance to store values.
(e.g. for storing data to save)
perhaps Data tables can help with this
Nah, I don't really use them tbh
wait you know how in java u can do //bleh to comment stuff and then uncomment it later
can i do a similar thing with code blocks
in ue4
don't wanna delete the code but wanna have it remain idle
You could just disconnect the exec (white) wire
There is also something you can enable to then "disable" selected nodes
just removing the white line coming out of event should do the trick right?
It should. Unless there's stuff after it that you want to run.
Hello. I've got a strange problem. I spawn an actor and want it to have the same location as the other actor. Now the values in the GetActorLocation are valid and change. But the SetActorLocation fails. Why does it fail?
Yes, I printed the values of the X and Y and they change
Will do
Are you sure it fails tho?
Iirc the return node means it hit something when sweeping
But you donโt have sweeping on
I could be wrong tho been a while since I worked with BPs ๐
When I launch the bomb there is an x second delay. Then the bombs (mesh) actor gets destroyed and it is replaced with the explosion. Everything works well except for the fact that my code gets the actor location of my character at the time of the explosion and not the time of pressing the button to spawn the bomb or alternatively at the time of spawning the bomb in the code. I would like the explosion direction to be decided at time of launching the bomb and not at the time of the explosion so that the game play feels more natural. How does one go about this?
Yeah the boolean returns true if the location was succesfully set
(from the hover over menu)
Aah okay good
Yeah it's really strange to my why this fails.
I'm using this in a component, can that make a difference?
Not that I know off
I found the error (and now there is stuff happening
The blueprint didn't had moveable enabled. It wasn't throwing any warnings. After removing the node and adding it again it showed me the warning.
Thanks for your help
Does your bomb implement itโs own logic?
The explosion etc
Aah wow that would explain haha
Good job debugging ๐
The bomb does have its own BP, some of the logic is in the TopDownCharacterBluePrint for spawning the bomb, the rest of the bomb logic is in the BasicBombBP which would include the explosion logic, however the bomb explosion logic also has its own BP with some of the logic handled there. But I dont think the BP_Explosion is needed to fix this
Hmm from what youโre saying it just sounds like the one placing the bomb is taking care of the explosion
I havenโt checked the video yet tho
why don't you spawn the basic bomb bp while using the find look at rotation
Yes automatically after the bomb is spawned, it scales up and automatically gets destroyed and replaced with the explosion
Ooh wait
Exactly what I said
Youโre getting the player locatioon for explosion
That is incorrect
You should use the bombs location
I assume youโre making bomberman
The rotation of the bomb does not impact the rotation of the explosion
Basically you want to spawn the bomb on the tile and let it take care of EVERYTHING else
The player shouldnโt be aware of the bomb
Then the bomb just has a delay on beginplay
After which it does the explosion
I am using find look at rotation for the bomb and the character to get the position and it works, i just want to get the rotation to be used when the bomb is launched
this already works yes
But you said it uses the player location
Which is literally what you have written, the player shouldnโt influencd the bomb after spawning
the problem is you dont want the bomb to fire in the wrong direction, i want to make use of my characters position at launching the bomb to determine the bomb explosion direction
is the bomb the expanding circle?
But you will already know all this due to itโs initial rotation on spawn
I am referring to the bomb explosion in my video example. If i plant a bomb infront of me I want the explosion to move infront of me etc...
Yes exactly
On spawn you can set itโs rotation which then becomes the actors world rotation
The bomb knows itโs rotation
Rotation on spawn is a problem, I do have a mechanic to change it but that is designedto change it after the fact, I ust want the default setup to work first
Well regardless the bomb should just use itโs actor rotation
And not a find look at
You can manipulate it later without issues
On spawn, pass in the Z rotation of the player
Then in the bomb BP you do the explosion in world space
I am not sure how to make sure that the bomb always spawns infront of the character in the correct rotation if I do not do it this way by default.
If you need to rotate the bomb, you just change the Z rotation and the explosion will also have different rotation
The z rotation should work but for whatever reason as you can see in my code it is the y rotation that makes it work
The rotation of my bomb already works, it is just using the wrong time, i want to use the spawn basic bomb rotations over the spawn basic bomb explosion
long story short, only thing I need help with is pointers for one thing.When I launch the bomb there is an x second delay. Then the bombs (mesh) actor gets destroyed and it is replaced with the explosion. Everything works well except for the fact that my code gets the actor location of my character at the time of the explosion and not the time of pressing the button to spawn the bomb or alternatively at the time of spawning the bomb in the code. I would like the explosion direction to be decided at time of launching the bomb and not at the time of the explosion so that the game play feels more natural. How does one go about this?
Well thatโs what Iโm trying to point you towards...
Hello. Is there a way for me to know in blueprints if a controller is currently being used (rather than keyboard & mouse)?
You can have input Any Key
And then check if the key is from a gamepad
oooohh
Or the other way around (mouse moved/key is not gamepad) means you are doing keyboard input
yep i am using gamepad only for now
That was an answer on error1st ๐
Sweet, that sounds good, will try. Thanks @timber knoll
Iโll get on my pc to check your vid
this is the issue, right?
this is confusing me a bit
since it's not even shooting where the player is looking
well nvm on that, look at rotation
yes it is using the character location of the explosion spawn and not the at the time of the bomb spawn
yeah that's exactly what I was pointing towards
the bomb shouldn't be using the player character at all for the explosion
true i am trying to get that result
Havent read throught he whole conversation
Cant you just spawn the bomb based on actor location + forward vector * given length
Make it so its forward direction always faces away from the player and for the further calculation use the rotation of the bomb?
yep already doing this
then on spawning the explosion
The problem with this is that the bombs rotation has not impact on the rotation of the explosion
it would only impact the bombs position and not the bombs rotations
if you spawn the bomb facing the correct way
I mean bombs explosions rotations
and use it's world space forward vector for explosion
the explosion will go along the rotation the bomb got spawned in
meaning the explosino will have the rotation of your bombs spawn
not the players current look at towards the bomb
but why does the bomb not have impact on the explosion
Well it seems like you derive the rotation of the actor for the explosion itself and not from the bomb
the bomb causes the explosion, so it should be responsible for the explosion
The short answer is the bomb spawn location is perfect, it also determines where the bobm explosion location will be, however it has no impact on the rotation of the explosion ie) 90 degrees , 270 degrees etc...
The rotation is handeld on the Bomb explosion spawn
yes we aren't talking about location or length of the explosion
just talking about the rotation you give the explosion
that should be inherited from the bomb
Try adding an arrow component to your bomb which faces forward, make it visible ingame and see whether while waking around it does not rotate with your pawn
Then derive the rotation of that arrow for further calculation, see if that works
if i remove the infomration i added to the SpawnActor BP Basic Bomb the explosion does not respond to the rotation of the character at all
which means it just explodes upward
you need to plug in the rotation of the 'basicbomb' into the spawn of the bp explosion, and on your character you need to alter the rotation of the bomb
Because BP explosion is alawys set to rotation 0 which is why it always goes up
(you already changed the rotation on your character, so now just have the explosion take the bomb's rotation)
so I created a small example which uses this logic...
as you can see the projectile flies towards where i was initially looking when placing the sphere
this is literally all it does
just passing the rotation from player as initial rotation to the bomb
and it uses that to spawn the explosion after a delay
OMG this is so much cleaner than how I have been trying to do it, and it works so much better thank you
no worries ๐
Hello. I've got a very strange problem. I have a PlayerShip that I'm making AI for. If the player hasn't selected a location the vector is at 0,0,0. A service reads out the player vector and sets it in TargetLocation. Now when I try to find out if the player set a target the ship just disappears. If I add the first branch in the execution the ship disappears... any ideas?
Alright, I'll go there. Thanks
Hello, I am having a wierd replication issu. With my character I try to trigger an animation of an other actor. The animation is playing for both server and client, but cannot be seen by each other. Meaning the server cannot see client's animation, and the client cannot see server animation
Are you multicasting your animation?
Hi i want to learn blueprints in ue4, does someone knows a good tutorial got me?
if you look at the pinned posts in the channel
there's a bunch
the blueprint communication one I would consider especially important
you're probably in the wrong channel. #cinematics for sequencer
apologies. I've moved to #cinematics Thanks @odd ember
@worthy carbonhttps://learn.unrealengine.com/course/2436619
yes
have you asked in #multiplayer ?
ah sorry no
Is there any way to add components via script? I'm trying to convert all attached static mesh actors to static mesh components with the same mesh/relative transform. The node "Add Component by Class" doesn't seem to add anything visible in the inspector (calling it via an editor function)
How can i spawn randomly an object on a sphere surface ?
is there a way to have a specific Level set the game mode stuff ??
so the MainMenu uses it our gamemode stuff pawn class etc
then the actual level uses the proper stuff ?
do you know the sphere's radius and origin? I would honestly do it via math (sphere's surface is delimited by (x - x0)^2 + (y-y0)^2 + (z-z0^2) = r^2 ) lol
do you mean the game mode override in the world settings tab?