I'm having a problem with bone animations on a prop_door_rotating model I made.
Basically what I'm trying to do is make a universal door model for the prop_door_rotating entity to allow the use of double doors that can swing together in both directions and have both the rotating handle and pushbar door hardware configurations available on both sides of the door. I've succeeded in all of these tasks, [I]but[/I] the animations of the door hardware is where I'm having grief. While I have been modelling for over a decade, I've never done any extensive animation because frankly, I'm crap at animating models.
Each door hardware type has its own animation sequence which are overlaid on top of each other using a command called "addlayer" in the QC because only the first hardware type is allowed to have the door activity. The way I think I understand how it works is the animation sequence of the subsequent handles overlay on the bones and move them differently. But documentation on how to use "addlayer" is basically non-existent so I've had to reverse engineer the original door model to try and figure out how it works, which obviously isn't going great. So with my current QC, I can only get one type of door hardware animation to work, either the turn handle or the pushbar and it looks hilariously bad:
[media]http://www.youtube.com/watch?v=yBCSJy1ebYM[/media]
But the first door hardware type (the handle) works (the grey door is my model):
[media]http://www.youtube.com/watch?v=YT8gUvOQoKo[/media]
Here's the QC to the model:
[code]$ModelName "props_c17/door01b_right.mdl"
$BodyGroup "Body"
{
studio "door01b_right_body.smd"
}
$BodyGroup "hardware"
{
blank
studio "door01b_right_handle.smd"
studio "door01b_right_crashbar.smd"
}
$SurfaceProp "metal_box"
$Contents "solid"
$CDMaterials "models/props_c17/"
$TextureGroup "skinfamilies"
{
{ "door01a" }
{ "door01a_skin2" }
{ "door01a_skin3" }
{ "door01a_skin4" }
{ "door01a_skin5" }
{ "door01a_skin6" }
{ "door01a_skin7" }
{ "door01a_skin8" }
{ "door01a_skin9" }
{ "door01a_skin10" }
{ "door01a_skin11" }
{ "door01a_skin12" }
{ "door01a_skin13" }
{ "door01a_skin14" }
}
$WeightList "weights_openbar" {
"door" 1
"handle_base" 1
"handle_pivot" 1
}
$Sequence "idle" {
"anims/door01_idle.smd"
activity "ACT_IDLE" 1
fadein 0.2
fadeout 0.2
fps 30
}
$Sequence "locked" {
"anims/handle01_open.smd"
activity "ACT_DOOR_LOCKED" 1
{ event 1 8 "" }
fadein 0.2
fadeout 0.2
addlayer "openbar"
fps 30
}
$Sequence "openbar" {
"anims/crashbar01_open.smd"
fadein 0.2
fadeout 0.2
hidden
fps 30
weightlist "weights_openbar"
}
$Sequence "open" {
"anims/handle01_open.smd"
activity "ACT_DOOR_OPEN" 1
{ event 1 7 "" }
fadein 0.2
fadeout 0.2
addlayer "openbar"
fps 30
}
$CollisionModel "door01b_right_collision.smd"
{
$mass 50
$inertia 1
$damping 0
$rotdamping 0
$rootbone ""
$concave
}
$KeyValues
{
prop_data
{
"allowstatic" "1"
"blocklos" "1"
}
door_options
{
"default"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
}
"skin0"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
"surfaceprop" "metal"
}
"skin1"
{
"open" "Doors.FullOpen4"
"close" "Doors.FullClose4"
"move" "Doors.Move4"
"surfaceprop" "wood"
}
"skin2"
{
"open" "Doors.FullOpen3"
"close" "Doors.FullClose3"
"move" "Doors.Move3"
"surfaceprop" "wood"
}
"skin3"
{
"open" "Doors.FullOpen4"
"close" "Doors.FullClose4"
"move" "Doors.Move4"
"surfaceprop" "wood"
}
"skin4"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
"surfaceprop" "metal"
}
"skin5"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
"surfaceprop" "metal"
}
"skin6"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
"surfaceprop" "metal"
}
"skin7"
{
"open" "Doors.FullOpen2"
"close" "Doors.FullClose2"
"move" "Doors.Move2"
"surfaceprop" "metal"
}
"skin8"
{
"open" "Doors.FullOpen1"
"close" "Doors.FullClose1"
"move" "Doors.Move1"
"surfaceprop" "metal"
}
"skin9"
{
"open" "Doors.FullOpen2"
"close" "Doors.FullClose2"
"move" "Doors.Move2"
"surfaceprop" "metal"
}
"skin10"
{
"open" "Doors.FullOpen2"
"close" "Doors.FullClose2"
"move" "Doors.Move2"
"surfaceprop" "metal"
}
"skin11"
{
"open" "Doors.FullOpen3"
"close" "Doors.FullClose3"
"move" "Doors.Move3"
"surfaceprop" "wood"
}
"hardware0"
{
"locked" "DoorSound.Null"
"unlocked" "DoorSound.Null"
}
"hardware1"
{
"locked" "DoorHandles.Locked1"
"unlocked" "DoorHandles.Unlocked1"
}
"hardware2"
{
"locked" "DoorHandles.Locked2"
"unlocked" "DoorHandles.Unlocked2"
}
}
}[/code]
Any help in getting this problem solved would be appreciated. I can provide my model sources if it helps.
Sorry, you need to Log In to post a reply to this thread.