Animated static mesh
Moderator: Inside3D Admins
15 posts
• Page 1 of 1
it is possible to import an animated static mesh inside darkplaces ?
the only animated meshes you can import into a bsp are those using shader vertex modifiers.
that said, some mods do support a 'func_model' entity, which would allow you to place a model of some kind in the map. if it has a framegroup instead of descrete frames, it'll automatically animate.
but you do need more than the base id1 progs/qc.
that said, some mods do support a 'func_model' entity, which would allow you to place a model of some kind in the map. if it has a framegroup instead of descrete frames, it'll automatically animate.
but you do need more than the base id1 progs/qc.
i don't know how correct this is but is working for me:
- Code:
/*QUAKED func_model (0 1 0) (-8 -8 -8) (8 8 8)
Animated sprite or model.
*/
void() model_think =
{
self.nextthink = time + 0.1;
self.frame = self.frame + 1;
if (self.frame >= 10)
self.frame = 0;
};
void() func_model =
{
self.solid = SOLID_BSP;
self.think = model_think;
self.nextthink = time + 0.1;
precache_model (self.model);
setmodel (self, self.model);
};
this works as well:
- Code:
/*QUAKED misc_static_model (0 1 0) (-8 -8 -8) (8 8 8)
Animated sprite or model.
*/
void() misc_static_model =
{
if (!self.model)
{
remove (self);
return;
}
precache_model (self.model);
setmodel (self, self.model);
self.movetype = MOVETYPE_NOCLIP;
self.solid = SOLID_BSP;
};
/*QUAKED misc_animated_model (0 1 0) (-8 -8 -8) (8 8 8)
model.
*/
void() model_think =
{
self.nextthink = time + 0.1;
self.frame = self.frame + 1;
if (self.frame >= 10)
self.frame = 0;
};
void() misc_animated_model =
{
self.solid = SOLID_BSP;
self.think = model_think;
self.nextthink = time + 0.1;
precache_model (self.model);
setmodel (self, self.model);
};
Re: Animated static mesh
Make a model and turn it into a static entity.


Re: Animated static mesh
^^^ Would love to see that in game 
Re: Animated static mesh
probably want to use makestatic() if possible, to reduce edict count and packet size.
Re: Animated static mesh
I would like to make it a makestatic() entity, but where should I count this in?
For now I used a simple "model.mdl" methode.
That gives an impression like this:

but I have no idea what it uses on edict count and packet size.
Just glad I got it working although it is a bit large for a 480x480 skin size,
what is all I can get out of QMLE. It's still the only editor I can work with.

For now I used a simple "model.mdl" methode.
- Code:
$frame 1 2 3 4 5 6 7 8 9 10 11 12 13 14
void() plug_stand1 =[ $1, plug_stand2 ]{};
void() plug_stand2 =[ $2, plug_stand3 ]{};
void() plug_stand3 =[ $3, plug_stand4 ]{};
void() plug_stand4 =[ $4, plug_stand5 ]{};
void() plug_stand5 =[ $5, plug_stand6 ]{};
void() plug_stand6 =[ $6, plug_stand7 ]{};
void() plug_stand7 =[ $7, plug_stand8 ]{};
void() plug_stand8 =[ $8, plug_stand9 ]{};
void() plug_stand9 =[ $9, plug_stand10 ]{};
void() plug_stand10 =[ $10, plug_stand11 ]{};
void() plug_stand11 =[ $11, plug_stand12 ]{};
void() plug_stand12 =[ $12, plug_stand13 ]{};
void() plug_stand13 =[ $13, plug_stand14 ]{};
void() plug_stand14 =[ $14, plug_stand1 ]{};
void() info_plug =
{
precache_model ("progs/plug.mdl");
self.solid = SOLID_BBOX;
self.movetype = MOVETYPE_NONE;
setmodel (self, "progs/plug.mdl");
setsize (self, '16 16 16', '24 24 24');
self.think = plug_stand1;
self.nextthink = time + 0.1;
};
That gives an impression like this:

but I have no idea what it uses on edict count and packet size.
Just glad I got it working although it is a bit large for a 480x480 skin size,
what is all I can get out of QMLE. It's still the only editor I can work with.
Last edited by Madfox on Thu Dec 08, 2011 6:24 am, edited 2 times in total.
Re: Animated static mesh
you can't change the .frame if its a static entity. you'd need to make a framegroup to get such an ent to animate (and not all engines that support interpolation interpolate between framegroup frames).
Re: Animated static mesh
Madfox wrote:I would like to make it a makestatic() entity, but where should I count this in?
For now I used a simple "model.mdl" methode.
- Code:
$frame 1 2 3 4 5 6 7 8 9 10 11 12 13 14
void() plug_stand1 =[ $1, plug_stand2 ]{};
void() plug_stand2 =[ $2, plug_stand3 ]{};
void() plug_stand3 =[ $3, plug_stand4 ]{};
void() plug_stand4 =[ $4, plug_stand5 ]{};
void() plug_stand5 =[ $5, plug_stand6 ]{};
void() plug_stand6 =[ $6, plug_stand7 ]{};
void() plug_stand7 =[ $7, plug_stand8 ]{};
void() plug_stand8 =[ $8, plug_stand9 ]{};
void() plug_stand9 =[ $9, plug_stand10 ]{};
void() plug_stand10 =[ $10, plug_stand11 ]{};
void() plug_stand11 =[ $11, plug_stand12 ]{};
void() plug_stand12 =[ $12, plug_stand13 ]{};
void() plug_stand13 =[ $13, plug_stand14 ]{};
void() plug_stand14 =[ $14, plug_stand1 ]{};
void() info_plug =
{
precache_model ("progs/plug.mdl");
self.solid = SOLID_BBOX;
self.movetype = MOVETYPE_NONE;
setmodel (self, "progs/plug.mdl");
setsize (self, '16 16 16', '24 24 24');
self.think = plug_stand1;
self.nextthink = time + 0.1;
};
That gives an impression like this:
http://members.home.nl/gimli/plug.wmv
but I have no idea what it uses on edict count and packet size.
Just glad I got it working although it is a bit large for a 480x480 skin size,
what is all I can get out of QMLE. It's still the only editor I can work with.
Open your model in QME 3.1, and add all individual frames into a single framegroup. Save it. Now Quake will animate the model automatically. That's how torches are animated.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC
(LordHavoc)
Re: Animated static mesh
Spike wrote:you can't change the .frame if its a static entity. you'd need to make a framegroup to get such an ent to animate (and not all engines that support interpolation interpolate between framegroup frames).
Plus, not all engines that interpolate framegroups does it based on the time interval of the frames, and always interpolates everything at 0.1 seconds instead.
15 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 0 guests

