#blueprint

402296 messages Β· Page 508 of 403

thorny cedar
#

@tight schooner founfd it. i look for the closest point on the spline and when i make some curves in my spline it jumps over this index point

#

yep treshhold increase helped

#

but how much should i increase?

#

i set it to 1, i gguess thats why to much

#

i also can simply call a index on a linear segment of my path

tight schooner
#

I think it's in Unreal Units (or centimeters if you prefer) so you're checking to see if the sphere location is within the distance you entered

#

of the spline point

thorny cedar
#

so when i enter 1 it looks in the range of 1 Unreal Units?

tight schooner
#

yeah

thorny cedar
#

so my index is at 0 0 0 so everythin in the range of -1 -1 -1 to 1 1 1 would be legit, if my treshhold is 1?

tight schooner
#

well... it could be radius-based so 1,1,1, would actually further out than 1cm

#

I'm just assuming that's how it works

thorn ermine
#

yeah, it would be basically the 'length' of a unit vector. πŸ™‚

thorny cedar
#

ah radius so everything that is within it

twilit heath
#

you should just get the closest point on the spline to sphere center and compare its length against some arbitrary number

#

that is not 0,00001

#

because that is a recipe for a broken algorithm

thorny cedar
#

ok i have no idea what you are talking about, sry

#

ok is that what the treshhold does?

twilit heath
#

there is a function that takes a point/vector

thorn ermine
#

that is for a nearly equals threshold, its not actually looking for exactly 0.0001

twilit heath
#

and gets the closest point on the Spline to that point

#

if you substract the two and get length, you see how far your point is from the spline

thorny cedar
#

@twilit heath i have a moving sphere that represents my movingplattform.

thorn ermine
#

you are good kano. you are already doing that. πŸ™‚

thorny cedar
#

than increasing my treshhold is all i have to do. I can iamgine the treshhold as a radius around my indexlocation?

thorn ermine
#

correct.

#

as long as your update per frame does not exceed this threshold, you will match

thorny cedar
#

perfect

#

so when my sphere crosses the specific index it stops, since it is a physicsActor(Vehicle) it still has some velocity. Can ii set the velocity manually?

thorn ermine
#

BodyInstance|PrimitiveComponent::SetLinearVelocity and SetAngularVelocity for rotation.

thorny cedar
#

i just forget to think at the steering^^

#

it is natural to break and not instantly stop

thorn ermine
#

you can use a VInterpTo, in combination with GetLinearVelocity and SetLinearVelocity

#

'slowly' lerp velocity to 0

obsidian zephyr
#

Need help my character keeps looping through animation

thorny cedar
#

@thorn ermine if i want to make the breaking a bit softer or harder?

thorn ermine
#

Interp has a 'speed'

#

you can use that

thorny cedar
#

will keep that in mind if needed

#

my vehicle isnt that fast, so a natural break seems fitting

graceful forum
#

How performant is "GetDatatableRow" node is? Can it create performance issues to call it in a loop to get 50-60 rows back to back? Is the data read from memory or from disk?

tight schooner
#

I would suggest benchmarking it -- assign it to a button or something that does it 100,000 times lol

#

type Stat Raw into the console and see what the frametime spike looks like

thorny cedar
#

I still have the problem, that some how the orientation of my Spline and Sphere influence the behaviour of my vehicle πŸ€”

#

my vehicle is following the sphere, that is always the closest point to the splinePath

#

when i rote my path on the Z axis to 0 my vehicles starts to move in slopes, while setting Z to 90 or -90 it just follows the sphere

unique wyvern
#

If I call a custom event, which runs some code in a while loop, if I call that event again, how do I get the original thread to terminate?

#

nvm I'll just use a timer instead

thorny cedar
#

i guess there is a better solution for this
i want to make subtitles so i made an actor in my Pawn that sets the text according to the timestamps i set in my array

pale orbit
tight schooner
#

@pale orbit it means that boolean doesn't exist in the BP class you're casting to. Maybe that's the case, or maybe you forgot to compile that BP.

#

@thorny cedar I don't think you can use a delay in a loop. The loop executes all at once, so the delay is being called however many times in one frame. You should look into a node called Set Timer by Event (or Set Timer by Function Name)

#

that's like the proper way to do it

thorny cedar
#

yep it always prints the last one thank you for the hint

astral granite
#

Guys, my character is skidding in rotation, why does this happen?

thorny cedar
#

@tight schooner so this should work? oh forgot to ad Clear and Invalidate Timer by Handle! or is this only important when looping?

tight schooner
#

It wouldn't work cuz the timer resets every time you call the Set Timer By node. The problem is the Loop node executes all at once; you can't make the loop happen across frames.

#

There are a lot of ways to approach what you're trying to do. I don't know the "best" way cuz I've never made a subtitle updating thingy, but off the top of my head

#

you can make a counter variable (an integer) that keeps track of which subtitle index it's working on

#

and have an event that updates stuff based on the index, and at the end, it increments the index, and if the index exists, it then sets a timer on itself

#

so at the end of the event, you have a Branch node and then a Set Timer by Event node

#

if that makes any sense

thorny cedar
#

ill try my best

#

ahhh

#

so my timer time is set anew everytime i have set the text

tight schooner
#

yeah, at the end of the event, it sets a new timer on itself (the red line connects all the way back to the event)

#

if the next index doesn't exist in the array, it doesn't set the timer on itself, and thus ends

#

(or you can do this check at the beginning of the event if you prefer)

thorny cedar
#

i try to figure it out and post a pic of it

#

yeah so i dont need any index in my data structure

#

oh actually i need

#

i dontjust chek, if i can get the next element

#

the order of my subs is basically the order of the array

ripe spire
#

Heyo. I'm not sure if this is the place to ask but my question is this: To those of you who have worked with both Blueprint in UE4 and Bolt in Unity, which do you prefer, which do you believe more powerful, and why do you prefer one over the other? Thanks!

thorny cedar
tight schooner
#

you can simplify the index check with "is valid index" node

#

like is index+1 valid?

#

you don't have to loop the timer if you're setting it manually each time

#

(so uncheck Looping and get rid of "Clear and invalidate timer")

twilit heath
#

you also have LastIndex node which is Length - 1, less clutter

winged kettle
#

For whatever reason, when using set relative location on the procedural mesh it sets it to world location and not the location relative to the root (scene component). Any ideas?

opal pendant
#

why are you wanting to move the procedural mesh and not the root?

winged kettle
#

This is the sliced portion of a procedural mesh. I removed it from its parent and placed it into a new actor. The mesh is off center because of this.

thorny cedar
#

im confused, whe i create functions with some inputs unreal expect me do attach sth to the input

#

but how can i normally handle if an array for example is empty?

opal pendant
#

could you send a screenshot of your code for it @winged kettle ?

thorny cedar
#

setting the array before actually calling the function?

#

and catching if the array is empty before xecuting anything in the function?

winged kettle
#

@opal pendant Yeah, give me a sec.

opal pendant
#

k

mortal wharf
#

How could i make a power system that starts at 100% when none of my doors are open i want the power to drain slowly but if i have 1 open a bit faster and 2 very fast how would i do that?

thorny cedar
#

in my case i have Subtitle system and a function called PlayAudio with SubtitlesArrayInput. What is if there isnt a array or the array is empty

opal pendant
#

you can still plug in an empty array into a function, it's just that the function won't be able to output something

thorny cedar
#

is that common practise? so in my example everywhere where i call play audio and dont need subtitles i can input a empty array? ofc i could make a function without subtitles to

opal pendant
#

@mortal wharf I would make a door actor that has a function which when it's in the "open" state, it casts to the gamemode and tells it it's open. the gamemode contains a function that uses a looping timer to decrease the power percentage 1 every t seconds, and you could use an if statement to test how many doors are open, and if 2 doors are open then you set t to a lower value (eg. 1 door is open: t = 0.5, 2 doors open: t = 0.2) @mortal wharf

#

oops sorry for the double ping

mortal wharf
#

No Problem Would You Mind If You Could Explain Step For Step As I Am Very New To The Engine?

#

@opal pendant

opal pendant
#

I just did though

#

make a door actor, then make an event that changes the door's state to "open" and cast its state to the gamemode

#

in the gamemode, have an event or function that begins a looping timer to decrease the power %

tight schooner
#

@thorny cedar yeah you can use an IsValid node to check if data exists, and branch some behavior off the result. It's pretty common practice. (Is Valid Index also exists for arrays.)

thorny cedar
#

I was just irritated to have an empty array attached

tight schooner
#

I'm not sure what the point of calling a function with an array input is if you're deliberately feeding it an empty array. Maybe I'm not wrapping my head around your scenario.

thorny cedar
#

in my case with the subtitles

#

imagine some sound, that dont have any subtitles

#

hm maybe changing it to Play voice?

tight schooner
#

Oh ok. If the function is always called but sometimes there's no data in a certain variable it uses, then checking IsValid is pretty normal.

thorny cedar
#

and attaching an empty array in my case?

tight schooner
#

Is your array a variable that's sometimes set and sometimes not set?

signal cosmos
#

Hi guys, I'm trying to make a widget utility to change multiple skeletal meshes' materials at once.
It works fine for static meshes, but I can't find a way to set it for skeletal meshes. The node "Set Material" is not available out of a Skeletal Mesh.

thorny cedar
#

when you play an audio you know have to know, if it is an audio with subs or not

#

so it will be set only for the audios, when called

tight schooner
#

Is this dialog system built into Unreal or did you build it yourself?

thorny cedar
#

im using my own

#

i do check if my audio, my array and the audio component is valid, before trying to play

#

in addition i stop and set the audio component to null, before actually creating a new component and setting it

tight schooner
#

I'll just say if it works, it works. I can't speak to standard practice as I've never worked at a studio / in the industry. In my current project, there are points where I set array variables with nothing and use them in functions/events

#

that then check if stuff exists

#

and I haven't had issues with that

