prop_ragdoll
![]() |
---|
CRagdollProp |
![]() |
prop_ragdoll
是一个点实体 ,可在所有的 起源 游戏中使用。 It is a VPhysics ragdoll. Ragdolls are collections of physics objects constrained together to simulate a jointed object like a dead body. They are very expensive to simulate.




physics_prop_ragdoll
。
![]() prop_ragdoll_original . The difference is: prop_ragdoll_original can't be gibbed with explosions, crowbar can hit prop_ragdoll_original if [4] Debris spawnflag is unchecked (crowbar's raycast skips prop_ragdoll for some reason), prop_ragdoll_original doesn't bleed or have decals on it, prop_ragdoll_original can't be picked up, prop_ragdoll_original have realistic bullet push.![]()
|
Death Ragdolls/Ragdoll Transformation
When a NPC/player dies or an entity receives the BecomeRagdoll
input, it normally creates a client-side ragdoll and copies most of its animation and visual data to it. Unlike server-side prop_ragdolls, these client-side ragdolls are handled completely on a per-client basis and are much cheaper and simpler than their server-side counterparts, at the expense of being virtually nonexistent on the server, being inconsistent across client perspectives, and only colliding with entities that have physics objects on the client (e.g. worldspawn).
However, a NPC will become a server-side ragdoll while it's under any of the following conditions:
- The NPC is inside the volume of a trigger_serverragdoll
- The NPC is killed by a vehicle in singleplayer
- The gravity gun is supercharged
- The NPC dies on fire while in Alyx darkness mode
- The NPC is a vital ally (e.g., npc_alyx)
These server-side death ragdolls will collide with physics objects and beyond, like any prop_ragdoll, but they are marked as debris and do not collide with each other. They do not collide with themselves either, unlike client-side ragdolls (fixed in Entropy : Zero 2 and
黑山). This is believed to be intentional behavior to reduce performance/networking costs.


代码:This can be modified at
CBaseAnimating::CopyAnimationDataFrom()
inbaseanimating.cpp
for server-side ragdolls andC_BaseAnimating::CreateRagdollCopy()
inc_baseanimating.cpp
for client-side ragdolls.
Keyvalues
- Name (目标名称) <target_source>[ Edit ]
- 这个名称是其他实体通过 输入/输出 或其他 关键值 (如
parentname
或target
) 来引用该实体时使用的标识符。
该名称也会显示在 Hammer 编辑器的 2D 视图和 实体报告 中。参见: 所有实体均可使用的 通用键值、输入与输出
- Override Animation (angleOverride) <字符串 >
- Filled in by the engine via hammer_update_entity. Do not edit by hand except to clear.
GMODSandbox:
|
Flags
- Debris : [4]
- Don't collide with the player or other debris
- Use 'Least Recently Used' Retirement [澄清] : [4096] 不存在于FGD!
- Allow Dissolve : [8192]
- Motion Disabled : [16384]
- Allow stretch : [32768]
- Start asleep : [65536]
Inputs
- StartRagdollBoogie
- Begins ragdoll boogie effect for 5 seconds.
错误:This input is actually supposed to use a parameter for how long the ragdoll should boogie, but it uses the wrong field type in the data description. [todo tested in ?]
代码修复:In
CRagdollProp
's data description, findDEFINE_INPUTFUNC( FIELD_VOID, "StartRagdollBoogie", InputStartRadgollBoogie )
and replaceFIELD_VOID
withFIELD_FLOAT
.
- EnableMotion / DisableMotion
- Enable / disable physics simulation.
- AllowBloodPool (仅存在于
之中) 不存在于FGD!
- Сorpse once will create pool of blood (particle effect) if it is placed on brush.
注意:Not avaible for
prop_ragdoll_original
andprop_ragdoll_attached
.