From Valve Developer Community
Jump to: navigation, search

Using bonetreecollapse & replacebone

How do Ragdoll Physics and Skeletal Animations cope when the model's bonetree is modified at a given Render Distance from the Player? What happens in multiplayer games ? --Beeswax 08:23, 1 May 2008 (PDT)

LODs are only used on the client, i.e. for visual purposes. --TomEdwards 12:51, 1 May 2008 (PDT)
That's what I thought too; the skeleton/bones are not rendered at any LOD, they are used only to deform the Mesh and (jointed) Collisionmodel. --Beeswax 15:42, 1 May 2008 (PDT)
Are you suggesting that in multiplayer games these bone_$lod commands are ignored, or a model that uses them would not function properly ? --Beeswax 15:42, 1 May 2008 (PDT)
I am surprised that the ragdoll and animation systems are flexible enough to deal with missing bones at all ... ? --Beeswax 15:42, 1 May 2008 (PDT)
Collisions are handled entirely on the server. LODs are handled purely on the client. That isn't always true (clientside ragdolls), but it's a near enough approximation. --TomEdwards 16:54, 1 May 2008 (PDT)

Removing meshes

Well, this sucks:

using removemodel "namehere" results in giving me ERROR: 'EXCEPTION_ACCESS_VIOLATION' (assert: 1) in GUIstudiomdl...

using replacemodel "namehere" blank results in studiomdl not finishing the job, cause it can't find "blank.smd"

I am using the Orange Box Compiler and the meshes I want to remove are parts of $bodygroups - could that be the reason? --Jike 14:34, 10 November 2010 (UTC)

Merged Models (W_ models etc)

I've noticed that when you merge a model (like a world gun model to an NPCs hands/arms) and the LoD transition distance is the same for both the merged model and parent model that the transitions don't trigger at the same time. They appear to be slightly off causing one to trigger earlier than the other. I thought this may be because the origin may be slightly different on the merger but changing it makes no apparent distance. For the most part this doesn't matter but I have a 'decal' like mesh applied to a player model and when they trigger at different distances causes noticeable clipping for a brief moment. I'm assuming this is a just a precision error and can't really be resolved.

It's not distance that matters but on-screen model size. If you are doing a runtime bone merge between two entities I expect that this is indeed unavoidable. --Artfunkel 08:38, 4 March 2012 (PST)
That's interesting. So the LoD metric is calculated from the mesh size and not the origin or root bone? It has got me thinking if the hull box (Movement Box in MDLViewer) has something to do with it as surely it'd be quite computational to calculated from a mesh with thousands of vertices. It could also be something else but I guess I'll have to test some things to see if this is the case. --rozzy85 17:18, 21 March 2012 (PDT)