#blueprint

402296 messages ยท Page 411 of 403

still salmon
#

and yes im aware its disconnected

prime berry
#

well if it outputs 'click' then it should at least pass through the Press Key node, so that shouldn't be the problem

still salmon
#

yeah

#

It just seems to not want to function after one use

#

hm

#

ive fixed it slightly one moment

trim matrix
#

Depressed rn

prime berry
#

are blueprints depressing you?

trim matrix
#

I can't seem to get the cameras view cone to be longer

#

I been stuck

prime berry
#

what do you mean by 'longer'?

trim falcon
#

How do you make it so the player doesnt rotate his entire body if im going a certain direction. For example, if my camera is facing forward and I go backwards the actor's entire body moves to that direction. I want it to only rotate if my camera is facing that direction. I explained dis really bad but I hope someone can understand me lol

loud cipher
#

if i build lighting does myscene perform better?

trim falcon
#

it's too little to notice tbh

#

not sure

prime berry
#

what do you mean by the "entire body moves to that direction"? I mean when you walk backwards that's what happens to your body

fair estuary
#

Do you want the camera to be locked to the players back like a third person shooter type?

sharp juniper
#

Sounds like they're talking about a follow camera/spring arm's pawn control rotation behavior

#

Probably just need to uncheck that for the arm and hook input to the camera instead of controller

#

@trim falcon More details on exactly what you want camera input and movement input to do would be helpful

fair estuary
#

Yes I think you're right. I couldn't recall the exact setting off of the top of my head

sharp juniper
#

The TPS follow cam style and sample project links char rotation to cam rotation. A more MMO style has them separated, and then you need to decide/define what happens to character when cam rotates (char moving vs still) and what happens to cam when char moves

trim falcon
#

Wait i think i found something that might work, if it doesnt ill provide more info

sharp juniper
#

Like in WoW, for instance, there's actually two cam control inputs and two char control styles. Cam is free cam (left click drag) or rotate cam and char (right click drag), and char input can be strafe or turn, turn resulting in cam following char rotation

#

So if you want that separation you need to map out what does what, then wire it up :)

trim falcon
#

@sharp juniper Thanks for the help !

sharp juniper
#

np

trim falcon
#

I found out what I was looking for thanks alot

sharp juniper
#

Awesome

still salmon
#

@prime berry Victory has been secured, thank you for assisting.

prime berry
#

lol what happened?

#

and how did I help? ๐Ÿ˜›

still salmon
#

Im really really really... really stupid

#

and ive finally achieved victory

sharp juniper
#

Overlooking or misunderstanding something or whatever doesn't mean you're stupid. It just means you learned. That's literally how learning happens :P

#

A stupid person can't learn how to solve a problem or fix a mistake. Clearly you did.

prime berry
#

wholesome Unreal Slackers Discord

sharp juniper
#

:P

still salmon
#

Wholesome indeed, quite the speech you should do motivational speaking.

tribal axle
#

How can I destroy a hud when a certain text appears?

#

Or just destroy the text

astral fiber
#

Is it possible to create a blueprint function with multiple "Do" nodes as return, like in the picture?

tight schooner
#

As far as I'm aware, only collapsed graphs and macros can have multiple exec outputs.

astral fiber
#

Yes, just found out about this, thanks @tight schooner

tight schooner
#

At best you can make a "pure" function that spits out a boolean/int/enum to plug into an appropriate "flow control" node. (And then put that in a macro, lol.)

chilly widget
#

Hello guys! ๐Ÿ˜„

#

question

#

I am having a little trouble with something silly

#

and would greatly appreciate your input

#

so the moveComponentTo function

#

gets a "Target Relative Transform"

#

what does this mean?

#

how do I get this "relative transform"?

astral fiber
chilly widget
#

Oh yeah yeah!

#

That's what I meant!

astral fiber
#

Its the relative location of the object. Not the world location

#

So for example. if your character is moving in a level, he has a world location.
If he is holding something in his hand, which is part of the character (a sword maybe) which you moved there in the viewport. This is the relative location of the swort to the character.

chilly widget
#

ooooooooooh ok, and how would I go to get the relative location of an actor outside of my current blueprint? how would I get that relationship?

#

The thing is am trying to programatically move a camera, which is inside a bp, towards a location in the map

#

but the math is beating my brains.

astral fiber
#

From where do you want to call it, inside the level Blueprint? Or just another blueprint?

chilly widget
#

Another blueprint!

#

We have an actor that has a reference to the camera component

#

this bp is the one calling moveComponentTo

astral fiber
#

ok cool, so first thing is you have to get the actor. That is rather easy. If there is only one Actor of this kind you can use the blueprint node "Get Actor of Class"

#

Here you can select your actor which you want to access

chilly widget
#

aha, I even made a reference in the bp so I could just drag the actor.

astral fiber
#

what you mean with a reference?

chilly widget
#

a public variable

astral fiber
#

of what?

chilly widget
#

of the actor whose location I want to move the component towards to

astral fiber
#

Normally you want to decouple things as mouch as possible.
So I would suggest you just get this actor as well with that "Get Actor Of Class" node

chilly widget
#

ok! I can do that no problem

astral fiber
#

Than you would not need that reference

#

Also, you are getting both actors the same way, which makes it easier to read, and to understand for future edits

sick plover
#

Hey Guys i have a question, does someone know how i define my character he is walking backwards or forwards that the char knows ok this is forward and this backwards

astral fiber
#

@sick plover how are you controlling the character? With a keyboard?

sick plover
#

Yes

chilly widget
#

@sick plover wouldn't this depend on the type of game you are doing? I am not understanding your question sorry ๐Ÿ˜ฆ

#

(@astral fiber please don't stop you are almost at the answer!!! haha)

astral fiber
#

@sick plover You could try to get all the current pressed keys and decide on that maybe

#

@chilly widget do you mind doing this over Teamviewer or Discord? so I can see what you are doing?

sick plover
#

so i make a fighting game that means player 1 and 2 always face each other and i want to make a Walk Backwards animation so i need to say the character when you are on the left side from player 2 the button ''A'' is backwards and when you are left the button ''S'' is backwards

#

''A'' is backwards and when you are right* the button ''S'' is backwards

astral fiber
#

@sick plover 2D or 3D?

sick plover
#

2d

astral fiber
#

Well thats easy ;)
you know the position of your character, and the position of the enemy. Decide on that

chilly widget
#

we had a variable

#

that would tell us if we were facing right

#

or left

#

and this changed depending on the position of the enemy/other fighter

sick plover
#

oh ok

chilly widget
#

basically if position X > enemy position X we where in the right , else we were in the left

sick plover
chilly widget
#

and so we would shift the sprites to look as they should

#

Sorry I can really read that ๐Ÿ˜ฆ

#

cant

#

@astral fiber

#

no problem

astral fiber
#

@sick plover does not look that bad, is it not working?

chilly widget
#

we can discuss further ๐Ÿ˜„

sick plover
#

No this works but the inputs for walking are A and S so how i can handle the animation of walking backwards cause its always switching cause which side my character is. Sry for my bad english ๐Ÿ˜…

astral fiber
#

Where do you handle the animation?

#

How do you decide which animation gets played?

sick plover
#

like that ๐Ÿ˜„

astral fiber
#

So in the Player1 Enum the current state of the player movement gets stored?

sick plover
#

yes

tribal axle
#

Hey, It's something really basic but how do you destroy your player or another actor based on touch?

chilly widget
#

@tribal axle

tribal axle
#

._.

#

thanks...

#

im dum

#

Can you do the same for a character?

