News | Forum | People | FAQ | Links | Search | Register | Log in
Modeling For Quake (help)
hey, iv been having issues getting custom models into quake, if anyone can help me or knows any good tutorials for me to use it would be much appreciated, thanks! (this seems to be a mapping site, but i was directed here for this issue by someone else)
First | Previous | Next | Last
Copycat 
Yeah, but that copy wouldn't count towards the limit of 1024, only the ones that are loaded from the mdl structure count for that. 
Slide 
Was just browsing Polycount and someone made a script like the one necros posted for Maya:
http://boards.polycount.net/showthread.php?t=55987
Thought it might interest someone maybe. 
How 
do I create the last death frame of a monster,
so its death scene leaves in another skin index? 
 
just add self.skin = # in the last frame function.

but seriously, madfox. post this stuff in the programming thread. :\ 
Good 
thanks for advice.
nice thread. 
Milkshape 
if anyone's interested in modeling and uses milkshape i have a tutorial i wrote that might help you out.

it's here: http://z10.invisionfree.com/Quaked/index.php?showtopic=4 
Interpolated Vertex Animation And Mesh Volume 
model & animation: A rotating disc (like a gear, for example) comprised of 20 frames for 1 full rotation (frame 1 being 0 degrees, frame 10 being 180 degrees, etc). When the animation loop is interrupted, the gear will idle at frame 1.

scenario: the animation loop is interrupted at say, frame 12.

problem: the engine's interpolation adds frames in a straight line between each of the vert's positions, causing the disc to collapse briefly as it transitions from frame 12 to frame 1.

I need some way to constrain the mesh volume so it will appear to rotate naturally between frames. Is this possible with a skeletal format such as IQM? 
 
Is there a QC command (in supported engines) to suppress interpolation for one frame, or am I imagining it? 
Nolerp Per Frame 
there's this:

//DP_EF_TELEPORT_BIT
//idea: id software
//darkplaces implementation: divVerent
//effects bit:
float EF_TELEPORT_BIT = 2097152;
//description:
//when toggled, interpolation of the entity is skipped for one frame. Useful for teleporting.
//to toggle this bit in QC, you can do:
// self.effects += (EF_TELEPORT_BIT - 2 * (self.effects & EF_TELEPORT_BIT));


Which I haven't tried yet because because the disc in question is just a small part of a larger mesh and I don't want to nolerp the entire entity.

I could split the disc off as a separate entity but that's something I'm trying to avoid... 
QC Manged Looping 
You might need to animate it yourself using qc (like for enemies) to let you stop at any frame? 
It Is Animated That Way 
the loop is dependent on player input which can change at any time. Unfortunately forcing a full loop before stopping the animation isn't possible here. 
Loops Versus Interpolation 
Maybe not the same, but an answer to my experience in making a convoybelt. The intention was to create a production line with an energy cell with twenty frames. I have noticed that the method that uses darkplaces is different from fitzquake.

I animated one cell/1frame, going to the half part, then hide the cell under the convoybelt, and then sweeping it up after the other half part was gone.
The convoybelt went easy, as it is a straight line.
The claw made an angle , so I had to hide it in three frames before the next row.

When I finally got the animation right, the interpolation was discussed.
After a lot of sliding and fitting I finally got the series running, but then I realized that each engine applies its own way of "turning".

here are the model versions I used. 
What Do You Mean Loops? 
I'm not understanding what you are doing. 
Loop = Frame Sequence 
what I'm doing:

if player is pressing 'x' play frame sequence indefinitely; if player isn't pressing 'x' go to frame 1.

Interpolating any frame other than 20, 19, 18 and 17 to frame 1 results in poop because of the reason stated in post #44. 
 
Which I haven't tried yet because because the disc in question is just a small part of a larger mesh and I don't want to nolerp the entire entity.

What else in the mesh is moving apart from the disc? I'm trying to visualise how the nolerp for a frame option would look bad... 
It's A Viewmodel 
the mesh is in a very different position during that particular sequence than it is in any other, so that lerp is critical for a smooth transition (especially since it's right in your face). 
 
So I assume adding a transition animation where the weapon spins down to a rest state when player releases the button is out of the question? 
The Transition From Fire To Spindown 
is where the problem is occurring. to adjust the mesh position of the first few frames of the spin down anim to smooth the transition between the two looks terrible (artistically, needs that sudden jolt), worse than the gear issue itself.

looks like my options are 1) learn/setup/test yet another model format just to figure out how it works and see if it will solve the issue and lose valuable time while doing so, 2) remove the gear (rather not), 3) remove time slowing down (possible, but rather not) 4) make the gear a separate entity and achieve rotation via qc rather than vertex animation (this sounds like another giant can of worms and I think it will look jittery), 5) do something else with my life. 
Qmaster 
In qmle is an option for frames setting to interpolation.
Not sure if it has anything to do with qc, but when using a model it sometimes angles back to the start frame, in stead of rolling on. Creating a strange turn of the animation.

I just call it a criple loop, may sound strange. 
Frame Seqwhatnow? 
Are you using framegroups or are you stepping it through frame by frame like on monsters

E.g.:
playergearwep1 [0, playergearwep2] () { self.weaponframe = 0;};
playergearwep2 [1, playergearwep3] () { self.weaponframe = 1;};
etc.

Viewmodels are a whole different ball game. Not sure if most engines even support framegroups on viewmodels (FTE does). 
 
if you want to get fancy, csqc is the way to go.
combine with modelevents too or something, and you can have particle effects etc handled in a generic way.

but yeah, if you want something to spin, do it in csqc. a little spinup+spindown makes it feel more real, and definitely smoother.
skeletal models potentially allow you to control each part of a model independently. 
The Hack Way 
If you want to do something that's supported in all engines, here's a hack to skip the interpolation:

Have two separate model files for your weapon, v_spinning.mdl and v_standing.mdl. Change the weapon model when you want to switch between two poses without interpolating them, just change the frame when you want to have interpolation.

It's not a pretty solution, but it works! 
Thanks For The Ideas 
@qmaster - we use both framegroups and hardcoded frames depending on the situation. The anims in question are using framegroups, I believe.

@spike - I'm leaning toward making the gear a separate entity but won't even have to do that if IQM would allow me to control a particular bone and nolerp that one bone for one frame.

@preach - that's an interesting hack :D 
 
In Fitzquake-derived engines, EF_MUZZLEFLASH will disable lerping for one frame.

But I think Preach's answer is the best. 
 
The issue with EF_MUZZLEFLASH, DP_EF_TELEPORT_BIT and Preach's solution (unless I'm missing something) is that I don't want to nolerp the entire model, just a part of it.

Looks like splitting it off into another entity is that way to go about it (lame!) 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2019 John Fitzgibbons. All posts are copyright their respective authors.