#

so it's not gonna like, break UE

thorny cedar
#

ok thats what i will do and did in the past, without questioning

tight schooner
#

as long as you're checking before using, you won't get "accessed none" errors

trim matrix
#

I'm new to blueprint, where do I start?

thorny cedar
#

thank you πŸ™‚

tight schooner
#

@trim matrix I can't vouch for it personally (I've been winging it the whole time) but Epic provides its own learning resources @ http://learn.unrealengine.com

trim matrix
#

ok thanks

tight schooner
#

and for learning what specific nodes/systems do, there's a very helpful YT series by Mathew Wadstein called "WTF is" / "HTF do I"

#

everybody refers to it constantly

sonic moss
lone lantern
#

Hello, I would like to toggle visibility of selected foliage inside blueprint, is there any method please?

trim matrix
#

Good time of day. Planning to make weapon craft game. The start of the game should begin from stone age, so we will craft stone weapon. The idea is to make posibility to craft weapon with different shapes by redacting stones, woods and connecting it to each other by ropes.
The problem is that I can't figure out the best way how to make the redactable materials for craft. Have some ideas like using voxel, destructible and maybe procedural mesh component.
Can anybody share by their information how it possible to make?

odd veldt
#

I want to push a player with a simple block, up (elevator) works fine, but if I push the player to a side it looks very strange.

maiden wadi
#

@odd veldt Are you talking about the camera jumping?

odd veldt
#

yes

#

also the player gets not pushed right

maiden wadi
#

It almost looks like your spring arm throwing a fit.

odd veldt
#

no

#

the problem is also in first person without spring arm

maiden wadi
#

Multiplayer?

odd veldt
#

no

maiden wadi
#

Pretty odd then. At 120 fps, that push out of the way should be pretty smooth without network correction.

odd veldt
#

up works without problem

#

like a elevator

#

only to the side looks like this

maiden wadi
#

Does any other moving actor to the side do this, or just that door?

thorny cedar
nova belfry
#

Heya! How would you guys check if a character has negative velocity and set a boolean?
I'm currently using Get Velocity where I separate the Z, and doing if Velocity Z is Less Than 0 -> Return True and Set Downwards Velocity Bool to True.

However.. it returns True even when all the velocity values are set to 0 in the Character Movement Component.

#

maybe it's just me thinking in a dumb way when it comes to greater than, lesser than when it comes to negative numbers

maiden wadi
#

@odd veldt Out of curiosity, how are you making the door push the character?

odd veldt
#

@maiden wadi moving the door with set actor location

thorny cedar
#

im super confused my getplayer pawn get sthe spectator pawn, but why

odd veldt
#

@maiden wadi if I "walk" while beeing pushed it works. πŸ€”

thorny cedar
#

ohhhh is it possible to cast in functions?

#

getplayerpawn->castomyplayerpwan?

odd veldt
#

@maiden wadi Testet it with a box with physics, does also work without problem... so the problem is the charakter

pulsar rock
#

Does anyone know of a way to get a reference to a static mesh asset by string in a construction script?

#

I'd like to use SetStaticMesh but I need to look up an asset programmtically.

frail hamlet
#

@thorny cedar Game States are usually loaded into memory before the Player so your pawn probably might not exist when the game state's BeginPlay is called. To test, try and put a delay node before trying to reference the player.

runic ore
#

Hey, I try to use Argument Modifiers for FTest but this doesn't seem to work. Do I need to activate smth for it?

thorny cedar
#

ok my attemp is a bit wierd

#

it works all functions after casting, but not if i use them in a function

shut hinge
#

got a text box widget delete error, widget won't compile, how do we get rid of this error?

#

Binding Null Error keeps coming up.

odd veldt
#

Still having my problem, need help!

thorny cedar
#

can someone help me whit communicating between gamestate and player pawn?

keen goblet
#

@pulsar rock I suppose you could build a map of String -> Static Mesh and Find the mesh for your string in the construction script, but maybe there's a better way

faint pasture
#

@thorny cedar both pawn and GameState know of the PlayerController, I'd start there

#

What are you trying to communicate?

gusty shuttle
#

I'm not a noob, but for some reason I can't understand why by linetrace is not being detected haha. The box is blocking, I can visibly see the debug lines blocking it. But the OnComponentHit or BeginOverlap is not triggering. What am I missing?

#

I know I usually need a OtherActor, I tried IsValid hooked into it. It's just not allowing me to trigger Hit or Overlap

frail hamlet
#

@gusty shuttle Have checked all collision settings on both actors to ensure their types will collide?

gusty shuttle
#

Yeah, once again, the collision box is blocking the right channel. Debug says so. Only on block, not overlap though

#

However on block, it seems not to allow me to trigger overlap events or hit events

frail hamlet
#

Have you tried changing from Block to Overlap to see if the results change?

faint pasture
#

@gusty shuttle I don't think a line trace will trigger anything. The on hit and on overlap are for body to body collisions

gusty shuttle
#

Yee, I feel like my brain is slipping out of my ears when I deal with collisions haha. I'm going to hook it up to the EventAnyDamage and just adjust the base damage

#

See if that works

frail hamlet
#

What type of object is the other component? Not another WorldDynamic I hope.

gusty shuttle
#

@frail hamlet @faint pasture That worked, all is well

#

Man, I've been using Ue4 for years and sometimes I forget easy shit hhaha

pulsar rock
#

@keen goblet thanks

hard mirage
#

Hello ! As for me I am a noob and I may have a easy question for you haha.

I am trying to do a day / night cycle in which I made a particle effect that mimics fireflies...so far it works well, it starts and stops at the right time but with my present setup the particles just...dissapears all at once ? How could I say to my blueprints : When daytime comes / stop emitting and let the particle die out ?

faint pasture
#

dont do that, use activate/deactivate

hard mirage
#

Ok I was dumb, I could not find it while right clicking but I found it in the library

#

So something like that ? (with the rest connected, said dumbness acted out again and went to fast)

#

It works ! Thank you @faint pasture

faint pasture
#

I think the level should be doing the transition but that'll work

#

The GameMode or GameState tells the level what time it is, and it updates all the actors

hard mirage
#

That sure sounds way more efficient, I might get into that soon as other effects get made

faint pasture
#

However you do it there should be one place that sets the time and knows about everything else that needs to know what time it is

pine trellis
thorn ermine
#

if you right click on the event|function node, there should be an 'Add Call To Parent'

pine trellis
#

good looking out @thorn ermine

ocean mango
#

so I've added my own custom joystick widget, it currently has an event dispatcher for movement. I'm trying to sort out how I can use it to set the value of a named Input Axis

#

Is there some way to dynamically register it as a key/joystick and map it to these axes?

pastel valley
#

Hello guys, is it possible to setup a team death match game mode using BP?

ocean mango
#

It looks like SVirtualJoystick::Tick has a dirty hack to do this, so I may just expose a C++ function to do it to my blueprints.

#
// now pass the fake joystick events to the game
const FGamepadKeyNames::Type XAxis = (Control.MainInputKey.IsValid() ? Control.MainInputKey.GetFName() : (ControlIndex == 0 ? FGamepadKeyNames::LeftAnalogX : FGamepadKeyNames::RightAnalogX));
const FGamepadKeyNames::Type YAxis = (Control.AltInputKey.IsValid() ? Control.AltInputKey.GetFName() : (ControlIndex == 0 ? FGamepadKeyNames::LeftAnalogY : FGamepadKeyNames::RightAnalogY));

FSlateApplication::Get().SetAllUserFocusToGameViewport();
FSlateApplication::Get().OnControllerAnalog(XAxis, 0, NormalizedOffset.X);
FSlateApplication::Get().OnControllerAnalog(YAxis, 0, -NormalizedOffset.Y);
hard mirage
#

However you do it there should be one place that sets the time and knows about everything else that needs to know what time it is
@faint pasture Ok, I'll keep it there for this one as its only a visual shot for a portfolio. I'll try the other way on later work

dim stump
#

How do I make my game start on a camera

faint pasture
#

@dim stump What do you mean start on a camera?

opal pendant
#

@dim stump you'd want your player controller to possess the camera at the start of your game, and then I assume you'd want to switch to your character in which case you possess the character

#

so you'd call the Possess node using your player controller and possess the camera actor

little garden
#

does anybody have any information on how to properly import data into the instanced foliage system? ive been trying importing for awhile but always end up with it being somewhat broken, unable to select meshes / crashing editor
most of the stuff ive come across are just working in the editor generating foliage with procedrual foliage system or just painting, i need to be able to import my data seamlessly into that workflow
preferably in bp but if not possible i can do some light c++

nocturne remnant
#

Probably not going to get an answer to something like that in this channel, but I'm also not sure where you'd want to ask that either.

#

though if you're talking about having already created some scene and then want to import a bunch of trees or weeds or whatever... I don't that's the correct workflow to use

little garden
#

where could i ask that i might receive an answer?

#

the built in tool for generating foliage has some limitations that i have solved with another tool outside the engine

trim matrix
nocturne remnant
#

possibly one of the content creation channels. This one tends to fall into probably 80% "I really don't know what the hell I'm doing" kinds of things.

little garden
#

yea theres not many resources for importing data into the engine

nocturne remnant
#

I was going to say that if anyone gave you shit, you could tell them I was the asshole that directed you there... but he beat me to it; blame him πŸ™‚

#

There are definitely a lot of cracks that things fall through.

little garden
#

i posted originally in level design however that seems to be more relegated to more design stuff whereas i would need to use either blueprint or c++ to get my stuff in

#

idk

nocturne remnant
#

Importing definitely seems to be more in the "static asset" category of things

trim matrix
#

@little garden have you tried using blender as the export platform, using these tools: import low and high obj files, low object: apply multires modifier, subdivide to level 3, add shrinkwrap modifier, select high res object as target
and then import to UE?

#

generally you want low faces in UE

little garden
#

i have a csv with mesh references and world locations