fathom portal
#

@tribal axle you can do that for virtually any actor

trim matrix
#

any way i can do a dash?

#

am trying to figure it out

celest oar
#

is there anyway to save the sound volume without having to use a save object?

narrow kelp
#

do i have to delete the function and make it again?

#

what a pain

cobalt ferry
#

try selecting nothign johnl

#

or connecting it

narrow kelp
#

I tried that, eventually just recreated the function

#

some kind of editor bug i guess

fathom portal
#

@narrow kelp you can also right click and select "refresh nodes":

narrow kelp
#

Tried it ๐Ÿ™‚

#

it was royally screwed

#

thanks tho

trim matrix
#

should a blackboard / tree be set up in a pawn's controller or character class?

#

i notice you can set it up in both.

narrow kelp
#

do you mean pawn vs controller?

trim matrix
#

yep

narrow kelp
#

i would do it in controller

trim matrix
#

yeah

#

that's what im doing, just wondering if there's any diff

#

loading the BT class from a data table based on NPC ID

narrow kelp
#

i believe the controller has the logic component

#

or whatever its called

#

that runs the behavior

#

one thing i've started to do for behavior stuff is have one (or a small number) of main trees

#

and use dynamic sub trees

#

since so many characters share so many behaviors

trim matrix
#

i'll be looking into that soon enough

#

can you attach BTs together dynamically?

fathom portal
#

What's a BT lmao

narrow kelp
#

behavior tree

#

yes you can attach them dynamically

#

you can make it so they all use the same mama tree, but then each run their own combat sub tree, for example

trim matrix
#

Hello, can anybody help me? When I'm trying to set a text in a widget when the actor overlapping my collision box, why is it replicated for all players? I have something like this. When I change events for example to press a key button, it's not replicated. This is my character blueprint.

#

thanks John!

still trellis
#

any way to add a character movement component to an actor? I want to create a generic "CombatActor" class that allows support for all my combat functionality, but these actors may not need character movement (but some will).

#

want to avoid always having to cast the owner to specifically the "combat actor without movement component" or "combat actor with movement component" and instead just the generic combat actor class

#

is it a dumb idea to just default to having a character movement component and deactivate it on actors that don't move

stuck hedge
#

Does "is valid" return false if the object is pending kill?

noble bramble
#

Hello all - a question. I am playing a death animation for one of my AI/NPCs - however, once that is complete, the NPC snaps back up into a Tpose. What is the normal way to end the animation, and not have it continue? (ie I just want them to lie there for a few seconds before I remove them from the game).

cunning sentinel
#

@noble bramble Make sure that the animation is not looped and in the blueprint itself add DisableMovement after death

waxen sorrel
#

Can someone confirm or tell me how to solve this:
The Bluetilities don't execute old style windows with the properties panel, is this correct on last versions ?

noble bramble
#

@cunning sentinel - sorry didnt work. I simplified it all down.

#

Character plays the animation, and then once, done springs back up to TPose "no animation set" type pose

cunning sentinel
#

and then Deactivate on character movement component

noble bramble
#

thanks - will give it a try

bleak vector
#

I've got a "faction" variable on player and npcs and I want to find the nearest enemy (which is determined by comparing their faction relationships); what's the cheapest way to do this? ๐Ÿค”

split wasp
#

I'd assume tags are pretty free-hand approach to that

#

so when ever npc sees player, it checks for tags to determine action

trim matrix
#

I need to limit the number of scene capture updates

waxen sorrel
#

someone knows how to do Log10 ?

green wave
#

hey guys. Exists any event or function that I cann call when Music come to its end?

#

Like, when 1 music finishes, how to start another?

sacred plover
#

Hit a bit of a snag here. I'm trying to alter the gamma intensity with an event using BP but I can't seem to get the values to translate properly. Am I going about this the wrong way? Is this because I have XYZW instead of RGBY? If it is, how can I convert it?

cyan lion
green wave
#

@cyan lion ๐Ÿ˜„ Thank you)

cyan lion
#

@sacred plover first of all if you are making postprocess settings to change only gamma, rest of properties will be default, so you need to use node "Set members in ..."

#

like that, and then find properties you want to change, thanks to that the rest of setting will stay unchanged

trim falcon
#

Any great and simple root motion tutorials

cyan lion
#

@sacred plover so basiclly it would look like this and i've just checked it and it works ๐Ÿ˜‰

cyan lion
#

@waxen sorrel both will works, second node - math expression is great tool to make some math (just put formula as name and it will do the rest)

waxen sorrel
#

ty

odd ember
#

@trim matrix use the HasAuthority node

celest oar
#

Does any 1 know of a way to save all sound classes volume WITHOUT having to use a save game object?

trim matrix
#

@odd ember Thank you, could you tell me a little bit details of it? What I've read you can distinguish between client and server, but if I have two clients it'll be still replicated or how can I use it to distinguish between more clients?

fervent kelp
#

hi guys on 4.23.2 widget button didnt work? WTF?

odd ember
#

@trim matrix are you familiar with multiplayer architecture?

fervent kelp
odd ember
#

clients are only able to do cosmetic changes

#

all game changes have to go through server otherwise

trim matrix
#

Yes a little bit. Oh that makes sense.

fervent kelp
#

editor works good but does not work in the package. is there something i am doing wrong?

trim matrix
#

So how can HasAuthority node can help me to show the text only that player who would be in the collision box with the actor?

celest oar
#

if you do if(hasauthorithy)==false) it wont execute on the server, im not sure what is your issue tho i wasnt paying attention to the convo

#

in BP theres a hasauthority switch

odd ember
#

@trim matrix you're not checking for which player enters at all

trim matrix
#

But it's interesting when I use the event for pressing buttons for example, it works only for specific player (actor).

odd ember
#

and you're not adding an owning player

#

to the HUD either

#

unless that is within a player character

trim matrix
#

It is the BP for player character

odd ember
#

I see

#

the HUD isn't supposed to be an actor in the world though, so I'm not sure why you have it on begin overlap

#

add to viewport should be enough

#

in which case that will ALWAYS show up for all players

#

since all players are the same character

#

so that is correct behavior

vocal barn
#

Hello sorry to disturb, i have a problem concerning my sprint system : i dont want to sprint backwards and i want my sprint speed to be progressive. The thing is everything is working fine, but when i keep my input action (for the sprint) pressed, i can run backwards if i already runned forward, and once i stop moving and move again, my speed is at sprint speed direclty, so if anyone could help me please, tell me if you need screenshots or anything

trim matrix
#

Hmm so, how can I show the player on HUD, he can interact with the object? What's the best solution for that implementation? Because this was the first solution what came to my mind. Sorry I'm pretty new to unreal. I looked for some tutorials, but they usually worked with In-game text, not with the Widgets.

odd ember
#

what are you trying to do?

#

the HUD can still perform functions

#

it already knows the player since it starts on the player

trim matrix
#

This is my testing project, so I created here an empty collision box (it's a trigger box, but it's not essential now). And what I want to do is, when the player will collide with that box, it shows on the HUD text, he can interact with it. And I'd like to change this text dynamically, so there will be more messages for actions. Example scenario:

  1. Player will collide with collision box => HUD shows: Press E to Interact
  2. Player will press the E key => HUD shows: Interacting
  3. Player leaves the collision box => Hud shows nothing
vital shard
#

