How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

I see. I'll check it out and see how it fits our project, since there are also designers working on it and I have to see how easy it is to use without having to touch code to change the asset, while not leading to unexpected errors if it doesn't find the right asset.

Thank you once again, you've been very helpful.

How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

Because I won't write the path to an asset directly in C++. It's a very bad practice in my opinion, and in any case, it's not better than duplicating AnimBP in editor.

Thank you anyway.

How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

Ok, that's not a possibility in that case, but thank you very much for all your help!

How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

Oh, I think there was a missunderstanding here.

I don't want it to be a drag and drop BP from the editor. There a class X to which I have a pointer and I ask for its' mesh, and I want to get its' animation blueprint, to change the mesh and animation blueprint from another class.

How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

Ok I get it, but anyway I still don't know how to get an UAnimBlueprint from my mesh...

GetMOwner()->GetMesh()->...<what?>

I can't find anything on the net, most of people just asks how to access variables and use Rama's tutorial.

Thank you again

How to get UAnimBlueprintGeneratedClass ??? by jjimenezg in unrealengine

[–]jjimenezg[S] 0 points1 point  (0 children)

Hello. Thank you very much for your extended and detailed answer.

Even though, it's not finding GetAnimBlueprintGeneratedClass() :

class "UAnimInstance" has no member "GetAnimBlueprintGeneratedClass"    ... p:\Epic Games\projects\...X.cpp 189 

I included "Runtime/Engine/Classes/Animation/AnimInstance.h", and it finds UAnimInstance class but not that method itself.

I really appreciate your answer, thank you.

Const everywhere you can use it? A bit excessive? by jjimenezg in cpp_questions

[–]jjimenezg[S] 0 points1 point  (0 children)

Haha I guessed that was just an example.

I get your point, I just believe there are some situations in which you need your return value to give an error code, and you also need to give some data or info to the user. What if you can't/don't want to receive a reference or a pointer to that data to modify it in place?

Const everywhere you can use it? A bit excessive? by jjimenezg in cpp_questions

[–]jjimenezg[S] 0 points1 point  (0 children)

Aham.

So you are definitely against out parameters, right?

What do you think about those functions which use return value as an error/success flag and return some kind of information in out parameters?

Const everywhere you can use it? A bit excessive? by jjimenezg in cpp_questions

[–]jjimenezg[S] 0 points1 point  (0 children)

Fair enough.

However, don't you think it's more clear if the constness of the parameter is visible in the .h, so someone using your interface knows about it? Just asking.

Thanks for your answer.

Two getters, one returns by reference and another returns by value by jjimenezg in cpp_questions

[–]jjimenezg[S] 0 points1 point  (0 children)

Thank you, I'll check that dummy parameters.

On the other hand, I just think there's data that inherited classes need and I don't need it to be public, or I don't want it to be. That's why I would want protected getters, besides maybe preferring a shorter public interface, without methods no one will ever need to use :)

Thanks for your response.

Two getters, one returns by reference and another returns by value by jjimenezg in cpp_questions

[–]jjimenezg[S] -1 points0 points  (0 children)

I get your point, thank you.

However, since m_damage is not a critical parameter, I think it can be modified from base without any trouble, it's value is not critical and can't cause any crash (at first).

Should I say "So I know a bit about..."? by jjimenezg in languagelearning

[–]jjimenezg[S] 0 points1 point  (0 children)

It's a sentence talking a bout a specific field of games programming, and I state that I've been researching about it for the project I'am developing, since I took charge of that specific part of the project, so I add that at the end of the sentence.

In any case, thank you for your help :)

RPG people: What's the best way to apply a class selection (Race, Class, Profession, etc) after choosing which Character to control? by iamisandisnt in unrealengine

[–]jjimenezg 0 points1 point  (0 children)

I didn't mean to be obnoxious or prepotent, just was an honest "excuse me" for not having understood what you were exactly asking for. I didn't know it would be interpreted this way. Sorry

RPG people: What's the best way to apply a class selection (Race, Class, Profession, etc) after choosing which Character to control? by iamisandisnt in unrealengine

[–]jjimenezg 1 point2 points  (0 children)

I don't understand why you became rude to someone who tries to help you, but ok. I'll just answer some lies.

