home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


ragdoll.cfg

by Zizaco on 03/02/2009 20:22, 25 messages, last message: 03/16/2011 14:51, 17317 views, last view: 04/19/2024 00:20

I\'m trying to do the ragdoll work in my character. So i\'ve seen that there is new commands to configure the ragdoll.

This is the mrfixit ragdoll.cfg:
https://sauerbraten.svn.sourceforge.net/svnroot/sauerbraten/packages/models/mrfixit/ragdoll.cfg

I can see that this configure the links, sizes and limit the movement of each bone, but what\'s the exactly structure of it?

Go to first 20 messagesGo to previous 20 messages    Board Index   

#6: Re: ..

by eihrul on 07/31/2009 01:19, refers to #5

You can't set the radius.

reply to this message

#7: ..

by Fred187 on 07/31/2009 02:25

Is there a way to allow ragdolls to respond to gunfire/explosions after the player is dead?

reply to this message

#8: Re: ..

by Hirato Kirata on 07/31/2009 10:16, refers to #7

http://www.youtube.com/watch?v=uTD4KbOCSus

mind you that's a cube 2 mod, not cube 2 :P

reply to this message

#9: ..

by Fred187 on 07/31/2009 14:31

Yeah, I'm trying to develop a mod, and would love to know how to add that as a feature...

reply to this message

#10: ..

by Zizaco on 08/03/2009 22:24

Eihrul, Ok I have learned how to use the ragdoll editor.

I have binded my model joints, fixed the angle limits, exported the cfg and executed it in my modelload. The simulation inside the editor (F1) seems fine, but in sauerbraten when my character dies his body gets hurled upwards in a incompressible speed. Why?

reply to this message

#11: Re: ..

by eihrul on 08/04/2009 06:07, refers to #10

Need to make sure every triangle has distance constraints for each edge. Need to make sure every particle maps to some joint, but not all joints need to map to a particle, like if they are children of some joint that is already mapped - like finger joints attached to a hand joint. Also remember that rotational constraints are relative to the positions of the joints at the time the rotational constraints are set. You need to make sure the model is placed back in the bind pose before exporting the cfg - can use the unmapjoints command to get the joints back to bind pose before exporting.

reply to this message

#12: Re: ..

by Zizaco on 08/04/2009 13:48, refers to #11

It's working fine now. Thanks.

reply to this message

#13: ..

by mikshaw on 03/11/2011 04:13

Cube wiki says "The savecfg command writes a sauerbraten-readable ragdoll.cfg file."

Linux version of ragdoll editor says "unknown command: savecfg"

Any ideas what I should do?

reply to this message

#14: ..

by mikshaw on 03/11/2011 04:31

Found it in the source code =o)
The command is "writecfg", not "savecfg".
So the wiki has an error.

reply to this message

#15: Message censored by administrator

by Razgriz on 03/11/2011 13:13, refers to #14

#16: ..

by mikshaw on 03/11/2011 14:10

Does scaling a model in the ragdoll editor affect the results? My model is quite tiny (used Blender units, which turns out to be about 1/3 scale of Sauerbraten), and I have to increase its size in order to comfortably work with the size of the spheres.

So far I've managed to only create a ragdoll which stretches the body beyond recognition =o)

reply to this message

#17: ..

by mikshaw on 03/12/2011 02:56

Apparently scaling doesn't bother it...finally starting to understand a little better how this tool works. Right now I've got a ragdoll that behaves like it's made of rubber and springs...not exactly what I'm shooting for, but better than what I did yesterday.

reply to this message

#18: wiki updates

by MeatROme on 03/15/2011 00:47

I've mentioned the command-confusion on the wiki now - has there ever been a switch of name for the command, or is "savecfg" just a total fluke?!
Anyway, mikshaw, since you're currently on the cusp of moving from this-prog-is-new to now-I-get-it you're a prime candidate to ask to take notes of your experience, so we can later digest that into something more informative on the wiki.
Just track down "Heureka!"-moments, as well as the big-question-marks you encounter while digging deeper into the usage. Then later we can take these as useful keywords to decide on what, in what order and to what length do we describe for those newly arrived this-prog-is-new folk :-)

reply to this message