Curious question. There's a function for USkinnedMeshComponent called GetSkinnedVertexPosition according to the documentation. This doesn't seem to be blueprint callable though.
Not a programmer, did some c++ long ago and tried adding a line to make it callable above the declaration of the function in the header file. Still doesn't seem callable though. Is there another way to call this from BP? ๐Ÿค”

    static FVector GetSkinnedVertexPosition(USkinnedMeshComponent* Component, int32 VertexIndex, const FSkeletalMeshLODRenderData& LODDatal, FSkinWeightVertexBuffer& SkinWeightBuffer);

Not crucially important, just wanted to play around a bit with a crazy idea that probably would have terrible performance.

odd ember
#

@trim matrix first use OnComponentOverlap instead of OnActorOverlap

#

you only want to do it for the volume, not for the entire actor

trim matrix
#

Okay

odd ember
#

second, when the overlap triggers

#

you have at least one pin called other actor

#

that is whoever enters the trigger

#

you can then use a cast node to determine if it's an actor you can use

#

i.e., the player

#

then once you've "caught" the player you can perform functions or logic on it

#

e.g. get the HUD of that particular player and print something on it

#

that's the basic idea of blueprint communication

#

later on you may want to create canned interactions where the HUD knows how to respond based on the type of interaction it is

trim matrix
#

So if I understand you correctly. You mean something like this right? I had to create for CollisionBox own BP class.

odd ember
#

looks right

trim matrix
#

But works the same way

odd ember
#

only the player overlapping should have the interaction prompt

trim matrix
#

Nope, it's shown for all players

odd ember
#

then use authority with client

#

otherwise use IsLocallyControlled

trim matrix
#

Oh so when I used only the HasAuthority it was replicated only for the clients. After I added the IsLocallyControlled it seems fine now. So is this the solution what you meant?

late gorge
#

hi, im trying to add a box collider to an actor and it's not colliding

#

i've changed the collision preset to be the same as the capsule (pawn)

#

but that isn't working

trim matrix
#

@late gorge maybe the size of your collider is not big enough?

odd ember
#

are you trying to replace the capsule with a box?

#

because that won't work unless you hard code it

quick grotto
#

@late gorge do you have generate overlap events checked?

trim matrix
#

How can i assign a Actor to my object Reference from content browser ? Someone a idea?

late gorge
#

i fixed it, i didnt compile after switching collision preset /faceplant

gray dune
#

quick help needed, anyone know where my tabs for my child bp are? Like viewport, event graph etc.

trim matrix
#

under windows on the top and activate the details and the another stuff

#

@gray dune

modern hound
#

Has anyone here ever tried to port BPs between engine versions? Is there a less painful way than recreating it step by step from scratch? Migrating doesn't work because... I have no idea why.

gray dune
#

prim2gold doesnt work

#

@trim matrix two different windows get opened, but cant get the default viewport back

trim matrix
#

open full blueprint

#

editor

gray dune
#

fuck me

#

thanks

quick grotto
#

@trim matrix just change your var type

#

search for the bp you want

trim matrix
#

if i dont drop the actor in the level and select it i will get this error everytime

quick grotto
#

hmm

trim matrix
#

so i just want assign my actor to this object reference from content browser

quick grotto
#

oh you are dropping it in the levellike that?

trim matrix
#

not from level

quick grotto
#

are you trying to call something in the world or just a bp?

trim matrix
#

just from the BP

#

just want acces on the variable and things like this

quick grotto
#

making a bp a var

trim matrix
#

yeah and from this reference i want to call from Master Tile there variable and .....

quick grotto
#

yeah it works fine for me

#

try it with another bp

#

or delete the var you have compile then make the new var

#

Maybe set a boolean for when it fires off the first time to make sure it cant fire off again

trim matrix
quick grotto
#

yeah you cant edit that as far as ik

#

or i dont use it if it does exist

#

what are you triyng to do tho?

#

like logic wise

trim matrix
#

oh nothing i can assign the actor on many ways but im wondering why i can not reference it like this ^^

quick grotto
#

not sure it is just an actor isnt it?

unborn turret
#

you cant set a default value for the actor

#

you can do it on begin play

quick grotto
#

oh yeah you can set the var in the bp

#

then just assign it w/e

trim matrix
#

okay Thanks

#

^^

unborn turret
#

@quick grotto i basically dont want overlap firing on beginplay but want it firing after

#

because when i attach it to component it fires off

loud cipher
#

how can i go back to a autosave in unreal engine?

#

i ruined my work

#

can i not go back to a previous save?

earnest tangle
#

You probably should learn how to use source control to avoid those kinds of problems in the future

loud cipher
#

damn

quick grotto
#

@loud cipher autosaves are in your project folder - saved - autosaves

loud cipher
#

what do i do from here?

#

do i delete them?

#

anim bp is broken

quick grotto
#

what are you trying to do?

loud cipher
#

i ruined a few things in anim bp, so im trying to go back earlier when i didnt

#

if i delete the few anim bp will it return to older state?

quick grotto
#

no

loud cipher
#

oh

quick grotto
#

the autosaves are older saves of certain assets

#

as far as ik

carmine prawn
#

Basically copy the auto saved version of what you want to restore into your project and then remove the _auto

gray dune
#

can someone help me, i am watchign a tutorial and for some reason my values need to be gigantic compared to thew values in the tutorials. Why is that?

#

for instance tutorial has a 8000 int in his float to make an effect

#

i need something like 600000

#

im using the latest builds

#

for instance radial impulse with a value of 6000 doesnt make a cube with a weight of 10 kg or less move while in tutorial it does

loud cipher
#

what do you mean copy the autosaved version? @carmine prawn

frigid salmon
#

Can I apply a camera shake to a static camera in the world (which I'm using but isn't controlled by any pawn) ?

carmine prawn
#

@loud cipher those assets listed in your autosaves folder, pick one that you think isn't broken. Copy and paste it into your project.

split crescent
#

how do i use an aicontroller for my player? i've set the aicontroller class and tried calling spawn default controller but my aicontroller is still returning none

loud cipher
#

Ohh

#

so i delete the original one in the actual game folders and paste the fixed one back

carmine prawn
#

basically, yup

loud cipher
#

thx

frigid salmon
#

nvm - fixed it, looks like the distance has to be bigger for 2D :-?

carmine prawn
#

of course, whatever you did to screw things up, bit be autosaved too.. so you may have to test different ones.

latent basin
#

Hey guys, been wondering, can I make a global constant? just like a file that holds a value that every bp can access...?

trim matrix
#

@latent basin Create a player State > make a reference to your Player state > cast to your Player in desired BP and call your variable just one possibility^^

sacred plover
#

@cyan lion Ah man, thank you! I was also going nuts wondering why my other settings were getting reset too. Thank you again for explaining that! ๐Ÿ™‚

latent basin
#

@trim matrix Thx!!

boreal karma
#

Hey guys does anyone reccomend a ui tutorial that shows the time you spent in the game?

odd ember
#

I think you can use get game time, then add that to a TotalGameTime variable that you serialize in the game instance

clever cedar
#

Is there any way to resize textures in the editor, maybe with editor blueprints? All these 4k and 8k textures are taking up too much space.

static charm
#

you mean like batch resizing

#

you can change the size of each texture manually in the texture setting

clever cedar
#

Yeah I know I can export into photoshop and resize and reimport- but that takes a long time with many assets

odd ember
#

@clever cedar there may be a way to scale them down, but they will remain their size in terms of actual storage space, since I'm pretty sure the original size is stored regardless

static charm
#

there are batch resizing plugins

#

free

#

for ue4

clever cedar
#

Oh thanks, I'll take a look on the marketplace

odd ember
#

that makes no sense

#

so... just cast it?

#

what's the issue?

static charm
#

i think he means how to write the code for it in c++

