Render Camera to Texture in Unreal Engine
7:50
Unreal's new AUTO Retargeter is MAGIC
3:39
Unreal Engine : Decals
13:58
Ай бұрын
Function and Macro Libraries
11:33
Unreal Camera Manager EXPLAINED
10:55
Пікірлер
@DamienRamirez
@DamienRamirez Сағат бұрын
Great video, Important thing to practise is to Saturate before lerping since Lerp alpha is 0-1 & saturate clamps to 0-1. Do you always need to saturate before lerping, No, But should you, Yes. I've been avoiding that If node since I figured out you can divide by 0 using it *Long story - Blob shadows*, But I think that is what i need to go back to instead of lerping for my landscape master material going off your example it should work quite well, other way I was going to try was DitherAA, still might with the IF.
@bibCorp
@bibCorp 7 сағат бұрын
I've been working with GAS for a while now but I always have to return to some kind of tutorial when doing the first steup steps. I loved your first videos so I kept watching your playlist. You are doing a great job explaining all the steps and all the confusing things. People will have to return to this video several times because some UX parts of GAS are extremely poorly designed, but your video is a very good video to return to.
@SquifiMcDougall
@SquifiMcDougall 20 сағат бұрын
I haven't found a fix for this problem of having to regenerate the Visual Studio project files, I think it's actually a feature :D, but a shorter way of doing that is within the Unreal Editor. Tools -> Refresh Visual Studio Code Project. Does the same as right clicking on the .uproject file. Lovely Tutorial, thought I could wing coding the Gameplay Ability System Tutorial of yours, due to prior programming experience, but missing too many basic concepts. Great stuff, will buy you a coffee online later on.
@myarmsrgone
@myarmsrgone Күн бұрын
Followed all the steps, it doesn't work in 4.1
@aierisfrost8447
@aierisfrost8447 Күн бұрын
My armature is invisible
@EtoCan49
@EtoCan49 7 сағат бұрын
Did you hide the model when it was selected
@TeppuTeppu
@TeppuTeppu Күн бұрын
I have noticed that the leg ik doesn't work very well on some models(the paragon belica, free asset), the pole targets are too far away, how do I fix it?
@utkarshvishwakarma7622
@utkarshvishwakarma7622 Күн бұрын
my model stretches it's mesh if dragged very much , how to stop/prevent that?
@KJPiGames
@KJPiGames Күн бұрын
Not working, it only works in viewport mode, but there is no on-stage editor in the editor itself. what needs to be done?
@KJPiGames
@KJPiGames Күн бұрын
in general, I fixed this problem, I had to delete DefaultRoot and then yes, now it is updated both in the editor and in the view port in Blueprint
@sara-uh8xy
@sara-uh8xy Күн бұрын
what would be the other ways to do it? u mentioned other ways.. xD the hacky way was easy to get it into my project just wanted the knowledge of other ways
@thegamedevcave
@thegamedevcave Күн бұрын
you could save and load it to a save object, that's a bit on the slow side if there is a lot of data since you're reading and writing to disk isntead of all in memory though. having data assets hold some info could be a decent way to keep data persistent through a play session ( do be aware that data assets reset back to default values when you close and re-open the game so you'll still need to save and load data, but only on started and before you close the game) personally i find that the best way is to not open new levels, instead to have 1 persistent level that the game takes place in and all your levels would just be streaming levels in that. that way, you always have a persistent level that data that should persist can exist inside (so your player would be in that for instance). If you take a quick look at any of my livestream VODs you'll see that is how I have myproject set up and the basic setup for it is shown in my video : how to actually load levels in unreal in the end, each method has it's downsides of course but those are some other ways to look into!
@noinoinoi2095
@noinoinoi2095 2 күн бұрын
I'm still at 33:30 but this system seems extremely promising. I've started learning game dev and have setup a simple hp / stamina / mp and damage system using blueprint but GAS seems to sort of enable all the functions necessary for combat gameplay. I'm wondering which would accelerate my learning, should I learn GAS first or write it out on blueprint first to grasp the flow of certain gameplay logic. If some one has any advice 👋
@thegamedevcave
@thegamedevcave Күн бұрын
if you're having no trouble following along then you should feel free to keep going! having a general understanding of unreal engine or programming in general will help but if you feel like youre not running into problems while following this, keep on going :)
@astty1074
@astty1074 2 күн бұрын
Ok so basically Unreal helps you a bit with the design of your code, by forcing an already made one that is pretty flexible, I'd say that's a good plus.
@thegamedevcave
@thegamedevcave Күн бұрын
pretty much yeah! It also comes with a lot of ready made features and systems to work off which saves a lot of time.
@CorporateCupcakes
@CorporateCupcakes 2 күн бұрын
I love the video but how is his mouth so wet
@bighit20100
@bighit20100 2 күн бұрын
Why not just create an actor BP and say it like BP_Sword and have all the variables in there? What is the true benefit of Data Assets vs Actors for items?
@thegamedevcave
@thegamedevcave Күн бұрын
The main thing to remember is that data assets are just that, assets. they exist as files on disk, not objects inside a level. a data asset has more in common with a 3D mesh or a material than it does an actor. So yeah, for a swrod, espcially if you dont have a whole item system in yoru game, making it an actor makes more sense. But take or instance making an inventory system (something which I recently did a whole series on) The items in your inventory doesn't exist in the world, so you can't use actors to keep all that information, instead every item is a data asset with it's corropsonding values (what mesh it displays when it IS spawned into the world as an actor, what image it displays in the inventory, what value it has in a shop and so on)
@bighit20100
@bighit20100 Күн бұрын
@@thegamedevcave Hmmm but how is a data asset any different from a struct for inventory purposes? Currently I am building my own inventory system for my prototype game, and I just use a struct for items, and then include that struct in the inventory array and also as a variable in the Item actor. So when I spawn an item in the world, and pick it up, my functionality will take the details from the actor, store it in the inventory array in the item struct, then destroy the actor. If I want to drop the item I can just spawn the actor I want from the details in the inventory struct. I have searched a lot on different forums, but no-one can conclusively explain why Data Asset is preferred over Struct. Besides the obvious "in DA you can perform functions", is there any other benefit??
@thegamedevcave
@thegamedevcave Күн бұрын
structs are still variables that you write onto another object that exists in memory, data assets (for all intents and purposes) are objects by themselves that exist on disk. if you have minecraft as exmaple : wooden sword has a certain durability, a certain attack damage , attack speed and all that. you would store those things in a data asset so that you can just easily reference that instead of having to indevidually worry about setting all those values anytime something happens to be a wooden sword. then stone sword has different values, iron/diamond and so on all have their own values. Now, do you really want to have to write all those seperate values to a struct every time you make or move an item? probably not, it's prone to making mistakes, and you're needlessly throwing oppertaions to read and write values on the cpu (i will admit, that's probably not going to be an actual problem but still, when it's not needed, you probably should avoid it). with a data asset, the data for that one item exists as a file on disk, so instead of copying over all those values every time, you just refernce that one asset that holds that data, all your wooden swords will look at the wooden sword data asset when they need to know something about their info. stone swords look at the stone sword asset, iron swords and that asset. This also means that if you want to change something about a value on one type of item, you simply change it in your data asset instead of having to dive into your code and find where you set all that stuff in the first place. if nothign else, it will help keep things organized once a game grows past only a handful of items, because going through and finding that in code will be an increasingly massive headache comapred to just a data asset (or even a data table, depending on the needs of the game)
@bighit20100
@bighit20100 Күн бұрын
@@thegamedevcave I see... thank you for the explanation. The downside of data assets is that you cant use it for data that changes. For example, a sword that loses durability, cant be changed in the data asset, else everyone with that sword will also have the changed durability. So if I understand it right, a data asset is best used for the common values of an object. So in this case, a sword, with its MAX durability, Base Damage, Weight etc, but all other values like current durability, quantity, upgrades etc are better stored in an array using struts?
@thegamedevcave
@thegamedevcave Күн бұрын
@@bighit20100 yup that’s pretty much correct!
@indiependentgames9750
@indiependentgames9750 2 күн бұрын
...I mostly use tags and strings, thank you for this tutorial because I was not aware of this...👍👍👍
@downtownnikka
@downtownnikka 2 күн бұрын
Texture is everything, You can make a cube look like 100 different thinks with just textures. the trick is fooling the eye into thinking something is there.
@thegamedevcave
@thegamedevcave 2 күн бұрын
which is what the high poly mesh is for, to use to bake detail into textures
@kmtsvetanov
@kmtsvetanov 2 күн бұрын
If I have in my BP_Weapon a "damage" variable, how can I get it ?
@kmtsvetanov
@kmtsvetanov 2 күн бұрын
Found it. BP_Weapon has a variable "Damage" 10 that is editable and expose on spawn. This is the default value for all weapons. I have BP_Axe with Damage set to 20. To get the damage when a monster is hit I use: - Get Player Character -> Cast to BP_Player -> Get Weapon -> Get Child Actor -> Cast to BP_Weapon -> Get Damage
@koko-nl5tp
@koko-nl5tp 3 күн бұрын
Thank you man.
@rookiegameplay7519
@rookiegameplay7519 3 күн бұрын
EPIC
@Enviksity
@Enviksity 3 күн бұрын
Good luck!
@ScrapMikan
@ScrapMikan 3 күн бұрын
And then the weight paint doesn't work for shit
@smarton1600
@smarton1600 3 күн бұрын
Also, "New Reroute Declaration Nodes" can really help keeping the looks and logic of the materials clean and simple. Because just as you mentioned materials can get really really bulky and a mess, super fast. Reroute nodes are really a game changer (for me at least).
@thegamedevcave
@thegamedevcave 3 күн бұрын
for sure! collapsing some node sections down into material functions (especially if they are reused of course) is also a massive help to keep things at a reasonable scale :)
@navidumardaraz7163
@navidumardaraz7163 3 күн бұрын
Great explanation
@seansopata5121
@seansopata5121 4 күн бұрын
It's important to note that saturate is better for performance over clamping between 0 and 1.
@thegamedevcave
@thegamedevcave 3 күн бұрын
Yup! Good point, it is technically cheaper. I would personally not worry about it a lot, its unlikely to cause a noticable difference but best to get into the good habbit of using saturate then possible!
@smarton1600
@smarton1600 3 күн бұрын
This is exactly what I wanted to comment, thanks.
@bakaabsolute1253
@bakaabsolute1253 4 күн бұрын
do you know how we can restart sublevel ? for example, u spawned 10 new actors in sub level A, you load sub level B then unload sublevel A, but yours 10 actors spawned dynamically will still be in the game
@thegamedevcave
@thegamedevcave 3 күн бұрын
So the issue here is that spawning actors spawns them into the persostant level, not into the same sub level that the spawner exists in (which is really annoying) in c++ you can give it a level to spawn in, as far as i know, blueprint doesnt let you do that so a workaround is to keep an array of actor references on the spawner and when the spawner is destroyed, it loops through that array and destroys all those other actors too. Not an ideal sollution but it'll work
@ThePlagueDoctor_or_SCP049
@ThePlagueDoctor_or_SCP049 4 күн бұрын
That's actually really useful... *Except I use Maya 2022....*
@yourstarchan
@yourstarchan 4 күн бұрын
I spent a month and I cannot get an answer. Where should I store dynamic data (state) about my item actors while they are in inventory, if keep in mind, that it can be pistol, apple, sword, car key or anything else and everything has their custom dynamic properties some of which are complicated.
@thegamedevcave
@thegamedevcave 4 күн бұрын
easiest way to store metadata like that is to add a map that uses string keys (or name keys, which is technically slightly more performant i believe) and add a struct with a few variable types on it. that way you can look for the string "ammo" and read.write to the int variable of that stuct. or you coudl store it all as just strings, i've heard some people do that too.. i'm not too sure if that's a good idea though. the best way though, which is a little more difficult to do, is to add in an extra Object slot to each itemslot, and if there is metadata you put a UObject that hold specific data in there. but that can get complicated pretty quickly and I am not even sure if you could get that all set up in just blueprint to be honest. So, easiest and most straightforward way would be to make that String-struct map where the struct simple has options for a few different types of data. whatever the case, metadata on items is a massive pain to deal with so if you can work around having to implement it (for instance by not having the ammo in the gun, but have the gun just use ammo from the inventory) that's probably a way less headache inducing way to do it
@yourstarchan
@yourstarchan 4 күн бұрын
@@thegamedevcave thank you for the answer. Now I think about to create BaseItemActor and BaseDynamicData for saving mutable data and override function that adds this object to replicated. So, every class just can use this data object and not required to implement any converting to structure functions or casting from string. I think that this is overhead. But I don't know how to implement it easier. Also I really scared about 8th reimplementation of my item system after I learn the GAS. I heard something about AttributeSets but I'm not sure that I can use it for the inventory system. But I will use it for a gameplay item actor logic. Im frustrated.
@jilri1842
@jilri1842 4 күн бұрын
I try to follow all of tue tutorials but sadly I didnt animate it right :<<< After all of the step the only one that is moving is the rig not the body
@judyancheta3026
@judyancheta3026 4 күн бұрын
Roblox rigging?😅
@GameDevAraz
@GameDevAraz 4 күн бұрын
you gotta think about these things before you make em 😅
@thegamedevcave
@thegamedevcave 4 күн бұрын
i did, but my initial idea for this rework, which wouldve worked fine, came across an annoying issue, that being that unreal for some reason likes to wipe soft pointers clean on startup so i then had to pivot, trying to use hard pointers, which obviously runs into the issue i discuss here, so only then did i have to start thinking again about what other solutions i could think of.
@GameDevAraz
@GameDevAraz 4 күн бұрын
@@thegamedevcave 😂 it happens
@thegamedevcave
@thegamedevcave 4 күн бұрын
@@GameDevAraz I probably couldve made the whole thing less shit in the first place so it didn't need a rework to begin with though XD
@hossainpartho7069
@hossainpartho7069 4 күн бұрын
hi the project link is not available
@thegamedevcave
@thegamedevcave 4 күн бұрын
hey, i just double checked the link, they do work. but theyre only available for patreons and youtube members on the "cave dweller" tier or higher
@hossainpartho7069
@hossainpartho7069 3 күн бұрын
@@thegamedevcave oh sorry , thanks for replay
@Something.Something
@Something.Something 5 күн бұрын
Yeah the basic one doesn't have fingers
@ryanjdevlin87
@ryanjdevlin87 6 күн бұрын
Amazing explanation ! The use of the ruler like material was pure genius man ! thank you
@thegamedevcave
@thegamedevcave 5 күн бұрын
Glad it was helpful!
@searbhreathach9762
@searbhreathach9762 6 күн бұрын
Would it be better to make a simpler version for a combat game? I guess a crafting mechanic is out of the picture, so maybe. Excellent videos I love learning, thanks! 😃
@thegamedevcave
@thegamedevcave 5 күн бұрын
it all depends on what you need :) if you just need a hanful of potions and maybe weapons, this system might be a little overkill. if youre going full survival game, you'll want to build some more on top of this system but you could very much extend this to use in a crafting system too.
@searbhreathach9762
@searbhreathach9762 5 күн бұрын
@@thegamedevcave Gotcha. I think I'm looking for basics. I've only watched this video but when I have some time I'll do a follow along. I'm just starting out, the only game I'm working on so far is from a course on Udemy, just something to get me going.
@F4Phantom5657
@F4Phantom5657 6 күн бұрын
Excellent explanation
@GoodguyGastly
@GoodguyGastly 6 күн бұрын
I need to learn how to do this. How do I even do the little diamond things i can drag around? Like what do I call it?
@fragileglass9622
@fragileglass9622 6 күн бұрын
You’re not alone. While I love Unreal Engine. Sourcing out bugs is not always an easy task. I spent an entire day last week searching only to find I didn’t attach a node to a custom event. Haha
@almostabsent5464
@almostabsent5464 6 күн бұрын
If you didn't type "it's not that scary", I wouldn't even come here Material math has always been the worst
@thegamedevcave
@thegamedevcave 6 күн бұрын
it also messes with me a fair bit XD but i hope i at least can help make it slightly more intuitive :/
@FPChris
@FPChris 6 күн бұрын
Very good so far. Looking forward to watching the whole thing.
@shubhamchauhan7274
@shubhamchauhan7274 6 күн бұрын
This is working fine but Unreal is bugging out, You have to set the curve in scene and go back and compile again to see the results. I dont know why that is the case if any one have a solution for this let me know.
@knightfaIIvad3r
@knightfaIIvad3r 7 күн бұрын
THIS IS AWESOME im trying this but how do you like offset like them? Im doing it on a bipedal rig and they are using the same emtpy
@FAP0W
@FAP0W 7 күн бұрын
would love to know what the compile time difference was between saving code and playtesting the changes
@thegamedevcave
@thegamedevcave 7 күн бұрын
for me, nothing noticeable, both in the 3-5 seconds range. and when using blueprint in unreal instead of c++, there is no compile time at all (not sure how that compares to unity's visual scripting, since i never used that)
@olliverkatana4168
@olliverkatana4168 7 күн бұрын
Thank you very much for such a clear tutorial, now I can say that I"ve got some ability to understand abilities.
@JevoKitano
@JevoKitano 8 күн бұрын
Great tutorial! Thanks dude!
@jyamas1382
@jyamas1382 8 күн бұрын
Amazing tuturial thanks a lot! I'm just stuck now at the point where it says that i can't apply this modifier since the curve isn't converted to a mesh. converting the curve to a mesh first kinda makes this method useless or am i missing something?
@The_higuy
@The_higuy 8 күн бұрын
@TaylorAmbrosioWood
@TaylorAmbrosioWood 8 күн бұрын
What controller are you using?
@cliffordgardner7975
@cliffordgardner7975 8 күн бұрын
I keep getting a "Accessed None trying to read property K2Node_Event_[Interface Input Name]" everytime I try to get a bool variable from my player blueprint even though I set it and when I use print string I get the character value but the moment I put my bool variable i get from my interface into a branch I get this error PLEASE HELP
@thegamedevcave
@thegamedevcave 8 күн бұрын
hard to say without seeing your node setup but that sounds like your character may not have the interface implemented? usually an error like that implies an actor variable not being assigned a value though.
@_siulong
@_siulong 8 күн бұрын
Once the modular rig is done, I try to load animsequence on the character and convert it to layered control rig to modify the animation but arms and shoulders won't move when animating the spine, is there a way to correct that?
@thegamedevcave
@thegamedevcave 8 күн бұрын
i'm thinking maybe the arms are using IK instead of FK for some reason, check if the IK variable on them it set to true (in the animation)
@ChompyPhD
@ChompyPhD 9 күн бұрын
I combined this with your particle tutorial from another series and everything worked well, thanks for the videos!
@thegamedevcave
@thegamedevcave 8 күн бұрын
If you are just spawning partiles, there is a function for that too instead of spawning an actor. The particles will destroy itself once done but an actor will stay around, so thats worth looking into
@davidbolt9370
@davidbolt9370 9 күн бұрын
please tell me how you managed to make the dropdown menu for the levels when i search for something like a level variable type within blueprints, none of them allow me top pick available levels😓
@thegamedevcave
@thegamedevcave 9 күн бұрын
yeah it's really annoying, blueprints dont allow you to make a level type variable, you need to do it in a weird workaround. if you get a "load level by instance" node and then promote that level instance pin to a variable you can have a level variable. They really dont work very well though (as i show in thsi video with values getting wiped) so i'm guessing unreal doesn't want you to use those as actual variables.
@davidbolt9370
@davidbolt9370 9 күн бұрын
@@thegamedevcave damn i wanted to use a blueprint data struct to have a handy drop down, but i guess i gotta use a different way ; ( thx for the quick response, really appreciate it!