PDA

View Full Version : Tutorial AnimTree Video Tutorials [Tutorial 9 added!]



Wraiyth
07-29-2010, 05:26 AM
I've decided to work on a series of video tutorials related to Animation Trees.
Currently only the first tutorial is completed, however the others should be up and running fairly soon, I hope.
The videos have been recorded at 1650x1080 res (hence the size) and XVID wouldn't really have compressed them down any smaller, and I don't have the time (or patience or anything) to compress them much smaller. Apologies for that.
These tutorials are not designed to show you the workflow of getting characters from Max/Maya into the game - I'm not a modeler or animator so I don't have knowledge of this.

If you guys have any questions, anything you want clarified, discussed further in later tutorials or just general comments, feel free to post them.

If these tutorials are useful to you, please consider donating. (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JJBN3LQSPGF3A)

Supplementary Material (http://www.udkprojects.com/vt/EternalCrisis_Characters.rar)

Tutorial 1
Introduction to AnimTrees
Setting up preview mesh and animset
Setting up a basic Walk and Idle
Download Here (http://www.udkprojects.com/vt/Tutorial1.rar) (53mb)

Tutorial 2 Plan
Explanation of AnimNotifies, using AnimNotifies to play footsteps.
Explanation of Sync Groups
Setting up Sync Groups for Walk animation
Example of BlendBySpeed instead of BlendByIdle
Adding Crouching animations
Download Here (http://www.udkprojects.com/vt/Tutorial2.rar) (74mb)

Tutorial 3 Plan
Explaining & Using BlendByPhysics
Adding Jumping
Randomizing animations (AnimNodeRandom)
Download Here (http://www.udkprojects.com/vt/Tutorial3.rar) (47mb)

Tutorial 4 Plan
Adding an AimNode
Explain how AimNodes work
Adding a basic profile with manual rotation
Updating profiles from code
Download Here (http://www.udkprojects.com/vt/Tutorial4.rar) (43mb)

Tutorial 5 Plan
Referencing & updating Blends from code
Explanation & usefulness of BlendByList
Download Here (http://www.udkprojects.com/vt/Tutorial5.rar) (44mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial5_AnimTutorialScripts.rar) (3kb)

Tutorial 6 Plan
How to create Custom Nodes
Creating a new Posture node to support standing, crouching and proning
Download Here (http://www.udkprojects.com/vt/Tutorial6.rar) (32mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial6_AnimTutorialScripts.rar) (8kb)

Tutorial 7 Plan
Script hooks for animations - BecomeRelevant, AnimEnd etc
Download Here (http://www.udkprojects.com/vt/Tutorial7.rar) (21mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial7_AnimTutorialScripts.rar) (15kb)

Tutorial 8 Plan
Note that the supplementary material has been updated for this tutorial, please re-download from the link at the top of the post
Adding TopHalfSlot & FullBodySlot
Playing slot animations through code
Download Here (http://www.udkprojects.com/vt/Tutorial8.rar) (27mb)

Tutorial 9
Explanation of Blending per bone
Example of reloading via animation tree.
Download Here (http://www.udkprojects.com/vt/Tutorial9.rar) (40mb)

Other Things to explain somewhere (time permitting)
Foot Placement
Skeletal Control nodes
How to plan an animation tree(?)

HRuivo
07-29-2010, 06:21 AM
Thanks a lot! I was really needing this.

Sir. Polaris
07-29-2010, 08:06 AM
Just for reference the video is 43M in .rar format.

@ Wraiyth
If you don't mind, I am going to put your links up at http://udkc.info/ so that others can benefit when this thread disappears.

Is there any plans to reduce and put to youtube?

Wraiyth
07-29-2010, 08:14 AM
Go ahead, fine by me. The place I'm hosting them is unlikely to be going away any soon (temp domain for a few projects but now become permenant with the number of SVN repos we have)

I had no plans to put it on YouTube, mostly because of horrible upload speeds. Aside from that, the quality would probably end up fairly scratchy, which isnt too helpful for tutorials where you need to see text.

Sir. Polaris
07-29-2010, 08:49 AM
I will toss it here for your reference (and if you want to self update) : http://udkc.info/index.php?title=Tutorial:Wraiyth%27s_AnimTree_cras h_course

I am watching your tut now and will give feedback, as I just saw this line in your first post.

-- Pros --
Voice is clear and understandable.
Visual provides clear overview

-- Cons --
A little too quickly paced
- you need to slow down just a bit, so people thinking and following along can keep up.
Not very advanced - even if you don't want to get technical (as it bogs down) a little more detail as to "Why things happens" aids in understanding

usingfeel
07-29-2010, 08:49 AM
Very Thank you.. :):)

Wraiyth
07-29-2010, 09:28 AM
I will toss it here for your reference (and if you want to self update) : http://udkc.info/index.php?title=Tutorial:Wraiyth%27s_AnimTree_cras h_course

I am watching your tut now and will give feedback, as I just saw this line in your first post.

-- Pros --
Voice is clear and understandable.
Visual provides clear overview

-- Cons --
A little too quickly paced
- you need to slow down just a bit, so people thinking and following along can keep up.
Not very advanced - even if you don't want to get technical (as it bogs down) a little more detail as to "Why things happens" aids in understanding
Thanks for that. I'm a naturally fast talker, which makes it hard. I'll make an effort to slow down the talking for the next one.
What sort of technical detail specifically were you talking about? This first one was meant to be more of a basic introduction and having something working, with the latter ones going into more complex things.
Its hard to provide more down-and-dirty details when even Epic's documentation on this stuff is pretty scant. The eventual goal by the end is to have a full animtree built that is something along the lines of the complexity of Epic's human one, so hopefully there'll be more detail down the track.

JohNLA
07-29-2010, 10:39 AM
A thousand thank you for this. Please keep them coming:D:D:D

sueds
07-29-2010, 10:43 AM
thas really nice of you. This is basically what I was looking for two days ago. I found the response but I gues a lot of people might be in the same position.

geodav
07-29-2010, 11:45 AM
Nice video, keep them coming, this is the stuff people are looking for
:)

Sir. Polaris
07-29-2010, 02:48 PM
by details just more coverage on things you talk about so that the viewer is left with a understanding on how everything is interacting. It just seemed to me that your flying though and then "this is it, ok it's connected - now we are done" sort of deal :D - a few parts you give background and objective information, more of that would be great - I think :D

thorbahn3
07-29-2010, 10:11 PM
Can you put this up on a video streaming service like youtube, blip, or revver please? It would make it way more accessible. :)

Wraiyth
07-30-2010, 12:04 AM
I may look at putting them up on YouTube, but as I said, they are fairly large as they are high-res, and my internet only uploads at 25kbs, so it would take me a fairly long time to get them anywhere if they aren't compressed.

I've just re-recorded Tutorial 1 with some added detail that I missed first time around. Tutorial 2 is also recorded and should be uploaded within the next few hours. Curse my slow internet. I'll make a post when both tutorials are uploaded.

EDIT: Tutorial 1 is re-upped. Tutorial 2 is on its way up, and Tutorial 3 will follow shortly.

Wraiyth
07-30-2010, 05:10 AM
Tutorials 2 and 3 are now up. Keep an eye out for 4-6 in the next few days

Kyle_Katarn
07-30-2010, 05:17 AM
Our internet plans suck, don't they? I wish I could watch your tutorials, but I'm currently capped. So it's probably my top priority to watch when it comes back.

eternalcrisis
07-30-2010, 06:40 AM
The tutorials are turning out fantastic. Keep up the great work.

Sir. Polaris
07-30-2010, 08:47 AM
Uploaded what you have done so far:

>> http://udkc.info/index.php?title=Tutorial:Wraiyth%27s_AnimTree_cras h_course

JohNLA
07-30-2010, 10:51 AM
I am learning so much. Keep up the great work:cool:

seenooh
07-30-2010, 02:20 PM
Thank you very much for your valuable efforts. I can't wait to see the next tutorials. Keep it up mate.

Gillies
07-30-2010, 07:53 PM
awesome job, the animtree has always been an area i've been hazy on :D

Kelt'ar
07-31-2010, 02:57 PM
Nice tuts! anything on bleand by weap type?

Wraiyth
07-31-2010, 09:40 PM
Not exactly, because the BlendByWeapType is a UT specific node. I can probably do a tutorial down the track on how to write and use your own, though

Bonyback
08-03-2010, 09:19 PM
please tell me how can I zoom in the game like in the picture.there are many unreal games in which it zooms when clicking right

with gamepad or mouse.I want to apply it.If you help me I will be pleased.thanks for everything.

http://img822.imageshack.us/img822/6752/zoomcam.jpg (http://img822.imageshack.us/i/zoomcam.jpg/)

Wraiyth
08-04-2010, 06:33 AM
Sorry about the delay for the next tutorial guys, I've had a busy few days. The forth tutorial has been added to the main post.

Kyle_Katarn
08-04-2010, 06:34 AM
Been through all the video's and I must say, you do an excellent job at explaining the Animtree toolset. Thank you for your time and energy on these, they're really helpful.

seenooh
08-04-2010, 06:46 AM
I'm so excited for the 4th tutorial !!! Downloading right now....

JohNLA
08-04-2010, 10:20 PM
Doing the happy dance for number four!!!!!!!!!!!!!!

Bonyback
08-05-2010, 03:15 AM
Tutorial 5 Plan Upload pleaseeeeeeee

Wraiyth
08-05-2010, 11:13 AM
5 and 6 should be up in the next few days.

BorisK
08-07-2010, 09:58 PM
hey Wraiyth thank you soooooooooooooo muchh for the animset tutorials. ive never understood it like ever lol

-ok so is the animset the thing that tells UDK to use specific animset animations for stuff like jumping, walking(front and back), running, aim up and right etc. kinda like digesting/compiling the anims together

because ur animations are called es_female_whatever. so can i name my walk animation peter_pepper_picked_peppers and then in the animtree plug it into the walk part??

so for custom character animations YOU NEED an animtree

lol hope that makes sense. aha i just spent the whole day skinning and animating and im abit brain fried haha

Wraiyth
08-08-2010, 12:24 AM
Yeah, thats correct. The AnimTree blends animations together to generate a final output animation. You can call your animations whatever you want, put those names into the AnimNodeSequence. The animation names I'm using (es_female_walk, for instance) is just for the character I'm using.
If you have a custom character not using Epic's skeleton and animset, then yeah, you need to make your own animtree for it

seenooh
08-08-2010, 07:31 AM
Hey man, when are you releasing your next tutorials? They are so exciting and important to me! =D

BorisK
08-08-2010, 04:08 PM
aaaah cool thanx man
i'll def sort out my custom anims now. i had a feeling it was like that but wasnt sure

sorry to be a pain but ONE final question lol
in custom pawns code, why do you have to include the animset, is that just the way it is?? Do you just tell the game that you will use an animtree with animations from blah blah animset.

Wraiyth
08-08-2010, 10:17 PM
Yeah, its just the way its designed really. A SkeletalMeshComponent needs to know its mesh, animtree and animset(s).

Also, Tutorial 5 has been added.

Kyle_Katarn
08-08-2010, 10:44 PM
Hey, great tutorial. Just out of curiosity (since due to other commitments, I can't follow along at this time), if I add a prone command to my animtree, and I'm playing in first person, will the camera follow my head down to the prone level?

Wraiyth
08-08-2010, 11:11 PM
I'm pretty sure the Camera controls are handled separately to animation controls, but honestly I don't know. I haven't done that in first person. You'd have to check out how the camera handling for Crouching worked.

Tutorial 6 added.

Kyle_Katarn
08-09-2010, 12:37 AM
Okay, I'll have to check it out. Oh and the link to tutorial 6 links to tutorial 5, may want to change that ;)

To the members: to download, just change the url from

http://www.udkprojects.com/vt/Tutorial5.rar
to

http://www.udkprojects.com/vt/Tutorial6.rar

Wraiyth
08-09-2010, 01:09 AM
My bad, thanks.

Bonyback
08-09-2010, 06:53 AM
very Very Very good news
thanks a lot Wraiyth

BorisK
08-09-2010, 11:32 AM
wooooooo my dissertation now officially has custom animations(and u will be referenced of course lol)

thanx ALOT dude, u have nooo idea haha. the animtree is not too bad. i was soooo intimidated by it before lol

yaaassss 2 new tuts. christmas in august

seenooh
08-10-2010, 07:35 AM
Lovely. Great job man you saved us lots of time figuring all that out...

TheAgent
08-10-2010, 11:13 AM
cant wait for the Reload animtree tutorial :D

Wraiyth
08-11-2010, 03:46 AM
I need a reload anim first for that :)

Sir. Polaris
08-11-2010, 09:10 AM
Updated your links at: http://udkc.info/index.php?title=Tutorial:Wraiyth%27s_AnimTree_cras h_course

Monophobe
08-11-2010, 03:04 PM
Great tutorials Wraiyth. I'd hope that one of them was going to fix the problem I've got but maybe you can suggest something.

Is there a way I can blend some "turn" animations in, given that this is my player controller setup (all my code is rather bodged from bits and pieces I've found so if there are some strange things in here it's because I'm very new to code).


class SecondSlumberPlayerController extends GamePlayerController;

DefaultProperties
{
CameraClass=class'IsometricCamera'
}




state PlayerWalking
{
ignores SeePlayer, HearNoise, Bump;
event NotifyPhysicsVolumeChange( PhysicsVolume NewVolume )
{
if ( NewVolume.bWaterVolume && Pawn.bCollideWorld )
{
GotoState(Pawn.WaterMovementState);
}
}



function ProcessMove(float DeltaTime, vector NewAccel, eDoubleClickDir DoubleClickMove, rotator DeltaRot)
{
if( Pawn == None )
{
return;
}

if (Role == ROLE_Authority)
{
// Update ViewPitch for remote clients
Pawn.SetRemoteViewPitch( Rotation.Pitch );
}

Pawn.Acceleration = NewAccel;

CheckJumpOrDuck();
}

function PlayerMove( float DeltaTime )
{
local vector X,Y,Z, NewAccel;
local eDoubleClickDir DoubleClickMove;
local bool bSaveJump;
local Rotator DeltaRot, ViewRotation, OldRot, NewRot;;


if( Pawn == None )
{
GotoState('Dead');
}
else
{
GetAxes(Rotation,X,Y,Z);

//update viewrotation

ViewRotation = Rotation;

// Calculate Delta to be applied on ViewRotation
DeltaRot.Yaw = PlayerInput.aTurn;
DeltaRot.Pitch = PlayerInput.aLookUp;
ProcessViewRotation( DeltaTime, ViewRotation, DeltaRot );
SetRotation(ViewRotation);

// Update acceleration.
NewAccel = PlayerInput.aForward*X + PlayerInput.aStrafe*Y;
NewAccel.Z = 0;



// pawn face newaccel direction //

OldRot = Pawn.Rotation;

if( Pawn != None )

{ if( NewAccel.X > 0.0 || NewAccel.X < 0.0 || NewAccel.Y > 0.0 || NewAccel.Y < 0.0 )

NewRot = Rotator(NewAccel);
else
NewRot = Pawn.Rotation;

}
Pawn.FaceRotation(RInterpTo(OldRot,NewRot,Deltatim e,90000,true),Deltatime);



NewAccel = Pawn.AccelRate * Normal(NewAccel);

DoubleClickMove = PlayerInput.CheckForDoubleClickMove( DeltaTime/WorldInfo.TimeDilation );






if( bPressedJump && Pawn.CannotJumpNow() )
{
bSaveJump = true;
bPressedJump = false;
}
else
{
bSaveJump = false;
}

ProcessMove(DeltaTime, NewAccel, DoubleClickMove,Rotation);


bPressedJump = bSaveJump;
}



}

event BeginState(Name PreviousStateName)
{
DoubleClickDir = DCLICK_None;
bPressedJump = false;
GroundPitch = 0;
if ( Pawn != None )
{
Pawn.ShouldCrouch(false);
if (Pawn.Physics != PHYS_Falling && Pawn.Physics != PHYS_RigidBody) // FIXME HACK!!!
Pawn.SetPhysics(PHYS_Walking);
}
}

event EndState(Name NextStateName)
{
GroundPitch = 0;
if ( Pawn != None )
{
Pawn.SetRemoteViewPitch( 0 );
if ( bDuck == 0 )
{
Pawn.ShouldCrouch(false);
}
}
}

Begin:
}

Essentially what I need is that if the Pawn's rotation is anti-clockwise, it blends one anim, and if it is clockwise, it blends another (edit: oh, and if there is no rotation it just uses the default anims that I already have). I've tried all kinds of nodes in the animTree and can't find one suitable. Any help is greatly appreciated, I've been trying to solve this for a while now :(

Wraiyth
08-11-2010, 10:30 PM
There is a UT/UDKAnimBlendByTurnInPlace but I've never used it. I guess the basic idea is that you would get the root yaw speed of the pawn and set an active child which would be the feet shuffling/rotating or something along those lines. I believe its currently used for the rifle but I haven't looked into it at all. Best bet would definitely be to test out a custom node for it rather than trying to handle it all in the code yourself.

Obviously the issue with this will be blending if you're also moving, because the directional movement stuff will generally blend fine to handle this. I guess wanting to have a foot animation for turning is only suitable if your player is idle.

Monophobe
08-12-2010, 04:11 AM
Should have mentioned that it's a custom rig. The best way to imagine what I'm trying to do (also trying not to give it away, lol) would be a tail which bends as the player rotates. You can only rotate when moving (and my movement is always treated as fordwards, i.e. no strafing)

Wraiyth
08-12-2010, 05:41 AM
The Yaw/Pitch should still apply, its calculated from the players input (PlayerController class), its how aimnodes are calculated.

Bonyback
08-13-2010, 11:05 AM
please upload Animtree Video Tutorial Part 7 Pleaseeeeeeeeeeeee:(:(:(:(

Monophobe
08-13-2010, 02:02 PM
The Yaw/Pitch should still apply, its calculated from the players input (PlayerController class), its how aimnodes are calculated.

Thanks Wraiyth. I'm gunna have to try and get someone to help me though as I really don't know how to go about implementing this :(

mwynjcfce
08-14-2010, 01:27 AM
nice video!

Wraiyth
08-15-2010, 08:59 PM
Just a quick update guys... I've got the stuff I need to do the next few tutorials but I've been sick the past couple of days, and busy with uni/work the next few, so they probably won't be done until later in the week.

Kyle_Katarn
08-16-2010, 12:12 AM
Well, dont overdo yourself. We can wait.

JohNLA
08-16-2010, 01:08 PM
Yes stay healthy but I must admit I check everyday in hopes of seeing the new tuts.
Thanks, for the great work:cool:

Mr Evil
08-16-2010, 02:04 PM
These videos are great, thanks.

I did notice that you used some UT* nodes. You should use the UDK* equivalents instead, since the UT* ones contain no code, they merely add a dependency on the UT packages.

I also have a question that perhaps you can answer: There is AnimNodeBlendBySpeed, which is useful for walking/running, but it only plays one input at a time. If the pawn takes an appreciable time to reach full speed, or the player is using an analogue controller, then it would be useful to be able to play a blend of two animations at intermediate speeds. There is UDKAnimBlendBySpeed which does exactly this, but it is fixed at only two inputs. Is there a way to add inputs to UDKAnimBlendBySpeed, or persuade AnimNodeBlendBySpeed to blend two animations at intermediate speeds? I know it would be possible to write this in UScript, but it feels like something that would be best done by native code, for performance reasons.

Wraiyth
08-16-2010, 05:41 PM
Fair call on the UT vs UDK nodes. It didn't really cross my mind to be honest, given that I initially learned this AnimTree stuff before the UDKBase package existed, so a bit of it is just habit. I'll make a note and probably just mention it in the next tutorial, and remember to use the UDK nodes in the future.

I don't know of a way to do what you're asking too easily, but then again I haven't really looked into it.
Fixed input means fixed input, there isn't a way to add to that unless you make a new node and set it to accept multiple inputs. Honestly the performance issues aren't really major if you're not doing anything silly or extreme in your node. Obviously its preferable to do in native code, but in this situation you have to do the best you can with what you have

Wraiyth
08-20-2010, 09:56 PM
Tutorial 7 has been added!

TheAgent
08-20-2010, 10:07 PM
Great that u got a video but theres no sound! its just white noise!

MotorCity3D
08-20-2010, 10:18 PM
Just found this- at the top of the pile out of nowhere-

Why can't there be tutorials of everything like this.

This guy has set the bar very high.

Awe and Some is all I can say.

Thanks buddy.

Wraiyth
08-20-2010, 10:37 PM
Great that u got a video but theres no sound! its just white noise!
My bad. I had some mic issues first time I recorded Tutorial 7, but uploaded the wrong one. Re-uploading the correct one now.

Tutorial 8 is also up, and that one definitely has sound ;)

TheAgent
08-20-2010, 10:45 PM
Thank you very much for your dedication : ]

seenooh
08-20-2010, 11:19 PM
Finally! Thanks alot...

And say hi to your dog.. lol

Wraiyth
08-20-2010, 11:30 PM
Haha, I was wondering if anyone would notice that! Yeah, she was going mental in the background for some reason.

I've started writing out Tutorial 9 but it may end up being split up into multiple smaller tutorials because of how much content I have planned for it (setting up a structure for weapons, with iron sights, reloading, and firing animations).

TheAgent
08-20-2010, 11:35 PM
First person animations or third person? : P

MotorCity3D
08-20-2010, 11:40 PM
This is the kind of tutorials we need for the code end of what you are doing. I like others here were totally clueless about animtrees- now It seems so simple- I know if we had a tutorial like these for the code to get characters in game it would be greatly appreciated by everyone .

Wraiyth
08-21-2010, 01:31 AM
First person animations or third person? : P
Character animations, so the third-person ones. First person ones are pretty much the same sort of logic if you do them anim-tree based.

Wraiyth
08-21-2010, 01:32 AM
This is the kind of tutorials we need for the code end of what you are doing. I like others here were totally clueless about animtrees- now It seems so simple- I know if we had a tutorial like these for the code to get characters in game it would be greatly appreciated by everyone .
Code-wise there isnt really that much involved. Its mostly just defining the logic that you want thats the main challenge, and thats completely defined by the kind of game that you're making

MotorCity3D
08-21-2010, 01:17 PM
I am talking as far as the Playercontroller file the replication file the pawn the familyinfo.

I see so many different ways people are doing it- that its totally confusing. I can't figure out what is the right way- or even how to set it up- the structure and why.


For example the way you did your animtree VT's- if you were to do the code end of it as far as the entire structure- from creating the directory in the src folder to all the different files- people here would be able to understand it. Theres only a few people here giving out info to people that don't know where to start that it would be ground breaking.

And from your VT's we can all see your vast collection of code-files in the left hand directory that I know you were showing off.

Mr Evil
08-21-2010, 02:39 PM
...I see so many different ways people are doing it- that its totally confusing. I can't figure out what is the right way...
There are usually several equally valid ways of accomplishing a programming task. I recommend choosing whatever is most common, or whatever you can understand most easily.

BorisK
08-21-2010, 05:15 PM
HAHAHAHAHAHA yesssssss, thanks for the weapon reloading tutorials too dude
ive got iron sight but i dont have a clue how to do reloading(coz i didnt know how to use the animtree lol)

dude you are a leeeeegend!!!!

Wraiyth
08-22-2010, 12:12 AM
I am talking as far as the Playercontroller file the replication file the pawn the familyinfo.

I see so many different ways people are doing it- that its totally confusing. I can't figure out what is the right way- or even how to set it up- the structure and why.


For example the way you did your animtree VT's- if you were to do the code end of it as far as the entire structure- from creating the directory in the src folder to all the different files- people here would be able to understand it. Theres only a few people here giving out info to people that don't know where to start that it would be ground breaking.

And from your VT's we can all see your vast collection of code-files in the left hand directory that I know you were showing off.
I've only got 5 code files for this tutorial, which I've provided for people to look at. The rest of it is all standard UDK code.

Aside from that, these tutorials are AnimTree for the most part, not a tutorial on how to set up your mod. While the structure of your own code is somewhat limited by the engine, a vast majority of programming tasks you do can be done in many ways. This is one of the reasons I'm not discussing the programming (and especially replication) side of things in relation to animation, because its completely dependent on your mod and that sort of stuff.

Theres plenty of examples, tutorials and documentation around for basic game configuration, its not the scope of what I'm trying to achieve here.

MotorCity3D
08-22-2010, 02:53 AM
Roger that.

Thanks for the animtree VT's, they are priceless.

JohNLA
08-22-2010, 02:57 PM
Edited because I had a dumb question but you answered it later in the video

Hyper_Shado
08-22-2010, 07:54 PM
Thanks for the videos TC. I was trying to create a node that would change based on a bool, but I was stuck trying to figure out how to reference the variable ( which was in another class ). Video 6 has showed me how to set this up right, by creating an instance of the variable (that's what you did with the "ATP" stuff, right?).

Edit: I doubt anyone cares, but just in case you couldn't make your custom AnimNode work at first: the variables and exec functions must be in the Pawn class for this to work. I had a function in the Input class that was changing a variable in the Player Controller, and it wouldn't work. But it works now!

brunomartelli
08-24-2010, 01:26 PM
think my post got eaten - Great tutes Wraiyth but I cant get No. 2 to download

brunomartelli
08-24-2010, 03:59 PM
Hi
- in Wraiyths tute (no 3), he has an 'AnimNodeBlendBySpeed'
- Mine has an 'Out' and I have 3 inputs but they all say 'Child1', 'Child2', 'Child3' - Wraiyths say 'Idle', 'Walk', 'Run'
- how come? are mine wrong??

JohNLA
08-24-2010, 04:53 PM
Hi
- in Wraiyths tute (no 3), he has an 'AnimNodeBlendBySpeed'
- Mine has an 'Out' and I have 3 inputs but they all say 'Child1', 'Child2', 'Child3' - Wraiyths say 'Idle', 'Walk', 'Run'
- how come? are mine wrong??

He renamed them
Just right click and choose input name

brunomartelli
08-24-2010, 05:50 PM
ok thanks ....but cant see where to do that here thou'..

HDESIGN
08-26-2010, 03:54 AM
I've decided to work on a series of video tutorials related to Animation Trees.
Currently only the first tutorial is completed, however the others should be up and running fairly soon, I hope.
The videos have been recorded at 1650x1080 res (hence the size) and XVID wouldn't really have compressed them down any smaller, and I don't have the time (or patience or anything) to compress them much smaller. Apologies for that.
These tutorials are not designed to show you the workflow of getting characters from Max/Maya into the game - I'm not a modeler or animator so I don't have knowledge of this.

If you guys have any questions, anything you want clarified, discussed further in later tutorials or just general comments, feel free to post them.

Supplementary Material (http://www.udkprojects.com/vt/EternalCrisis_Characters.rar)

Tutorial 1
Introduction to AnimTrees
Setting up preview mesh and animset
Setting up a basic Walk and Idle
Download Here (http://www.udkprojects.com/vt/Tutorial1.rar) (53mb)

Tutorial 2 Plan
Explanation of AnimNotifies, using AnimNotifies to play footsteps.
Explanation of Sync Groups
Setting up Sync Groups for Walk animation
Example of BlendBySpeed instead of BlendByIdle
Adding Crouching animations
Download Here (http://www.udkprojects.com/vt/Tutorial2.rar) (74mb)

Tutorial 3 Plan
Explaining & Using BlendByPhysics
Adding Jumping
Randomizing animations (AnimNodeRandom)
Download Here (http://www.udkprojects.com/vt/Tutorial3.rar) (47mb)

Tutorial 4 Plan
Adding an AimNode
Explain how AimNodes work
Adding a basic profile with manual rotation
Updating profiles from code
Download Here (http://www.udkprojects.com/vt/Tutorial4.rar) (43mb)

Tutorial 5 Plan
Referencing & updating Blends from code
Explanation & usefulness of BlendByList
Download Here (http://www.udkprojects.com/vt/Tutorial5.rar) (44mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial5_AnimTutorialScripts.rar) (3kb)

Tutorial 6 Plan
How to create Custom Nodes
Creating a new Posture node to support standing, crouching and proning
Download Here (http://www.udkprojects.com/vt/Tutorial6.rar) (32mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial6_AnimTutorialScripts.rar) (8kb)

Tutorial 7 Plan
Script hooks for animations - BecomeRelevant, AnimEnd etc
Download Here (http://www.udkprojects.com/vt/Tutorial7.rar) (21mb)
Supplementary Material (http://www.udkprojects.com/vt/Tutorial7_AnimTutorialScripts.rar) (15kb)

Tutorial 8 Plan
Note that the supplementary material has been updated for this tutorial, please re-download from the link at the top of the post
Adding TopHalfSlot & FullBodySlot
Playing slot animations through code
Download Here (http://www.udkprojects.com/vt/Tutorial8.rar) (27mb)

Tutorial 9 Plan
Explanation of Blending per bone
Example of reloading via animation tree.

Other Things to explain somewhere
Foot Placement
Skeletal Control nodes
How to plan an animation tree(?)

Hello. Thank you for your tutorials of the animtree :D. However,Engilish is not my first language(I am a Chinese) so that I can not understand what you say :(.Would you like please help me with English subtitle files for them ? Thank you!:)

BorisK
08-26-2010, 01:00 PM
btw how will you do the iron sights aiming
will you move the weapon in 3DS Max or will you move it via code only???

Wraiyth
08-26-2010, 07:53 PM
Theres an animation for it, so likely just an animation and pull the camera forwards. Although the camera part I probably won't do.
I've been tossing up how to handle Tutorial 9, and I don't think I'll do the rest of the tree in the tutorial, just explain how to blend by bone in the AnimTree, which hopefully I can get done soonish

Pranav
08-27-2010, 08:28 AM
Man I just wanted to say... that this is probably the most useful tutorial that i have EVER seen on this forum yet, I am a programmer, so to me, programmering tutorials are great but something people can achieve with some work, THIS to me, is a gold mine rofl. Cant thank you enough, keep up the great work!

rolongdehao
08-27-2010, 12:48 PM
真的感谢你,这些对我非常有用!谢谢!

junker404
08-27-2010, 01:41 PM
one of the best tutorials around

zweihander11
08-27-2010, 05:46 PM
really useful, thanks a lot!

guvenc
08-27-2010, 07:50 PM
thanks for the tutorials, they are great :)

TheAgent
08-31-2010, 04:01 PM
Was wondering if you knew how to add dodging animations in the animtree, im getting around to dodging, and tits weird but the default UDK anim tree doesnt have it. but in UT3 theres a bunch of dodge moves, so im wondering if you can add a video about that, or simply explain it to me quickly! Thanks for all the help

Wraiyth
08-31-2010, 10:33 PM
The dodging, I believe they use an AnimNodeAimOffset to bake the directional animations and then update it using native code, depending on the direction the player dodges, but don't quote me on that.
The best way to do it is just to use the dodge code and then either play a slot animation (fullbodyslot) or set a blend on the animation tree. You need to make sure that your Translation is set to RBA_Translate so the root bone is translated by the animation.

TheAgent
08-31-2010, 11:03 PM
so basically grab the function bool Dodge(eDoubleClickDir DoubleClickMove) and add animation calls inbetween the dodge front back left and right calls?

Edit: Thank you that was surprisingly easy, this is all i did!


if (DoubleClickMove == DCLICK_Forward)
{
FullBodyAnimSlot.PlayCustomAnim( 'Sword_DodgeFwd', 1.0, 0.1, 0.1, false, true );
Dir = X;
Cross = Y;
}
else if (DoubleClickMove == DCLICK_Back)
{
FullBodyAnimSlot.PlayCustomAnim( 'Sword_DodgeFwd', -1.0, 0.1, 0.1, false, true );
Dir = -1 * X;
Cross = Y;
}
else if (DoubleClickMove == DCLICK_Left)
{
FullBodyAnimSlot.PlayCustomAnim( 'Sword_DodgeFwd', 1.0, 0.1, 0.1, false, true );
Dir = -1 * Y;
Cross = X;
}
else if (DoubleClickMove == DCLICK_Right)
{
FullBodyAnimSlot.PlayCustomAnim( 'Sword_DodgeFwd', 1.0, 0.1, 0.1, false, true );
Dir = Y;
Cross = X;

Kinos
09-01-2010, 12:56 PM
I haven't gotten to see it yet, but thank you a million for this.

Bonyback
09-08-2010, 03:32 PM
Tutorial 9 Plan ?

MadFox Game Design
09-10-2010, 05:13 PM
How do i put the Supplementary Material into udk

roughbeats
09-11-2010, 05:29 AM
Finally somebody was doing it! Was waiting for it several weeks!!
THANK YOU!

tryphon
09-12-2010, 11:35 AM
Nice video, thank you:) .

ComieZapr
09-13-2010, 09:45 AM
These videos have been very helpful for me. Thanks!

BorisK
09-15-2010, 12:26 AM
http://www.youtube.com/watch?v=bYub-XC-KlQ
wooop woooop. so far so good. dude you're such a legend
just need to do the crouching and stuff

seenooh
09-16-2010, 12:42 AM
We're waiting patiently for the rest of the tutorials.............

Wraiyth
09-16-2010, 07:14 AM
I've been busy as hell with my own personal projects and university, sorry guys. I'll get there eventually.

seenooh
09-16-2010, 10:30 AM
Best of luck Wraityth. :)

agentfx
09-16-2010, 11:20 AM
Yeah, Thanks for taking the time to make these, VERY helpful. I like that they go a little too advanced (programming wise) for me so I can reference back at points as I ramp up in the scripting side of things later.

Wraiyth
09-16-2010, 06:37 PM
I've got next week off uni (mid-semester break) so maybe I can finish them off then :)

TheDopefish
09-16-2010, 06:46 PM
This has been truly a gift for me, since I'm currently in the works trying to plan out a mocap shoot, and then it's important to know which animations I need to plan down for the shoot, aswell as how the general system works in UDK.

Kudos to you!

vichnaiev
09-23-2010, 04:08 PM
Awesome, thanks a lot!!!

Chaosnet
09-25-2010, 08:37 AM
Thanks for this useful tutorial. How can I use same Anim Sequence Name for different animsets in an AnimTree, for example can I use AnimSet_Pistol.AnimSeq_Run and AnimSet_Rifle.AnimSeq_Run for AnimNodeSequence in an AnimTree.

Wraiyth
09-25-2010, 09:55 AM
You just call the animations the same in different animsets, and you need to write some code to set the appropriate animset for your mesh. The AnimTree only determines how to blend animations of a certain name, not the animset itself.

miresakhani91
09-28-2010, 11:20 AM
Lots of , Lots of thanks for this useful tutorials.

cyberwillis
10-19-2010, 07:51 AM
Any news about the last chapters ?
:)

thank you

juanitudev1
11-07-2010, 05:02 PM
I can't get my characters arms to move with the AimNode.

Could it be because of the bones?
Or what could cause this issue?
When I try to rotate him into position, he doesn't move.

http://i69.photobucket.com/albums/i43/juanitudeV1/AimProblem.jpg


I am using the UT2D code. Will I have to change any code?


Thanks guys!


EDIT:

Fixed.

Havoc89
11-19-2010, 01:03 AM
Thanks a lot for making these tutorials Wraiyth.

I wanted to ask if anyone knew how to make the aim offset profiles work like the UDK anim tree where by selecting the profiles, all the AnimNodeSequences actually change their animations to the appropriate weapon animation. I couldnt figure out how that worked because I didnt see any setting anywhere where that could be achieved.

The only thing that annoys me is the aim node not aligning with the weapon and the hands, even though I did try to setup the IK bones according to the udn documents and how the udk anim tree was setup.

Any ideas with those issues?

samuraiwu
11-23-2010, 04:44 AM
Thanks a lot!It's helpful!

david.clifford
11-24-2010, 08:31 AM
Thanks for the videos - since as you say these dont cover the pipeline for getting characters from maya into UDK, can anyone point me to a tutorial that does so, for beginners please?

Alienated Phreak
11-26-2010, 10:21 PM
Very good videos, thankyou:):):)

And I have that same problem in CamStudio and every other video recorders, the only thing that I've gotten to work perfectly is ZD Screen Recorder.

cyberwillis
11-26-2010, 10:37 PM
Hello Wraiyth...

I hope you get some time to finish the tutorials.

Tutorial 9 Plan
Explanation of Blending per bone
Example of reloading via animation tree.

Other Things to explain somewhere
Foot Placement
Skeletal Control nodes
How to plan an animation tree(?)

thank you.

Alienated Phreak
11-27-2010, 01:22 PM
So do you make the actual animations in udk or do you make in the animations in 3ds Max/Maya?

cyberwillis
11-27-2010, 01:24 PM
Hi Alienated Phreak

Normally you do in 3dmax or any other 3d modeling software
and export the animation in FBX or by ActorX Plugin (3dmax , maya ou xsi)

Alienated Phreak
11-27-2010, 01:31 PM
Okay, thanks, do you know where I might go to learn how to use 3ds Max's Animation feature?

cyberwillis
11-27-2010, 01:37 PM
Well Assuming you know how to modeling using 3dmax or maya or any other modeling software you will need to know how to create a skeleton, rigging your model, and skinning it. For every modeling software the solution may be change a bit but in concept is equal.
you can look for tutorials on www.youtube.com right now or digg on www.eat3d.com or www.thegnomonworkshop.com or www.digital-tutors.com they are great resources.
but exists many more out there
Just look for one you can learn fastest and try to make all exercises.

:)

Alienated Phreak
11-27-2010, 01:48 PM
Thanks!!!:)

Bonyback
12-03-2010, 05:50 AM
Tutorial 9 Plan ?

nucleon
01-01-2011, 05:22 PM
Thanks you for the great tuts.:) :) Clear voice and very profesional presentation! By some strange reason i had to open them with the quicktime player. Mediaplayer was not showing a picture.

otaku44
01-20-2011, 10:09 AM
how did u get the custum character to play on playerstart??

Wraiyth
01-25-2011, 12:24 AM
I've FINALLY added Tutorial 9, which explains how to use the BlendPerBone node in your animtree. This was planned to be the last tutorial in the series, as all 9 of these tutorials explain the fundamentals for someone to build an animtree.
I'm not currently doing much work in UDK at the moment, so I can't promise whether anymore tutorials will come. This is part of the reason that Tutorial 9 took so long.

Thanks to everyone for the support and positive comments about the videos, I appreciate it.

I've also added a link to the first post if you would like to donate. I've put a bit of time into making these tutorials and learning the appropriate theory, so anything is appreciated :)

bravery
01-25-2011, 05:32 AM
Hello Wraiyth,

I have tried to download tutrial number 7 and 8 for many times, however everytim I download it and try to decompress it using winrar I got the following message "The file is corrupted".

So can you please check these two files, because I did download them many times, using free download manager, using firefox download also using IE standard download tool, however always have the same result.

Can you please check the file?

Bonyback
01-25-2011, 06:39 AM
Wowwww Thanks a lot Wraiyth

Wraiyth
01-25-2011, 08:12 AM
Hello Wraiyth,

I have tried to download tutrial number 7 and 8 for many times, however everytim I download it and try to decompress it using winrar I got the following message "The file is corrupted".

So can you please check these two files, because I did download them many times, using free download manager, using firefox download also using IE standard download tool, however always have the same result.

Can you please check the file?
I just downloaded them myself and they extracted fine, so not sure what the issue is

Lost Haven
01-25-2011, 08:56 AM
Great tutorial , this is tough . A lot of process go's in this .

Alienated Phreak
01-25-2011, 03:35 PM
@Bravery:

Try using a trial of winzip or 7zip or some other .zip handler.

Lisethinew
02-01-2011, 07:24 AM
Great tutorials, thanks for going to all this effort to teach us these things. It's very much appreciated.

Abbeysaurus
02-18-2011, 12:35 PM
Has anyone managed to get Advanced Foot placement(Footplacement while moving) working? I have foot placement working in Idle.

Phara0h
02-19-2011, 02:08 AM
Hello, I was wondering if you knew how I could go about adding hit physics

Kikokun
02-21-2011, 08:26 PM
I can't get my characters arms to move with the AimNode.

Could it be because of the bones?
Or what could cause this issue?
When I try to rotate him into position, he doesn't move.

http://i69.photobucket.com/albums/i43/juanitudeV1/AimProblem.jpg


I am using the UT2D code. Will I have to change any code?


Thanks guys!


EDIT:

Fixed.

I had that same problem intermitently.
Try simply closing the window and unconnecting the AimNode, then reconnecting it again.
Failing that, reboot the editor.

Kikokun
02-21-2011, 08:45 PM
first off, thanks for the great tuts.
I've got the jump and double jump working, but what if you want to doubleJump sideways/backwards?
I tried hooking the DoubleJump Up input to a BlendDirectional that had my 4 double jumps anims hooked (backflip, flip left and right, plus the regurlar forward), but it causes the game (and editor) to crash.
Anyone had success with this?
cheers,

Kiko

Ga2Z
04-05-2011, 01:54 PM
heeey great tutorials!!! have been reeeaally useful =)

but I was wondering how could I use an animation notifier inside a condition in my script??? I hope you guys understand my question.

If not, what I want to do is that my weapon get attached to a socket right after the animation is played, like he is taking out the sword and putting it back in...

EDIT

I found it out =P they are called like events like:

simulated event TakeNotify()

if anyone wants to know

segerina
05-04-2011, 08:33 AM
I'm still confused about the fight and combat animation..should I add an animNodeSlot and animNodeList? Mine walking, idle and jumping animations works, but the rest I do not know how to connect, I do udnerstand that halfSlotBody and fullBodySlot are used to make two animations at the same time..it's not what I want..I want her to fight when I click on B or F for example.
Thank you in advance :)

Genko3D
05-06-2011, 05:02 PM
Fully awesome!!!

Thanks^128!

Saishy
05-07-2011, 12:29 AM
Just one question:

Why don't you use the top-right scroll down menu to choose the animation you want, instead of typing the name of each one on the nodes? :2

Wraiyth
05-10-2011, 10:34 PM
Just one question:

Why don't you use the top-right scroll down menu to choose the animation you want, instead of typing the name of each one on the nodes? :2
Believe it or not, didn't realize you could actually do that. I run with dual monitors anyway so I generally have the animset open on my second monitor.

Saishy
05-12-2011, 07:18 AM
Believe it or not, didn't realize you could actually do that. I run with dual monitors anyway so I generally have the animset open on my second monitor.
Oh :2

Also, I posted on your site but I will post here since it's easier and more efficient to answer:

AnimNodeBlendByPosture is deprecated so you shouldn't use that.
Also I tried using udkblendbyidle to get idle/moving jumps and it don't work :2
Another thing, do you know any solution to this? http://forums.epicgames.com/showthread.php?t=791259

Thanks in advance!

Crusha K. Rool
05-12-2011, 02:35 PM
Any idea why I can't connect something to the Slot Nodes? Whenever I try I get this message and the connection vanishes:
http://img6.imagebanana.com/img/o81lulki/thumb/slotprob.jpg (http://www.imagebanana.com/view/o81lulki/slotprob.jpg)

Wraiyth
05-12-2011, 07:37 PM
Yeah, this was something that was updated after I made my tutorials. The requirement for having a AnimSeq attached to a slot is gone now.


AnimNodeBlendByPosture is deprecated so you shouldn't use that.
How long has it been deprecated for?

houyiyi
05-12-2011, 08:02 PM
What can i say???


thanks a lot!!

ustolemygmrtag
05-12-2011, 09:56 PM
Thank you for these great Tuts. Saved me allot of time. You are great at these. Maybey you should look into doing them full time and selling them like Eat3D and 3D Buzz? Just a thought.

Crusha K. Rool
05-13-2011, 06:35 AM
Yeah, this was something that was updated after I made my tutorials. The requirement for having a AnimSeq attached to a slot is gone now.


How long has it been deprecated for?

Well, if I can't attach an AnimSeq to a slot at all, how am I supposed to override the animations for individual body parts? Or should we use only AnimNodeBlendPerBone for that now?


What, BlendByPosture is deprecated as well? What is the replacement for that then?

Wraiyth
05-13-2011, 08:54 AM
Well, if I can't attach an AnimSeq to a slot at all, how am I supposed to override the animations for individual body parts? Or should we use only AnimNodeBlendPerBone for that now?


What, BlendByPosture is deprecated as well? What is the replacement for that then?
No, the requirement to connect one was removed. Its now automatic when you call PlayCustomAnim. Just imagine theres an AnimSeq built into a slot.

Saishy
05-13-2011, 09:28 AM
How long has it been deprecated for?
Dunno, apparently for some time.


What, BlendByPosture is deprecated as well? What is the replacement for that then?
The UDK and UT versions are not deprecated.

It kinda make sense, how the node will know about the posture of any generic script? So it starts with the UDK one.

Crusha K. Rool
05-13-2011, 09:59 AM
Ah, makes sense.

foad-torfi
05-14-2011, 04:17 AM
Thank you very much :)

foad-torfi
06-01-2011, 03:40 AM
hello Wraiyth
please upload Other Things to explain somewhere (time permitting) :)

Thank you very much

lVampirel
06-01-2011, 12:22 PM
thanks all your tutorials help, now im just waiting for the foot placement tutorial.

Tarks
07-15-2011, 10:28 AM
Thanks these are awesome I'm going through them now.

One question though, do you explain the code side of things at all? In the first video you go from setting up the anim tree to running it ingame, but you say that just setting it up there isn't all that's required, I assume you have to call and end the animations programatically, would you/do you ever show how to get this up and running?

PsychotropicDog
07-17-2011, 12:07 AM
If you followed the UDN standard quick start, the following are what you change to the Pawn class you created to get your custom character usable in PIE:


//Your Mesh Properties
SkeletalMesh=SkeletalMesh'CH_LIAM_Cathode.Mesh.SK_ CH_LIAM_Cathode'
AnimTreeTemplate=AnimTree'CH_AnimHuman_Tree.AT_CH_ Human'
PhysicsAsset=PhysicsAsset'CH_AnimCorrupt.Mesh.SK_C H_Corrupt_Male_Physics'
AnimSets(0)=AnimSet'CH_AnimHuman.Anims.K_AnimHuman _BaseMale'

This assumes you have the above four assets created. The exact name and path you need to paste should be visible in the Content Browser merely by hovering over it, and also in some of the editors. There's probably an easier way to copy path to clipboard... oh there it is.. RMB over the item, > Copy Full Name to Clipboard.
This way you can avoid annoying typos that cause problems (found that out too :/)

I know it seems simple to some, but it took me a bit to track it down.

Oh, and great tut's there Wraiyth!

Vitor Teixeira
07-19-2011, 05:15 AM
I've been watching them and they are fantastic.
Thanks.
Cheers

ramyhhh
07-19-2011, 01:11 PM
Nice one :) and I am looking forward to view the remaining topics

sidshekar
07-20-2011, 04:17 AM
thanks guys this is what I needed on Dodge..

Chathura
07-21-2011, 04:32 AM
No, the requirement to connect one was removed. Its now automatic when you call PlayCustomAnim. Just imagine theres an AnimSeq built into a slot.

ahh... great... i am now doing your last tutorial... thanks Wraiyth.. :) great work... keep it up... :)

staticvoidlol
07-21-2011, 07:34 AM
Yeah, its just the way its designed really. A SkeletalMeshComponent needs to know its mesh, animtree and animset(s).


Hi Wraith,

These tutorials are great, thanks a lot!

I do have one question about tut 6:

I've implemented a melee system with one hands mesh on the weapon base class, and then for each unique weapon (e.g. katana, baseball bat etc.) I derive from the base class and attach a weapon mesh to a socket on the hands. All worked fine and well when I used the UTWeapon animations implementation, i.e. NOT animtrees. I'm moving everything to animtrees now, and for the life of me cannot figure out how to get it to work.

My skeletal mesh component is in the base weapon class along with the animtree and animsets. However, when I try to initialise the animtree in the weapon class, it just returns none. I've posted my code below, and would appreciate it very much if you could have a look to see what I'm doing wrong.

(I've overwritten the PlayWeaponAnimation function so it does nothing to interfere with my animtree stuff, and checked 1 million times that the node name of the custom node in the editor is in fact "MainAnimNode".)

http://i56.tinypic.com/25exzxx.jpg


//Base weapon class (only relevant parts)


class PWNMagicHandsAttachStuffTest extends PWNMagicHands
placeable;

var PWNAnimNodeBlendByWeaponAction animNodeList;
var bool testing;

simulated event PostInitAnimTree(SkeletalMeshComponent SkelComp)
{
super.PostInitAnimTree(SkelComp);
animNodeList=PWNAnimNodeBlendByWeaponAction(UDKSke letalMeshComponent(SkeletalMeshComp).FindAnimNode( 'MainAnimNode'));
}

exec function DoTheAnim()
{
WorldInfo.Game.Broadcast(self, SkeletalMeshComp.Owner,);
testing=true;
}

//HandsMesh
Begin Object Name=FirstPersonMesh
SkeletalMesh=SkeletalMesh'PWNPak_HandsBase.Mesh.SK _WP_Hands_1P'
AnimTreeTemplate=AnimTree'PWNPak_HandsBase.Anim.AT _HandsBase'
AnimSets(0)=AnimSet'PWNPak_HandsBase.Anim.A_Hands'
bOnlyOwnerSee=true
bOverrideAttachmentOwnerVisibility=true
CastShadow=true
Scale=1.0
FOV=70.0
End Object

SkeletalMeshComp=FirstPersonMesh //When deriving from ShockRifle
//Mesh=FirstPersonMesh
Components.Add(FirstPersonMesh)



So I use the variable "testing" to start the animation (which is used in the custom node).

Custom Node:


class PWNAnimNodeBlendByWeaponAction extends UDKAnimBlendBase;

event TickAnim(float DeltaSeconds)
{
local PWNMagicHandsAttachStuffTest ATP;

if ( SkelComponent.Owner != none )
ATP = PWNMagicHandsAttachStuffTest(SkelComponent.Owner);
else
ATP = none;


if ( ATP != none )
{
if ( ATP.testing)
{
if ( ActiveChildIndex != 1 )
{
SetActiveChild( 1, 0.1 );
}
}
}

}

DefaultProperties
{
Children(0)=(Name="WeaponEquip")
Children(1)=(Name="WeaponIdle")
Children(2)=(Name="WeaponFiringPrimary")
Children(3)=(Name="WeaponFiringSecondary")
}

Wraiyth
07-21-2011, 11:02 AM
I guess the only advice I could give you would be to strip your code back to see exactly where its failing. You're doing alot of casts there (some are probably un-necessary as well). Strip back the casts and put in some log messages to try and find the point of failure.

For instance, in PostInitAnimTree(), do
`log( SkelMeshComp );
to make sure that the SkelMeshComp is actually a valid component. Then try logging SkelMeshComp.FindAnimNode( 'whatever' ); and check that. Odds are its a simple logic error somewhere.

staticvoidlol
07-21-2011, 11:36 AM
I guess the only advice I could give you would be to strip your code back to see exactly where its failing. You're doing alot of casts there (some are probably un-necessary as well). Strip back the casts and put in some log messages to try and find the point of failure.

For instance, in PostInitAnimTree(), do
`log( SkelMeshComp );
to make sure that the SkelMeshComp is actually a valid component. Then try logging SkelMeshComp.FindAnimNode( 'whatever' ); and check that. Odds are its a simple logic error somewhere.

Thanks Wraith. I've checked, and the mesh component is fine. For some reason PostInitAnimTree() is never executed, so I suspect the mesh's animtree is never even initialised. I suppose I could try to look at exactly what happens in the pawn class to get the tree set up. Probably gonna run into a bunch of native stubs :/.

Thanks in any case.

staticvoidlol
07-21-2011, 11:50 AM
Aha! The rocket launcher uses an animtree and I've simply extended from that instead of the shockrifle. The code now finds the anims. I'll play around with it and try to figure out what the problem was so I can share the love. Cheers and thanks again.

Kiwen
11-13-2011, 06:42 AM
Thx buddy!

Masoud
12-13-2011, 11:41 AM
Wow...Awesome

Masoud
12-13-2011, 01:54 PM
Please add a Tutorial about Recoil and Limb, if it's possible... Thanks alot

CoffeeGrunt
12-19-2011, 09:41 AM
Sorry, but does anyone on here know how to utilise Skeletal Controls in a cinematic?

This tutorial doesn't seem to cover it.

Wraiyth
12-24-2011, 10:10 PM
Sorry, but does anyone on here know how to utilise Skeletal Controls in a cinematic?

This tutorial doesn't seem to cover it.
In Matinee, add a new Skeletal Mesh group. In that group, you can add two tracks - SkelControl Scale, and SkelControl Strength. Add a SkelControl Strength, set the "SkelControl" name to the name of your SkelControl in the AnimTree and then use the curve editor in Matinee to set its value.

Wraiyth
12-24-2011, 10:11 PM
Please add a Tutorial about Recoil and Limb, if it's possible... Thanks alot
This is something I've been wanting to do for a while, but there are a few issues for it (I don't have a rig I can use, and I don't understand the rigging requirements well enough to explain them). Setting it up in the AnimTree itself is trivial, however.

Lexluthor1
03-31-2012, 08:47 AM
This is something I've been wanting to do for a while, but there are a few issues for it (I don't have a rig I can use, and I don't understand the rigging requirements well enough to explain them). Setting it up in the AnimTree itself is trivial, however.

Are you still looking for a rig to do some more Animtree tuts Wraiyth?
I've got one with hundreds of anims and I could let you have it if you want to do some more of your brilliant tutorials........PM me !
All the anims you didn't have in the last series I've got....I've got Melee attack/ and combat anims for the same character :cool:

ironbelly
02-19-2013, 02:26 PM
Thanks so much for putting these together.. really amazing resource here