ANM event není automaticky gameplay callback
Event zapsaný v .anm se musí potkat s registrací ve scriptu nebo s anim graphem. U akcí je praktický příklad ActionExec, ActionExecStart a ActionExecEnd, které registruje ActionContinuousBase.
Přehled z přiloženého katalogu PLAYER_ANM_EVENTS.md doplněný o veřejné zdroje z DayZ Exploreru, Bohemia materiálů, GitHubu, Steam Workshopu a komunitních videí. Cíl: rychle poznat, co event znamená, kde se používá a co nepřenášet naslepo do vlastních animací.
Vytvoř akci, drž 30 FPS, hlídej skeleton, ruce, IK a loopovatelnost.
Export textové animace/modelu; u plugin workflow lze přidat/editovat eventy v sidebaru.
DayZ Tools Workbench převede .txa/.txo do .anm/.xob a napojí assety do modu.
Graph rozhoduje BlendIn, BlendOut, LoopStart, LoopEnd a přechodové podmínky.
Event zapsaný v .anm se musí potkat s registrací ve scriptu nebo s anim graphem. U akcí je praktický příklad ActionExec, ActionExecStart a ActionExecEnd, které registruje ActionContinuousBase.
V analyzovaném vanilla korpusu jsou event klipy na 30 FPS. Pokud je event na frame 45, praktický timing je okolo 1.5 s.
Sound, SoundWeapon, SoundAttachment a SoundVoice závisí na ID v AnimEvents konfiguraci. Kopírovat číslo bez CfgVehicles lookupu je nejčastější slepá ulička.
BlendIn, BlendOut, LoopStart a LoopEnd se používají jako graph timing body. Nejsou to vhodné vlastní API názvy pro modderské callbacky.
SoundAttachement, SountAttachment, SoundWepon, SoundWespom nebo prázdný name jsou historické artefakty. Do nových animací je nepřenášet.
Z PLAYER_ANM_EVENTS.md vznikl katalog vanilla player .anm eventů: 92 názvů, 1 490 parametrických kombinací a rozdělení na action, combat, movement, graph, item/weapon, sound a anomálie.
Veřejný DayZAnimationPluginDemo ukazuje praktickou Blender pipeline: import/export .txo/.txa, přidání/editace animation eventů a převod přes DayZ Tools Workbench do .xob/.anm.
DayZ-Misc publikuje dodatečné resources pro moddery včetně rig/animation materiálů. Je to dobrý základ pro kostru, proxy a kompatibilitu s DayZ/Arma licencí.
Vanilla script zdroje ukazují, že ActionContinuousBase registruje ActionExecStart, ActionExecEnd a ActionExec přes RegisterAnimationEvent.
Steam a Reddit ukazují, že custom reload/emote/vehicle animace jsou reálně používané, ale workflow je citlivé na Workbench, graphy, IK a přesné event názvy.
| Event | Počet | Použití | Stav |
|---|---|---|---|
| ActionExec | 600 | Univerzální okamžik provedení akce; callback UA_ANIM_EVENT. | confirmed |
| ActionExecStart | 51 | Začátek loop části continuous akce; UA_IN_START. | confirmed |
| ActionExecEnd | 50 | Konec loop části continuous akce; UA_IN_END. | confirmed |
| CraftingAction | 11 | Dílčí trigger crafting/trap akcí; UA_IN_CRAFTING. | confirmed |
| EventFishPlacement | 1 | Fishing callback pro práci s prutem po animaci. | confirmed |
| ParticleSplash | 1 | Synchronizovaný splash efekt u fishing animace. | confirmed |
| Bleed | 8 | Suicide emote callback spouští krvácení. | confirmed |
| Death | 10 | Suicide emote callback dokončí smrt. | confirmed |
| Simulation_End | 155 | Konec simulation fáze suicide/emote; skript ID 3. | confirmed |
| UA_SPAWN_DUST_A/B | 4 | Prachové zásahy lopaty; userInt 19/20. | derived |
| Event | Počet | Použití | Stav |
|---|---|---|---|
| CombatAlignStart | 77 | Začátek zarovnání melee úderu. | derived |
| CombatHit | 93 | Timing standardního zásahu. | derived |
| CombatHitLight | 37 | Timing lehkého zásahu. | derived |
| CombatHitHeavy | 33 | Timing těžkého zásahu. | derived |
| CombatInputCheckStart/End | 154 | Okno pro vstup/queue komba. | derived |
| CombatComboNext | 74 | Bod přechodu na další combo úder. | derived |
| CombatEarlyExit | 86 | Bezpečný časný odchod z melee v Master.agr. | confirmed |
| CombatEarlyExitSprint | 8 | Časný odchod z melee při pohybu/sprintu. | confirmed |
| Event | Počet | Použití | Stav |
|---|---|---|---|
| LFootUp / LFootDown | 3 340 | Sync marker zvednutí/došlap levé nohy. | confirmed |
| RFootUp / RFootDown | 3 255 | Sync marker zvednutí/došlap pravé nohy. | confirmed |
| Step | 5 970 | Povrchový krok, noise a periodické poškození bot; používá userString/userInt profil. | confirmed |
| Turn* | 1 392 | Foot markery pro otočky ve stoje/crouch. | derived |
| TransitionIn / TransitionOut | 406 | Začátek a konec stance/move přechodu. | derived |
| Jump_TakeOff / Jump_Land | 120 | Okamžik odrazu a dopadu. | derived |
| LandEarlyExit | 61 | Bod, od kterého lze opustit landing animaci. | derived |
| LadderEarlyEnter | 1 | Povolení přechodu na pohyb po žebříku před koncem klipu. | confirmed |
| Event | Počet | Použití | Stav |
|---|---|---|---|
| BlendIn | 416 | Referenční náběhový čas přes GetEventTime. | confirmed |
| BlendIn2 | 2 | Druhý náběhový timing pro reload přechody. | confirmed |
| BlendOut | 281 | Podmínka/čas pro odchod ze source clipu. | confirmed |
| BlendOut2 | 68 | Druhý odchodový timing ve Weapons.agr. | confirmed |
| LoopStart | 175 | Začátek smyčky. | confirmed |
| LoopEnd | 175 | Konec smyčky. | confirmed |
| Event | Počet | Použití | Stav |
|---|---|---|---|
| Item_LeaveHands | 12 | Timing opuštění předmětu z rukou při hodu. | derived |
| Item_LinkRHand | 262 | Připojení rekvizity do pravé ruky. | derived |
| Item_LinkToLHand | 241 | Přesun/připojení rekvizity do levé ruky při reloadu. | derived |
| Weapon_Change_Hide/Show | 77 | Skrytí/ukázání zbraně při weapon switch. | confirmed |
| Weapon_BulletEject | 372 | Vyhození náboje/nábojnice. | confirmed |
| Weapon_BulletShow/Hide | 280 | Vizuální ukázání/skrytí patrony. | confirmed |
| Weapon_MagazineAttached/Detached | 166 | Okamžik připojení/odpojení zásobníku. | confirmed |
| Weapon_Cocked | 375 | Natažený stav zbraně; jedna vanilla odchylka userInt 193. | confirmed |
| Weapon_CanUnjam_Start/End | 360 | Okno pro řešení záseku. | confirmed |
| Weapon_Unjammed | 90 | Dokončení odstranění záseku. | confirmed |
| Event | Počet | Použití | Stav |
|---|---|---|---|
| Sound | 3 892 | Obecný sound event přes SurvivorBase AnimEvents Sound. | confirmed |
| SoundWeapon | 2 708 | Zvuk zbraně; nejdřív item v rukou, pak player tabulka. | confirmed |
| SoundAttachment | 8 552 | Zvuk attachmentu; userString vybírá sloty, userInt záznam. | confirmed |
| SoundVoice | 510 | Hlas/zvuk postavy přes voice/sound lookup. | confirmed |
| SoundAttachement / SountAttachment / SoundWepon | 36 | Překlepy a legacy artefakty; nepoužívat. | risk |
Vytvoř akci, drž 30 FPS, hlídej skeleton, ruce, IK a loopovatelnost.
Export textové animace/modelu; u plugin workflow lze přidat/editovat eventy v sidebaru.
DayZ Tools Workbench převede .txa/.txo do .anm/.xob a napojí assety do modu.
Graph rozhoduje BlendIn, BlendOut, LoopStart, LoopEnd a přechodové podmínky.
RegisterAnimationEvent, AnimEvents Sound, weapon state a item proxy musí sedět s event názvy.
Ověř timing, zrušení akce, multiplayer autoritu, zvuky, ruce, zásobníky, IK a edge cases.
Základy
Dobrý start pro pochopení P3D, model.cfg a základního napojení animací v DayZ modu.
Otevřít video
Model.cfg
Vysvětluje roli model.cfg, selections a modelového základu, který animace potřebují.
Otevřít video
Creatures
Workshop zaměřený na creature animace a obecné animační workflow v DayZ komunitě.
Otevřít video
Intro
Úvod do custom animací v DayZ; dobré video před hlubším řešením eventů, Workbenche a exportu.
Otevřít video
Weapons / Items
Praktické komunitní znalosti k custom animacím zbraní a předmětů.
Otevřít video
IK
Krátký návod k inverse kinematics, užitečný hlavně pro ruce, míření a držení předmětů.
Otevřít video
Reload
Ruský tutorial k jednoduché reload animaci; užitečný hlavně jako praktická ukázka workflow.
Otevřít video
Blender
Pomáhá s weight paintem a vazbou modelu na skeleton, což je častý zdroj rozbitých animací.
Otevřít video
Blender / Model
Organizace modelu v Blenderu před exportem; dobré pro čistší workflow a méně problémů ve Workbenchi.
Otevřít video
Weapon mod
Celkový proces tvorby custom zbraně, munice a zvuků; vhodné jako kontext pro weapon animation eventy.
Otevřít video
Enfusion / TXA
Není přímo DayZ, ale ukazuje příbuzný Enfusion export animací z Blenderu; užitečné pro pochopení .txa pipeline.
Otevřít video
Community
Rozhovor a komunitní kontext okolo custom animací a modderského workflow.
Otevřít videoCreature animace nejsou jen samotný pohyb v Blenderu. Důležité je udržet vazbu mezi skeletonem, eventy v přesných framech, exportem do .anm, graph přechody a tím, kdo event ve hře skutečně čte.
U creature animací si nejdřív ujasni, jestli řešíš idle, walk/run cyklus, attack, hit reaction, death nebo speciální interakci. Každá z těchto rodin potřebuje jiné eventy a jiné přechody v graphu.
Model musí sedět na správný rig, váhy nesmí tahat mesh mimo kostru a pojmenování selections/proxy musí odpovídat tomu, co pak čeká model.cfg a Workbench.
Drž stabilní FPS, hlídej první/poslední frame u loopů a u pohybu kontroluj kontakt nohou se zemí. Krokové cykly potřebují jasné momenty došlapu, jinak budou zvuky a noise působit mimo.
Footstep, sound, attack/hit nebo custom marker patří na snímek, kde se má stát věc ve hře. Pro DayZ player eventy platí praktické pravidlo z katalogu: čas = frame / 30.
Blender workflow obvykle končí textovou animací .txa, kterou Workbench převádí do .anm. U custom pipeline pomáhá plugin, který umožňuje editovat animation events před importem.
V .agr/.agf řešíš, kdy animace začne, kdy se loopuje a kdy se smí ukončit. BlendIn, BlendOut, LoopStart a LoopEnd nejsou dekorace, ale praktické časovací body.
Samotný event v .anm nic neudělá, pokud ho nečte graph, script nebo AnimEvents konfigurace. Pro akce je typický příklad RegisterAnimationEvent, pro zvuky lookup přes AnimEvents.
Creature a vehicle/survivor animace často vypadají dobře lokálně, ale rozjedou se při síťové synchronizaci, při přerušení animace nebo při změně stavu. Testuj start, loop, cancel, hit timing a vzdálenostní LOD.
https://dayzexplorer.zeroy.com/actioncontinuousbase_8c_source.html
https://community.bistudio.com/wiki/DayZ:Enforce_Script_Syntax
https://steamcommunity.com/workshop/filedetails/?id=2918418331
https://steamcommunity.com/sharedfiles/filedetails/?id=3297234994