pallid rampart
#

Hey guys quick question im sure this is right but jsut making sure
A "For Loop with Break" when the break is called does that trigger also the completed output?

odd ember
#

you can double click the macro to see what's inside of it

#

and how it works

#

break means the loop stops

#

in code jargon

pallid rampart
#

indeed

#

i should have coded this procedural tiling in c++ xD blueprint doesnt suit me anymore

#

cause i know in c++ "break" stops teh loop and continues the rest of the code below so im guess it does the same and calls "completed"

static charm
#

yes

pallid rampart
#

thank you ^^

#

also as anyone made or know a good way to sort a map?

#

has*

static charm
#

sorting it for what purpose

odd ember
#

maps are hashmaps

#

you don't sort them?

pallid rampart
#

you can sort them i made a small way to do it

static charm
#

ok but for what purpose

odd ember
#

technically you can, but if you have to sort things you aren't looking to use a map

#

it makes no sense

pallid rampart
odd ember
#

the implication of a map is that you have a key always, that returns a value, always

#

a map isn't an array

pallid rampart
#

i have a spawn actor node and it add its to a map then later on it deletes them but there not in order anymore

#

so that how i re sorted them agian from starting 0 again

static charm
#

again what purpose do you want a map sorted

odd ember
#

map doesn't have indexed access

#

like I don't know what you're doing, but you're basically not using a map at this point

carmine prawn
#

if you need to have something in an order, maps are not the thing to use.

fathom portal
#

Theres no way (that I know of) to sort a map, but you can just grab the keys, sort in whatever order you want, then loop the keys and put the corresponding values into an array

#

If were talking about tmaps, I mean

odd ember
#

it makes no sense

pallid rampart
#

i need map cause i need soem actors with the same value as a group

odd ember
#

like no matter how each array is sorted

#

the k,v pairing is not broken

#

so there is no point to sorting a map

pallid rampart
#

so -y is grp 0, -x is grp 1 , +y is grp 2 and so on thats why im using a map

odd ember
#

yeah you don't need a map

#

you need a 2d array

pallid rampart
#

2d array?

#

what data type is that

odd ember
#

it doesn't exist in blueprint

pallid rampart
#

NOOO

#

T_T

#

i knew it i should ahve coded this in c++

static charm
#

again you haven't said why you need it sorted or in some order

odd ember
#

like if you know cpp then how do you not know the difference between a map and an array?

#

that's basic stuff

static charm
#

you can pull from the map in any order you want

pallid rampart
#

the more tiles i spawn if there is more then 2 grps in the scene it deletes the ones behind

#

so i then i need them resorted cause then the grps not deleted would be like 2 and 3 and i need those now 0+

static charm
#

make a new structure for the type of data you want, then put those grps in the array and delete from there

pallid rampart
#

either way some good advice thank you guys, im just currently just prototyping it first and was going to move to c++ for the final.

odd ember
#

you can create 2 separate arrays inside a struct and use those to propagate a grid

#

I assume that's what you're doing

#

a 2d array is just 2 arrays

pallid rampart
#

btw @static charm how is the 2d array written?

#

@odd ember i did something like that for one of them made a struct added 2 arrays and 1 holds the actors other index grp. Should i move to that instead on the map

odd ember
#

it's the only way to do it in BP

pallid rampart
static charm
#

yeah there's lot of ways to handle this

pallid rampart
#

xD true design choice is the interesting and which has a better performance hit

static charm
#

yes

odd ember
#

less blueprints = better performance

pallid rampart
#

indeed

static charm
#

structure array would be slower then using regular int array with some lookup data/table or whatever to define the data in the array

pallid rampart
#

ill see how i can shorten the code but ill be moving to c++ when i get the general idea working

#

and still not 100% there

loud cipher
#

anyone know how i can make a weapon system that is using data tables and enums? i want to make it a proper system with pickups and drops? any idea on a video or starter guide?

pallid rampart
#

There should be alot of tut on picking up and adding to inventory

static charm
#

did u happen to get the weapon component system from free month assets last year? that has it all using data table, etc

loud cipher
#

nope

#

Im trying to implement it with advanced locomotion

pallid rampart
#

Last question what would u guys say map container would be good for mostly?

odd ember
#

any time you have a key and you need a value

#

like ammotype/count for instance

wintry maple
#

Hi there ๐Ÿ™‚ I just started a week ago. I came from Unity (never looking back).

I've been through youtubes and tutorials, but I'm stuck on something that might be considered very basic for someone else...

I have a trigger box and in my blueprint on overlap I want to get the Character I attached the trigger box to as a reference and tell it to play a Montage.

I keep getting lost when it asks for Skeletal Mesh Component.

If anyone here wouldn't mind helping rearrange my brain I would be incredibly grateful.

#

Trigger -> Attached to Chracter (NPC)

odd ember
#

can you show your blueprint?

#

also, have watched the blueprint communication video?

wintry maple
#

its a blank blueprint so far due to failures.

#

And I'm not sure which one that is, there's hundreds of blueprint videos

#

I would be happy to view it!

odd ember
#

it's one of the videos that is pinned to the channel

#

so if you click on the thumbtack you'll find it in the list

wintry maple
#

thanks!

#

I will look at that

pallid rampart
#

Usually I leave the bone to None when I'm attaching unless it like a static mesh

#

Or was it root xD dam I forgot

wintry maple
#

I think my problem is I'm having trouble actually figuring out how to identify the reference.

pallid rampart
#

Is the character ur player?

odd ember
#

if it's a character, it's usually get mesh

#

that gets you the skeletal mesh

pallid rampart
#

Yup

wintry maple
#

not my player

odd ember
#

but you can hover over the different options to see what type of object it is

wintry maple
#

You guys worked with the Paragon characters before?

pallid rampart
#

Somewhat but shouldnt change for any other char

wintry maple
#

I put one of them as an NPC and a trigger box around it, attached the trigger box to them

pallid rampart
#

Are you building it in a Blueprint actor or blueprint level?

wintry maple
#

and my next step is to make that NPC do something when I enter the Trigger box, but I can't seem to figure out how to actually reference that character

#

I'm in the blueprint for the triggerbox

#

I had to create a new one

#

I have at least added a debug breakpoint and confirmed my Overlap is working

odd ember
#

you should put the trigger box inside the character's blueprint

#

not in the level

pallid rampart
#

He can do that

odd ember
#

again the blueprint communications video is something you need to watch for this

pallid rampart
#

Or just make a variable

wintry maple
#

I attached the triggerbox to the character in view

odd ember
#

it's not the right thing to do in this case

#

watch the video

#

then come back when you have questions

wintry maple
#

ok

snow geyser
#

Would โ€˜2D grid execution macroโ€™ be the ideal way to set up a build grid for an RTS style game? Think ... Starcraft or Anno where a grid appears around an object to be placed to give an idea of available space in the area

loud cipher
#

anyone know why this doesnt work? it should, it just flings me

#

collision is disabled too

odd ember
#

sounds like physics are enabled

pallid rampart
#

@loud cipher overlapping only works when coming in the first time. Are u starting inside it?

static charm
#

your attach in reverse

#

weapon should be target

#

parent should be the player character

loud cipher
#

it wont let me

static charm
#

theres different attach nodes

pallid rampart
#

that true

#

target should be weapon

#

and parent is char

#

@static charm what said there is a different node

loud cipher
#

Oh yes, there is another attach to componenet

#

but still

#

nothing happens

#

since i cant plug anything to parent

static charm
#

there is still a different node

loud cipher
#

Ah

#

Yes i referenced sk mesh