#19: ..

by mikshaw on 03/15/2011 02:53

That's a good idea.

I'm dealing with a lot of this-prog-is-new at the moment. For a long time I was using a very sub-par machine which didn't like anything related to 3D. Now I'm using just a regular old sub-par machine, and coming back to Sauerbraten (I think it actually might have been Cube at the time), Blender, and a handful of other things to get caught up on stuff I had been wanting to do during that time.

reply to this message

#21: ..

by mikshaw on 03/15/2011 22:18

In the sources there are lines like this:
COMMAND(quit, "");
and it looks like those are the console commands/keybinds used in the program.

There are several that I don't know anything about, but I'm making a list and going to play with them after I get through the source files.

reply to this message

#22: ..

by mikshaw on 03/16/2011 00:27

I didn't get as much done as I'd hoped, but here are my notes so far.


COMMANDS:
A few, like drag, are useful only when bound to a key/mouse.
Default hotkey is listed where applicable.

saycommand - open the command line (BACKQUOTE)
loadscene - [re]load quicksave.txt (EQUALS)
loadscene FILENAME - load a scene of the given filename
savescene - save scene as quicksave.txt (MINUS)
savescene FILENAME - save scene with the given filename
loadmodel FILENAME - load a mesh, replacing the existing one
clearmodel - removes the mesh from the scene
writecfg - write ragdoll.cfg file
quit - quit
animmode 1/0 - toggle animation (F1)
stepanim - next animation step (F2 is much easier)
invertsticky - invert immovability state on all spheres (F3)
cursormode 1/0 - toggle free-fly mode (C)
forward (W)
backward (S)
left (A)
right (D)
up (E)
down (Q)
select - select sphere under cursor (MOUSE1, left mouse)
selectall - select all spheres and triangles
cancelselect - deselect all (MOUSE2, right mouse)
delselect - delete selected spheres and triangles
drag - drag a sphere (MOUSE3, middle mouse)
addsphere - add a sphere at cursor location (SPACE)
spawndist NUM - adjust the distance of the cursor (MOUSE4/5, mousewheel)
clearscene - clear everything (BACKSPACE)
delconstraints - remove constaints between 2 selected objects (DELETE)
makesticky - toggle immovability on selected spheres (N)
setsticky 0/1 - toggle immovability on all spheres
constraindist - apply a distance contraint between 2 selected spheres (T)
addtri - create a triangle from 3 selected spheres (Y)
bindjoint - bind a selected joint to a selected triangle (J)
constrainrot NUM - apply a rotation costraint of NUM degrees between 2 triangles (1-9)
showspheres 0/1 - toggle sphere visibility (F5)
showtris 0/1 - toggle triangle visibility (F6)
showconstraints 0/1 - toggle constaints visibility (F7)
showjoints 0/1 - toggle joint visibility (F8)
showmverts 0/1 - toggle mesh visibility (F9)
confade NUM - clear console output after NUM seconds (0 disables)
bind KEY COMMAND - bind COMMAND to KEY (use square brackets for multi-word command)
alias ALIAS COMMAND - create a short version (ALIAS) of COMMAND
exec FILENAME - execute the commands in FILENAME
echo STRING - print something

COMMANDS I DON'T UNDERSTAND:
(some are obviously meant for use in autoexec.cfg rather than in the console)
movespeed NUM
gethoverdist
hidejoints
unhidejoints
getspheredist
setspheredist
rotspheres
seteye
updatedist
updateconstraints
printconstraints
printjointmap
fixmodeloffset - moves the ragdoll for ? reason
unmapjoints
movespheres
getpos
savepos
loadpos
getmodelscale
getmodeloffset
font
fontchar
tabify
conskip
keymap
getbind
searchbinds
inputcommand
history
onrelease
listcomplete
push
pop
loop
concat
result
concatword
format
at
substr
listlen
getalias
&&
||

there's a "while" and "if" listed in command.cpp...not sure if
they can be used as commands.

MISC COMMENTS:

It doesn't hurt to have backups if you tend to mess around with things.
Command "savescene something_other_than_quicksave.txt" will save a copy of
the scene file that won't be overwritten by quicksave. However, EQUALS
will still load quicksave.txt, replacing the current scene.

