#blueprint
1 messages Β· Page 335 of 1
https://www.youtube.com/watch?v=cyGhtXsL9z4&t=1964s&ab_channel=CapsuleComputers
This is the reference I am going for. Struggling to workout the logic for the element container.
I don't know if VBox works here when the container it self needs to be expanded / shrinked when there is less element.
Gonna keep testing on my end.
Set in a whole new world we follow the journey of the Endfielders as they try to make a new home on the world of Talos-II. Tasked as the Endministrator, we take on numerous challenges, take on countless enemies in action packed gameplay, and recruit many new faces alongside familiar Rhodes island allies in our time in the Arknights: Endfield clo...
maybe it's as simple as
If element selected > 0
Elements above selected element offset by X where the elements below the selected element offset by Y
the struggle comes with the part where, maybe I need to respect a singular (anchor?) point if I want the element to ends in the middle like this
@frosty heron Wtf, what's the chances of someone posting Arknights after I just watched the first couple episodes of its anime lol
they have anime? 0o
I never followed the old series, but waiting on ArkKnight endfield, it looks amazing.
Looking at the video this seems to be rather simple. Vertically center aligned VerticalBox and the item that gets picked up plays a quick animation to shrink its Y size to 0 before being fully removed.
Yea perhaps, I am overcomplicating it. Will see how that goes.
Tyvm :).
Yeah, looking at the animation that is definitely how I'd do it. I was originally thinking about a much more complicated animation setup in my head for some reason. π
Watching it at 25% speed, it's a little odd. It's almost like they disconnect the visual. Cause it moves down, but the Y size shrinks so that the others center correctly. But it looks like the fading one slides down onto the one below it. You could mirror that by doing the originally proposed shrink to Y while also fading to 0 opacity. But the hierarchy would need to by like an overlay holding a sizebox and a commonvisualattachment. The attachment holds everything else and the sizebox's y is set to the same size as the rest of the contents desired size. Then the animation lowers the sizebox Y size. It'd give the same effect without squishing the visual contents.
@frosty heron
I made the animation rather long so I could click fast enough to test multiple.
Seems to work okay though. Can record in a sec.
Looks a little neater with the faster animation, but pretty similar to that game's.
π π π π π π
Checking it out! Cheers.
I was stuck at changing the Y bit, tries to scale it but the container doesn't resize. π .
Gonna end up copying yours 1 to 1 , it looks exactly like what I need. Ty again.
@maiden wadi Size box does the trick π₯³ . I think you just saved me days of like trying to do something that most likely won't even work :D.
originally trying to tackle this by trying to evaluate the offset every tick.
Could do that too. π When I was imagining a much more intricate animation set I wasn't really seeing much easy way around doing it than making my own SWidget container managing some custom slots. Performance probably wouldn't matter for a widget like that. Not a lot of entries most likely and not always on screen, but π€·ββοΈ
Yeah, i just need this to pick up interactable things around the player. Can't be too much elements for me to consider performance.
like maybe 1 - 8 entries at most.
Nice, I bet changing the opacity would be good as well. Thanks for sharing.
Hey guys, hope everyone is doing well. I need some help with Loading a Level with a 3D widgets:
I have a 3D widget in my main menu (placed in the world inside a sublevel). Everything works fine, the UI switches between panels, and the buttons are interactable.
But when I click a button thatβs supposed to load a new level (using Open Level by Name), nothing happens. I even tried using Load Level (Object Ref) and calling the node from inside the widget, but still no result. Any Advice would be helpful. Here is a video of my setup and the button logic.
I am trying to get unique bullet impacts depending on the material hit. Physical materials worked fine so far, but you can only assign one physmat per material and I have a lot of assets that just use one material slot for wood, metal, concrete, etc. I tried physical material masks, but for some unfathomable reason, that only works on master materials, not instances. It would be insanity to restructure my material library to accommodate this, so...how would you make a blueprint read the correct material on impact for assets like this? Hoping you have some better ideas I didn't consider.
so the clicked event isn't firing ? put a print string right at the beginning, any errors ?
Did you check that the execution does in fact reach the open level node?
i use material parameter collections for stuff other then materials
these parameters are great you can run in viewport and adjust on the fly
great for setting a value, instead of stopping,changing,compiling,running everytime
just run, and change, np
So I added a string on the event click and it doesnt show the string so the button doesnt work it is interactable but not working
I just checked and it doesn't so the animations for press and hover works but not the actual button
So soft references always load async?
no, wdym by that?
you can think of soft reference as a path.
if you want to load the asset it's reference you can do with async or blocking.
Good morning, everyone. Pasting a question in this channel (from UMG) since Im working with blueprints and maybe someone might have a breadcrumb on keywords to look into this.
Im trying to make an app for android that uses stereo rendering (one camera feed for left eye, one for right eye) for VR mounting the phone on a headset. I can't seem to get multiview options in project settings working since it seems to need an actual VR Headset and my phone doesn't have the right gpu to do the mobile multiview thing. So I'm resorting to manually set up the stereo rendering.
However, I have no idea how to actually get that going. My approach has been trying to pull the camera feed and create a material that gets this feed and have a UI image for each eye that shows the feed but nothing seems to be working. Tried using Claude and Chatgpt to help and look online for documentation on doing this but I cant seem to find the right keywords to pull up any info on this. At least on how to set it up.
If anyone has any guidance on where I can look to read up on this, it would be greatly appreciated. This has been a long process so far trying to figure it out but I feel like Im just around the corner to figuring it out.
Unreal does not have cylinders as physics primitives because it inhereted that flaw from Physx
Morning all. So I am creating, or attempting to create, a save/load system for a project I'm working on. Issue is when the game loads and spawns in any fish the player have previously caught, the collision seems to fail and they fall through the landscape. I set it up if the z-location falls to 0, it will respawn so I can show you all in the video. Eventually the collision catches I'm just not sure what I can do to fix this.
Any help or suggestions is greatly appreciated.
Was it saved with the fish already falling? Otherwise, wouldn't it make sense to sleep/turn off the physics when spawning them back in?
Could be that they simply fall through the mesh. Or do you have any logic in those fish that alters physics?
Can try to enable CCD on them (continuous collision detection).
But that's potentially expensive. Makes more sense to turn off physics imo
"I need to create a pull hook, similar to Blitzcrank's or Roadhog's hook, for my internship project. But I'm having trouble getting it to work. Can you help me? I'm specifically struggling with the Blueprint part in Unreal Engine."
Thanks for the answer, this makes a lot clear. It sounds like you'd do most things through the AssetManager, and this would load "bundles" of assets at suitable points in the game. It would be nice if it was as simple as these bundles containing DataAssets, and those DataAssets referencing all the required classes for that stage of the game. But from the last line, there's clearly a more complicated relationship between the DataAssets and bundles.
CCD on seems to fix the issue, it's gotta be a collision fault with the landscape. You've given me a quickfix tho and i'll keep digging from there. Thanks!!
Hello, I am trying to create a blueprint that will handle NPC spawn in a "hub", these will be simple roaming NPCs.
The code here makes nothing spawning. I tried printing the location returned by Get Random Reachable Point and I have something, the for loop is working also. In my Outliner on my level, when I play the level, I cant see any BP_Pedestrian.
Maybe I am using the SpawnActor From Class node wrong ?
Also, I have Nav Mesh Bounds in my level to set up the navigable area of the hub. I have no issue if I put a BP_Pedestrian in the level. It will be roaming in the level on the nav mesh bound
You aren't keeping in mind that your NPCs are potentially spawning in the floor. Or rather not at all cause the spawn code might throw warnings due to the location being occupied
If you are using a character, or something with collision as its root component, then the center of the actor is the middle not the bottom. So if you give it a nav mesh location you need to offset that by half the capsule height
Or whatever half-height you need
I have no clue what this is supposed to be
How can I rename internal Enum entries? Theyre still returning "NewEnumeratorX" evcen though I've put a name in every field the enum editor has
What's with the quotation marks?
Could be that you can't rename in the inner name. Internally enum are uint8. The name stuff is just convenience
You might be better off using GameplayTags for this
Anyone know how to program UI?
Its day 2 of me learning.
Im coming from Roblox π
- I already made the gui but i need the bar to move inside another bar
- The variable is inside of BP_ThirdPersonCharacter
- The bar appears on screen when inside the collision box
As they are internally Names and will work a lot better with the DataTable rows
thanks, I'll look into that
UI in Unreal Engine is handled either in C++ via Slate (same stuff the Editor is written in) or via a mix of C++ and Blueprints using Unreal Motion Graphics (which internally uses Slate).
That'll be #slate and #umg .
You can combine them too if you need really complex stuff. #umg also works in BP only fwiw.
i'm try to predict a path from a launch velocity, but it seems to be going down only
Explain this to a person with like 6 hours of experience XD
the stuff in the video is what i'm passing into the prediction node
Unreal Engine has documentation about UMG and the channels I linked have pinned materials to learn from.
Please use the available docs that everyone else learns with first.
Pretty low velocity if you simulate gravity
Have you tried breakpoints in blueprint that why the points are going down
i add impulse and it launches the ball to the x
or close to it, the problem is my x is "close" i'm trying to predict it instead for stuff like hills and things like that
Need someone big brain to give me advice, my multiplayer respawn system - when the 2nd player respawns, the 1st can no longer move.
wdym "that why the points are going down" ?
you can see i put a watch on the velocity
it goes to the x in the image approximately
Then absolutely your formula for calculating path is wrong
thank you,
I dont see any BP_Pedestrian in the level outliner so they are not spawning at all, but I dont have any warning message
but it's actually pretty close
Will you write formula here that what is for calculating each point on path
well my problem is i want to use the prediction node
and it's not working
it's perfect at 25,25 but with more xy power, or more z, it tends to get off by a bit, which is fine the math is meant to be a close approximation
^ this is the actual issue
Try offsetting them upwards
i just calculate distance and apex
I chose " always spawn, ignore collision " in the spawn actor and it works, but as you said they are half into the ground, thank you π
Math Expression node can make this a bit cleaner btw
right, it crashes in my engine when i try to edit it
so i just avoid that node all together
it works fine to make a formula, as soon as i try to edit it, i get a crash
this doesn't take into consideration the dynamic angular damping as well
which prediction probably won't account for either ?
i just want it somewhat closer then i have it
Yes of course the prediction will be related to anything you add to modify your velocity and that's need tweaking the vales to get exact modification of the value is how much done to velocity
well i change the damping on the fly with a formula, but thats seperate issue that i can adjust for
the prediction is going down, this is very strange
so these values are too small ?
maybe i can scale them ...
Save your each prediction stage into a variable and then debug that which prediction is failing by comparing previous position and current position and next one for each point
got it, i just scaled the values up
seems to work now
but it's about the same off
as the math
Make sure what I said here, because it will fail again when you modify velocity #blueprint message
i thinks its because i change the angular damping dynamically
@lofty rapids did you know about this #materials message
Given that Gravity is -980 or so on Z, +22 on Z doesn't do much. That will basically instantly go negative.
Question. So when my level first begins my OrbitPivot point is 269 units in front of the camera (dist between).
When orbiting is enabled the pivot points moves to the object that is traced.
When orbiting is disabled I want to reset teh OrbitPivot back to 269 units in front of the camera.
This is my BP logic so far that is NOT working . Any help would be appreciated.
So I dont understand, I added a simple Z offset like you said. They are clearly colliding with the nav mesh bound but they are static. If I put a BP_Pedestrian in the level it works fine
so now it goes up and arcs, but it doesn't "blocking hit" the landscape ?
That's due to the AI Controller Spawn setting in your Pedestrian BP.
There is a drop down that controls when an AI Controller should be spawned.
It's probably set to Placed In Level or so.
There is an option to do this for Spawn and Placed.
Idk, that's probably due to the trace channel you've chosen.
oh i didnt know that , its worked thank you
had to check trace with channel thanks
Yeah, also difficult to know hehe
What do you mean by the object that is traced
Also if you dont mind I have another question that I cant find any answer on the internet. The Get Random Reachable Point in Radius function have a high density on the center, so its not ideal to spawn NPCs in a hub. Is there any way to get a random point in the whole level that is covered with nav mesh bound ?
Whole level probably not. There is no concept of "whole level". Imagine multiple kilometers of levels just in 2D.
You can look into "EQS".
Environmental Query System.
Thatβs not ideal anyway, better to have a bunch of set spawn points, to prevent collision bugs and the like
That lets you write more custom queries that you can execute that return points.
They usually start with a "Generator" that generates a set of points. e.g. a grid of points with x distance between them.
oh yeah i have already used them for AI movement. Didnt tought about using them for spawning NPCs
And then you can put filters on them, to limit distance etc.
Predefined spawn points also work, but if that's not an option, then EQS is a good alternative. Just make sure you don't make them too expensive.
EQS contexts to generate a bunch of points around a point and so on
But EQS is I think in beta or experimental
Nope
Itβs been around since 4.27 or such. Itβs long been trialed and tested. Any experimental flags have to do with potential finishing touches that they planned but didnβt complete
You can look at plugin for EQS there the beta or experimental is written
Read what I said
That flag does not actually mean what it says in this context
Man epic knows better then us, they are having abilities to replace the word a of beta and experimental so π
Yes, itβs just not a priority
EQS has been extensively used and it works fine. But you do what you want
about ray tracing no ?
idk about it
Hi all, not sure if this is the right channel as it might cut across a few.
Trying to get the experimental data chart plugin for UE5 to work (im using 5.5), the sample set up works with a strut and a simple data table. ideally I would like this (pie chart) to read from a string/float map I have set up that collects and works out my values on run.
- Does anyone one if its possible to switch the input on the plugin on the input to accept the map
- Is it not worth the effort and is I more straight forward to create an array that the map sets on run.
- I also picked up ChartsProPieChart from FAB but again the BP for that was confusing where to start to get it to use a map.
Very much learning as I go here. Pie charts / data vis does not appear well covered for UE - if anyone has YT recommendations or direct advice please let me know.
UE Site for data charts plugin : https://dev.epicgames.com/community/learning/tutorials/MPDr/fab-the-unreal-engine-data-charts-plugin
I keep running into an issue where spawning a BP runs its construction script correctly, but then making any change and recompiling that BP recooks the actor incorrectly.
If I drag out a new instance of that class after recook it will also be correct, even though the actors placed earlier have not.
This is the code in the construct script that behaves differently depending on the context
It's supposed to create a mat override and set a team color based on that
But it reverts to this after a recompile
You cannot change the input to accept what you want because it is compiled from c++ and not blueprint node, but you can create function in BP where you pass the map and the map is parsed and passed to the function no accept map input
What do you mean by team color and show the full blueprint logic of construction script
Not the full logic but the things after aren't necessary and not responsible
team variable is just 0-6 depending on the team your on
which references a list of linear colors (inside Set Team Tint)
But I'm not getting tracebacks on anything
It's just consistently recompiling wrong, and compiling the correctly the first time
Don't blame engine what is inside the two functions show that
This is only happening on players without a controller
but I suspect that's the case because player characters with controller aren't initialized until play (and this always cooks correctly on the first go)
I'm using this same code on all non-player actors as well, so it's used in other places without issue
I think the create dynamic material instance is doing something with with character or controller or pawn may be
Thank you for the feedback ! A lot seems exposed to BP, from what your saying I'm guessing I cant just switch out the 'Data values' with the map With something like key > set to pull out a float.
Your suggestion about the function, would like look something like - within Array sum function, convert map to array, use new array ?
no code affecting the player character on the player controller
I don't know why you want to use dictionary instead of array
Did you tested that spawning during runtime creates problem of materials for character if not then this dynamic material instance is doing something in background with character not having player controller
I trace for objects that have physics body, if its valid the object becomes the OrbitPivot point
Then use boolean and enable and disable it when you want to make the object orbit along the camera with some units in forward direction
how does RAGE of rockstargames work? is very different from UE? is accessible to people?
sorry for the weird question just curious
does it work with nodes like BP?
this is wild lol
has anyone seen something like this to improve accuracy ?
in theory it should work ? i think my numbers are correct
does to integer round ?
it's still off a bit at really large scale, but much better then without it
i wonder if it even matters for 21 ? ai says its more accurate
It's a pretty simple concept if you break it down. If you have a PrimaryDataAssset, and you tell it to load a bundle. It will parse through it's properties for all soft class and soft object properties, and load any with the specified bundle and internally hard ref them so that they won't be collected. (Note that later on when you unload the bundle, this isn't forced, if something else hard refs the object it'll stay loaded).
What this does is allows you to have a PrimaryDataAsset for something, like the unit, with a softclass on it. That class can have all of it's visuals and stuff. Like the following with this meta.
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, meta=(AssetBundles="Gameplay"))
TSoftClassPtr<ASomeUnitClass> GameplayActorClass = nullptr;```
Then after that you can use nodes like AsyncChangeBundleStateForPrimaryAssetList, and pass in the assets you want to add or remove bundles for. I would pass in AddBundles here with an entry for Gameplay if I wanted to load this GameplayActorClass on that PrimaryDataAsset.
I don't think this'll do anything anymore now that all floats are double, will it?
idk thats what i'm wondering if it even matters
Hey everybody! I'm currently working on a stealth game where you play as a drone, and i've run into an issue regarding the enemy AI. I'm currently using AIMoveto and navmeshes for the enemy to follow the player as that is what i'm used to doing for most of my projects. The issue arises when my drone flies a certain distance above the ground, in which the AI stops moving and stops following my drone. If anyone could provide a fix or potentially even an alternative method for this kind of enemy logic, i'd be more than happy to receive it.
The only fixes I know of for that is to either project all movement calls to the navmesh, or change your character so that it is actually on the ground but visually hovers above where it actually is.
The second is the easiest. But of course it has major drawbacks. The first can be done semi easy, but usually requires making your own movement nodes that do an automatic projection to the best placement.
what if i cast a line trace from the drone to the floor and make the enemy move towards that?
would that work?
That's what I mean by your own movement nodes. You can of course do this with the existing nodes if you use the move to location instead of move to object, but then you lose the automatic following ability.
yeah i'll try that cause its more scalable
thanks again man
i wish I could reward answers in some way in this discord
Nah. Helping is enough of a reward. π I spent a lot of time learning in here as well.
IT WORKS! thanks a lot man!
Hey everyone,
Has anyone tried implementing a camera lag effect using Epic's new Gameplay Camera system?
I guess I'm going to need to make my own lol
I keep meaning to check out the new camera system. Just haven't gotten there yet. π Too many other todos to learn first.
How would you guys approach designing a system to handle dynamically spawned physics items in an open-world game? World Partition seems like a red flag because it would always try to spawn the "original", and moving a physics item away from it's initial cell will despawn it.
I see
Store them into an array?
It's moreso a 5km by 5km world with 100,000 to 500,000 actors that all have data relevant to the savegame within them and they need to behave as expected in an open world game, but without world partition constantly resetting them or despawning them if you move them away from their original cell.
Oh wow, I didn't get to that part yet hahha
I'm sitting on the idea of allowing a single DataLayer to hold all of them initially, and on the first initialization of the savegame, I would iterate through every world cell and cache every object's GUID as a key in a global map, each pointing to a small metadata struct as the map value, which would contain the world location, class of actor, and name of the compartment in the bytearray-style savefile for that object.
Then as the player moves around, refer to the global map (or a spatialized version of it, i.e., Cell_Coord -> GUID map) and then spawn them on demand, in parallel with World Partition
The thing is, this seems like so much overengineering to get "persistent actors" working in an open world. You'd think there's a standard solution available but I can't find one.
Did you tried asking GPT?
So you need a system like this one?
Yes I have over a dozen chats with o3 on the topic lol
One option is to get the nav path which is just an array of vectors that goes from A -> B -> C etc... then the drone would just move between them by just getting the look at direction from the current location to the next point and adding as an input vector.
I recently set something up with level streaming. I had a world item manager that managed saving/loading of the world items.
When a level was unloaded it would save the relevant data for the items and then destroy them. When a level is loaded it checks if the pre placed items should exist (present in the saved data) if not there it'll destroy it. If it should then it'll apply the saved data. It'll then spawn all the remaining items that were saved.
I also used a few tricks to to manage what 'world' the world item was currently in by having volumes in the streamed levels that updated it on the world items when they enter the volumes.
Definitely not a simple thing to setup though. Hopefully this will give you some ideas.
Oo thanks for the response! Yeah I initially toyed a similar thought. I had a volume-based grid that matched the world partition grid too, but for better accuracy I scrapped it for just mathing out the item's actor locations. I didn't finalize this though because I was worried about the needless spawning and despawning of all the items that have been moved to another cell or destroyed completely. In my mind, for a single tick, a huge wave of items will be spawning in and then disappearing, and that didn't sit well with me. How did it go for you?
The scale wasn't really big enough for me to have to worry about spawning/destroying overhead. If I did though, I might look at some sort of world item pooling where items just get moved out of sight and added to a list instead of being destroyed.
I'll think it over. I'm still leaning toward a massive dictionary of GUID -> MetaData (with a corresponding dictionary of CellCoordinate -> ContainedGUIDs), but it's a very unconventional approach for me so I'm scared of dumping a week work hours into a hole, lol
Not much else you can do though without clear ideas. Make it bad. Then realize why it is bad and make it good. π€·ββοΈ
I used a map var where the key was the world object a soft obj ref, (Get level -> get outer) and then an array of world items in it.
World items registered themselves, passing the world it should belong to too the world item manager.
But as Authaer said, you've just got to make something and see what does and doesn't work.
It's a complex system so it'll probably take you a minimum of a week or two.
Oh that's a cool idea. And is the array of items serialized in some way, or are they all spawned at all times?
Also I'm curious if the world object as a soft obj ref would work with World Partition's individual cells? From what I remember reading, every cell is considered its own level, so this effectively works as a "these items belong to this cell" kind of deal?
does anyone know why the object im picking up gets closer each time i pick it up? (i believe its in this code, i could be wrong)
where the distance of object is set, if it helps
I'm looking for a hand having an enemy take an action (specifically moving the character) before the AI controller takes over.
Right now i'm just trying to implement a very simple "move + 200px in the x direction" but i'm running into a few issues.
Now I do have a working AI controller and behavior tree and the navigation works fine when it has a running ai controller, but I want to have potentially different actions happen on spawn before the AI takes over (i.e. walk left onto the screen, or walk right onto the screen, or fade in and move slightly in the y direction if it came in from a door)
I've tried using simple move to, but that requires an attached controller to work, and as soon as I spawn the default controller the character goes right into it's behavior tree and ignores the attempted move. Spawning the ai controller and using the Move to Actor is presenting the same issue.
Normally I might also try something like a timeline and lerp the character into place, but i'm trying to make this all happen in a "SpawnAction" function that is called when my spawner creates the enemy.
So yea, trying to think of solutions and just kind of coming up black to achieve what feels like should be a really simple thing
i write to you from dm for help
are you making any sets there? set relative location, set world location, add location etc
I want to create dynamic "PixelStreaming2 Video Producer Render Target" but I seem to be required to create an asset for each video producer render target object... how can I work around this?
I don't believe so, these aren't variables. but why does this matter exactly?
ohh you are saying that interact range is closer, right
i misundertood you, i thought the actor is getting closer
you are setting the distance of object, and using to calculate range again. the range should be static, not dynamic. right now in your code, if you pick up for example 100 range of object, you have to pick up from that range. because you are setting the base range value.
make a new variable and put it here. and don't change it anywhere.
should work fine this way, if i understand the problem correctly π
it is
the object i am picking up
it is getting closer to me each time i drop and pick it back up
what are you connecting to tracestart?
after the trace hit, try to make the calculation manually. get your actor location, and hit actor location. use distance vector to calculate and set it to float
let's try this way first
can you try this first
so we can understand that calculations are correct or not
when you are getting the distance from line trace, don't use that output. make your own calculation for distance
this is just making sure that distance is correct, it might work or don't
if this is giving the same result, we will investigate the dropping section.
Okay, ill try this later, im currently not home
so i tried just doing this, it kind of works. it works for a hand made mesh but not a normal geometry cube, it usually works with glitches every then and now with it phasing through the floor and it teleporting infront of your face if you grab it whilst moving
Also, i just found out that if i hit the mesh at a angle, it will try to move the block to the center of where im looking. no matter what so i think thats whats going on, i have no clue h ow to fix that though.
its to do with this for sure, but i don't know what i could change.
hey i'd like someone to help me in this enigmatic condition
what does it mean when my screen glitches like this?
it becomes partially black and it extends things
and how to fix this??
wow this seems to have fixed it! ShowFlag.PostProcessing 0
I usually have something that allows me to extract the data of an item so it can be saved off.
But yea I'd imagine you'd be able to do something similar. I've not used world partition myself but from what I've read, I don't see why it wouldn't work.
apologies, as this is kind of bridging the gap between UI and blueprints, and thus I dont really know how to classify it. Im very new into UE5, and Have been messing around with some tutorials, attempting to work towards understanding blueprints, aswell as creating a "The Finals" Style movement system. I created a dash ability that simply launches the player in their current movement direction, and along with it, a UI icon that I scrapped together in Krita (as seen in the photo). I want to create a "Progress bar" that will represent the cooldown of the ability, expanding from left to right untill vanishing at the completion of the cooldown. Problem is I cannot seem to find any usefull tutorials on the internet. I watched one tutorial which convinced me that a "Progress Bar" element is the way to go, but as for how I will link it to my cooldown progress, Im in the dark. I additionally linked my code for the Dash, and underlined the "Cooldown," which is simply a delay. Thanks so much, and sorry for the essay :) Edit: though this is probably not the proper channel for this, if you happen to know any tutorials on UI that you can recommend, Please let me know. (not sure on the rules, so if allowed, link here. if not, you are welcome to dm them to me if you feel its appropriate)
thinking more about it, a simpler question would be, is there any way to link the remaining value of the delay to a variable, so that I can reference it in other code?
Hello ladies and gentlemen! I am new to unreal engine and have been working with the firstperson template. i am trying to attach an actor to the FirstPersonMesh on its hand socket. it looks visually correct in the mesh previewer and the shadow looks correct in game but looks visually incorrect from the players POV. Does anyone have any idea what i could be doing wrong when attaching the mesh to my character
Short answer is no. You might have better look with a timer instead. You can store the timer handle and get the remaining time from it.
alrighty thanks. some lads in the voice chat are helping me out, and I think weve found a solution
Hi guys, how can I make one enemy alert other enemies? I tried using a task, calling all enemies actors but doesn't work.
Somebody could help me please?
hey guys anyone who can jump into a call and help me with some protoyping?
Hi!
Sorry for the long reply.
I hope this information will be useful not only to you.
I added to my plugin SystemMicControl the feature to switch the microphone device for VOIP chat without restarting the game.
If you have any question let me know.
Enjoy!
https://www.fab.com/listings/5262e4aa-d47e-4deb-b0c4-fd8e0e583ba8
Works via vanilla engine:
IVoiceCapture::ChangeDevice
FEOSVoiceChat::SetInputDeviceId
How would you make a line trace get the correct material off something like this (wood, metal, glass)?
It's all one material slot, so physical material is out. Physical material masks technically work, but not on material instances, which is a dealbreaker. I figure there has to be a simplish blueprint solution to this I'm missing. It seems like a such a common feature.
You'll have to either use different material slots so each material can have its own physical material or use a mask if you want to keep it as a single material.
Could you specify what you mean by mask? Because I've looked up ways to sample masks in my blueprint, but I didn't really get anywhere with that
The mask is setup in the material itself. You would get the pysical material from the hit result. It'll automatically use the mask setup in the material to determine which one it should return based on where was hit and the mask.
You can create one the same way you would a BP. Its just an object where you can specify the mask texture, size and tiling.
Once created you can set it on the material and select the physical material that would be used for each of the main colour bands. (Red, Green, Blue, Cyan etc...)
I know that I have to update the sight sense for all the enemies, but I donβt understand how
Don't use 'GetAllActorsOfClass' with the type actor. You'll most likely end up with an array with 10's of thousands of entries (in a fleshed out level) that looping through will kill the game thread.
That's what I mentioned in my initial post: I've tried this, it works, but only for master materials. Instances just ignore this mask for some reason
The sight sense is based on sight so it's not something you'll be able to update. As a first thought, I would have a variable on the blackboard that other AI could update to communicate with. That way the AI still decides what it should do based on the BT.
I'm not sure why it wouldn't work with material instances. There are a few places the physical material can be overridden so it might be that. It can be overridden on the material instance and on the mesh itself. If these aren't set, it might be a bug. π€·
So you mean like an alternative decorator based on a boolean variable, like an "Alert", without depending if the target is set/not set by the sight?
Yea, it could be an array that other AI could add too. Then if the owner of the BB doesn't have a target, it could get one from the list.
It is a bug apparently. This is the physmat visualizer. Did nothing but copy the left cube and make a basic instance of the material. Left one has the mask, right one doesn't. Can replicate this in gameplay as well, so not just a visualizer thing.
Suppose I have to resort to either separating the material slots or the instances... not looking forward to that 
@faint creek You are correct, BB's don't support arrays but you can create a custom uobject to act as a wrapper which holds the array.
Got it, but if for example enemies are 60, how can I get them without using "Get all actors of class" and make an array?
You could create a manager class for your enemies. I'd lean towards an actor component on the game state or game mode. NPC's can then register themselves if the manager is present. This can act as a point when you can get all the enemies as well as setup additional logic that should be applied to all enemies.
Ok thx π
I try
Hi, im having issues with The DPI scaling, i just want when the resolution is higher like 3840 x 2160 the scale of all UI is 2.0 Size, but its not working really what am i missing
Find the point at 8K and set it to 2. (or delete it)
Hi, I'm currently working on an FPS game and I need to create a hand control rig for holding a flashlight.
My goal is to make the left hand (with the flashlight) follow the direction the character is aiming with the camera, so it always points toward the same direction. Please can anybody help me with this ?
- i'm using full body from TPS project
oh, i missed that there was one at 8 k lel, is that there by default ?
I believe so.
What should i use for DPI scale rule IYO?
Shortest side. This in most cases would be the vertical side.
Alright, also im changing the resolution https://blueprintue.com/blueprint/ba776234/ like this, but it only seems to be working once per game, when i change it once i cant change it again or nothing is happening
you only set the resolution to a hardcoded value, wdym once, do you set it to a lower one, then reset it again ?
better to show this,
when i toggle between the different ones, it onyl changes the first time
the other times it dosent change anything
am i not suppsoe to set it to a hardcoded value ?
this shows nothing is happening after the first one *
what does the select resolution function look like ?
that only changes the buttons Enable/disable no functions in it other then that
which looks like it's working
does it matter which one you click ?
or just after you click one, the rest don't work ?
yesh the rest dont owkr
is it a specific one that breaks it, or just you can click any one at first ?
try it in all of them see the difference
no difference
try to change the res when your not in fullscreen
Yea fullscreen can be weird for changing the res. In PIE, fullscreen is actually 'windowed fullscreen' which doesn't handle res changes as gracefully. I would test in just windowed mode.
ok so i tried this
now stuff changes but the UI is untouched each time dosent change at all
Changing the resolution in PIE/viewport is very often broken or not applied at all. You need to test it in Standalone or Packaged build
Hi everyone, I am new to UMG. I wanted my editable text block to accept string which can be a combination of any alphabetic, numeric and 2 special character "@" and "." , how to make it take only the desired input strings.
time dilation doesn't effect physics ?
it should. (as far as I'm aware)
it didn't seem too make a difference
i could see if effected the material, and the animation when i set it to global high value
but the actual physics seem to be the same
Are the physics actors set to use async physics?
first time using physics, idk what that is
This one, it just means it'll put the physics calcs on a different thread. It can help reduce the overhead on the game thread.
ok so i enabled it in the project, then checked it on the actor
same thing
custom time dilation at 500 not doing anything
it should be super fast i would guess
i want to speed up a physics simulation, but it doesn't seem to be working
500 is a lot lol. π 1 is normal speed, 2 is twice as fast, 0.5 is half speed.
ai says i need c++
lol ya it was just to see if it made a difference, it doesn't
Oh, i think its only the Global Time Dilation that works with physics actors.
even the global didn't do anything, it just adjusted for materials and animations
the physics stayed the same
Odd, I could swear it worked. Maybe I'm misremembering. π€·
i've seen videos its supposed to work, atleast thats what i have seen a couple working videos
really strange
custom not working at all
slowing down global seems to work, but speeding it up doesn't seem to have much of an effect
and this doesn't work for slowing it down either
anyone know how I can set a breakpoint to trigger on any instance of a class
I have an issue where a break point is cleary being hit but seems for some reason it never actually breaks
What class are you breakpointing? Need more context. Because breaking on any instance is normal behavior.
On it's tick function?
on a function that is called but a parent widget it lives on
and that parent widget has its function called but the HUD which owns the Parent widget
But what event originally triggers the callstack?
so the breakpoint is being hit now like it's pausing execution
I did do a full rebuild of the solution though so
so now new problem which I can't work out is I'm trying to get the saved audio levels and I can see I'm setting in the audio levels when pressing save but when I load them I seem to get the defaults
turns issue was load race issue
"So with global dilation > 1, physics just processes at normal step intervals" -google ai
so anyone know what would cause UE to not create the GameUserSettings file
I deleted it thinking it would give a fresh start but now after deleting and re running PIE the file isn't being created by engine. any idea
What do you mean by deleted the file? The Ini you mean?
yeah the GameUserSettings.ini
It probably won't recreate it until you make a change to the settings.
I can't recall if that is one off hand. Scalability settings, uh... Windowed mode, resolutions, etc.
so i now just can't see to get it to recreate the game user settings
thats what I use to call bit now I call the apply settings cause apparently the save settings is called within it
You sure you are looking into the right folder?
yeah defaultEngine.ini
It's probably landing in your Saved/Configs folder instead of the main Configs one.
so ive checked a couple of ini files and can't see Vsync being forced off in any of them
Idk why you jump between thoughts so much. You were just talking about the GameUserSettings.ini not recreating.
It's probably in the saved folder. The one in the normal configs folder doesn't magically recreate iirc.
sorry so the recreating I found it now put it in a windowsEditor folder rather then the windows folder
this is a new issue I didn't realise i had until going deeper into where it put the gameusersettings file but now thats done, I'm trying to figure out in editor when doing PIE what is forcing VSync off unless thats meant to happening when running editor
Is there an option to use blueprint to set the correct language in the game (as in Windows) when a player first starts the game?
and so that it only works once and not every time it starts the game (I don't know how to check if there is already a language save in the game files)
Is there a way to make it so physics forces can't turn an object, but things like SetActorRotation can? I'm trying to make it so my player pawn doesn't rotate when it bumps into things. I would have thought that's what "Ignore Radial Impulse/Force" did, but those flags had no effect. Meanwhile, "Lock Rotation" does too much, it prevents the pawn from rotating even by control input.
so thats the folder its landing in the GameUserSettings ini file
not sure if thats right or not but yeah this new issue is Vsync, is it meant to be forced off when in editor in PIE
so it seems that editor forces Vsync off for some reason but in packaged build it doesn't it'll rely on your game user settings
not sure why epic do that
Yeah, that's correct. You are saving while playing in the Editor after all.
If you package your game it will land somewhere else.
fairs just wanted to make sure
yeah it lands where i'd expect when running packaged game
Playing in Editor has all kinds of strange limitations.
yeah seems Vsync being one of them haha
If your VSync stuff works in Standalone and packaged, then I would ignore that problem.
iirc it was also always a huge annoyance to test resolution stuff in the Editor
You don't have to do this normally. Unreal automatically tries to detect the closest localization you have to the user's OS settings. EG say your native game language wasn't English but something else. And someone in England using EN-gb locale starts the game. You have the game localized for EN-us and your default project language is say.. ES? The EN-gb user will have their language defaulted to EN-us because it's the closest language in your loc files to them.
On the other hand if you want to pop up a widget allowing the user to pick a language first thing, then that's a you thing. You simply save flags. HasDoneFirstInitializationSettings? If no then show the widgets and set settings, else go straight to the main menu.
yeah resolution I'm seeing is an issue where I'm sure in package game stuff appears to fill more of the screen then it should compared to running PIE but then in PIE it seems to default the widget viewport thing to 1280 / 720 rather then 1920/1080 which is my monitor res but hay ho editor quirks
That's just a setting in the Editor Preferences for the new editor window.
so out of interest on my pc my packaged game runs wuite well at around 40% GPU usage. On another system where it has a Nividia GTX 1060 GPU it runs not that well around 10 til 20 FPS. is there anything I can do on the other system to see what might be causing the low fps etc
hello,
Can you see whats wrong on this code ? Its from a custom ai controller that is implemented on an NPC blueprint. The result locations array is empty on the get query result but the EQS is working when when testing with a EQS TestingPawn
thanks
You didn't let it finish. EQS is async. You need to bind it's finished delegate and do your prints off of that.
The only real answer to this is profile. Have the other machine do an insights profile with all of the correct flags to see what is costing time.
is there any resource avalible out there to guide how to do that ??
There's probably a few. Is the other machine yours?
I would generally look around for Unreal Insights guides. You can enable flags in the console if it's not a shipping version and also run the trace from there with a "trace.file" and "trace.stop". Then you just open the trace in Unreal Insights and see what is costing time each frame.
Can someone help me with my movement? I just started today and am following a tutorial to make a game, but when I press WASD it only moves me right.
it is mine yeah
On your WASD inputs, you need to add modifiers to invert and swizzle to get the directions correctly.
oh thank you I forgot about that. Do you know what should i connect here on the target of the bind event ?
Okay now im moving just forward, not right left or backwards anymore
The EQS query the first node returned.
thank you!
@maiden wadi
Don't swizzle them all. Every one of those is one 2D direction. +X. W should have no modifiers. S should be just inverted. D should be swizzled, A should be swizzled and inverted.
why it lying
theres no modifier called inverted
Ah. Negate I mean.
ah okay
Would i just do this trace for a couple of seconds and then look a insight ?
I figured out the order the keybinds shouldve been in
Sure. Where ever the problem issue is. If you can catch it within a few seconds, then your profile won't be as huge.
Sweet, and when I'm looking through the insight afterwords what am I looking for anything specific
Depends. Look at the GPU and Renderthread mostly, if you're convinced it's a rendering difference. See what is taking time. I would also try to get a similar profile on the better machine to do comparisons.
Well i was hoping there would be a way to somehow force the game to run as if it was on a lower spec system but I spose thats not possible cause well obvs you need the hardware there
do you know if this is possible to run the EQS in the character BP instead of a Custom AI Controller ? I would like to use the DetourCrowdAIController, but as I have a custom one with the EQS its not possible
Sure. You just pass self instead of the get controlled pawn.
does anyone know if the SM_DoorFrame static mesh still exists? i cant find it
Where's the breakpoint set
my character are not moving now, this is why I asked π¦
This is the code on the BP. So If I use my custom controller that has the same code after the custom event, its working, if I use AIController and put the code in the BP its not
Unsure if the issue. But don't mix execution lines. That blue line going to GetQueryResultsAsLocations should be from the bound event, not the RunEQSQuery function.
Hi guys, i have a mesh that needs a physical material. i made the physical material of materials but this is my problem; simple collision is bigger than the mesh, so bullet can't reach the material so it returns default phys material. so in static mesh settings, i set the "simple collision physical material override". but it still returns default. do you guys have any idea?
ok thank you, I'll try to fix this tomorrow
I just needed a reference to self on the AI move to ahah
Your breakpoint is on the output of a latent node. You are not in the same callstack that you want to check. You're checking the result of something that happened much later
when i pick up a object with my code, it makes it so i grab the center, but i want to pick it up by a certain angle, such as it in the corner. is there a way to stop it from correcting where the tracer hits it to the center? i believe its this part effecting it, but i don't know how to fix it as im new
i can send a video if i didn't explain it clearly
Ive seen a few posts and videos about using Data assets for verious things, most commonly attacks in a combo.
I get the general idea and use for them, but could someone help clear this up? If I make a primary data asset whats the difference of me making a child of it vs just a pure data asset? as far as I can tell the data asset is a "simpler" version that just lets you set variables but not add custom code. So if I wanted to add slightly unique functionality to them I should just use children classes? Or am I miss understanding their uses
A data asset is similar to a static mesh. Note that I mean the visual one, not the component that you put a static mesh in.
The DataAsset class defines what data the asset can hold. Just like the static mesh class defines that it holds mesh and material data to display a static mesh.
The DataAsset instance is simply a collection of data based on it's class, you can populate each instance differently similarly to a wall static mesh and a haystack staticmesh being the same class but with differing visual data.
Hello, is there a way to make an animation track keep playing while the sequencer is paused?
in my cutscene I want to pause the sequencer when showing dialogue,
but still want to loop the last animation so the npc looks like idling or looping their activity
so if I wanted my attacks to have some ever so slightly unique code on them I would just make a parrent and some children and use the children where I need them? Such as an array of attacks?
And thank you for that analogy thats a really solid explination
Personally. I'm not sure I'd use data assets for this. My first recommendation would be to use GAS and make them abilities. As that's exactly what they are, activatable abilities. Past that I'd recommend copying that methodology and makaing each attack an instanced uobject owned by the user.
Like, to be clear I'd probably have a data asset for an attack, but only to describe it. As in put it's name, it's ability, it's icons and such all in the data asset and use that to grant the ability and show it in UI, etc. But for the actual code of playing montages and applying damage and whatnot, that I'd put in the Gameplay Ability.
noted but all time trying to do here is "beef up" my attack system right now its just an array of montages. Ive seen posts online of making them into data assests that way yyou can store extra data on each assest as they are called from the array
ik GAS can do a lot and ive been meaning to learn more of it but I dont think I need ALL its functionality just yet
You don't have to use all of it's functionality right off the line. Just start by making your attacks into abilities. Grant them and learn how to activate them.
For example. If your current attacks are nothing but montages. You can set this up simply. Make a class from GameplayAbility like MyMeleeAttackBase. Put your montage play and damage application code in it. Make subclasses of it that change the montage played. And you can even put the other descriptor stuff in the ability for now and move it out to DAs later just to simplify the initial setup.
Add an ASC component to your character, grant the attacks, and then activate them to see them used.
that does sound simpler than I thought it would be, Im "ok" at CPP can most of that be handled in BP's ? at least for a trial run?
You don't need C++ for GAS until you get to Attributes. It does help a lot when you start getting into structuring things and exposing some stuff for simplicity. But you can use abilities 100% from BP to start.
ok cool, then maybe I will take the plunge, ive heard about all the cool stuff it can do it just seemed a bit daunting at first
do you have "recomended" starting point so to speak? I only ask cause I know epics offical documentation can be very hit or miss at times
so with a skeletal mesh, you can either play an animation using an ABP or just an animation asset. I just want to use an asset because an ABP would be overkill.
is there still a way to bind an event to when a firing on the animation is complete?
Unsure about recommendations. I learned from trial and error and having people like Kaos to bother with a hundred questions. π Realistically, I'd just start with some basic stuff and search for your specific cases. Do your attack abilities for a start. Maybe add some cues for the damage applications like blood splatter or hit effects after that to learn how to use cues. And if you want to jump into C++ after that, dive into some basic Attributes like health and whatnot and learn how to affect them with gameplay effects.
probably
guys, for player hud input using common UI (like interact or choosing some entries), you guys usually use enhanced input mapping, or common UI input mapping, or maybe both. I am trying to understand how both of this mapping works
I dont find loop option in animation track like in ABP,
it's more like I want to keep playing the animation until player input to dismiss or play next animation,
I tried using ABP but it's gonna make a lot of state when the cutscene grow later
great
anyways, does anyone know whats going on here?
sry for the unrelated question, but the icons in the bottom corner, did you add them or did the editor draw them?
Source control icons. So editor.
One of my developers made this for the combo system (as in left click -> left click -> left click will do a simple attack combo but left click -> right click -> right click will do a different one)
and i dont think this looks 'ideal' set up for it but needed a second opinion
You need an ability system. Or this is pretty much the only way to handle this with a lot of nasty branching.
yeah i am not a fan of this, how would i go on about adding an ability system then can you give me any pointers?
GAS already exists. People have done combo systems with it. You'd have to do some digging to find some write ups on it. Alternatively you could similarly write your own. But the core necessities are that you need to be able to activate abilities in a sequence and have them be interruptible via gameplay reasons like stuns or the user simply stopping inputs.
oh I see, wait GAS as in the game animation sample project?
Gameplay Ability System
its a plugin
idk how this is related to ability system...
you need to use enhanced input with a combo input action nvm, it's a sequence
https://www.fab.com/listings/3bd12134-b18a-43c3-879f-ae8475033edc maybe this helps π€·
ref viewer is not here, is it a plugin?
Hi. I have a struct with a bunch of variables, and I want to use an enum to show specific variables for each enum entry. Is that possible to do without coding my own class?
Hi all!
Does anyone know if there is a tutorial or a show that sets up how to check the remaining amount left of an Actor Blueprint class? I am trying to figure out how to call my custom event after the user has attached each blueprint screws of the four blueprint screws to the drill. I can't seem to find anything similar to it online, like if you collected all 8 pages or all three items, something happens like a cutscene, a user interface message, etc.
Hi,Why does GetPlayerController return NULL in the Level Blueprint of Level B when I load it from Level A, even though it works fine when I run Level B directly?
why you don't use Enum into your struct directly , if i understand your question
This is my struct. I want to replace the Spawn Pillars bool with an enum. For each, I'd love to have specific features, but I'm not sure how I can do that
create a Enum and change type to that enum
go to content and select folder where you want to keep your enum , right click Blueprints->Enums and create a enum here
anyone know how I'd launch my UE 5 game with launch options as I need to run it with the following options
-tracehost=<MAIN_PC_IP> -trace=cpu,gpu,frame,log,bookmark
unless it'll do that already, it was packaged with development build so
Sorry, I'm not explaining myself well:
I have an enum for that. What I'm looking for is when you select an enum option, you get different variables visible
- No Pillars has no variable attached
- Distance Based Pillars has Distance (float), and an actor reference to a mesh
- Point based Pillars has Points (int array) variable and actor reference to a mesh
You can create a shortcut and add the launch options.
ohhh okay let me try that
not quite sure what you want to do , but i think what i understand is you have to create a another structure for each variable in pair(veriable , enum) i think
You can't do that in BP. It's a C++ feature to show and hide other properties based on conditions.
And I'm guessing there's also no ways of setting variables public or private inside BP graph either
You can make a class's stuff private in BP. Not a struct's. Because struct's don't have programming in BP, so there's not really a point to allow private usage on them.
Right, ok. So what I want isn't possible then. Thanks both of you π
What am I doing wrong?
Likely a wrong cast. You're probably looking for a StaticMesh, not a StaticMeshComponent. There's no reason to async load a StaticMeshComponent.
I have an array of soft reference static meshes, I want to convert it to a static mesh component which is what the bp has
Wdym there's no reason to do that?
You can't convert a static mesh to a static mesh component. A static mesh component displays a static mesh. They're not interchangable. There's no reason to load a static mesh component because it's a singular class that is always loaded by the engine. You load static meshes to display inside of a static mesh component.
so i've click on connect on Unreal insights on my main machine yet I don't see the session to get the data etc from the target machine which is running the game, any ideas at all ??
Hi,Why does GetPlayerController return NULL in the Level Blueprint of Level B when I load it from Level A, even though it works fine when I run Level B directly?
level blueprint is bogus
unfortunalty its not my code but I cant change it too much code there
i use it for temp stuff sometimes but it's not recommended to be used much
Because of initialization order. The level began play before the player controller was created.
I added delay , also put on loop until valid but nothing work
Wait, a sublevel or like an openlevel?
get player controller, index 0 ?
yes
did you set it in the game mode override ? i think it should still work without that but just to make sure
Sublevel or a whole new level though?
new Level
its just default GameMode
You're sure the beginplay is running though?
There's no reason a new primary level shouldn't eventually be able to get the controller.
if run this level directly it works fine
You'll need a debugger to breakpoint that getter function then. π€·ββοΈ
can you show what it looks like ?
you may need to set it manually, thats what i would do
so anyone know how I can check if the trace thingy is running on the target machine cause at the moment I can't see on unreal insights on my main machine any trace thing coming through
but when I click connect it says it did succesfully connect
you mean gameMode ?
your game mode override
and player controller
in world settings
the think how it can work if we run direcly , but now when open by another level
how are you open the level ?
like was mentioned above you may want to break point it, or even just a print string make sure it's running
i done it both it is running and put delay it stuck never find it ,
Greetings everyone, I am kind of new to unreal engine. In my project I had converted a string to int to get its ascii value. I want to subtract 32 from it if it is an alphabet in lower case. Till here everything is fine but now I am not able to convert int into char like we do in c++
{ int a=65;
char b= a;
cout<<b;}
in the new level, do you have a character ? or your just flying around ?
its just login screen
i dont think it require its just login screen with defult game mode
right but the camera is free flying around no ?
i think
there isn't a char in blueprints
but you can fake it with a string that acts like a map, but you need to input all the chars
lucky for you you only need a-32 to z-32
pretty simple to map it
I'm curious what the use case for that is?
What is this logic in?
open level b from a then create widget for login
So it's setup in the level BP?
"subtracting 32 from the ASCII value of a lowercase letter will convert it to its uppercase equivalent. " <-- theres probably a better solution
yes
Is that even entirely reliable across languages? This sounds like something you'd do in a Textblock using it's TextTransform policy.
Let me try that
No actually I was trying to use something else other than ToUpper
ok
I would create a new controller just for the login screen and move the logic to that.
so you want an uppercase value, but not with to upper ?
"ABCDEFGHIJKLMNOPQRATUVWXYZ" < split to array, get index
not my work I have to do my work into it's lot of code
do you want a char specifically ? thats c++, this will be a string
Actually what I am doing is that I have a editable text box, upon receiving a English alphabet, I am getting its ascii value. Now I was just wondering if there is a way to convert this ascii value back to string (not as a number but as an alphabet) like we can do in C++ using
int a=65;
char b= a;
cout<<b;
right, i don't think so you'll have to create this
something like this might work
but it's just the displayable characters
"a string containing all printable ASCII characters (32-126)"
i would add some validity checks and dump a char if it's out of range
Let me try this method
it's actually minus 33, not 32
it's nice because it just spits out empty if it's out of range
but i would put a valid check, maybe a success boolean
Hello,i need some help with a Landscape bp,i fix a few things but cant do the texture flatness at the ground
"texture flatness" ? wdym ?
can i send link yo unreal bp page so u can see it?
i mean i usually don't follow random links
can you show an image of what your trying to do ?
the question is, what are you trying to do ?
because idk what texture flatness means
what is a "bp page" ? and you can send whatever you want in here so people can see
ga page where u can copy ur blueprint and show ppl
oh like blueprintue ?
ya thats a good place for it
use this instead
it will actually make the nodes it's pretty good, it's not perfect but it will show close enough, it doesn't show default values
if u serch textura is the newest one at 5.6
also you can send screenshots
but ya i'm not looking around for this thing
just send it somehow
give me sec
the question still remains, what are you trying to do ?
but hopefully some code will show this
It finally worked. Thanku you so much @lofty rapids
and you created an instance ? then you need to apply it to your landscape
yes
di you create the layer info ?
ok so it's working, but one of the settings isn't working properly ?
probably #materials can help with this sort of thing
sems like idk, i try few thing but cant make it dont look flat
"displacement refers to a rendering technique where a grayscale image (a displacement map) is used to offset the vertices of a 3D model, creating the illusion of surface detail like bumps, grooves, or other textures without actually modifying the underlying geometry." -google ai
but you'll probably get better answers in here ^
your roughness and normals are flat as well
they are just colors
atleast thats what it looks like
you could maybe add some noise to the roughness
multiply the texture by a noise texture
Like the other guy said source control. Im ussuing diversion, it's a newer tool but very flexible and useful also hooks into the engine with a plug in and give you visual markers like that and shows live updates if a file is being used by someone else on the repo
Anyone know why my AI isnt chasing my character? this is my blueprint and my behavior tree for it
where do you set seeing player ?
if you watch the tree while its running is always going to the left ?
Are active ragdolls completely broken in unreal 5.0.3. i tried to make one with a preview animation and the physical animaiton profile and previewed the simulate physics in the physics asset window and it doesnt move at all
yup ue 5.0.3 is a broken pile of trash, active ragdoll is broke
could someone tell me how to use handle callback in gameinstance? because so far it crashes me by something like
Cannot call UnrealScript (GameInstanceMain_C /Engine/Transient.GameEngine_0:GameInstanceMain_C_0 - Function /Game/FirstLaunchMenus/GameInstanceMain.GameInstanceMain_C:OnGameServerSet) while PostLoading objects"```
Does this seem like I set up my trace correctly? I get a random trace outside of my intended target along with the correct trace out to the camera (green sphere)
nvm was set to triggered instead of started
I wouldn't put the logic in the game instance. It looks like something that would be better in the gamemode.
@lofty rapids This is what its doing
Im adjusting a day night cycle level blueprint. I want to change the 'exposure compensation' of my camera. How can I connect the 'camera settings' variable to set node which has the value 'exposure compensation'?
when do you set the blackboard value ?
So bit confused here you can see the set power input and distrubrute power aren't being called
yet when I do a unreal insights I get this
it appears the function is being called unless I'm not reading right whats happening in Unreal Insight
how would I get the < node to return the value of the lerp if true?
hmm okay it seems I was looking too early into the graph
this is my blackboard here
where do you set seeingPlayer, because thats what would control the switch as you can see in your tree, it says if not set, and if set
and weird seeingPlayer isn't even in your blackboard ?
NVM found a solution online
seeingPlayer is right there in my blackboard, idk how you dont see it lol
oh ok i see it now, it's a boolean
when do you set it ?
i mean are you reading my questions because you answered like three times without answering
i have no idea what you mean when you say "when do you set it" i just started yesterday give me a bit of context bru
oh ok lol, well the ai tree basically says if its not set it should do the left thing, then if it is set it will do the right thing, basically although not exactly
so if you never change it, then it will never goto find the player
oh can u tell me how to do that
thats what the guys video tells me to do
https://www.youtube.com/watch?v=QoXxNpTyuV0 ai sensing timestamp
Hello guys, in this detailed and simple tutorial we are going to learn how to make a full First Person Horror game in Unreal Engine 5.
βͺοΈProject Files: https://bit.ly/GorkaGames_Patreon
π FREE SOUNDS:
Footstep: https://freesound.org/people/RonaldVanWonderen/sounds/110099/
Jumpscare: https://freesound.org/people/dangthaiduy007/sounds/3416...
did you go through the whole thing ?
because your obviously missing something
what am i missing?
and yes i did go through the whole thing
Hello guys, in this detailed and simple tutorial we are going to learn how to make a full First Person Horror game in Unreal Engine 5.
βͺοΈProject Files: https://bit.ly/GorkaGames_Patreon
π FREE SOUNDS:
Footstep: https://freesound.org/people/RonaldVanWonderen/sounds/110099/
Jumpscare: https://freesound.org/people/dangthaiduy007/sounds/3416...
did you do this part ?
as far as just started, did you go through some tuts about blueprints or did you just do this ?
just this
AH I GOT IT
U helped me there
I did all that but forgot to link true with the arrow lol
ok, glad it works
bro the mansion asset in that video is like Β£70. theres no free haunted houses and idk how to build my own
getting assets is tough
idk much about building my own stuff either, i just been learning and trying stuff out, i got blender for stuff like that, meshes
theres modeling mode in unreal, you might like that to build something
but anything really good you'll end up paying for
for characters i use mixamo, and for models i hope to find a free one somewhere on the internet, but it's definately not easy, liscencing is big time and the work is not easy
yeah wish i made this when the asset was free
You have redundant state, you don't need a bool bSeesPlayer when you could just have a YourPawnClassRef PawnISee and if it's void, you don't see them, if it's valid, you see them, and the ref is who you see.
ok, well I moved it to the gamemode (the one where you open a new level called lobby) and now the bind is activated but the OnGameServerSet event is not executed
when i pick up a object with my code, it makes it so i grab the center, but i want to pick it up by a certain angle, such as it in the corner. is there a way to stop it from correcting where the tracer hits it to the center? i believe its this part effecting it, but i don't know how to fix it as im new
i didn't explain it very well, ill send a video of whats going on. its centering it whenever i grab a corner and i want to fix it from recentering.
Anyone know if there is a way to get the level name that an actor lives within ??
i'm bassically trying to unload a stream level but need the name of it from the actor player is interacting with.
nevermind figured it out
Plug the hit location of the trace into the location for the grab
do you want it to cent where you grab it, or just lift from it's position ?
i want to grab it from where i actually grabbed it
i want to be able to pick it up by the corner
Okay let me try this
Like this?
is grab component built in or you made it ?
No, its just a random object with physics, but i also have a mesh i made.
ah
is that built in or you made that ?
I meant the one above, location, but I tested it in my own function and that works too, so yeah
Okay, it works good, but now it slowly moves the object away whenever i pick it up, drop it, pick it up, drop it, and so forth
not sure if its related to that or not
Sounds familiar... what does the update function look like?
Hm. Not the same problem I had. Update looks good. Could be how you calculated the distance? In your grab, take the distance pin from the line trace, don't calculate it with the actor positions
the distance is being calculated, from this part
Hit actor > Get actor location > distance vector > distance of object
get actor location (player
I know, I'm saying you don't have to. I suspect the problem is that you calculate the distance off the player, not the camera. Regardless, line trace already comes with a distance parameter, so you don't need to worry about calculating it at all
So i had a previous problem with that distance node, it was that the object got closer to the follow camera with every time you picked it up
so i got told to do it with hit actor and what i am doing right now.
Nevermind, i just changed it to distance and now it works great. It must have been because i had the code how it was before you helped me
thank you so much.
No problem! I happen to have the exact same mechanic in my project and spent hours troubleshooting it before someone else helped me here... because math is hard
You have the same mechanic? awesome, are you making a grapple hook?
Oh no, nothing that cool. I just like grabbing and throwing physics objects like in immersive sims
ah
also, if you don't mind, i have 1 question. i want my code to work how it is right now, but i want to make it, so if it touches a solid object such as a wall, it won't move and it'll stay attached to it, like a grapple hook.
is there any way to implement that
Needs an entirely separate function that you branch off, by checking if the object is simulating physics, has a specific tag, or some other attribute. Wouldn't know anything about building the actual grapple hook function however
well its less of a grapple hook and more like a sticky arm that extends.
Sorry, would have to look that up myself. Not that experienced in blueprints yet myself. Luckily, it's a very widespread mechanic, so I'm sure there's lots of tutorials for different behaviours
yeah
Does this mechanic only move YOU or also move the thing you hit?
Could somebody please help me find a good UE5 tutorial that meets my needs? I've been searching for an hour and I must be getting my terminology wrong because I can't find anything on such a simple topic.
I'm recreating an old, 2D, top-down RPG as an HD 2D-3D hybrid. Despite the game being in a 3D space, I need to recreate the player movement found in old 2D RPGs, like The Legend of Zelda or PokΓ©mon - seemingly grid-based, moving in increments matching the tile dimensions upon button press but also maintaining their walk speed when the button is held down (not pausing with each increment), detecting collisions before the sprite enters the tile they're not supposed to overlap with.
For a movement mechanic that was so popular not too long ago, I can't seem to find any modern tutorials that follow it. So far, I've only found 2D top-down movement tutorials that use free movement, and TBS or city-builders that utilise a grid for interactions with the mouse. Could someone please recommend some resources?
You can just whip that up yourself, easy
start with spheres and cubes
a grid is defined by rounded coordinates
I am brand new to Unreal Engine. I've done some courses here and there, but I don't have much experience, especially with debugging issues. I appreciate the confidence tho
You got enough to do this if you know what a variable and event/function are
Start with a pawn that moves when you press the button, with no concern for collision or anything. Just press button, moves gridsize units in some direction
Button -> TargetLocation = CurrentLocationRoundedToGrid + GridSize x 1,0,0
Tick -> VInterpToConstant Self.Location towards TargetLocation
Then later you can add the trace to check if button should set a new target location (can you move there)
Then even later you can detect when you've reached the target and if a button is currently down, set a new target.
it wouldn't move anything
it would just attach to the wall
and the cord wouldn't move
detect hitting the wall (event hit)
Stop movement (whatever that means)
if it's being moved by physics you need to turn on Simulation Generates Hit Events
I don't know what these things mean.... lol
hey guys im running into a weird issue with my cpp enum. Im doing a simple boolean comparison but for some reason when there are 2 different values it still returns true??? Does anyone know how this happens?
Devving on 5.4.4
Can you show the full code and where you're breakpointed?
its a little too much to fit in a single screenshot but i have a macro that does the comparison inside but before the macro happens i set the value first
It's hard to say without seeing the code in the screenshot and where the current execution is. But I would try some print debugging IMO. The blueprint debugger isn't always very reliable. Barring any serialized weirdness I can say that if your enum is 100% set to Normal still by the time the == runs then that == won't be true. You can't derp that with C++ anyhow, it's a pretty strict class. You can' thave two values == the same thing for instance because they're based on their index.
so the debugger in the blueprint might be giving me the wrong info?
would you look at that youre right. The debugger is just displaying the wrong info....
how can i check if im grabbing an object/physics handle component before executing the rest of the code
cast to physics handle component?
Alright here's a problem with my savesystem that is stumping me. Attached is somewhat of a Flow Chart of how the system works. (sorry if it looks insane) I'm noticing that things aren't saving between PIE sessions, especially the Collectable "Memories". Despite the MemoryObject being added to the CollectedMemories array, the array doesn't seem to get saved at all. Can anyone with save system experience comment on this?
You can't save pointers like that. Are these preplaced on the level and not spawned at runtime?
Yes they are preplaced. Do they have to be spawned in?
You don't grab a physics handle component, a physics handle component is the thing that can grab physically simulating primitives
No, if they're preplaced you can save a reference to them with a softobject ref. But you'd still need an associated struct with everything you need to save in them.
The physics handle is your grabber. The things you can grab are anything that's simulating physics
To clarify. The light blue variables like this are called pointers. They're memory locations, where that object lives at the moment in your memory. You save this location, you load up the save, you look at that memory spot again and find nothing there, this is because when you loaded the level, everything was created at whole new addresses in memory. This is why you have to serialize everything down into POD types with some sort of association and either look back up the object or recreate it, to restore the game.
Okay that makes a lot more sense. So would the proper way to go about this be, say, giving each collectable level and transform information and then spawning them? How would I keep track of the ones that have been found in that situation?
Sorry I'm pretty new to the technical aspect of this lol, memory is a little hard for me to wrap my head around
One option is to uniquely name them. Either via FName or GameplayTags. Pretty foolproof and not likely to break if you say.. delete one in the level and make a new one somewhere else in the level, as long as you've set their instanced editable properties correctly.
Then you can just save a map of like GameplayTag/StructOfWhateverDataYouNeededToSaveForThis
Anything more requires a bit more advanced understanding of serialization and restoration that is a fairly project wide practice and should be done from the start, IMO.
Understood thank you so much. I'm just trying to add in a simple collectable system towards the end of finishing this game, probably shouldve had that from the beginning lol. Everything you wrote makes sense to me conceptually but I'm a little lost how to actually implement it. I won't waste your time asking for step-by-step help but do you possibly know of any good tutorials or keywords to look up that would help me?
I mean if we're talking about literally like a walk over, pick up, show in a UI type of thing like most Ubisoft games, I'd probably just make a datatable of them and make gameplay tags to tag each one and put the data for them in the datatable. Make them set themselves up from the datatable, let the UI show from the datatable, and then all you need to save is a literal array of gameplay tags or a tagcontainer.
Then your BP just becomes more or less a display and function object in the level that you set a gameplay tag on in the level editor.
Yup, its literally just an object you interact with that adds to a counter then destroys itself. Only thing I really want is to track it possibly through steam achievements but thats another story.
I'll have to do some research into datatables, but thank you for the recommendations!
Anyone know the proper way to scale your minimap with the correct size to match the "view/focus area" on the minimap
How to scale your mini map with itself?
like the representation of your current view on the map
a box on the mini map that represents the players current viewport
like cnc ie
rts
If the camera is angled like a standard 3d RTS....you need a robust way of drawing a widget that is basically a skewed box....it's a non trivial problem requiring much consideration, like whether the camera pitch or yaw can change
One simplistic starting place would be to draw a widget on your minimap at the location of your camera, just like you would with any other object on the mini map, then experiment with the ways to represent your camera pitch dynamically on that widget
I wouldn't do that, IMO. There's major conceptual issues with using third party data for gameplay tracking. For one you tie yourself to their systems which isn't good for dev debugging. The other is that if you ever release on more platforms like EOS, consoles, etc, that becomes a nightmare quickly with having to tie in with each of them. I would just keep a local record for the player, and at granting time also apply it to their OSS achievements. They should stay in sync mostly.
I've done that but I'm having a hard time figuring out how to get the scaling right on everything
Okay.... but where do i check?
Then how do i check if i am grabbing something?
I haven't looked into steam achievements at all, but I didn't think it was that complex. I didn't want to tie myself to the steam achievements system, I just wanted to somehow tie the MemoriesCollected Integer to an achievement
Check if the thing your trace hits is simulating physics
figured it out, thanks
PackagingResults: Error: [Compiler] Spawn node Create Widget must have a class specified. from Source: /Game/FirstPerson/UI/MainMenuLevel.MainMenuLevel:PersistentLevel.MainMenuLevel```
what could be causing this error? πͺ³ This is my level blueprint which I suspect where the problem could be, I have a create widget node, but the widget inside of it is fine, and it works, there's nothing wrong about it afaik, so whats the problem? π€ π
General question, how would you guys approach making the Blue Prince style room generation? Do you just make level instances and spawn those in when the player makes a choice or what's the best way to go about that?
This doesn't look like the same blueprint it's erroring on. You're showing Sculpt_Landscape_Backup and it's erroring on MainMenuLevel
Hi, so I have created a system where I am using editable text box to add text. Now I want to delete an element from the text but the problem is that in my delete system, it is only deleting the last index element (first in last out). How to change it so that I can delete any value from the given text correctly?
Hi all!
I have a question about increasing integers and setting the total amount. I have a case where when you press the input, it calls the custom function. When it happens, it increases the integer amount of the bolt by one. The total or maximum is 4. Increasing the current amount is doing what I want. My problem is that if I press the input again, even if it reaches a total of 4, it still continues above 4, going to 5, 6, 7, and so on.
My question is, how do I prevent the increased amount from going above 4? Like when it reaches 4, and if I press the input again, it will not increment by 1 again, and it will stop.
Unless I'm reading your blueprint incorrectly. You're incrementing the value before doing your check
As a very rough example, run your max validation first, then add to it if true
Sorry. If it's LESS THAN ( < ) not greater, my bad
I'm not following entirely. What is your end goal with this exactly?
i think by the sounds of it, they want to remove a character from any index, so like test, if you remove e would become tst
i could be wrong, but thats what it "sounds" like
maybe clamp
Use clamp
Ah, that's what it was called! That's what I needed. Thank you!
Hi I seen to have this issue from the gorka guides rpg tutorial does anyone have a fix
Hi, Iβm using this function to choose an actor that the player can interact with using a dot product check to make sure the player is facing the actor, the Dot Product Threshold is set to 0.5 which mostly works fine so the player cant be looking away from the actor theyβre trying to interact with when interacting however Iβve also noticed that as the player gets closer to the actor, even when directly facing the actor, the Dot Product starts getting closer to the threshold of 0.5 which then makes the dot product check go false which then doesnβt allow interaction.. now I can decrease the threshold from 0.5 to say 0.3 which then allows the player to get closer to the actor before hitting the threshold but that also allows them more leeway to not be facing the actor to interact with it which I donβt want
Is there a way to adjust this dot product check so that it doesnβt hit the threshold by the player being βtoo closeβ to it but still allows for the same 0.5 threshold so the player has to be facing the actor to interact with it? Essentially the player should be able to get as close to the actor as the collisions around their meshes allow and as long as they're facing it they should be able to interact with it
Vid: https://drive.google.com/file/d/1dFecgzwaNhbZGeP9sj5MwkidbZ_MfJTv/view?usp=sharing
There's not enough info here. What kind of gameplay is this? FPS/TopDown, etc? If it's FPS or TPS, then you can't really fix this easily without doing a kind of hacky ZeroZ of all vectors before doing the dotproducts. But that just feels bad because you want it to remain in the center of their camera. If this is a topdown kind of style, you should be ZeroZing the vectors so that they're on an even level and it's more intuitive for the game type.
Theres a link to a video that shows it, third person tho
Would someone kindly tell me how to use the blueprint after loading?
(the cast always fails)
cast to bp_sodacan also fails
get sure that your level placed actor doesn't have the value of the variable reset. sometimes it doesn't sync to actor instances which are in levels
You wouldn't normally use Soft Actor references unless you're referencing something in another level. What are you trying to do?
the nodes you posted look fine, it should work if you have a valid soft ptr
I'm trying to do a vending machine that async loads a can when the user interacts with it
The can is a blueprint because on beginplay it gets randomized so i can't use a static mesh
You'll most likely need a soft class reference then. You'd then load the class and use the class to spawn a new actor of that type.
now spawn 100 of them in the same place with physics and you'll get a nice soda can explosion
Might as well fracture the vending machine as well. An explosion particle and some SFX would be the cherry on top. π
Beautiful!!
wait, what happened if we spawn 100 cinematic metahuman at once
Hi guys, I'm making stuff similar to this video and started to wonder if there is a way to rotate on all 3axis instead of only 2
https://youtu.be/FjkOQvmu3fI?t=120
If anyone already did something like that/know how to do it please helpπ (Couldn't do arcball myself unfortunately)
Hello everyone,
Welcome to the next part of our series on the Unreal Engine 5 inventory system!
In this video I will show you how to Move and zoom in on your 3D Item widget
Previous video: https://youtu.be/eDU5-IY3oZM
Discord: https://discord.gg/Yh7w5GBU7k
Playlist: https://www.youtube.com/playlist?list=PLrudBLqLfaTS4um1O8ncySgOQu0rNDF9Q
Pa...
disable collision when you are jumping over the obstacle
i'm trying to use a custom depth stencil, if i plug in scenetexture color to emissive it's not glowing
ai says i need to rebuild unreal with source or theres an issue with unreal version 5.3.2
because i set everything how it's supposed to be according to this shit ai
increase the color by multiplying it with some value then try
0 * 100 = 0
i think it's not working, the stencil isn't showing in the visualizer, but i think i set it up correctly
you will need to add the stencil value in the input there on the mesh placed in level
this is on the mesh in the actor
so it should be by default be on the mesh placed in level ?
Correct.
why mine one is disabled today custom depth with stencil is enabled in project settings
you have to enable it per thing
check render custom depth, then you can set the stencil value
oh man i forgot that let me try i will show you
@lofty rapids
mine side works look at settings the material is post process material
i'm using customstencil
your using postprocessinput
do i need to put this in a post process material ?
or it can just be regular ?
look at the pic with focus i am using the post process input 0 only for scene color the stencial is taken from the other node pluged to switch
read the names of nodes
hmm i see
on my side value for cylinder is 1 and for cone is 2
hello, I need some help again, I need to break down an array into their own elements but keep them as array length of 1, how can I do it here without another for each loop?
I need something like Make Array but with dynamic index selection
Appreciate it!
plug the scenetexture into emissive color, what does it look like ?
which one custom stencial one or the postprocessinput0
custom stencil
does it show a color ?
did you enabled custom depth with stencial enabled in project render settings
explain what you are saying
yes, i enabled it, and i'm trying to get it from a seperate material
not the one applied on the mesh
try on default cube, cylinder with no material having custom depth stencial value
idk what "keep them as array length of 1" means
i never tested on the same mesh same material
right, this works, so it's the material messing with it ?
I have an array with two sockets coming in, I want to spawn two actors and pass them each their own element of that sockets array. So Actor 1 Spawns -> Gets index 0 from SocketArray, Actor 2 Spawns -> Gets index 1 from SocketArray.
Each Spawned Actor needs to receive an array with length of 1, means one element max. which is index 0 and for second loop index 1
i tried on material we can only get the custom stencial depth buffer in post process material or single water layer material
I could do if index is 0 then make array from index 0, else if index is 1 then make array from index 1, but that feels kinda wrong with just two indices
it's not working on a translucent material, weird
if the length is one why you are using array to set on that character
Because translucent blend mode is not writting to depth pass
Because of how it handles the Sockets, it needs an array. All Im trying to do is to get the index 0 and 1 with each iteration and pass the elements from index 0 and 1 to each spawned actor once. I tried with get, which would mean get THIS index -> make array then set this array. The problem is that the second spawned actor also gets its array made on index 0. Im looking for Make Array but where it says [0] its a dynamic index input instead.
Creating a 3rd array which always gets cleaned and set will prob work, but its an extra variable too
if you want without for loop
without a second one yep, that one can stay if needed
@unique bronze
then you will need to increment an (int var by 2) on after each spawn and then get that (variable) for second index and that (variable - 1) for first index
Did you got what i said.
A bit, but I think I didnt explain right?
I want to break an array into its elements, and spawn an actor each taking one element from that broken array, is this really good with some counter variable just for that?
-I've created a BP_actor manager with a boolean IsPlayerDetected, and I've put it in game
- Then in the AI controller. in the HandleSight sense function I've put this.
But I don't understand how to say to every enemy to check the "IsPlayerDetected" and in the case is true, to set the TargetActor in the blackboard for every enemies in the BT
don't use foreach just increment the var each time after actor spawn and then use that var as index of element from the array
Okay thanks!
Is there any particular reason why this is different from what the for each delivers from its index? I thought it outputs the index the array element its currently at, which means 0 and 1 since my array input is always length of 2
you will spawn the actor each time the loop runs
And in the other case just once
An event dispatcher might work well. You're AI could bind to it and when the value gets updated the manager can call the dispatcher to notify all the AI that is bound to it.
I need two actors to spawn. But honestly Im so confused right now and dont know how to explain anymore, sorry, not your fault, thanks in any case π
I think its one of those moments in game dev, once something gets too complicated, you're on your own.
Ill just go practice arrays. Thanks
it doesn't work, theres a checkbox for that i thought i checked it
What?
theres a setting in the materials to allow custom depth translucent
OMG,
And does it work,
by compiling additional shaders. π
it doesn't work, i don't mind a few more shaders lol
but if it worked that would be nice
it worked on my side for translucent materials
interesting, its not working well for me lol
it worked but i have camera depth issue with it now, and it is easy to solve
it's still not doing what i want
maybe it's the material, i did get the stencil to actually work
by changing from translucent
Ive got a bink related question as it has been acting very weird. My Bink video is acting weird that when I begin play on a level, it automatically begins playing without me ever opening it up or calling it which is the weirdest thing. Even after I close the level, if I dont open it and then close a gameplay isntance in which it is playing, it continues to play the audio. Im thinking this may be a memory issue and Ive been trying to control the play, but I havent had any luck. Does anyone have any suggestions or tips and tricks? Ive attached a recording to visualize whats going on.
let's say i have a couple buttons, and i wanna put icons on them using an atlas texture. (i'd like to use 1 material to display both the border & icon so i can add effects to both, so just overlaying an image and adding the texture there is not very neat...)
Do i have to write a construction script to create those buttons, get a dynamic material instance for each and every one of them, and move the UV by a little bit to display a different part of the atlas? 
or is there a way to just access material parameters without doing all that blueprint stuff, or making a bunch of material instances?
???? i have to do THIS for each and every button just to access the material parameters??? 
this is the only way i got it to work
that can't be right 
i must be doing something wrong...
how can I do wildcard input without any errors? for a library function
"directly using wildcard inputs in a Blueprint Function Library function without C++ is not fully supported"
bleh, so I need to define the possible wildcards in cpp first?
No, not exactly. You need to make these as a Macro Library
Maybe? Depends what you try to do- macros do have their limits
just calculations
Or you implement the function in C++
for each loops
and setting a variable
input exect and wildcard array > output exect and maybe a float or enum
no dealys or anything
if its just calculations youβre after, you can try the Math Expression node
would like to have it in one place as I need to reuseit a billion times, so if I change something I would need to change everywhere
But thereβs nothing out of the box that will allow you to implement wildcard handling inside a BP function
Is there a variable I can add to a structure that includes both UTextures and UMaterialInterfaces? Something that includes AtlastedTextureInterface. I see that there is an image in the brush but i dont need everything else in brush.
random rotation, forward vector * size ?
as far as your second issue i believe thats usually solved with custom channels
random point in bounding box
center > player location
half size > use X & Y and let Z on 0, can run some traces with branches to check for collision and chose another point further away or increase the bounding box
well yeah, spawn the box then spawn the actor
you can input directly your stored location to center
depending on where you call the bp logic will be either owner if it's a component, another reference to another location etc. In my screenshot it's ran on an actor component
isn't that exactly the same thing as random point in bounding box but with less control?
no it's in a radius
ah yes
I think square xD
so you can set the radius and they will spawn in that radius
if you were to get random in bounding it would be anywhere inside the box
you could also go with a radius range
which is good to mix it up
in theory it's exact
minus floating point precision lol
i would set a range value thats a scale of the full radius
would random float in range 0-360 also work instead of random float * 360? do both have same effect?
i think it's the same
custom channel is the way to go for that should be fairly simple, you make a channel default to ignore, put block on the landscape, just watch out if your trees have blockall it might set to block, so you may need to do some custom collision settings
Hi, I have a question about Launch Character.
Iβm not sure why, but on the server, the characterβs mesh sinks into the ground after launching, while on the clients everything looks fine β the mesh doesnβt sink.
Does anyone know what might be causing this? (Multiplayer problem)
guys, what is the Object wild card for Actors?
an instance of that actor
A cast is a type check
You're asking "is this generic actor I have this more specific type?"
Like asking "is this piece of furniture a chair"? And if it is, it gives you a casted reference to a chair, so you can do things that you can only do to chairs
Or say you have an animal, with a reference to a land animal you can check things that would apply to any land animal, like it's heart rate, or how many legs it has for instance. Some specific animals do things that others don't though. You'd have to cast your animal to a dog, and if it is one you could then get it to bark
Got it, that's what I thought, but it gives me a warning saying I'm already casting to it or something so it always throws me off with Actors
That's because of the type
it's already a startercube, so its a useless cast is what its saying
If your reference is already of the type BP_StarterCube, you don't need to ask if it's a BP_StarterCube because it physically couldn't be anything else
It could only be null, which is easily queried by the IsValid node
you can also do a multi trace and check all hits
before I do anything against the rules. I am asking here, can I ask for full time help on a project in UE?
There are job boards for that kind of thing. #instructions is a place to start.
If you have simpler questions, most people here will try to help usually, but for dedicated help you'd need to look there for paid or volunteer assistance.
ok, thank you so much
Hey, I ended up doing it the 'hacky 0 Z" way but it seems to be working exactly as I wanted.. am I missing something, why should it feel bad?
It's not specifically hacky so much, that was probably a harsh wording on my part. π Because it's more for a top down style. In a TPS/FPS you usually want the player to look at the things they want to interact with. But if it suits your interaction style, then go with it.
You can normalize the distance to 0-1 which you can then use to control the threshold based on a min/max range.
dude, you're doing weird thing.
just do something like
FVector CharacterLocation = Pawn->GetActorLocation();
FVector CharacterDirection = Pawn->GetActorForwardVector();
FVector DirectionToObject = (Object->GetActorLocation - CharacterLocation).GetSafeNormal();
bool bInFrontOfCharacter = FVector::DotProduct(CharacterDirection, DirectionToObject) > 0.0f;
In blueprint it would be something like on the screenshot (I made this in a character blueprint for this screenshot)
Ohhhh I think I see what you're saying, you mean where they're looking as in where the camera is looking? My interaction is set up so they have to be facing the actor but as in the character themselves has to face the actor in order to interact with it, the camera can be looking where ever as long as the character is facing the actor, so far that new set up seems to let me get as close as I want without fucking the interaction up lol
this works for checking if one object facing another.
if you want to make it from camera, then get component world location, from CameraManager or something
Yeah, I would use the general top down method then, cause it'll be about the same usability. It'll mostly be checking if they're looking at the object with a zero Z and then maybe also a distance check to make sure their Z levels aren't too far, like an object too high or low off of a cliff.
That was essentially the set up I had in my original post apart from the threshold I have but that was what was causing the problem I posted about which wouldn't let me close to the actor before the threshold was hit which i why I'm doing it this way lol
why use some threshold? Just 0.0 works fine
regardless of the distance
also, I've checked your post, it looks way overcomplicated.
Just try this formula
if you want to clamp an angle, then dot product should be
dotProduct > cosine(DegreesToRadians(angle))
if your character gets too close to the object, normal vector may be facing downward, so you can make all locations Z = 0 and add another check if it's higher than camera or not via separate Z distance
like bInFrontOfCharacter AND ZDist < MaxZ
Is it a "good" idea for a game that has like 30+ levels
to have 1 single persistent level and just load and unload streaming levels?
Good is a relative term here. This highly depends on the game and your technical needs.
depends on levels itself
streaming levels have async loading and unloading in blueprint, so it can be smooth experience
just try it and monitor perfomance
alr, its a simple game
mostly the same meshes/actors for each level, so I think it will be fine
thx
Without a threshold the player can interact with the thing without facing it properly which I don't like.. the player shouldn't be able to interact with that door like this SS, the 0.5 threshold made it so the character had to be facing towards the middle of the actor to interact with it
in that case I would suggest projecting interactable object location to screen
and checking X distance of it in screen space
or check the angle #blueprint message formula
Is there a way to get the currently selected spline points in editor and perform operations on them? I'm trying to do it via an editor utility widget, but I'm open to C++ or other ways if that's not viable.
the only thing I know, that the class that's responsible for this is in
Engine\Source\Editor\ComponentVisualizers\SplineComponentVisualizer
is anyone available?
im trying to seperate Z axis camera lag from XY and cant figure it out
Im using the default TP character blueprint
use relative location instead of world location
this changed the output but also wildly messed it up
the target of interp to should just be the camera lag z variable
and use get relative location instead of get world location
like this?
this stopped the weird overshot camera but now it just does nothing it seems
oh i see
wait theres no get relative location function when i look it up
the get actor location should also be replaced to get relative location
there's a variable
should show up if you drag out from camera reference
found it
it still isnt adding the Z lag for some reason
I have it as low as 0.2 just to make sure its working
the get world location node should also be get relative location
and interp speed shouldn't be 0
oh i forgot camera is attached to the actorπ
The short answer is that you need to set the camera component to be absolute, so that it won't move with the spring arm normally. Then in your tick function you interpolate it from it's current location into place using it's relative location.
idk if i can do that tho with the default TP blueprint
the component isnt editable
im very new tho so excuse me if im wrong
Click the camera to show it's details panel and then look for the Location/Rotation/Scale stuff. There's a dropdown on them.
You need to set that to either World, or Absolute, I can't recall off hand. Editor isn't open.
it only shows Relative and World
Set it for World then. That'll make it no longer follow the spring arm by default.
ohh gotcha now it says absolute