#

works now

#

Thanks!

static charm
#

Deadmon, 2d grid made in macro is fine. marco is just a re-useable/collasped blueprint graph. so it has little effect or difference of how you actually code the 2d grid

loud cipher
#

is it possible for me to make it so it checks if i have a weapon equipped already, then it if i do it attaches to a socket on my back?

snow geyser
#

@static charm I was meaning the included macro

loud cipher
#

however not really working

static charm
#

the first true is attaching to potentionally nothing unless the default primary is already set before the cast

#

because it only casts when false

loud cipher
#

But are the variables fine?

static charm
#

but then again it should only be firing false, because you set weapon false first

loud cipher
#

Yeah

#

the way i set it

#

they both pickup but attach to hand

#

not the other to the back

static charm
#

oh sorry i see

#

lol

loud cipher
#

huh lol

static charm
#

i didn't see one is back and one is grippoint

loud cipher
#

Ohh

#

np

static charm
#

but yeah so on weapon equipped false, it's going to the hand/grippoint

loud cipher
#

because im trying to achieve if there is more than 1 picked up the other should go to the back

#

i think its because when i equip 1 weapon it attaches to the hands and it does it again on the other because it doesnt recognise i have another

#

do you think i can use a float?

static charm
#

i dunno too tired to think, time for coffee

loud cipher
#

Lol

#

its only 11 pm :)

#

now that i think about it, my eyelids do feel a bit heavy

long vault
#

You can specify timeline components as variables, but where can you create and save one as an asset that's independent of a blueprint?

loud cipher
#

anyone know a better way that works properly than using floats? im trying to make it so that the value of how many weapons i have is increased by 1 when i pick up one, and if i have more than 1 weapon the weapon is attached to my back

prisma delta
#

when casting to (widget blueprint) what (get) reference do you use for the blue object pin?

#

its the object pin on the left side of the node.

olive cloud
#

Your widget

analog ice
#

