How to make a working custom prop_door_rotating model?

Got problems with your models? Struggling with textures? Get help with your custom assets.

How to make a working custom prop_door_rotating model?

Postby trcc on Fri Nov 26, 2010 3:35 am

I made a custom door model.. but I can't figure out how to build the .qc file for a prop_door_rotating model.

I also have hard time to make the in-editor hinge position with the one I define in 3ds Max.

(func_door_rotating is not an option nor is a new skin for existing prop_door_rotating model)


Halp! ! !
trcc
Pheropod
Pheropod
 
Joined: Fri Aug 14, 2009 6:54 pm
Location: Montréal, Canada

Re: How to make a working custom prop_door_rotating model?

Postby Gary on Fri Nov 26, 2010 5:49 am

Decompile an existing door model?
Have a question related to modding or something I posted? Something that needs staff attention? I haven't been active lately, but feel free to PM me or message me on Steam(link below)

User avatar
Gary
Interlopers Staff
Interlopers Staff
 
Joined: Wed Dec 16, 2009 12:40 am
Location: USA, FL

Re: How to make a working custom prop_door_rotating model?

Postby trcc on Fri Nov 26, 2010 11:27 pm

That's the .qc file from decompiled door model: door01_left.mdl
There is no $staticprop or mention of mass, I conclude the prop_door_rotating are made of prop_dynamic? (must be dynamic because of animated handle??)

If so, how do I add multiple bones to a mesh? I Added a skin modifier, placed a bone where I wanted but then I'm lost on how to make sure the bone follows when I export the model.!

Code: Select all
$cd "C:\Users\xxxxxxx\Desktop"
$modelname "props_c17/door01_left.mdl"
$model "Body" "door01_left_door_reference.smd"
$lod 15
 {
  replacemodel "door01_left_door_reference" "lod1_door01_left_door_reference"
}
$model "handle01" "UnknownModelName.smd"
$lod 15
 {
  replacemodel "UnknownModelName" "lod1_UnknownModelName"
}
$model "handle01" "door01_left_handle01_reference.smd"
$lod 15
 {
  replacemodel "door01_left_handle01_reference" "lod1_door01_left_handle01_reference"
}
$model "handle01" "door01_left_handle02_reference.smd"
$lod 15
 {
  replacemodel "door01_left_handle02_reference" "lod1_door01_left_handle02_reference"
}
$model "handle01" "door01_left_handle03_reference.smd"
$lod 15
 {
  replacemodel "door01_left_handle03_reference" "lod1_door01_left_handle03_reference"
}
$cdmaterials "models\props_c17/"
$texturegroup skinfamilies
{
   {"door01a.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin2.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin3.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin4.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin5.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin6.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin7.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin8.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin9.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin10.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin11.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin12.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin13.vmt"
 "door01a_powerlock.vmt"
}
    {"door01a_skin14.vmt"
 "door01a_powerlock.vmt"
}
 }
$hboxset "default"
$hbox 0 "door" 0.000  -54.000  -2.657  48.000  54.000  4.761
$hbox 0 "handle" -6.924  -1.547  -6.993  1.547  1.547  4.998
$hbox 0 "handle02" -40.690  -1.214  0.000  0.000  1.995  3.066
// Model uses material "door01a.vmt"
// Model uses material "door01a_powerlock.vmt"
// Model uses material "door01a_skin2.vmt"
// Model uses material "door01a_skin3.vmt"
// Model uses material "door01a_skin4.vmt"
// Model uses material "door01a_skin5.vmt"
// Model uses material "door01a_skin6.vmt"
// Model uses material "door01a_skin7.vmt"
// Model uses material "door01a_skin8.vmt"
// Model uses material "door01a_skin9.vmt"
// Model uses material "door01a_skin10.vmt"
// Model uses material "door01a_skin11.vmt"
// Model uses material "door01a_skin12.vmt"
// Model uses material "door01a_skin13.vmt"
// Model uses material "door01a_skin14.vmt"
$surfaceprop "metal"
$keyvalues  { prop_data { "allowstatic" "1" "blocklos" "1"  } door_options { "default" { "open" "Doors.FullOpen1" "close" "Doors.FullClose1" "move" "Doors.Move1" "surfaceprop" "wood"  } "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"  } "skin12" { "open" "Doors.FullOpen1" "close" "Doors.FullClose1" "move" "Doors.Move1" "surfaceprop" "metal"  } "skin13" { "open" "Doors.FullOpen3" "close" "Doors.FullClose3" "move" "Doors.Move3" "s
trcc
Pheropod
Pheropod
 
Joined: Fri Aug 14, 2009 6:54 pm
Location: Montréal, Canada

Re: How to make a working custom prop_door_rotating model?

Postby crazycarl on Sat Nov 27, 2010 3:12 am

Import the reference smd you got by decompiling and you should get all the bones and a skin modifier ready to go.
crazycarl
Been Here A While
Been Here A While
 
Joined: Tue Jan 12, 2010 9:12 pm

Re: How to make a working custom prop_door_rotating model?

Postby trcc on Sat Nov 27, 2010 4:57 am

I actually used it as a reference but I did it all by myself!.Reference door has 2 bones directly on top of each other named:

Handle01 and Handle02... which I don't quite understand. Can't you just link the two handles to the same bone? That's what I'm planning to do and it works in 3ds Max :|

How do you export the whole thing? Do you grab the model + bones and export it?

OR

Export the mesh separately and then the bones with their animations separately??

OR

none of the above! (if so, explain!)

Thanks! ( never actually exported a prop_dynamic :( )
trcc
Pheropod
Pheropod
 
Joined: Fri Aug 14, 2009 6:54 pm
Location: Montréal, Canada

Re: How to make a working custom prop_door_rotating model?

Postby crazycarl on Sat Nov 27, 2010 10:40 pm

Handle01 is for the handle that turns, and Handle02 is for the push bar, which are both options on door01_left.mdl. If you play the open animation you'll see they move differently.

When you export, you can pick a reference smd or an animation smd. A reference smd saves the model and all the bones at their position in the first frame. It's important to have your bones in place and skinned to the mesh, but you don't have to worry about selecting anything--everything in the scene gets exported.

Then you want to export an animation smd for every animation--idle, locked, and open.
crazycarl
Been Here A While
Been Here A While
 
Joined: Tue Jan 12, 2010 9:12 pm

Re: How to make a working custom prop_door_rotating model?

Postby trcc on Sun Nov 28, 2010 1:33 am

I usually use the export selected option because I also have the collision model to worry about in the scene.

I successfully animated my handle in-game. I still have a problem though...

When compiling the model with $staticprop, the collisionmodel is accurately in place. as shown here:

Image

When compiling the model without $staticprop, collisionmodel is centered on the pivot of the reference model ( or the root bone )

Image


my qc file:

Code: Select all
$modelname  props_rpd/rpd_door01.mdl
$cdmaterials models/props_rpd/

$body studio "rpd_door01_ref.smd"

$surfaceprop "metal"

$collisionmodel "rpd_door01_phys.smd"
{
   $concave
}

$sequence idle "rpd_door01_anim" loop fps 1
$sequence open "rpd_door01_open" fps 30

$keyvalues {
   
       "allowstatic" "1" "blocklos" "1"
   }
trcc
Pheropod
Pheropod
 
Joined: Fri Aug 14, 2009 6:54 pm
Location: Montréal, Canada

Return to Custom Asset Help

Who is online

Users browsing this forum: No registered users

cron