nocturne remnant
#

... so you want to take that data and have it populate the world then?

little garden
#

yes

trim matrix
#

a great way to go about it is to "paint" in where you want instanced foliage rather than having pre-defined sets like that.

#

using the landscape tools

nocturne remnant
#

then data tables are what you're going to want to be looking for to do that

little garden
#

i see in blueprint there are ways to add / remove from instanced mesh components but im not entirely sure how to interact with it

#

i have it in a data table but im struggling to properly generate instances

trim matrix
#

which is why painting the opacity where you want instanced meshes to be is a more common route

#

takes only a moment to paint in a white opacity map to terrain

little garden
#

so my issue is that i can generate okay looking forests on my landscape, i have all of my layers setup and whatnot

#

however unreal struggles with doing things like the border of forests

#

i dont see any decent way of defining them for generation in the static mesh foliage parameters given

#

for procedural generation

trim matrix
#

you using sublevels? in the levels panel to break them up?

#

or you have one large world?

#

because that adds to overhead

little garden
#

i use another program which can generate very nice forests and have the data for the forests on my landscape however im not sure how to get that data into the instance foliage component used by the foliage painter

#

i use world composition

#

its a bit of a niche topic i know

trim matrix
#

far as i know procedural foliage is best done externally. you have say 10 plants imported in as a group (of 10)

#

then you select randomly

#

using instanced meshes

#

why try to proc gen stuff in UE? ue is not built for that

#

unless you custom code it

little garden
#

i have and i can generate okay looking forests

#

but it looks artificial because the border of the forests is the same as the interior of the forest

trim matrix
#

right from predefined assets, right? does UE actually make the leaves on the trees?

#