Should a sphere trace by channel (forward and another for height) be unpredictably innaccurate at times? I use forward tracer for the wall's normal, and a height tracer for it's height and determining where to grab on. For some reason it can be a little unpredictable. Sometimes his fingers are planted lower than they should be, other times his body goes slightly into the wall (It'll be the same simple wall in the picture).

#

It's almost like it can't read the impact point fast enough.

#

The tracers are both set on Tick.

stuck hedge
#

How do structs, save games, and versions work? For example on version 1.0 of your game, you have struct X that gets saved as part of your save game. In version 1.1 you need to make a change to struct X to fix a bug or expand functionality. There are now two extra variables in struct X. Player downloads the update and attempts to restore their save game. Of course the old struct doesn't match the new one. Is the game able to import the struct ok? Or does it error out because they don't match? Does it simply treat those new fields as default/null depending on their type?

frail wyvern
#

@analog ice try placing a delay before the grab happens?

#

@stuck hedge Thats a good question. For the sake of caution, I would make sure all the dat from he previous struct is transferred over to the new one before fully initiating a game.

stuck hedge
#

Normally when you'd load a save you would grab your struct send it to where it needs to be break it open and run so the functions you need to restore the value. I'm going to have to do a test on this to see what happens is you add some variables after saving and print the results and check for errors. I figured this would be important at least to some released games so I thought someone might have experience with it here

frail wyvern
#

Thats true

#

However

#

I can see the old struct pushing the data needs to go first. Then when it comes time to save, the game will check for a new struct or whatever, then push it there

exotic needle
#

Hello everyone I am having trouble figuring out what node to use if there is one to return a float that will only have 3 decimals places.

frail wyvern
#

@exotic needle you can convert it to string and remove strings after a certain point

stuck hedge
#

I wonder if you might have to create an old save game type and maybe stick a string version in the save game. Pull that out and then assign it to a variable based on type. Then move it into the current type by filling in the blanks

#

I have a save game that keeps track of the names and info about the actual save games. I might stick a version number in there

frail wyvern
#

@stuck hedge Yes that is quite possible. And I would delete the old one after successful transfer

#

Or as you said, just differentiate with version number

exotic needle
#

@frail wyvern Sounds good I shall try that

tribal axle
#

Does anyone know how to set up a death jump scare, like dark deception. Dm me please because Iโ€™m new and Iโ€™m going to ask a lot of questions.

stuck hedge
#

Yes if you created a new save game version you could put something on the menu to transfer save games. They could click the button and it could iterate through and load and save them all. Giving them the option to delete if they wanted or save them as "archived" in case of error

peak mantle
#

UWidget::RemoveFromParent() called on '' which has no UMG parent (if it was added directly to a native Slate widget via TakeWidget() then it must be removed explicitly rather than via RemoveFromParent())
How can i destroy it or remove it "explicitly"? This widget is created through Mouse Enter button, and set as a tool tip

frail wyvern
#

@stuck hedge Right o

harsh comet
#

Has anyone messed much with Physics Constraint components?

#

trying to figure out how to properly link Phys constraint components to components in other actors

cobalt slate
#

Hey everyone. I have a question that will hopefully be easy to answer.

In my multiplayer lobby, I have an error that pops up when there are too many people on one team, and someone needs to switch over to the other empty team, making it to where everyone can NOT press "ready" until someone switches. The issue, I know is replication. one player isn't registering that another player has opted to join the other team and click ready. So when the other players still try to click ready, even though the other team is now occupied(which is being replicated properly), they still get an error that there is no one on the other team. yet, visually, there are. I hope this makes sense.

So, my question is, in order for me to reflect the boolean properly that a player has entered the right team, does this all get calculated and passed through the game mode? the player state? game state? player controller? I'm just not sure where to be passing it through so everyone in the lobby is getting the same info. Thank you guys for any guidance to this!

earnest tangle
#

Would it not make sense to calculate it on the clients based on how many players are on each team?

#

I assume you replicate the teams, so you wouldn't need to replicate any additional values if you calculate it based on how many players are on each team right?

cobalt slate
#

yeah there's a reason for that though. I didn't explain it clearly. It's hide and seek, and there can only be one seeker, and up to 3 hiders. As the 4 people get logged in, they can change their mind on who wants to be a seeker or hider. If everyone moves to the hider team, it will throw an error stating that someone needs to be the seeker. the problem is when one person accepts to move to the seeker position, and hits ready, the other 3 aren't receiving that. Even though VISUALLY you can see the other person move to seeker, everyone still gets an error that someone needs to be a seeker. I hope that makes sense.

#

When i run this as a single player instance, it works perfectly btw.

#

The error or confirmation that there's a seeker that has been readded is only reflecting on the player that added themself as a seeker

trim matrix
#

Guys, is there a way to save dynamic material instance?

#

seems like the material is gone, even tho i saved it in savegameobject

#

after re-load

lean folio
#

I am having an issue with characters standing at an angle. Any tips to nip this thing in the butt?

stuck hedge
#

are you setting their rotation in any way?

trim falcon
#

What does the Delta (Rotator) node do and what does Normalize mean?

lean folio
#

@stuck hedge There is a camera before picking the team. But then once you spawn there is an FPS camera that it should be defaulting to. Would that impact rotation?

stuck hedge
#

I just wondered if you were setting rotation for something. Some new people can set rotation and forget that they only need to set the Yaw to rotate their character. If you do something like "find look at rotation" and set it without breaking the yaw off separately it can make the whole character tilt like that.

#

but if you're not doing that it's probably something else.

#

Little strange here. I set an actor so that its capsule can affect navigation, but when it's spawned into the world, that is disabled.

#

You can't even access that setting through blueprint, so it's not like I'm changing it anywhere.

fathom portal
#

@molten sundial by chance did you change it while the game is running? So it reverted when you stopped it

#

Sorry Crossmine for the bad ping, meant to ping @stuck hedge

stuck hedge
#

No

#

it's still set in the BP

#

while the game is running, if I tick the box, it'll set properly and then the other units will run around that unit and not into it.

#

but when they're spawned, the affect navigation and the "dynamic obstacle" are both disabled. But in the BP they're enabled.

fathom portal
#

In your screenshot you have the BP_ExtenorGuard selected, did you check the actual capsule part?

stuck hedge
#

3rd one down

fathom portal
#

Ah, yeah, then I'm not sure

stuck hedge
#

it doens't even have that little yellow revert symbol on it

fathom portal
#

Is that capsule component what determines your collision for this actor?

stuck hedge
#

for movement yeah, it's set to pawn.

#

I also tried setting it on the mesh, no different.

#

it does stay ticked on the mesh, but doesn't do anything

#

if I manually tick it, then it works fine

#

but that's just not workable.

#

it needs to do this, because other AI end up running into them because they don't realize the path is blocked.

trim falcon
#

What does the Delta (Rotator) node do and what does Normalize mean?

stuck hedge
#

even the detour crowd AI controller doesn't do anything. It still tries to walk through that one unit rather than go around. It just stands there spazzing out.

trim matrix
trim matrix
#

i just found out when linking the capsule component to move component to that that causes the character to teleport upwards and forwards how is that possible?

trim falcon
#

What does the Delta (Rotator) node do and what does Normalize mean?

trim matrix
trim matrix
#

@trim falcon Hey Normalize (Origin) is a little bit complicated and important too, this is the fundament of unreal Engine you should search it and try to find out every thing about it!

trim falcon
#

Ok I will ! But if you can, can you summarize the main point of normalization ?

trim matrix
#

@trim matrix can you show your code to attach this component to your character!

#

i didnt attached it yet, testing it in preview mode so i can scale it right

#

it is scaled to character's size in blender, it looks fine also in the mesh's tab but when i use it as preview in skeleton it seems so big

#

it is something like 0,0003

#

let me check

#

@trim falcon Look if you give a value to your Healthbar and in this cause it is 150 okay? The progressbar has in Reality a Value from 0 to 1 ( or -1, 0 , 1) so if you write down your code and normalize your value 150 so it will work in this cause with 0 and 1 okay? so your value 0 = 0 and 150 = 1 okay?

trim falcon
#

@trim matrix Oh ! Now understand ! Thanks so much

trim matrix
#

@trim matrix so and you know you have to setup the units in Blender before you work with your models? because if the units are not the same it will give you issues like this^^

#

no problem

#

@trim falcon this is a good advise inform about this things its very important okay^^

#

1uu = 1cm and Blender and i have set it to equal size but i have decreased more to -0,001 but i am not sure it is optimized with that size, anyway this can be a temporary solution for now

#

thanks

#

no problem^^

trim matrix
#

Guys is it possible to save a brush?

#

or texture file

#

struggling to save my avatar picture... I have one from render to target but it dissapear once i load my game (even though it's saved in an object)

loud cipher
#

Why doesnt this work? it should since i refrenced these in the begin play from cast to nodes, these are actors that are weapons

#

it works without the branch

#

but then i can just press 1 and 2 and they equip i want to actually pick them up first then equip

#

to hands

#

since they go to back when picked up

royal olive
#

You're setting the value of tp (?) to the cast result (can't read the name, image too small) and then, at the Begin overlap event you try to set it again but without casting before, which means that as far as this node is concerned, the input pin has no value (as it only holds the value the moment the cast was made)

odd veldt
#

Does "get overlapping" not work with static meshes with "Use complex as simple" collision?

royal olive
#

Remove the second "Set" node and just use the "get" for that variable @loud cipher

#

Does "get overlapping" not work with static meshes with "Use complex as simple" collision?
@odd veldt I'm not entirely sure about that one but I belive that the collision mesh should not make any difference, however I do know that those overlap events are very picky when it comes to the physics attributes and object type ๐Ÿ‘€

odd veldt
#

damn... already found a solution... ๐Ÿ˜ฌ

#

Just enable "double sided geometry" for collision

prisma delta
#

is there a way to start Set Timer by Event node on player start? my timer start even on a widget menu and cinematic opening.

odd ember
#

@prisma delta you can call it on beginplay

#

otherwise go to your game mode blueprint

#

and override a function that's called SetDefaultPawnFor or something like that

#

that's the function that spawns the player

#

you could have it trigger in there if you really wanted to

#

keep in mind you'd have to retain the logic

#

for spawning the player manually

prisma delta
#

@odd ember cheers for the info. I shall do some doc reading. thanks

trim falcon
#

What does the delta(rotator) node do?

prisma delta
#

Just for extra info. I solved my timer issue by adding a pause game nodes to my main menu/ game mode. so happy ๐Ÿ™‚

odd ember
#

@trim falcon gives you the difference between two rotators

#

like a subtraction essentially

trim falcon
#

@odd ember Thanks for responding !

covert agate
#

hi guys! i've just started wth the third person template and i've linked the camera with the head bone and applied all of my settings, but now i don't want to see the mannequin. is there a way to disable him? thanks! :)

odd ember
#

yeah use the first person template instead

carmine prawn
#

lol

odd ember
#

you can disable the mesh, but really there's no point to using the third person template if you don't want to use the mesh

trim matrix
#

I did the design of the xp level system but now I created 2 variables for experience- experience and max experience but now the question is what should be the value of each?

stuck hedge
#

To solve my AI pathfinding issue, I had an idea. I'll put a nav modifier on the AI Unit, and when it's moving, I'll set it to "default" so that it doesn't screw up its own pathfinding. But when it's standing still, I'll set it to null so that other AI don't try to path through it. The problem is, it's setting it but not actually affecting the navmesh. However, if I press F8 to unpossess my character and just go to the AI unit and edit any property on the nav modifer, it will suddenly start working and affecting the Unit.. wtf is up with that? I've never seen anything in my life behave like this, where you just have to "touch it" at runtime for it to function but it otherwise won't.

#

All I have to do is click that drop down and reselect what is already selected and all of a sudden it starts working.

static charm
#

experience should be 0 or whatever default starting value. and max should be the max.

#

Are you sure you want set area class on tick?

#

probably need something to initialize it right after

#

like move

#

or some nav command

stuck hedge
#

I need it to create a null area when the unit isn't moving.

static charm
#

but obviously only do once

stuck hedge
#

and when it's moving change it to default.

#

I could put in gates

#

but that's not really the issue

static charm
#

sorry i said too much

#

wait

stuck hedge
#

if I click the dropdown on the unit in the level, it starts working. Perfectly normally. I move the unit again and it continues to function

static charm
#

put some nav command , using a Do Once after that set area

#

like move or whatever ai command

stuck hedge
#

here is a new unit I called in. You can see it's not working for them. Because I haven't manually clicked on their drop down

trim matrix
#

I did the design of the xp level system but now I created 2 variables for experience- experience and max experience but now the question is what should be the value of each?

static charm
#

experience should be 0 or whatever default starting value. and max should be the max.

#

this is not a question we can answer for you. otherwise i'll just say use 10 for experience and 100 for max experience.

stuck hedge
#

Move the first unit, whose drop down I clicked on to a new area, and his nav modifier continues to work correctly. Not blocking when moving and blocking when stopped

static charm
#

well one that area looks very tight.

stuck hedge
#

it's fine. They have no issue walking through there.

#

The problem is if there is a unit on the right who needs to go the left, instead of going around the box at the bottom they just jam up on the AI in the pathway.

#

because normally the AI isn't blocking the space

trim matrix
#

someone to help me?

static charm
#

@trim matrix

#

experience should be 0 or whatever default starting value. and max should be the max.
this is not a question we can answer for you. otherwise i'll just say use 10 for experience and 100 for max experience.

trim matrix
#

ok ty I will follow your advice

stuck hedge
#

There is an AI unit whose drop down I didn't touch. The path is fine through there.

#

but I don't want it to be.

#

WHen they're standing there they should block that part of the navmesh, but they don't.

#

so they AI get's confused.

#

it doesn't know how to go around because it thinks that is a valid path

#

These don't change the behaviour. It still doesn't actually make the nav modifier affect the navmesh.

#

It's changing the value on the instance, it's just not "working".

static charm
#

thats what i meant, using an AI command to re-intialize the AI movement. You manually touching would be similar to re-intializing their commands.

#

but now that you explained that they are jamming

#

etc

#

i have little confidence my suggestion will work

#

and thats all i got

stuck hedge
#

I'll show you a video so you can see what's going on exactly

static charm
#

i cant help

stuck hedge
#

Someone else might also see it ๐Ÿ˜‰

#

I sometimes just like someone to tell me I'm not going insane

static charm
#

lol

stuck hedge
#

You know I've seen some weird stuff now and then, but this is right up there with the weirdest stuff I've seen

#

watch that and tell me that's not weird.

#

crap, I didn't realize OBS cut the window. I think you can still see it though.

#

I'll I have to do is just touch the drop down and it suddenly starts working. Until then, nothing.
I'm going to stick that in AI, less scroll there, maybe someone will see it and have an idea by morning.

trim falcon
#

What is a great tutorial for creating a root motion system?

covert agate
#

@odd ember but i would like the animation of the camera moving in a breathing motion?

#

is that still possible or?

#

thanks for responding btw :)

