Garry's Mod Wiki

Entity:ManipulateBoneAngles

Entity:ManipulateBoneAngles( number boneID, Angle ang )

Description

Sets custom bone angles.

The repeated use of bone manipulation in multiplayer games is highly discouraged due to the huge produced network traffic.

Arguments

1 number boneID
Index of the bone you want to manipulate
2 Angle ang
Angle to apply.

The angle is relative to the original bone angle, not relative to the world or the entity.

Example

This example shows the network usage impact of repeatedly using bone manipulation serverside.

To see the difference, type in client's console: net_graph 3

The rotation is not smooth when using Entity:SetNWFloat() because it does not update the value on every frame.

local server_only = true -- Change the value! if server_only then if SERVER then hook.Add( "Think", "bone_manipulation_test", function() for _,ent in ipairs( ents.FindByModel( "models/buggy.mdl" ) ) do ent:ManipulateBoneAngles( 28, Angle( 0,0,RealTime()*180 ) ) end end ) else hook.Add( "Think", "bone_manipulation_test", function() end ) end else if SERVER then hook.Add( "Think", "bone_manipulation_test", function() for _,ent in ipairs( ents.FindByModel( "models/buggy.mdl" ) ) do ent:SetNWFloat( "bone_manipulation_test", RealTime()*180 ) -- Entity:SetNW....() do not broadcast new values instantly end end ) else hook.Add( "Think", "bone_manipulation_test", function() for _,ent in ipairs( ents.GetAll() ) do if ent:GetModel() == "models/buggy.mdl" then ent:ManipulateBoneAngles( 28, Angle( 0,0,ent:GetNWFloat( "bone_manipulation_test" ) ) ) end end end ) end end
Output: Rotation of the ammo box of all HL2 buggies.

Page Links


Special Pages


Wikis

?

Render Time: 48ms

DB GetPage 5
Generate Html 5
SaveChanges (1) 17
Render Body 0
Render Sidebar 18