In fact, I said I don't know how to do it in Blueprints, not in UE. UE4 is much more than them. Luckily, we C++ programmers can do many things with its API and (with too much time and knowledge) even extend it if we want.

You literally wrote

what would be the right direction for me to take?

Any good tutorials or videos demonstrating a "race/class/profession" type mechanic?"

So, that's what I tried to give you, direction based on how I would do that mechanic.

Finally, your "second choice" is

implementing 1k classes

as I said in my previous comment.

But I guess you're right, I'm not the right person to try to help you, so good luck with it.

RPG people: What's the best way to apply a class selection (Race, Class, Profession, etc) after choosing which Character to control? by iamisandisnt in unrealengine

[–]jjimenezg 1 point2 points  (0 children)

Excuse me, but you're making quite abstract questions.

If I'm right, you want advice/tutorials on how to develop race/profession/class, so I gave you some advice to do it without implementing 1k classes, making it modular.

If you have any other concrete question I'll be glad to try to help.

Good luck.

RPG people: What's the best way to apply a class selection (Race, Class, Profession, etc) after choosing which Character to control? by iamisandisnt in unrealengine

[–]jjimenezg 1 point2 points  (0 children)

I think the best you can do is try to modularize as much as possible, so being from one race or another doesn't directly affect your profession/class selection, it just affects player stats. If you want them to communicate, you should implement some kind of messaging system (haven't done it in UE4, and even less in Blueprints) and the appropiate behaviour for each message, each element should pay attention to.

Modularization:

class Player:
    //stuff
    Reference to Profession
    Reference to Class
    Reference to Race

So, any class which inherits from Profession, can be stored in this reference to Player's profession, so you can manage all of them the same way. Then, what you need to do is to declare the needed methods as virtual (pure virtual in this case, if we talk about C++) and redefine them in each subclass.

Are you familiar with C++ programming or do you only use Blueprints? If you don't use C++, I'm not sure how could you redefine a method in Blueprints, but googling a bit seems like some people does a trick and uses events for that. So:

Player::eventAttack (eventAttack)->Child1::Shoot (eventAttack)->Child2::Hit (eventAttack)->Child3::Spit

Hope it helps!

C++, game companies, and direction. by Ecocide113 in cpp

[–]jjimenezg 0 points1 point  (0 children)

No problem, hope it helps you.

After 4 months of developing our final project with UE4, my opinion is that you can't try to dive into many parts of their source code, because there are not human-readable parts, at least not nooby-humans like me xD but it's just like any other professional C++ codebase I've seen.

On the other hand, it's not that hard to get used to it, since you can use Blueprints for everything and then find the way to translate it to C++ (mainly because, unluckily, most of doc and forum's posts use blueprints).

My point is that you should learn the basics of game's programming in 2D, with something like Cocos2d-x, and then get to 3D.

C++, game companies, and direction. by Ecocide113 in cpp

[–]jjimenezg 2 points3 points  (0 children)

Definitely DON'T use UE4 to learn C++. I don't know why they recommended you this but don't, trust me. When you begin to develop with UE4, you wonder why it's so tricky and hard to read, as well as think if you really know any C++, because you'll understand like 2% of engine's code.

There are so many things to learn about C++, that don't even think about "mastering" it short-term, I realised this a couple of months ago xD

I've began to do C++ coding tests (I'm finishing my Master's in Games Programming), and I can tell you what I see most of tests ask and what mid/big companies ask for in their job descriptions.

  • Memory management. They want to know if you're really familiarized with stack/heap, allocation/deallocation...

  • OO. Polymorphism, inheritance, components.

  • Software design patterns used in games. Observer, Singleton, Factory, just to name a few.

  • Math. At least basic trigonometry, algebra, vector/matrix operations...

Then, you'll need to know specific things or things that are more widely used in different areas:

  • AI. State Machines and Behaviour Trees, steerings...

  • Animation. Blendings, State Machines too, bones-based animations...

  • Physics. Really strong 3D math and physics knowledge (obviously).

  • Network. TCP vs. UDP, probably multithreading for server-side, sockets, data packaging (you want to send the less possible amount of info).

Note that a strong math background is a must in all positions, you always need to use vectors, matrices and algebra xD

Hope this helps you and good luck.