[Models] Interpolation of hidden model frames

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is ON
[img] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: [Models] Interpolation of hidden model frames

Re: [Models] Interpolation of hidden model frames

by Marisa the Magician » Fri Mar 12, 2021 3:48 pm

I think what this needs is the special case I added in the UE1 model renderer where it will "hide" (actually skip over) surfaces that have their skin set to null.

[Models] Interpolation of hidden model frames

by Cherno » Fri Mar 12, 2021 2:06 am

This is a bit difficult to explain :)

A model frame that is set to render (> -1) will not do so if the frame it interpolates towards is set to not render (-1).

This will not render POSS A:

Code: Select all

FrameIndex POSS A 0 99
FrameIndex POSS B 0 -1
This will render:

Code: Select all

FrameIndex POSS A 0 99
FrameIndex POSS B 0 100
I have become aware of this issue with a monster that haas a walking+shooting animation. the muzzelflash is a submodel and obviously only renders for some frames (when shoooting). The things are, I can't interpolate the walking animation while also making the muzzleflash model frame show in between.

What I would like to see is simple: interpolate as usual, and stop rendering the model when the new frame is reached. This sounds logical to me.

I have looked into the source code but wasn't able to find out what prevents the current frame to not render if the next one should not.
I assume it's somewhere in models.cpp: RenderFrameModels() and/or models_md3.cpp.RenderFrame().

Top