#

nevermind!

#

i found a tutorial tysm

odd ember
#

yeah it's all possible in first person

#

first person is just a camera without a body

#

it is still a physical object in the world

#

so you can treat it as a physical object in the world

covert agate
#

thank you! :)

#

i just didn't know how to make it move when you waalked but i found aa tutorial

vocal barn
#

Hello, i have an issue concerning my camera. so basically my first person character is able to slide, and i want to clamp my camera rotation by 180ยฐ while sliding but the problem is when i use view yaw max and view yaw min, the clamp in oriented certain way : if i slide the opposite way my camera just turns till my sliding is finished

#

so if anyone could help me please :)

boreal jackal
#

How do you make your own character movement controllers because they're all inherited from c++ in blueprint i want 2 separate components that have 2 totally separate controls or for example.. (1 default movement component like walking) (Then a component i can call on Ekey like flying) or like in unity where a class is a c# script you can create and click add component then add the script you created. which is your component theres no empty blueprint class just ones with preset name code inherited from c++ and you just create add functions and other stuff

#

the default character controller class is inherited its walking and such from c++

#

you just call the functions in bp like input move forward

odd ember
#

@vocal barn make it a function of the dot product of the forward vector

vocal barn
#

so i set my yaw based on this

boreal jackal
#

would i just use an actor component

vocal barn
#

@boreal jackal i would take two different pawn controlled by a player controller instead of putting different character movement on a single pawn

boreal jackal
#

since a pawn is an actor would i just create a actor component for my secondary

vocal barn
#

actor arent playable

odd ember
#

@vocal barn you can use the rotation as a normal vector and compare it to the forward vector of the character/capsule

boreal jackal
#

the actor component would just have seperate movement functions i can call since i can add the component to my pawn

odd ember
#

a value of 1 means they are equal, a value of 0 mean perpendicular, a value of -1 means opposing direction

vocal barn
#

vectors rly make my head spinning

odd ember
#

@boreal jackal just create a child class off the player controller class and use that

#

@vocal barn vectors are easy, it's just a line in 3d space

#

or rather a point

#

two of them are a line

vocal barn
#

but arent the normal the same as the forward vector?

odd ember
#

if that line has a length of 1, it's a direction

boreal jackal
#

@odd ember !Thanks ill try that ๐Ÿ™‚

odd ember
#

@vocal barn it might be, in which case you can use the direction you're sliding instead

vocal barn
#

but how do i do that

odd ember
#

how do you slide in the first place

vocal barn
#

i'll make a few screens

odd ember
#

just need to see the immediate sliding logic

#

everything is fine

vocal barn
#

well i have a custom event

odd ember
#

take a screenshot

vocal barn
#

oh xD

odd ember
#

use the snipping tool

#

it's very fast

#

you can just ctrl + c the snip and paste directly into discord

vocal barn
odd ember
#

so you already have a slide direction

#

that's what you need

vocal barn
#

i do

#

well when i slide

odd ember
#

so compare the camera's facing direction with the sliding direction

#

well yeah but this is while sliding right?

vocal barn
#

yup

#

the camera clamp is oriented in a single direction

odd ember
#

that's what I am saying

#

if you compare the two you can act on it

#

you can clamp it like that

#

it will always be relative to the sliding direction

vocal barn
#

so

#

how do i make it work

#

i take the forward vector of my camera

odd ember
#

yes

#

and your sliding direction

#

and use the dot product node

vocal barn
#

yeah

odd ember
#

that will give you a value between -1..1

#

you can act on this

vocal barn
#

and what do i do with this value Dx

odd ember
#

for instance you can say you only want to use values above 0

#

in which case your camera will be restricted to a frontal arc of 180 degrees

#

so during your timeline updates, you make that check

vocal barn
#

does it rly change the clamp direction tho

odd ember
#

of course

#

it's a relation between the two vectors

vocal barn
#

it's frustrating to not understand

odd ember
#

well you know what a forward vector is right

vocal barn
#

yeah thats the x vector right

odd ember
#

well yes, the relative x direction of your actor

#

it's the direction your actor is pointing

vocal barn
#

yes

odd ember
#

so you have those two forward vectors

#

the sliding directional vector

vocal barn
#

yeah

odd ember
#

and the camera forward vector

vocal barn
#

before the sliding they are the same

odd ember
#

both of those are telling you a direction

#

the dot product compares those two directions

#

and gives you a number based on whether or not they are the same, or how much they deviate

vocal barn
#

okay

odd ember
#

that's all it does

vocal barn
#

but what i dont undestand is how it will allow me to clamp my camera rotation

odd ember
#

since we're using directional vectors, we know that these have a length of 1, and that means that we can easily translate them into rotation

#

(because of the unit circle)

vocal barn
#

but what do i do with this Z value

odd ember
#

what z value

vocal barn
#

hum

#

i want to clamp the Z rotation of my camera

odd ember
#

the yaw, correct?

vocal barn
#

yes

odd ember
#

like looking side to side

vocal barn
#

exactly

odd ember
#

so imagine

#

that the forward vectors can give you a rotation

#

that means if you have the difference between them, we can tell them how far they can rotate in relation to each other

#

so we can tell the camera vector to only ever go as far as to be perpendicular to the sliding direction

#

in terms of rotation that translates to a 180 degree arc

vocal barn
#

i understand the concept but i dont see how i can do that

odd ember
#

you have to do a dot comparison every timeline update

vocal barn
#

tick event then

odd ember
#

no just use the timeline

#

usually you'd use a timer but a timeline works too tbh

vocal barn
#

my timeline in the screenshot i made is the sliding speed decreasing

