Forum

DPM models?

Discuss programming in the QuakeC language.

Moderator: InsideQC Admins

Postby Spike » Thu Aug 30, 2007 12:56 pm

well you could use a normalised quaternion with seperate scale to avoid loosing too much data, which would be a regular vector with a float attached (a direction can be compressed into a 3-componant quaternion with 4-componant set to 1 if you're happy to ignore the scale).
Quaternions have some nice handy shortcuts too, but constantly converting from one system to the other can be awkward.

talking about quaternions, qfcc supports denormalised/standard quaternions 4-componant as a native type.
its very tempting to expand fteqcc to support this too... matricies or quaternions, either would be fun to pass all over the place in quakec.

I think the plan is to get csqc doing the skeletal animation stuff due to the fact that it then doesn't need to send it all over the network (quite so often).
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby jim » Mon Sep 03, 2007 1:12 am

Now I've come to wonder can I define more than one texture per model part, so I could make the texture have animation or just some random or not so random variation in the texturing?

edit:
Just thought another question about them... Their limits.. how many polygons, vertices, frames, skins, bones, sub models/groups, something else they can have?
zbang!
User avatar
jim
 
Posts: 599
Joined: Fri Aug 05, 2005 2:35 pm
Location: In The Sun

Postby jim » Fri Sep 07, 2007 5:18 pm

The .skin file don't work. I can get it "do" two things: nothing at all or make the model completely invisible.

But I found out a command for the compile txt files for dpmodel.exe that solves the texture loading problem without needing to edit the SMD files. So I just put texturedir model/cloaked/ and then it works.

I now know these commands:
outputdir = places the model/other output files here when compiled
texturedir = model loads textures here
model = model filename
origin = moves the model from 0 0 0 position
rotate = rotates the model around Z axis
scale = uniform scale
scene = loads the models/frames

Are there any other commands?

Then I know these limits:
Maximum of 31 characters per frame name, including the _ and number characters dpmodel.exe adds into the frame names
Maximum of 31 characters for the texture directory including the texture filename excluding the file type extension

edit:
I can't get this play one animation with some bones and play another animation with other bones to work. My results are crashes and glitchy animations with other entities than the one they're meant to be played.

I can get attached models animate on their own, but I didn't build my character model in a way that head is attached to the upper body and upper body to lower body.


Here's my code:
Code: Select all
SetFrameFromBone (self, $cloaked_pistol_right_6, "spine_01");

and the set frame from bone function:
Code: Select all
.entity entbone;
void (entity ent, float bframe, string bone) SetFrameFromBone =
{
   local entity abone;
   local float boneindex;
   
   boneindex = gettagindex (ent, bone);
   
   abone = findfloat (ent, tag_index, boneindex);
   
   ent.entbone = findentity (ent, tag_entity, abone);
   if (ent.entbone)
      ent.entbone.frame = bframe;
};


Bah.. I think I'll just rebuild my model and then just attach stuff.
Damn.. That don't work right either. Everything's fucked up. I'll just do it the old simple way then... and have couple hundred frames more if I want things to move and do something else at the same time...
zbang!
User avatar
jim
 
Posts: 599
Joined: Fri Aug 05, 2005 2:35 pm
Location: In The Sun

Previous

Return to QuakeC Programming

Who is online

Users browsing this forum: No registered users and 1 guest