so you would simply paint in layers where you want them to go. i did this all before in my game. if you give me a moment (i'm currently doing a compilation) i can get back to you with details how i did it in my landscape

#

fairly basic but you get the idea

#

you paint where the grass is, where the trees are

#

then UE spawns them in

little garden
#

unreal doesnt really calculate where a mesh is spawned with the procedural foliage tool except the weight of the layer

#

so in another program ive generated all of my forests with that information in mind

#

the edge of the painted layer

#

to create realistic looking forest borders

#

i might just watch videos on how instancing works entirely so i have some kind of better understanding

#

the foliage in the screenshot was generated with the procedural foliage stuff but my issue is outside of the base parameters for that

trim matrix
sacred terrace
#

I think he is saying he wants forests to generate more densely at the edge of forests.

trim matrix
#

to create realistic looking forest borders
i believe he wants them to break up and add variance making the forest look more realistic.

#

any how, the way you would do it is by using the modes options in the top of the viewport @little garden

#

this is directly from my game build, and i use instanced meshes here

#

the thing is, you have to create the meshes out side of UE

#

and then they are painted on based on weights as you said, but the weights are painted by the user

trim matrix
#

here is a reference on how to do it - Unreal Engine 4 Documentation > Engine Features > Foliage Tool in unreal docs

#

@flat raft just wanted you to be aware of this - in gameinstance this is what i typically use it for. mostly in app purchases for mobile and menu stuff. if you have stuff related directly to your possessed pawn it's better to use it in PlayerController as Matt said.

little garden
#

i found something that may help me, thank you

#

well kinda

#

this is partly the issue im having

#

and what im doing

#

what im doing in my blueprint there that is trying to add instances to the foliage is breaking it and trying to interact with it is fucked

#

the print string is returning all instance components on the instancedfoliageactor

#

only returns 1 after generating the instances via bp

#

so all seems well until i try to interact with it in any way

pale blade
#

In one tutorial about setting up a Damage system (for example, your player getting damaged), he created a Damageable interface
Why would I want to do that when Unreal already has a built-in "Event AnyDamage" and "Apply Damage" that I can use? Not to mention things like "Pain Causing Volume" that works with it that is provided by UE?

trim matrix
#

@pale blade it is better to use anydamage / radial damage

#

as you can see above, i use two features here

#

AnyDamage and on take point damage

#

as events

#

i have a health component i attached to my pawn which takes the damage

#

if you bind them as events, they do work. i recommend using anydamage / radial damage more than using interfaces for damage

#

i used to use interfaces but it was not the best choice

#

AnyDamage has good things like instigators, damaged actor, and other input pins you can utilize and don't have to code yourself

#

so i recommend that more

#

that said i still do use interfaces for other things, just not in lieu of AnyDamage

pale blade
#

So it's better to just use UE's built-in damage system, rather than making your own (for example Damageable interface), right?

trim matrix
#

yes @pale blade

#

it works well and is replicated also

#

i tested it fully

pale blade
#

Got it, thanks.
Hm, I guess this guy's tutorial isn't so good

pulsar rock
#

@pale blade, not sure how complex your game is but it might be worth checking out the Gameplay Ability System

pale blade
#

I tried taking a look at Epic's Action RPG, it's way beyond me right now, for now

trim matrix
#

it's a bit rough, yeah. pretty powerful though i was definetely going to implement it in a diablo-rpg clone i wanted to do at some point. something similar to path of exile or diablo

#

it has a lot of templates you can use for casting and stuff you might find in world of warcraft right redgreenblue?

#

do you know the depth of it ?

#

is it mostly not exposed to blueprint?

pulsar rock
#

I'm using it extensively. Most of my gameplay is going through it. It a little bit to do some of the C++ work but once I got all the classes playing together it's mostly implemented in BP.

trim matrix
#

sweet

pulsar rock
#

Once you get it set up, it's pretty much all BP TBH.

trim matrix
#

is it fairly good for lowering tick time and cpu optim?

#

i think i will definetely use it if i decide to create an online arpg

pulsar rock
#

I haven't compared it to doing it all in BP so I wouldn't know. It's mostly to cut down the work on implementing timing systems and having them all coordinate. It does a lot of the work for you.

trim matrix
#

did you start from the marketplace action rpg epic did or what tutorial or resource did you use to get started if i might ask? i want to get started with it too

nocturne remnant
#

Considering the tonedeaf shitshow of Diablo Immortal, I'm pretty sure there's going to be a space for a Diablo-esque game

pulsar rock
#

I did. Then I looked at all the Epic talks on it. Then I got a Udemy course on it that was $10 on sale.

trim matrix
#

ah ok

#

this?

#

@pulsar rock

pulsar rock
trim matrix
#

sweet man thanks i will get this

#

i never saw this tut before on it

pulsar rock
#

I think that is the same one with a different graphic advertisement.

#

It's the same instructor.

trim matrix
#

cool

pulsar rock
#

The best thing about G.A.S is once you launch something like an event everything is done through to the end of the ability. Effects, damage, etc. It's super powerful. You can do buffs, pretty much most stuff you need in a game.

trim matrix
#

nice. any time saving stuff helps. i am on the order page now πŸ™‚

#

@pulsar rock Unreal Engine 4: Character Skill System have you seen this one? it's on udemy as well.

#

different type of character class i think though; probably wouldn't be able to implement it over the gameplay ability system

pulsar rock
#

lol yeah, one is enough

slate osprey
trim matrix
#

@slate osprey Project Settings, Engine, General Settings there's a near clip plane setting if that does not work it's a clipping plane setting somewhere with one of your cameras.

_ restart the editor after changing the near clipping plane_ for the changes to take effect

slate osprey
#

That was it. Thank you

tawdry bridge
#

Hey guys wasn’t sure where to ask this but curious if you know any solution to this, inside the material editor is there any way to create some kind of array? I have a couple of inputs I want fed into one pin, but when I set one switch to true, I want the others switches to disappear in the instance

#

I can pass it through a bunch of switches but then when I select one, the others downstream are still selectable

tired arrow
#

Hey guys so I'm trying to rInterpTo between where a head's rotation is currently and its current position. Using this method the head does a full 360 when I go from one side

wind kernel
#

This is a function in my player BluePrint . I like the player to take damage .

The Explosion Damage variable is from the Bomb_Bp . but not sure what should I connect to the ; Object ;

wet siren
#

reference to the bomb bp for example from a collision check

#

or when the bomb goes off you will manually check any character/player is in the radius then you can call a function or event in any player that is hit

#

basically you will want your take damage function to either have an input of the bomb object OR the explosion damage number

#

@tawdry bridge you're talking about the material graph? there's no array but you can for example make floats into a vector

tawdry bridge
#

What about shading models? What are they?

shut hinge
#

When a text binding in the widget designer turns bad, how do we clear the null binding error so we can compile the widget bp ?

trim matrix
#

@shut hinge refresh the node / remove execution to it / correctly reference a text reference to the node

#

then try saving and compiling

shut hinge
#

its in the binding function where you click (bind).

#

I removed the binding, but the error still remains, and did refresh nodes.

trim matrix
#

picture? (windows key + shift + s takes a snip)

shut hinge
#

hold on i have to go to the other machine

trim matrix
#

k

#

are you talking about UMG? what binding exactly?

shut hinge
#

yes umg binding

#

the one in the designer that allows you to bind the text

trim matrix
#

?

#

this?

shut hinge
#

Yes that's it....

and I'm also trynig to get Ryan Layley's Levelling Component to work for Party Group screens. It only works for single player screen at the moment.

trim matrix
#

is this the object?

#

a text widget?

shut hinge
#

because I don't how to get the pawns to stay active when switching so their stats don't get lost off the screen.

trim matrix
#

click Remove Binding..

shut hinge
#

I rebooted the engine it looks like the restart of the editor has cleared the null binding error. I opened up the widget, its not showing it no more.

trim matrix
#

save the asset, restart the editor, and try to remove the binding again if it doesn't work.

#

ah ok

#

just like i suspected in my comment

save the asset, restart the editor, and try to remove the binding again if it doesn't work.

#

glad it works

shut hinge
#

ok, do you know anything about Laley's levelling component? The XP levelling works for it, but only works for one party member at a time.

trim matrix
#

i haven't used that, sorry. if it's a public github repo, or public marketplace item, or code chunk, you can check the api or online documentation for it as available.

#

i would imagine if it's working for one party memeber in a replicated network, you would have to set it up to individually replicate for each client.

#

such that each player has their own instance of the component

shut hinge
#

its not a marketplace item, its a tutorial Ryan released out for doing the levelling system. But I think its single player levelling, not group levelling. so I can't get all stats to display when each party member wears the component. Their individual stats will show up as you switch pawns though. Good for single player sceren. But not for group displays..

trim matrix
#

if you can get the data for each individual class and store it in an array and manually bind it to each character on the display it could be a workaround... @shut hinge

#

other than that you would have to look at the code. i haven't used it before.

shut hinge
#

each party member's levelling values are stored in their copies of the component

#

and in each component the party member cast are going to the individual party member that's wearing it.

trim matrix
#

I have actor components i use to access health information for my enemy AI.. they all work fine. i would simply need to see more information on it.

#

have you tried setting breakpoints in the blueprint code and watching the values? making sure references are working?

shut hinge
#

ok I will give you the code, here's how I set up the widgets for each party member to allow toggling of the widget on or off on the screen,

trim matrix
#

if a reference is not set properly or if a value is null, then it wont work

#

if it's a public project just give me the name (not URL)

shut hinge
#

mines a non commercial game.

trim matrix
#

Ryan Laley's levelling component

#

that correct?

shut hinge
#

yes

trim matrix
#

Unreal Engine 4 Tutorial - XP & Levelling - Part 1 ?

#

could you please re-watch the entire video from the start to the end including all the series videos and re-target or re-code anything you might have missed? there's a lot of information here.

shut hinge
#

I used Ryan Layley's XP & Levelling He had two videos on this system.

trim matrix
#

i would double check the steps in the videos.

shut hinge
#

when I did his system and put the component o all the party members, each party member I possessed showed that party member's value in all of the other party members values. So this is why I had to make copies of the component, put the party's individual levelling values in each one to get their individual values to show up. Now I have to get their stats to all show up.

trim matrix
#

if the levelling values / individual values are working, reapply this methodology to the stats?

#

if this does not work i think #umg might have an answer possibly have you tried looking there? i'm assuming the component is a UI component correct?

shut hinge
#

The component is an Actor Component Blueprint type you attach to your character players.

#

its a very small system, I'll show rex's code. At the moment its running off the tick.

#

ok i just done the screnshots. posting them now

#

this is how I posseed each party member and to bring up their widget using the player controller..

trim matrix
#

okay this is a lot of information

#

wait a minute please

shut hinge
trim matrix
#

yes i know

#

can you DM me please? i can try to help for a little bit. if we can't come to a resolution i again advise #umg

#

thanks

shut hinge
#

ok That's the levelling component. I need to get it checked to make sure the component itself is fine. so I can nail down where else the trouble is.

#

ok how do I DM on here?

trim matrix
#

anyway to compare to floats with an error tolerance?

#

nvm found out

hoary gazelle
#

Hey, im trying to make a slow motion mechanic but I dont want everything to go slow, only the player.
Ive seen tutorials but they make everything around the character go slower as well as the character.

midnight kiln
#

@hoary gazelle can you lower the players movement speed and/or the animation speed?

hoary gazelle
#

i can slower the speed of the player and such, but i want this to work when im falling as well.

midnight kiln
#

For falling I think there's a gravity scale in the character movement component

dusk dust
#

How can I optimize spline trees?

#

if I had a bunch of spline trees in my scene, the fps drops alot

cloud gulch
#

What's a way to ignore a row or column csv files for UE4 tables?

lilac lance
#

@cloud gulch i think there is a plugin that reads csv files, lets you write and more, all in runtime

#

I think you may have to loop to make arrays of the data

#

From there you will do whatever

thin heart
#

Create a blue print for video capture for all render passes in unreal

#

Please can u help me

hexed coral
#

I want to interpolate position values between 2 vector points based on cameras rotation. is this correct?

#

it doesn't seem to do anything for some reason. the Yaw value comes up as 0

thorn ermine
#

Maybe try GetComponentRotation vs GetTargetRotation

#

or GetRelativeRotation

#

but keep in mind Z could be < 0 > 1

hexed coral
#

still comes up as 0 for some reason

fallen wedge
#

Can we see the node before? @hexed coral

hexed coral
fallen wedge
#

Then it might be your alpha

hexed coral
fallen wedge
#

Try putting in 1 or 0 what happens:?

cunning mirage
#

i guess with add controller input the relative rotation of the spring arm stays the same

hexed coral
#

the alpha works fine. it moves between the 2 vectors

cunning mirage
#

i guess you should try the control rotaion yaw
Not from the spring arm

hexed coral
#

hmm well it's done something. it went off map. πŸ˜„

#

yeah the yaw is now at a value other than 0 now.

#

Does it need normalising?

cunning mirage
#

if you need it for the alpha you need to
dont know what you try to achieve xd

hexed coral
#

oh I'm basically making orbit camera but I need to make the position lerp between the 2 vectors so i can view the object from a good angle. Its a bit like the mclaren demo, the livestream on it was pretty vague so i'm trying to recreate it in my own way.

cunning mirage
#

mh
Instead of normalizing you could also try an map range clamped

Yaw Input
0
1
-90
90

or something similar xd

hexed coral
#

yeah the normalize still seem to increase to crazy values. I clamped it to -1-1 then divide by 2, add 0.5 to make it got between 0-1.

#

ok i've managed to get what i want but for some reason it switches between 0 and 1 rather than any value between them

cunning mirage
#

you need the map range clamp so it scales down the big numbers to the smaler ones like 0-1

hexed coral
#

what do i set for these values?

cunning mirage
#

what i wrote above

#

not entirely sure if the numbers are correct but should be something like this

#

so basicly if you are at -90 it shows 0
on 0 it shows 0.5
on 90 its shows 1

#

oh i guess you need to swap them
-90
90
0
1

thorny cedar
#

everytime an audio is triggered the Subtitles should start from the beginning

#

hm got it ill have to reset my index right?

cunning mirage
#

look complicated xd
Does resseting the index work?

hexed coral
#

The map range is quite difficult to figure out especially with the rotation values being positive. I was hoping it would have negative values too.

#

oh wait actually finally got it working yay!

cunning mirage
#

nice

hexed coral
#

Theres a slight jitter when the values resets from 360 to 0

#

anyway I'll keep experimenting with the values. Thanks @cunning mirage

thorny cedar
#

@cunning mirage it works, but then my audio is offset

#

i goes it has sthm to do with my dealy before the timer

cunning mirage
#

maybe it has to be an retrigerable delay if this is like an dialogue you can skip or something
cant realy get how this work from the picture

thorny cedar
#

yep that would be great

#

so whats is the exact difference?

#

can you give me an example?

cunning mirage
#

if the value in an delay is 1 it will wait the 1 secound an then moves on
even if it gets the input like 3 times
in an retrigerable delay the 1 secound input does always get resetet to the 1 secound if there is an new input

so for an gun
if you spam left mouse button and there is an delay you can only shootif the delay is done
if there is an retrigerable delay you can never shoot execpt you stop spamming the mouse button and wait the 1 secound

thorny cedar
#

ahhhh

#

soo if i have a input of 10 and then 1 it shuts some bullets delayed

#

because the player doesnt assume, he just have to wait 1 econd longer

hexed coral
unique wyvern
#

If I have a lot of NPC'S (say 30-50), is an anim blueprint inefficient to use?

#

also what would be an alternative

trim matrix
#

depends on the anim blueprint and how complex it is

#

you could use the animation sharing plug in too

#

epic used it on fortnite br, it is experimental iirc but should work

#

the alternative is to move things to C++

#

you'll have to figure that out on your own since there is no documentation for that

shut hinge
#

Is this Correct for selecting a party member with the construction script? I have to get the construction script to keep party stats up on the screen when switching their pawns. This is Nella's BP Construction script and she is in slot 8. That's why I have all the other slots empty.

But I am unsure if random select is supposed to go in here. Not sure what node to put into the selection pin.

trim matrix
#

usually, 30-50 characters shouldn't be that problematic, but you'll have to author your content with performance in mind, obviously

#

there should be some performance related animation documentation for general guidelines

#

construction script only runs when the blueprint object is created

#

maybe I'm not getting what you are trying to do, but it seems like a bad place to do this kind of stuff

shut hinge
#

Trying to get the party pawns to keep their stats on the screen when you switch between the party members, so they don't lost their stats from the screen when you switch. I was told I had to do it in the construction script.

marsh meadow
#

I don't know much about that. I routinely avoid using the get all of anything. All of my UI is spawned and handled through the HUD class. It makes it easier to keep track of both on my singleplayer and multiplayer projects since even on multiplayer only one hud is ever created per machine and is linked through the player controller, which only one exists per machine. I just keep main references to widgets in the HUD and use that to get/create them.

@maiden wadi Sorry for going back to this after a long time, but I'm thinking of re-doing all my UI this way. I can see myself spawning all of my widgets in my HUD class, but how the linkage through the PlayerController is done?

Thanks!

Edit: Is this the way?
https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/821-communication-between-player-and-hud-blueprints

proven coral
#

Hi, I would like to edit selected actor blueprint via utility widget, but it opens the selected instance details tab instead, and without Edit blueprint link. It this possible?

#

for example, the map includes an instance of MyBlueprint named MyBPInst1, so selecting MybBPInst1 in the map and clicking the widget utility button opens MyBPInst1 details tab. What I want is to open MyBlueprint blueprint

nocturne sundial
#

hey a quick question i set up BP actor to play effect on key press, but how do I add camera shake ? seems to be not working when I add it to BP actor in the level, does it have to be in some other BP, character and such ?

#

its empty default project with floating camera btw

trim matrix
#

hi tried messing with making my own character blueprint so i went with copying the third person character blueprint movement input code however the camera is not moving with the mouse

white crypt
#

thats for movement WASD

#

and not the camera

#

to move the camera you need to add mouse axis inputs and use add controller yaw/pitch input. that should be inside the example template so take a closer look again

trim matrix
#

ah

#

thanks

#

it works now (:

maiden wadi
#

@marsh meadow That's about right. If you want some extra tips on that, I strongly advise making some simple wrapper functions for your common Get nodes. Since you usually extend the defaults for PlayerController, GameMode, PlayerCharacter/Pawn, etc, it'll make your project life a lot easier if you create some simple functions in a library that'll get and cast your new class default. For example I have one that is for PlayerController.

#

It just saves a little space and cleans up blueprints. As for the HUD part, I do the same thing. On a Client there will only ever be one player controller(sans splitscreen), so you can always use "GetPlayerController 0" for the local player controller. On a listen server PlayerController 0 is always the server's player controller, and on a dedicated server it won't matter, so tldr, GetPlayerController 0 -> GetHUD will always return that machine's HUD reference, so you can do this.

pastel valley
#

Hello guys my ue4 engine keeps crashing when joining or creating sessions

maiden wadi
#

@nocturne sundial Any Actor that is not currently Possessed by the PlayerController, or the PlayerController itself cannot handle input without having it enabled.

pastel valley
maiden wadi
#

@pastel valley Any specific crash notes?

pastel valley
#

Yh

#

I'll send now

nocturne sundial
#

@maiden wadi aye did spawn and button input in controller and working nicely πŸ™‚

#

also had to use different node for screen shake to make it global/on camera/controller

#

works nicely now

pastel valley
maiden wadi
#

It doesn't say which array. But somewhere you're trying to access index 0 from an empty array.

pastel valley
#

Should I change it to 1

maiden wadi
#

@pastel valley No, cause then you'll be trying to get the second item from an empty array instead of the first one. If you disconnect this line here, does it still crash?

pastel valley
#

Let me try it

#

It is not crashing and also not creating a session

#

It is just searching and searching

maiden wadi
#

I'd try maybe making that Array that's coming from the FindSession node a variable. Set it right after the FindSession node and use that array to check if the current session is valid and to use in the Join node later. If that still crashes, you might have an array somewhere else with an issue that's happening when the map you're loading to loads.

pastel valley
#

It crashed after adding a variable

wind kernel
#

This is a BP of a player where when the health = 0 the game pauses and adds a you Lose widget .

Can some one tell me why this doesn't work ? The game is supposed to be Paused after the 0.2 Delay. but nothing pauses.

I remove the Delay Node and It works perfectly . The game pauses

faint pasture
#

@wind kernel is that chain in a function or event?

marsh meadow
#

@maiden wadi Many thanks for the MEGA tips. I'll put to good use.

wind kernel
#

@wind kernel is that chain in a function or event?
@faint pasture event

faint pasture
#

@wind kernel That's weird. Try setting the game speed to zero instead of setting pause, and see if that works with the delay.

gusty shuttle
#

Question: I have a character, he has a face, on his face I have mat channels for eyes and mouth. How should I go about animating eye blinks and mouth syncing? Flipbooks? How can I control the flipbooks or mat instances properly or on the fly. Just use a bunch of level sequences? Think Wind Waker for Links facial expression changes

cold kestrel
#

Hi guys. I'm trying to get access to the values displayed on the showdebug VEHICLE debug screen

#

particularly the slip values

#

now as far as I can tell, they arent accessible from BP, only C++

#

so am I better off trying to figure out how to duplicate the math in BP or write a C++ plugin that exposes the values in BP

pulsar rock
#

Does anyone know if a static mesh component set to none cause any overhead in a blueprint?

#

To clarify, if I had 20 static mesh components but they were all set to none does it incur any render cost?

shut hinge
#

i need to know if this is correct because I'm not fully understanding how the select node works with classes. I want to see if this is set up is correct for this Nella Pawn.

#

its to keep her party stats on the screen when switching to another party member

pulsar rock
#

lol just discovered Thumbnail Edit Mode. Where have you been my whole life?

pale blade
#

I want to scan for the closest enemy directly in front of where the player is looking (and then display name and distance on the HUD).

Option 1: Every 0.5 seconds, send a sweep of line traces and then calculate distance between actor and each enemy and return the closest enemy. (Screenshot shown)

Option 2: Attach some sort of triangle shape in front of the player. If any enemies enter in the shape, then add it to a list. If they exit the shape, remove it from the list. Every 0.5 seconds, calculate the distance of each enemy on the list and return the closest enemy.

Which option do you guys think is better?

trim matrix
#

@pale blade if you use Unreal Engine 4 Documentation > Engine Features > Physics Simulation > Traces with Raycasts > Traces How to Guides > Using a Multi Line Trace (Raycast) by Object multi line trace for objects you can get an array of all enemies that hit the trace, then you can use Get Distance To on each one in the array and choose the closest object.

pale blade
#

So you'd recommend the tracing method, rather than overlapping trigger method?

trim matrix
#

yep except sweeping 5000 traces is a bad idea

#

so use multi line trace instead

#

it automatically returns an array of hit objects

pale blade
#

From my understanding, isn't Multi Line Trace only one line?

trim matrix
#

it automatically returns an array of hit objects in the trace..

#

you ever played diablo ?

#

you know how the armor piercing arrows penetrate multiple enemies? it's like that

#

lol

#

multi trace penetrates multiple targets

#

with ONE trace

pale blade
#

I need it to fan out like in a triangle, for example the screenshot shown

#

I'll need multiple lines at multiple angles

#

For example, a flying enemy that's slightly above ground level

trim matrix
#

that's the typical way

#

your use case of having a fan out triangle of endpoints is not typical

pale blade
#

Hm, let me draw out a diagram to better explain:

trim matrix
#

if you do multi sphere trace for objects you can make the detection more wide though

pale blade
trim matrix
#

why does it have to be a cone?

#

of vision?

#

Option 2: Attach some sort of triangle shape in front of the player. If any enemies enter in the shape, then add it to a list. If they exit the shape, remove it from the list. Every 0.5 seconds, calculate the distance of each enemy on the list and return the closest enemy.
by the way, if you use a overlapping shape and if the enemies enter into it, you have to make sure the enemy is actually visible, right?

#

if you have to use a cone why not just do this? use your option 2, and then after you calculate closest enemy, have one line trace going at the enemy. if the line trace hits the enemy (it's visible) mark it as detected?

pale blade
#

Interesting, I hadn't thought about whether they can be visible or not, but yeah I can do that
I was just wondering which is a better option. I actually have option 1 working right now

trim matrix
#

look at the stat game

#

the tick on the line traces is probably high

#

if you want your game to be optimized you're better off either doing multi sphere trace for objects, or making a proper cone in blender or getting a good native cone in unreal and doing your overlap method, and then doing a trace to the enemy to see if it's visible. that takes less cpu cycles.

up to you though.

pale blade
#

Okay, so you'd recommend option 2 with the overlapping, rather than option 1 which continuously draws line trace sweeps

#

I'm not sure spheres are better than lines though for tracing

#

I just want directly in front of the player, so lines seem better

trim matrix
#

sphere trace for object, if you set the start and end point correctly, can accomplish somethign similar

pale blade
#

Oh, I saw in a tutorial, you mean like having a large sphere with like 0.1 movement

trim matrix
#

see how the beginning of the sphere has a slight curve?

#

that curve can be a emulated FOV

#

it wont be a perfect cone

#

but it's easier than making an actual cone lol

pale blade
#

Yes

trim matrix
#

you could do a large sphere, sure. just turn set draw debug type appropriately to see a test draw like you see in the red / green lines in the example image i sent

#

to see the trace

#

make sure if it's too large it doesn't defeat the purpose of the endpoint. the sphere should not be larger than the view bounds lol

pale blade
maiden wadi
#

I never cared much for OnOverlap reliance to add things to an Array. Always did a SphereOverlapActors at the player's location, and used it's filters for the classes I needed. Then you can filter the actors that are in whatever degree of cone in front of the player that you want.

trim matrix
#

@pale blade i actually honestly use perception now. you can use EQS or other ways too

thorn moth
#

hey someone knows this problem: TravelFailure: PendingNetGameCreateFailure, Reason for Failure: 'Error creating network driver.'. Shutting down PIE.

pale blade
#

@maiden wadi Yeah I was thinking how reliable is OnOverlapExit, in case an actor exits but didn't get caught by the exit event somehow or something
@trim matrix I want to be able to see flying enemies too

trim matrix
#

then make a big cone in blender, do your on overlap thing, and have a linetrace after its in the cone to see if it's visible.

set the linetrace end point in X Y Z to be the world location of the closest overlapped actor.

#

noo u erased my Xs

#

lol

sick galleon
#

hello

#

I got a crashed blueprint (cant open the project if it is there, trying to add it after opening the project will show it, but trying to open the bp will crash again). Any tips on how to fix that ?

maiden wadi
#

@pale blade This is a mess, but it was fun to throw together.

sick galleon
#

@pale blade Another approach would be not to have overlaps volumes, but direct line traces from the enemies to the player eye : you dont do random traces in a large area hoping to hit an enemy, but you trace directly to potential targets

pale blade
#

@maiden wadi I'll try out your blueprint and see
@sick galleon Something like GetAllActorsOfClasses, right? I read that is an expensive operation though

sick galleon
#

@pale blade you dont have to call GetAllActorsOfClasses all the time, you can do it once at startup, put that in an array, and only update the array when actors are added or removed

maiden wadi
#

That'd be a lot more annoying than just getting the actors that should currently be in view range. Specially if you spawn anything, that array would need updated and kept current just like a mesh overlap array.

pale blade
#

Hmm, that's true.. having to worry about that array

#

@maiden wadi I tried out your blueprint. From my understanding, it gets all the actors within a sphere centered around the actor. Then filters it based on a cone in the player's direction
It is what I want
But do you think it's too expensive to call every ~0.5 seconds?

trim matrix
#

you can use stat game to check if it's eating the cycles

#

looks cool though

maiden wadi
#

I use the same style of math in a custom detection component about ten times a second. I doubt it'll even register. Vector math is extremely cheap.

pale blade
#

Performance profiling is definitely something I gotta look into
But thanks everyone

brazen elm
#

guys, i have a UFUNCTION(BlueprintCallable) but the execution node doesnt appear in blueprints, any idea why?

maiden wadi
#

@pale blade It's worth noting that I just did a statraw check. Without the drawdebug stuff and running that SphereOverlap and filter function, I lose 2fps. That's on tick, and on a for loop 6 times each tick at 70 calls per second.

#

@brazen elm In a Library, or in an object?

brazen elm
#

@maiden wadi library

#

sorry i meant object lol long day

maiden wadi
#

You're dragging off of a pointer to that class type to try and see the function, or trying to use it in a blueprint that inherits from that object class?

brazen elm
#

ive done a sphere overlap actors (in blueprint) then i want each of the resulting actors in the result array, to call its own function in cpp

maiden wadi
#

Have you done a for each loop and then used the array element to cast to your CPP object class? You should see it if you cast the actor return to your CPP Class.

brazen elm
#

yeah done that

#

relunctantly ahah normally wrecks performance. even so, still not working

maiden wadi
#

That's odd. A few casts shouldn't affect performance much.

brazen elm
#

omg

#

it was because i had const on the function declaration

#

weird

shut hinge
#

Does this look right to you guys?

#

Trying to get the widget now to update when switching to the pawn.

maiden wadi
#

@shut hinge You're setting the leveling component pointer variable to a nullref and then trying to tell that pointer to tell empty space to change variables when nothing exists there.

shut hinge
#

ok I'll add the variables into the set nodes. maybe that's what I forgot.

maiden wadi
#

@shut hinge I meant the pointer itself. You can't set the variables of a component that doesn't exist.

#

Well, the component still exists, but your variable pointing to it is empty.

shut hinge
#

can you show me the correction i need to make because trying to update it by the construction script is all new to me.

maiden wadi
#

In the first image after the switch. The first Set for the LevelingComponent.

shut hinge
#

i'm adding the level values to the set nodes now from the level component which they are stored in.

maiden wadi
#

Right, but you're telling that pointer to point to nothing before you do that. So it doesn't know what leveling component you want to change variables on. If you don't mean to erase the pointer and only wanted to use the pointer to set the variables, use the Get node instead of the Set node.

shut hinge
#

get mode? why an array? you can't plug the select straight into the actor node?

#

okay, it now lets me plug the get array into a make array and straight into the select node.

maiden wadi
#

No, the Get node for a variable.

#

You're using them in the second picture.

shut hinge
#

in the second picture with the 3 select node I added a make array and a get node to it

maiden wadi
#

No, I don't mean for you to use Arrays.

shut hinge
#

that's how I understood it

#

that's why I need to see the correct layout to know where I went wrong.

maiden wadi
#

Use the Get for that variable in the first picture before you set all of those variables instead of the Set.

shut hinge
#

then if we use that, then what use is the 3 select node?

maiden wadi
#

Your first picture, not the second.

#

After the Switch.

shut hinge
#

you want me to set it there?

maiden wadi
#

Do you see that blue Set Leveling Component node?

shut hinge
#

yes i dragged the set nodes out of that

maiden wadi
#

You need to use the Get Leveling Component for that. Because right now you're telling it to set your leveling component pointer to nothing.

shut hinge
#

i did use the get levelling component to drag out the variables to put into the set nodes. Hold on I do the screenshot update.

#

i also plugged into the Level Component Ref into the set levelling component node. (pic not updated yet to show that)

Now what's this about null set for the actor set node in the 1st screenshot? I thought the select node was filling it.

#

or is it just the second screenshot the null issue was in?

trim matrix
#

change set Leveling Component to get Leveling Component..

shut hinge
elfin hazel
#

That is supposed to solve the problem you've had with widgets not showing their associated character stats?

shut hinge
#

this is for one pawn Nella. But the pawn is not updating the level counter even though all the progress bars fill up, but the level counter stays always at 1 when I add in XP (all party members progress bars then all fill up with xp) . But for the commander he fills up but he levels up. the rest of the party don't level up.. But I did stick all the pawn values now into the one levelling component so they all are wearing instances of the component. So now all the XP bars increase up for all party members when adding xp to any party member..

#

So its not quite yet working right. As they don't level up individually when adding in xp.

static charm
#

any noobs need help?

#

i've got 20 mins.

simple lantern
#

lol

shut hinge
#

yeo, trying to get the widgets now to update

simple lantern
#

I'm in the beginning of making a 'construction/building' mechanic in an FPS game (basically point at the ground, a highlighted object appears at cursor, if green you can build it there, if red you can't), and i've hit a snag

#

this is my first prototype

static charm
#

okay ill try to help you and tozan

simple lantern
#

but it yields this error

#

(ignore the tick)

#

'Check Look at Test' is just a line trace outputting a transform on hit location

static charm
#

put a is valid check for destory

#

since the code currently wants to destroy, even though it's not built anything

#

or put the destroy after one/both of the builds

simple lantern
#

oh duh

#

i'm blind. thanks

#

while I have your attn, I can't seem to get a clean upvector from the trace's hit location

static charm
#

well, from which point of view do you want the up to be?

#

like always world up?

#

or just up relative from the hit object?

simple lantern
#

good question, up from the normal

#

so always perpendicular to the surface

#

this is what happens with the current setup

static charm
#

you should be able to multiple(vector x float) the hit normal by the offset you want, like 100 units, then add that to the hit location

#

you might have to inverse the hit normal

#

so multiple by -100 or something

shut hinge
simple lantern
#

holy programmer art

static charm
#

multiplayer? i dont know multiplayer

#

someone else can hopefully chime in

shut hinge
#

mines not a multiplayer game. its a single player party system.

static charm
#

hmm okay

shut hinge
#

so not all associated party levelling stats will show up but the progress XP bars stats all show up.

elfin hazel
#

The first thing to check is - did you fix the "get player character" in the binding?

shut hinge
#

since I put all party members level values in the same component, now all the progress bars display up on the screen. but not the party widgets stats yet.

#

the only thing I fixed up with the help of another guy was removing all the duplicates copies of the levelling component so all party members are using just the one levelling component now. so if I add xp to any member they all get the xp, that's the problem remaining and also the bindings not updating. But I did use a toggle with a validated get when switching into different pawns.

#

so if the party widget don't exist then it creates it, if it exists, it removes it from the parent. Using a flip flop node to to turn each party members widget on and off on the screen using validated get. Would've been useful to clear up clutter on the screen when needing to remove the party stats if you don't want all your party member stats to be showing. so I thought at the time.

simple lantern
#

figured it out, all I needed was this little node

shut hinge
#

howver for one party member Storm, his widget binding is not display up his level counter at all just no text showing and this has me a bit puzzled.....

#

but for the rest they show their the level counter when i switch to them except storm.

#

but all their level counters will not update so they stay stuck on always 1. Only the commander updates his counter at level up. Can't figure out why the rest won't update theirs since they are using the same component now.

elfin hazel
#

man, there is so much going on I don't know where to even start. So is the xp in this leveling component a static variable?

shut hinge
#

a static vairable, what's that? never heard of such a thing.

#

the party members all have their levelling values all stored in the levelling component itself.

elfin hazel
#

I could be using the wrong terminology, but you say that when one characters gets xp, they all get it. A static variable would be shared between instances, but that requires cpp. Then again, you didn't make this yourself did you?

shut hinge
#

So if I add xp to the commander then switch off into another pawn, his level value then starts resetting to different level numbers.. which is really weird.... he seens to be storing different level numbers for himself when I switch party members. very strange...

#

No this was Layley's levellig component.

elfin hazel
#

well, it sounds like the different values when switching is still caused by the "get player character" logic in the binding. Each widget requests the player character, which returns the currently possessed character. Then I want to remember that you casted to the specific character class, which means that only 1 widget will actually update its value.

#

You need to post a screenshot of that, no point in me guessing here.

shut hinge
#

here's the values i stored in the levelling component I will hold on

#

the values for all the party members

elfin hazel
#

Oh, so it's actually just 1 component instance? I thought that each character had a leveling component.

shut hinge
#

Yes I did have a levelling component for each individual character before (I had multiple duplicates copies of it for each party member and stuck their value in that for each one), but now they are all using the same levelling component with all their values in the same component..

#

Yep I used get player character for each widget binding because that's all I knew how to do in the engine.... I didn't know how to do the bindings to work for all of the characters.

elfin hazel
#

So this Skynar class holds the leveling component that all the characters share?

shut hinge
#

No Ch_human is the main class that holds the levelling component. and I added the levelling into the other classes of the party members through add component in their BP's.

#

sorry, the component is a attachment to your characters.

#

so you attach the component to CH_Human and the rest of your party member classes.

elfin hazel
#

Wait, so each character has a leveling component, and it has all those variables for each member?

shut hinge
#

Each character has the same levelling component instance that has all the vairables for each party member.

#

they all have copies of the component (not duplicate copies of it as in making duplicate copies), but copies of the instances of the same one level component.

harsh topaz
#

Hi, I have a lot of blocking volumes in my game, and they work well in the editor, but when i package the game or play it as a standalone game, the blocking volumes do not do any blocking. Does anyone know why this is happening?

shut hinge
#

so there's not 10 levelling components anymore in the browser just one, and all ten party members are wearing that one component.

elfin hazel
#

Oh. Hmm well I guess that still makes sense as to why the "get player character" logic only displays the active character.

shut hinge
#

how do I get around this get player character block.

elfin hazel
#

Instead of using "Get player character ", you need to pass the associated character to the proper widget.

shut hinge
#

because its blocking the widgets when I switch pawns.

#

how do you do that?

#

is get owning pawn? no would only activate one widget. I don't know what the node is

#

because i did cast to the different party members, but used get player character for their casts.

#

so if its not get player character, what is the node I need to put in?

elfin hazel
#

There's no single node. One way you can pass the character to the widget when it is constructed. make a variable of the proper class and check instance editable and expose on spawn.

shut hinge
#

this is why i tried to try to update the pawn values in the widget. (and this is in the pawn, not the widget binding)

#

the widgets are created in the player controller

#

but i need to know what class variable to expose on the widget because I don't know, is it character, or pawn?

elfin hazel
shut hinge
#

then we have to change it to a character class reference for the widget?

#

that purple class node i mean

elfin hazel
#

If you use character and then cast in the binding to the proper type or use the proper class in the first place, either works.

shut hinge
#

this is what i done in the player controller to set up the widget

left knot
#

Is it an engine setting or a plugin? All my wires look like 🍜

elfin hazel
#

Think it's a plugin

brazen elm
#

@shut hinge it's going to create a lot of problems having one static instance of a levelling component. Values will be shared between your pawns and you might have execution problems by not be able to run things in parallel (two pawns might try to access the same instance at the same time) which is undefined.
I would recommend attaching a levelling component to each pawn as it's own instance. No need to have all those variables then aswell. The variables would be independent to each pawn and stored and accessed via the pawn->levelling component.
Fundamentally this is a structure problem. Probably solvable, but a huge headache unnecessarily

left knot
#

Its super clean looking compared to native node wires.

#

I might have to pick this up.

elfin hazel
#

@shut hinge It should just be to add the character var to each widget, expose it and connect to it with the appropriate character. probably need to refresh the Create Widget nodes for the pin to show up.

shut hinge
#

how I had it before I had made copies of the levelling component and store each indvidual party members variables in each levelling component. That worked for single party mode to display their individual stats. BUT Only displays them for one pawn's widget at a time that way. It took two hours for me to decouple all the multiple copies of levelling components from them.

Now that I have got all the party members in the same levelling component, and no longer have copies of the component anymore now they all share the same values.

elfin hazel
#

If I understand it correctly, each member does have its own level component. Just that the class then also have a collection of variables for each member.

shut hinge
#

each member has got the instance of the one levelling component the same levellng component that the commander is using which works for him, it don't work for the others yet.

#

which that component is inherited from the parent CH_Human who is wearing it.

#

so maybe I put the component in the wrong BP maybe it should only go in the Player BP and not the parent BP.

#

So confusing this engine.

brazen elm
#

The documentation on how to structure your project, including how the engine structures itself, is very poor. It's a shame

shut hinge
#

what documentation?

#

Oh do you mean epics docs on the engine?

brazen elm
shut hinge
#

They are written from a perspective seen through the eyes only of advanced programmers.

brazen elm
#

IMO, the biggest thing it misses, is a tree table of the classes. Instead of the text uobject, aactor, acharacter etc

shut hinge
#

they are not really docs written up for those who don't have any programming technical background knowledge. You have to have some programming technical knowledge in order to understand the blueprint language used in them. Its a different language to normal laymen language which I'm so used to. That's why I struggle to understand some of these concepts even when reading the docs. Some people struggle and just don't get it, and some get it or it takes others more time. ... It dosen't explain everything all properly in their docs, I find their docs are suited for professionals who already have the knowledge and lack detail in certain things that should be more clearly explained...

#

Those are docs in other words are geared towards real game developers, not people in the public street.

#

they are targeted towards those who work in the game industry who know all those things. This is why they give simple surface expalnations without giving you all the depth and details you need to know.

brazen elm
#

Just gotta get stuck in and figure it out after trial and error and hope you gain some understanding from the hardship. Frustrating as it is

shut hinge
#

you're saying half of the library is missing from the docs, no wonder people struggle if there's things missing. I been at it for 2 years now with the bread crumbs in those docs.

astral granite
#

Guys, good night! I have a problem, how can I disable the hand ik through a boolean and then activate it again?

#

In the anim blueprint

shut hinge
#

isn't that done with blend by bool or blend layer by bone?

astral granite
#

I've tried and it didn't work

shut hinge
#

arrgh this engine is a pain. What's worse, not finding what you need, or Shaders are recompiling.

torpid linden
#

this very much doesn't sound like it's a problem with the engine

#

figuring out how to manage and share data is essentially the history of programming

shut hinge
#

you should be able to access the anim bp with the anim instance to get the values and change them..

torpid linden
#

@astral granite put the nodes that do the IK behind a branch that you only enter if the bool is set

astral granite
#

But in anim BP does not have a branch in Animgraph

shut hinge
#

click in the anim event graph, you can put nodes and branches in there.

astral granite
#

@torpid linden

shut hinge
#

you can't put the normal blueprintnodes in the animation graph, the aim graph has its own special set of nodes, You can only put them in the event graph. Just as bad as the widgets BP's, you can't access all the blueprint nodes for those, the widgets are limited in the nodes that they list.... probably for good reason to stop other issues from occuring or conflicts maybe why their node list is limited..

frail wyvern
#

Hello everyone! Before I go to far down the rabbithole, I wanted to know if it possible to dynamically spawn components and then save them as the class/blueprint defaults.

The use case:
Ive an idea to create a utility widget. Hit a button to get all the actors in the level. That information is stored somewhere and then used to create a new BP, with those actors as its components. Essentially making a prefab for later.

In the world space, a level designer may build a small room or section with a combination of blueprints and static meshes. The could of course just use "Convert Selected Components to BP," but that comes with a few headaches I want to see if I can avoid.

torpid linden
#

you can use switch to emulate a branch

#

there's probably a better way

#

but meh

shut hinge
#

sounds interesting

torpid linden
#

blend poses by bool should have worked so I'm curious what meant when you said it didn't

simple lantern
#

i'm starting to use custom events as a way to organize my BP's. For example I took the output of a line trace hit to call an event that would enable a different set of actions, instead of just directly hooking it all up together. I figure it will give me more flexibility down the line if I want the event to trigger different things later on. Is this a good practice? Does having a lot of custom events cost any significant overhead?

shut hinge
#

"I would recommend attaching a levelling component to each pawn as it's own instance. No need to have all those variables then aswell. The variables would be independent to each pawn and stored and accessed via the pawn->levelling component.
Fundamentally this is a structure problem. Probably solvable, but a huge headache unnecessarily"

Is Opollard still there? Ch-Human (The parent) has got the levelling component so all the other pawns are now inheriting it from CH_Human. But it sounds like you're saying just get rid of all of my 90 or so party member variables for each party member and just leave just the 5 default values that are in the one component.

torpid linden
marsh meadow
#

@maiden wadi Is it OK to get these references in "Event On Initialized" of your other Widgets?

brazen elm
#

@shut hinge i was suggesting that instead of having a level component with variables like storm.currentlevel and loana.currentlevel ... all in the same component, you could try attaching a level component to each pawn. Therefore you would have a level component with 5-6 variables per pawn. Instead of one component with 90. Basically breaking it down into modules

shut hinge
#

that's how I had it before and when I did it that way split the party members up into their own components, the party members would only activate their stats one at a time when switching their pawns.

#

that's why I had ten party members with ten level components with each party members variables stored in each one of the components (5-6 variables per party member).. So Skynar had his own component, so did Nella and the all the others, and that woked perfectly for just one pawn at a time to show their widgets. I didn't know when switching pawns because of the limits of player character it would turn off the other party widgets activating only one at a time..

pastel valley
#

@Adriel#5737 guy it has started working

#

I had to play the game with an internet connection

brazen elm
#

That's the best way @shut hinge in my opinion. Can you describe the switching issue a bit more? What's the objective?

shut hinge
#

I was trying to get the party widgets to stay up on the screen when switching over into different party members. or when you turn on their widgets, because I had used validated get for creating and removing widgets from the screen, that created a toggle effect to allow you to turn on or off all the widgets . I found that useful until I started try to get more than one party members to show all their stats.

#

But as you said, they all using the same values in the progress XP bars when sticking all their values into the same one component, I get weird results. they can't display all their level counters up on screen because of that player char limit. Validated get does allow the widgets to display up on the screen but their level counters are not all active.

pulsar moss
#

My packaged build is not calling one specific event and I have no idea why. Here, I have bound to an event Enemy Entered Awareness, and expect this to be called. However it is not called.

#
[2020.08.07-23.43.41:075][372]LogBlueprintUserMessages: [Command] spotted BP_OP_Unit_Specops3_1
[2020.08.07-23.43.41:075][372]LogBlueprintUserMessages: [Command] post event ```
#

I also made 100% sure this event is bound

#

[2020.08.07-23.43.20:059][562]LogBlueprintUserMessages: [BP_OP_AI_Commander_C_2147482113] AI post bind

#

This is only happening in the packaged build

simple lantern
#

i'm starting to use custom events as a way to organize my BP's. For example I took the output of a line trace hit to call an event that would enable a different set of actions, instead of just directly hooking it all up together. I figure it will give me more flexibility down the line if I want the event to trigger different things later on. Is this a good practice? Does having a lot of custom events cost any significant overhead?
@simple lantern bumping this bad boy of a q

minor karma
#

hey, quick 30 second question, is there a way to do a temporary event tick?

#

like, i want something to work akin to an event tick for like, 0.5 seconds, but disable after that, any way to do such a thing?

pulsar moss
#

check the time then turn off the tick

nocturne remnant
#

Use a timeline.

#

Or a timer.

minor karma
#

ty, i'll look into those solutions

brazen elm
#

@minor karma uncheck startwithtickenabled.
Then setactortickenabled = true;
Run timer to event/function.
Then setactortickenabled = false;
You can even change how often your actor ticks during that time

minor karma
#

@brazen elm that sounds great ty, tho tbh, in this case, i think i timeline would be better lol

#

but thanks for that info, i didn't know you could do that

brazen elm
#

πŸ‘

trim matrix
#

hello how can i cast to landscape xd

pulsar moss
#

ugh, this problem only happens in packaged game, why is this

#

standalone player doesn't have this problem

#

what can cause packaged game to be different?

#

I'm getting a Shrodinger's boolean situation

#

a non pure function returns a boolean, I do a branch on this boolean, and call a function

#

in PIE, everything is normal, the check returns True, function gets called

#

in packaged game, the check returns True, function is never called

#

doesn't matter what I call, if I check for the boolean, it's True or False, the program will not continue past that line after checking

brazen elm
#

Is your branch a development only node?

wanton coyote
#

Anyone familiar with Veh bp?

pulsar moss
#

@brazen elm how do I know this?

#

it's just an if branch, didn't know it has development

wanton coyote
#

I'm just for kicks trying to make a single wheel spin and nadda - i think i did things right.. got a 2 bone rig, one for the body, one for the wheel. the body has a phys capsule the wheel doesnt.. i start it up a so i can see the wheel which is defined in the bp and animation and such and i see it there

#

but the set input throttle and steering doesnt do anything.

brazen elm
#

Some functions, such as print string, can be tagged as development only. They normally say in the bottom of the node in blueprint, can you screenshot the graph?

mighty sinew
#

what alternatives do i have to an any key for a widget

pulsar moss
#

just "branch" does not have development flag

mighty sinew
brazen elm
#

just "branch" does not have development flag
@pulsar moss and you're getting the message 'enemy entered awareness' when you PIE? So you know the execution is working correctly, yet the transition to contact isn't working?

pulsar moss
#

the condition going into the branch will be true

#

eg, I can check EnteredAwareness, or New Param > 0

#

and "enemy entered awareness" prints in PIE

#

does not print in packaged game

nocturne remnant
#

of course it won't print in the packaged game

pulsar moss
#

print happens in packaged game

#

it's packaged as development not shipping

brazen elm
#

Hmm interesting. I can only recommend removing the print string, connecting the gap together. Edit->RefreshAllNodes.
Try re-packaging in a different mode, you can normally choose your type of package

pulsar moss
#

ok I'll try those, thanks

brazen elm
#

Is that transition function a cpp function?

pulsar moss
#

no, this is a bp project

brazen elm
#

Ah kk sorry I couldn't be more concrete with a solution , good luck

pulsar moss
#

no worries thanks for trying πŸ™‚

#

I'm willing to wager I go to sleep, tomorrow morning the problem will fix itself as it normally does, or I figure it out in ten minutes after breakfast πŸ˜›

simple lantern
#

still figuring out what various things cost in BP- I have a line trace that returns a hit and spawns an 'ghost' actor at the cursor. On Left Mouse Button, that actor stays there fixed at that location. just a simple point and click building mechanic. In order to allow the Left Mouse Button, I have the option of checking whether or not the 'ghost' object is valid, or more simply if the the line trace has returned a hit. Both would accomplish the same thing, but I feel like one might be better or cheaper than the other. Any tips?

shut hinge
#

Ok I've exposed the Char Class now on the widget. If this is right then that takes care of the player controller, now what about the Cast node in the actual widget binding ? with the get player character in it. Do I just replace that with the character of the player?

shut hinge
#

based on the instructions given me, I don't know if this is correct because I'm now getting a casting error showing up along with a null access error now that I'm no longer using the get player character anymore.

shut hinge
#

i need some help, I don't know how to reference the cast to the party character variable without getting the null access error.

opal pendant
#

where does your player controller ref come from?

shut hinge
#

at the moment i created the variable in the pawn's own widget I'm trying to cast to because I don't know how to reference it from the player controller. If I have to set it from the player controller or not.

opal pendant
#

in the last screenshot you sent, get rid of the cast node, you can plug the Skynar Char ref straight into the Levelling Component thing

shut hinge
#

show me in the screenshot don't tell me by text or I will been going through trial and error a dozen times before I get it right.

#

becaues its like trying to fit something into a place where I can't see and only guessing

opal pendant
shut hinge
#

if I gt rid of the cast node, then I can't reference the party character as its got to plug in somewhere.

#

this is the binding of the widget.

opal pendant
#

the node that says "Target Skynar Char" is the reference

#

you don't need the cast node

#

the cast node is redundant

shut hinge
#

alright i will get rid of the cast node.

minor karma
#

hi, one more question because i'm a bit stoop. if i have 2 rot values, how would i be able to transition between one to the other? i'm using a timeline for a float going from 1 to 0, but i sorta hit a wall here. if anyone could help out that'd be great thanks!

opal pendant
#

switching between Character Rot and the one that comes out of the math function?

#

a switch might work there

#

@minor karma what are the conditions for which rotator should be used?

minor karma
#

okay, so, i'll explain real q, cause i think that'll make my point clearer

#

this is for a walljump

#

the bottom rot, is the angle off the wall

#

so, after a walljump, it'll snap to the reflection angle

#

but, if you are holding a movement control, it will only snap for one frame

#

so, over a time range, i want it to go from not being able to rot (locked to the reflection angle)

#

to transitioning smoothly to the standard movement rotation thing

#

if you follow

opal pendant
#

ah yes, that makes more sense to me now

#

have you tried just a simple if statement that checks if the player is holding any movement keys?

minor karma
#

yes, but, the issue with that is: it won't update until a change, which basically eliminates the smooth transition

opal pendant
#

hmmm I'm gonna need to think about this for a bit

minor karma
#

np

shut hinge
opal pendant
#

that looks correct @shut hinge

minor karma
#

to explain what i was thinking, you'd simply use a 1 to 0 or 0 to 1 timeline, then using math, that infulences one effecting the other

#

i just need to math it somehow

#

actually, i think i have a way

#

one sec

#

i'm thinking somethign like this

#

i just need to get it to click somehow

earnest prism
#

Hey, so I am trying to slice every procedural mesh that is to the left and right to the player lining up with the player's left and right as well. Idk if that makes sense. @ me if someone has any idea.

opal pendant
#

ok lemme make sure I'm still understanding:
if the player is holding a movement key, then after the wall jump they'll snap perpendicular to the wall for one frame, and then transition into movement
if the player is just wall jumping, they'll snap to the wall and that's that
is that right?

#

@earnest prism like in VR with beat saber?

earnest prism
#

Yeh I guess.

opal pendant
#

but not in VR?

earnest prism
#

Yeh

opal pendant
#

I think I understand

#

@earnest prism I'd make thin collision boxes that extend out of the character to the left and right, and every time they collide with a sliceable object, call the slice function and that should work

minor karma
#

nah, so like, to explain better, i want the character to snap to a specific rot, but, over time, it'll be less strict until you have full rot control back

#

it's purely for animation/cosmetic purposes if that matters

opal pendant
#

have you tried the interp nodes?

earnest prism
#

I need it to not slice until the player hits a button. So would it still work that way?

opal pendant
#

@minor karma try the Rinterp node

minor karma
#

okey, i was googling it lol

opal pendant
#

yep, so what you would do is when the player presses a button, you'd test to see if the slicers are touching and object that can be sliced, and if so, call the slice function

#

also lol sorry

minor karma
#

okay, this is close, but, i want it to fade from one to another if that makes sence

earnest prism
#

I think that makes sense. I'll try it out. Thanks

minor karma
#

so this is more or less a quick switch

opal pendant
#

np

#

fade?

minor karma
#

here's a way to think of it

#

think of how when a character pushes a sprint button, they don't immediately in some games

opal pendant
#

ah yeah

minor karma
#

they're holding it, but it'll slowly transition from one speed to another

#

i want that, but with rot

#

the math will be something like this, but i'm fucking up somewhere

opal pendant
#

well Rinterp should take care of that, unless I'm forgetting it doesn't have a time input

minor karma
#

it does, but it doesn't have a "stregnth" input

opal pendant
#

oh

minor karma
#

like, there's no way for me to fade

#

so, i'm more or less doing what i'm already doing lol

opal pendant
#

hmm

#

a slower interp speed doesn't do it?

minor karma
#

maybe, let me try something q

#

brb lol

opal pendant
#

k

minor karma
#

yeh no

#

it only snaps

#

there's no fade

opal pendant
#

well shit

minor karma
#

oh wait

#

fucked with some values and the inputs

#

it's working

opal pendant
#

awesome

minor karma
#

not 100%, i need to tweak hella values lol

#

but, it's going smooth enough

#

if it flops, i'll be back

opal pendant
#

lol sounds good

minor karma
#

i'll hopefully remember to let oyu know if it works lol

#

okay, i dicked around with the numbers

#

it seems to just lock it to said rot, until said timer is up

#

i can't rly seem to get it to work

#

imma read the manual for it, but i still don't think they're reading it

opal pendant
#

hmmm that's odd

minor karma
#

going from this, it seems like it should work

#

i just can't get them hand and hand

earnest prism
#

@opal pendant It does seem to work. But how do I make the slice be aligned to the players rotation? I don't quite fully understand how to input the right 'Plane Normal' to make that happen.

minor karma
#

okay, so it seems, no matter what i do with the numbers

#

it is locked

#

so unless the time metrics are in frames/ticks, then it seems to be nothign

opal pendant
#

is the slicer a child component of the player's body?

earnest prism
#

It is yes

opal pendant
#

also I got nothin @minor karma , sorry

#

I've only used it once or twice so Idk why it isn't working for you

minor karma
#

yeh, it's alright, no matter what i do with the floats, it's basically all the same

#

aka, always rotates and starts rotating at the same time

opal pendant
#

@earnest prism I believe the plane normal should be the face of the plane that is facing the same direction as the player, so forward

earnest prism
#

And, because my brain is so slow right now, how do I get that information into the slice function?

#

Wait, can I use a "get forward vector"?

opal pendant
#

exactly

earnest prism
#

Holy shit

#

Thanks