#

so i'd need to make another one

odd ember
#

no that's fine

#

it doesn't matter

#

you can add more things to the execution of it

#

it won't affect the sliding speed

vocal barn
#

right, im dumb

#

but once i have that dot value

odd ember
#

you have to compare it

#

in your case you probably want to have it greater than 0

vocal barn
#

so if dot > 0

odd ember
#

exactly

#

but do it after the sliding decrease

vocal barn
#

yeah thats what i was thinking

#

but what do i put then after my branch

hoary orchid
#

In a side scroller, how to turn character 180ยฐ as when you press direction switching key, it only turns around 35 - 45 degrees on press

odd ember
#

@vocal barn where do you have your inputs for rotating your character?

vocal barn
#

it's my mouse basically

odd ember
#

show me your logic I mean

vocal barn
#

look up is mouse Y input

#

and Turn is mouse Z input

odd ember
#

yea I get that

#

this is the setup you need

#

notice I reversed the dot product bool

#

so it's less than

#

because we're actually okay for using the camera values while it's positive, but when it gets negative that's when we want to clamp it

#

use that to set your clamp values like you did

vocal barn
#

clamped value is 90 i guess

odd ember
#

should be yeah, but test it out

vocal barn
#

normal one is zero?

#

i cant move my camera

#

i understand why tho

#

no actually

#

well the clamp direction is still the same

cobalt slate
#

I'm about to ask a really dumb noob question, but I can't seem to figure it out. I'm temporarily using the default mannequin in my game until my characters are finished. When I start the game, I have to click and hold down the mouse if I want to rotate the 3rd person camera. Once I click into the game window, how do I make it where the mouse takes over camera rotation automatically without having to hold down the left mouse button?

vocal barn
odd ember
#

yeah so you need your clamp to be relative to your sliding direction too

boreal jackal
odd ember
#

so if you rotation from xvector + 90 it should work

#

@cobalt slate it's a good question I've been wondering the same. there is no binding for this if you're using the third person template

boreal jackal
#

1min i think i know why

vocal barn
#

i dont get it man sorry

odd ember
#

slidingDirection.rotationfromxvector + 90

vocal barn
odd ember
#

no

#

also why are you splitting the pins

#

use the entire vector

vocal barn
#

aight

odd ember
#

the entire thing is a direction already

#

splitting it doesn't give you the full direction

vocal barn
#

i see

odd ember
#

and that's the dot product

#

use the dot product as I gave you the setup

#

that doesn't change

vocal barn
#

so the return value of the select float + 90??

odd ember
#

the clamped value should be that yes

vocal barn
odd ember
#

no...

#

sigh

vocal barn
#

i dont get it :(

boreal jackal
#

yeah the cast isn't going through i re-added variables for my child but still nothing

odd ember
boreal jackal
#

@vocal barn create a variable on the LEFT set to float from bool & compile set to 90 then connect it to A

#

ohh nvm

vocal barn
#

what is this

boreal jackal
#

vector + float or vector * float

vocal barn
#

im sorry man i dont want to waste your time but i understand nothing

odd ember
#

read up on vector math

#

this is as simple as I can make it for you

#

I basically did everything

#

you just have to connect your values

vocal barn
#

well but i dont know what slect float is i dont know what to put in the rotation fromxvector and i dont know what that does and combine rotator idk why it's there and what it does too actually

#

i dont like vectors

odd ember
#

look

#

all you need to do is connect everything

#

you don't need to understand it any more than what I've put into those two screenshots

#

that's the best I can do

#

otherwise you will have to learn vector math

#

because everything in a game is based off vector math

vocal barn
#

why dont i learn that in school

odd ember
#

I'm sure you did, if you're past high school

vocal barn
#

im not

odd ember
#

it's part of calculus

sand mica
#

oh

#

i was about to ask

odd ember
#

and really it boils down to trigonometry most of the time

#

the added 3rd dimension doesn't make it that much more complex

vocal barn
#

only saw radiant for now

#

anyway

#

should look like this

#

right?

odd ember
#

yeah and in the B value you want to put in what your view yaw value is normally

vocal barn
#

max one i guess

#

it should be 359,9998 or something

#

aight let's test this out

odd ember
#

359.9998 is the same as 0 in terms of rotation

#

(approximating 360 which is a full rotation)

vocal barn
#

does that mean it's not the right value?

odd ember
#

potentially

#

what you can do is before the time line

#

get view yaw clamp or whatever it's called, and save it in a variable

#

then use that to plug it into B

vocal barn
#

when i put a print string showing the view yaw max value it's something like that

#

i already did that

#

i already did that

#

it doesn't work

odd ember
#

so what happens

vocal barn
#

when i stray away from the slide direction the camera reset its location

#

i dont know if im clear

#

and again when im in the opposite direction of the clamp, there is no clamp at all

odd ember
#

mm I see

#

ok

vocal barn
#

or i could just disable the use pawn control rotation of my camera

odd ember
#

so

vocal barn
#

but thats not what i rly want

#

yeah?

odd ember
#

you need to use view min

vocal barn
#

oh

odd ember
#

for the other direction

#

the same setup before, but to set view min you have to use the sliding direction's rotation - 90

#

instead of + 90

#

you might not actually need to continuously update it

#

you could try just using the last screenshot I sent as the value to set it as beforehand

#

all you have to do is reset it on completion

vocal barn
#

is that right?

odd ember
#

yes

#

exactly

#

use this setup

#

that should be enough

#

before the timeline

#

and then delete anything after the timeline update that we made

#

then on completion reset your view yaws

vocal barn
#

yep

boreal jackal
odd ember
#

@boreal jackal I don't know what you're doing but it looks very suspect

boreal jackal
#

lol hold i got a solution ๐Ÿ™‚

vocal barn
#

omg

#

it works

#

thanks you so much @odd ember

odd ember
#

we got through it

vocal barn
#

for taking time to explain and all

odd ember
#

take some time to learn vector math though

#

it'll only be beneficial if you wanna do game dev

vocal barn
#

yeah i'll look into it

#

thanks a lot, have a good night ! :D

boreal jackal
#

what object do i put into my cast?

odd ember
#

what do you want to do

boreal jackal
#

ok so basically i want to have it so i can press the E key and go from the default walking ect to rolling around with physics like Citron from PvZ gw2

#

i also need to set the capsule size to 44 which is ez or look into other methods of achieving this

odd ember
#

I don't have a frame of reference

#

do you have a video

boreal jackal
#

no sry just search citron gameplay it should be plants vs zombies garden warfare 2

#

i basically need to recreate that

odd ember
#

I mean it'd be better if you showed exactly what you're after

#

I'm trying to help you here

boreal jackal
#

i can get a screen shot 1sec

odd ember
#

well if it's a piece of gameplay

#

then it's going to be harder to show

#

in a screenshot

boreal jackal
#

ok 1 sce

odd ember
#

I see

#

just the rolling I suppose?

#

or all of it?

boreal jackal
#

just both rolling and switching to walking

odd ember
#

rolling you can do with a timer that updates the pitch rotation every world delta second

#

switching between standing and rolling in terms of physics is just making your capsule a ball. there's a value of capsule half height that you can change for that

#

in order to make it look that good though you'll need animations

#

@trim falcon ask in #animation, root motion has nothing to do with blueprints

trim falcon
#

@odd ember Alright sorry

boreal jackal
#

i had a makeshift version i got it to change the capsule size and enable physics on E key but i used torque like the roll a ball template but it didnt have any effect and switching back made it slide across the floor with the mesh and original capsule size capsule