I haven't yet found a need for pushing the cusor forward/back. When you
hover over a joint, the sphere seems to be placed at the correct depth
regardless of where the cursor is on the Y axis (or Z, depending on your
idea of what depth should be labeled). I suppose this is used for creating
a ragdoll without a mesh?

Blender's default units are about 1/3 scale of Sauerbraten units. If you
create a character in Blender, using a Blender meta-rig scale for example,
your exported md5/iqm mesh will need to be scaled unless you want to be playing
around with oversized spheres blocking your view. The only way I know how to
do this is to edit the 'm' line in the scene file. A model using "mdlscale 3350" in
md5.cfg could be "m 3.350000 whatever.md5mesh" in quicksave.txt, although scaling
it exactly to its Sauer size doesn't seem to be necessary. As long as it's
big enough to comfortably manipulate the spheres you should be good.
1. BACKSPACE to clear the scene
2. command: loadmodel whatever.md5mesh
3. MINUS to save quicksave.txt
4. change the 'm' line of quicksave.txt in a text editor
5. EQUALS to reload quicksave.txt


BUGGY STUFF:

Join seems to be a hit-or-miss adventure. Sometimes I have to try it
several times before it will take. Does it sometimes remove the join
from other joints?


WISHLIST:

Joining a triangle to a joint seems to require selecting the joint,
the triangle, and all three spheres of the triangle. I think it would
be simpler (for the user) to just select the triangle and the joint.

Rotating the view is complicated; CKey seems to be unpredictable.
It would be nice to be able to navigate in a way similar to how most
3D modelers work. It could be an interactive tumble around the mesh,
or even just hotkeys to align the view to front, top, and side.

Orthographic view would be nice, or a way to adjust the yfov.

Some sort of visual clue about which triangles are joined to which
joints. The light blue joint tells you it's joined, but doesn't tell
you which triangles are joined to it.

Help command (h or ?) to display hotkeys/commands.

Scaling a mesh within the program might be helpful, though not a big deal.

More specific constraints (knee bending in only one direction) would be
awesome, but I assume that would require changes to Sauerbraten too.

reply to this message

#23: Re: ..

by suicizer01 on 03/16/2011 01:14, refers to #22

I'm sorry, but is this still about ragdolls 0.0?
Can I ask if all those commands work ingame or in some other program?

reply to this message

#24: ..

by mikshaw on 03/16/2011 02:19

Some of the commands are related to those in-game (bind, alias, exec, for example), probably for the sake of consistency, but in this case they apply to Eihrul's ragdoll tool.

reply to this message

#25: Re: ..

by suicizer01 on 03/16/2011 10:06, refers to #24

Ah k, but are ragdolls editable ingame? Does anything get shown of to the playermodel when editing it's ragdolls?

Can you please post some screenshots just to make such things more clear?

reply to this message

#26: ..

by mikshaw on 03/16/2011 14:51

As far as I know, the editing of ragdolls is done exclusively in the ragdoll editor (http://lee.fov120.com/ragdoll.tar.gz 1mb), unless you want to try to parse the ragdoll.cfg file and work on it in a text editor.

The ragdoll editor displays the character mesh in wireframe, including bone joints. I might post a couple of reference screenshots if I run into special situations, but there's really not much to be shown with screenshots. If you download the editor and run it (it's small and self-contained...no install needed), you'll immediately see all there is to see as far as a visual interface...a mr.fixit mesh with a basic ragdoll skeleton.

On the topic of the Mr. Fixit ragdoll, one of the things that gave me a difficult time starting out with this editor is the way the included ragdoll is presented. All of the spheres are immobilized, so unless you already understand the editor then the ragdoll is not very helpful. I only just yesterday realized why F1 did nothing with that ragdoll. Also, it's an incomplete ragdoll, which can be misleading to someone (me) thinking it was intended as an example of how a ragdoll scene should be. Instead it's more like an in-store display that various customers have already poked around at and changed/removed stuff.

reply to this message

Go to first 20 messagesGo to previous 20 messages    Board Index   


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53700599 visitors requested 71468196 pages
page created in 0.017 seconds using 10 queries
hosted by Boost Digital