Thứ Năm, 30 tháng 10, 2014

Custom Characters and AI Meet

Just finished the new system which externalizes the animation frames used in the AI system, so now third party and official character packs can use different animation sets with the central AI system.  A typical example is the Zombie character which in the old version (an aborted build) would not follow paths, but the new one has all the power of the AI system but keeps the custom animations it had:

;anim
animmax       = 1
anim0         = 2552,2603
playanimineditor = 1

;AIAnims (Classic + Zombie)
csi_relaxed1 = 2552,2603
csi_relaxed2 = 2608,2659
csi_relaxedmovefore = 2500,2519
csi_cautious = 2552,2603
csi_cautiousmovefore = 2500,2519
csi_unarmed1 = 2664,2715
csi_unarmed2 = 2720,2771
csi_unarmedconversation = 3046,3094
csi_unarmedexplain = 3105,3155
csi_unarmedpointfore = 
csi_unarmedpointback = 
csi_unarmedpointleft = 
csi_unarmedpointright = 
csi_unarmedmovefore = 2500,2519
csi_unarmedmoverun = 2500,2519
csi_unarmedstairascend = 
csi_unarmedstairdecend = 
csi_unarmedladderascend1 = 
csi_unarmedladderascend2 = 
csi_unarmedladderascend3 = 
csi_unarmedladderdecend1 = 
csi_unarmedladderdecend2 = 
csi_unarmeddeath = 3380,3439
csi_unarmedimpactfore = 3245,3300
csi_unarmedimpactback = 3159,3234
csi_unarmedimpactleft = 3310,3370
csi_unarmedimpactright = 3380,3439
csi_inchair = 
csi_inchairsit = 
csi_inchairgetup = 
csi_swim = 
csi_swimmovefore = 
csi_stoodnormal = 
csi_stoodrocket = 
csi_stoodfidget1 = 
csi_stoodfidget2 = 
csi_stoodfidget3 = 
csi_stoodfidget4 = 
csi_stoodstartled = 2861,2904
csi_stoodpunch = 2775,2848
csi_stoodkick = 2916,2969
csi_stoodmovefore = 
csi_stoodmoveback = 
csi_stoodmoveleft = 
csi_stoodmoveright = 
csi_stoodstepleft = 
csi_stoodstepright = 
csi_stoodstrafeleft = 
csi_stoodstraferight = 
csi_stoodturnleft = 
csi_stoodsubtleturnleft = 
csi_stoodvault = 
csi_stoodmoverun = 
csi_stoodmoverunleft = 
csi_stoodmoverunright = 
csi_stoodreload = 
csi_stoodreloadrocket = 
csi_stoodwave = 
csi_stoodtoss = 2981,3034
csi_stoodfirerocket = 
csi_stoodincoverleft = 
csi_stoodincoverpeekleft = 
csi_stoodincoverthrowleft = 
csi_stoodincoverright = 
csi_stoodincoverpeekright = 
csi_stoodincoverthrowright = 
csi_crouchidlenormal1 = 
csi_crouchidlenormal2 = 
csi_crouchidlerocket = 
csi_crouchdown = 
csi_crouchdownrocket = 
csi_crouchrolldown = 
csi_crouchrollup = 
csi_crouchmovefore = 
csi_crouchmoveback = 
csi_crouchmoveleft = 
csi_crouchmoveright = 
csi_crouchmoverun = 
csi_crouchreload = 
csi_crouchreloadrocket = 
csi_crouchwave = 
csi_crouchtoss = 
csi_crouchfirerocket = 
csi_crouchimpactfore = 
csi_crouchimpactback = 
csi_crouchimpactleft = 
csi_crouchimpactright = 
csi_crouchgetup = 
csi_crouchgetuprocket = 

As you can see, custom character models will NOT have all the animations the AI system requires, but I will be tweaking the system so it can skip an action if the corresponding animation is unavailable.  It's another way for artists and content creators to shape the behavior of the enemies from with the FPE file :)


The current character model has a little trouble holding the pistol in V1.0085 so we have improved it for V1.009. It's not PERFECT yet but it's a little better than the floaty version it replaces.


Ending on a lighter note, during my work on replacing the hacked internal animation values, my enemy decided to do a swan dive for me.  Thought it was quite amusing, and quite an unexpected attack from my enemy!

Friday sees the work begin on the terrain blending and ramping, which has been a long requested feature and so I am looking forward to seeing what I can do. Watch this space for some terrain magic :)

Không có nhận xét nào:

Đăng nhận xét