Force re-skin when getMesh with hardware skinning on
Actually spm has a built in way to use mesh without bothering bind pose
This commit is contained in:
parent
71334bac5b
commit
3cd2f403e0
@ -77,7 +77,10 @@ IMesh* CSkinnedMesh::getMesh(s32 frame, s32 detailLevel, s32 startFrameLoop, s32
|
|||||||
{
|
{
|
||||||
const bool is_hw_skinning_before = HardwareSkinning;
|
const bool is_hw_skinning_before = HardwareSkinning;
|
||||||
if (is_hw_skinning_before)
|
if (is_hw_skinning_before)
|
||||||
|
{
|
||||||
HardwareSkinning = false;
|
HardwareSkinning = false;
|
||||||
|
LastAnimatedFrame = -1;
|
||||||
|
}
|
||||||
//animate(frame,startFrameLoop, endFrameLoop);
|
//animate(frame,startFrameLoop, endFrameLoop);
|
||||||
if (frame==-1)
|
if (frame==-1)
|
||||||
return this;
|
return this;
|
||||||
|
@ -520,8 +520,9 @@ scene::ISceneNode* KartModel::attachModel(bool animated_models, bool human_playe
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
swo = irr_driver->addMesh(obj.m_model, "speedweighted",
|
swo = irr_driver->addMesh(obj.m_model->getMesh(0),
|
||||||
parent, getRenderInfo(), true/*all_parts_colorized*/);
|
"speedweighted", parent, getRenderInfo(),
|
||||||
|
true/*all_parts_colorized*/);
|
||||||
}
|
}
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
std::string debug_name = obj.m_name + " (speed-weighted)";
|
std::string debug_name = obj.m_name + " (speed-weighted)";
|
||||||
@ -1211,7 +1212,13 @@ void KartModel::initInverseBoneMatrices()
|
|||||||
// All bone matrices are configured in straight frame (as in exporting)
|
// All bone matrices are configured in straight frame (as in exporting)
|
||||||
scene::IAnimatedMeshSceneNode* node = irr_driver->getSceneManager()
|
scene::IAnimatedMeshSceneNode* node = irr_driver->getSceneManager()
|
||||||
->addAnimatedMeshSceneNode(m_mesh);
|
->addAnimatedMeshSceneNode(m_mesh);
|
||||||
node->setCurrentFrame((float)m_animation_frame[AF_STRAIGHT]);
|
float striaght_frame = (float)m_animation_frame[AF_STRAIGHT];
|
||||||
|
if (m_animation_frame[AF_STRAIGHT] == -1)
|
||||||
|
{
|
||||||
|
Log::warn("KartModel", "%s has no striaght frame defined.");
|
||||||
|
striaght_frame = 0.0f;
|
||||||
|
}
|
||||||
|
node->setCurrentFrame(striaght_frame);
|
||||||
const unsigned total_joint = node->getJointCount();
|
const unsigned total_joint = node->getJointCount();
|
||||||
for (unsigned i = 0; i < total_joint; i++)
|
for (unsigned i = 0; i < total_joint; i++)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user