Collada load error from Maya export model
by Martin Banks · in Torque 3D Professional · 08/13/2009 (9:51 am) · 9 replies
Hello I'm attempting to load a collada model and receive the following error which crashes the editor:
in daeSmartRef.h Line 111: _ptr != (*T)NULL
Thanks in advance for any help.
in daeSmartRef.h Line 111: _ptr != (*T)NULL
Thanks in advance for any help.
About the author
#2
We just tried it again without baking the transforms into the joints, and it imported without an error. Then I applied an animation and it worked. However, parts of the character (his body) were missing.
08/13/2009 (10:12 am)
I saw your post about deleting the controllers and baking the transforms into the joints. We are using the feelingsoftware version as well.We just tried it again without baking the transforms into the joints, and it imported without an error. Then I applied an animation and it worked. However, parts of the character (his body) were missing.
#3
08/13/2009 (10:21 am)
Also, thanks for your reply Manoel.
#4
Could you please send the version of your mesh that was causing this crash to Chris Robertson?
This sounds *vaguely* like a bug that he has already fixed for the next release but we want to make sure that at least don't get any crashes when loading a "bad" model.
Thanks!
08/13/2009 (12:24 pm)
Hey Martin,Could you please send the version of your mesh that was causing this crash to Chris Robertson?
This sounds *vaguely* like a bug that he has already fixed for the next release but we want to make sure that at least don't get any crashes when loading a "bad" model.
Thanks!
#5
HEAP CORRUPTION DETECTED: after Normal block (#...)at 0x... CRT detected that the application wrote to memory after end of heap buffer.
08/20/2009 (5:00 pm)
Hi Matt, I can't send the model cause its proprietary. However, I did also get a Heap overrun error when attempting to add an animation for it that was exported from maya without any geometry attached. When I have it exported with geometry the heap overrun error does not occur.HEAP CORRUPTION DETECTED: after Normal block (#...)at 0x... CRT detected that the application wrote to memory after end of heap buffer.
#6
Here's the fix (from trunk, should be ok in b5 as well). Add to TSShapeLoader::install() in tsShapeLoader.cpp.
08/31/2009 (9:11 pm)
@Martin: I've fixed this bug in trunk - the collada loader was happy enough to load a model without geometry, but the DTS code would crash when it tried to save the cached.dts.Here's the fix (from trunk, should be ok in b5 as well). Add to TSShapeLoader::install() in tsShapeLoader.cpp.
if (!obj.numMeshes)
shape->removeObject(shape->getName(obj.nameIndex));
}
// Add a dummy object if needed so the shape loads and renders ok
if (!shape->details.size())
{
shape->addDetail("detail", 2, 0);
shape->subShapeNumObjects.last() = 1;
shape->meshes.push_back(NULL);
shape->objects.increment();
shape->objects.last().nameIndex = shape->addName("dummy");
shape->objects.last().nodeIndex = 0;
shape->objects.last().startMeshIndex = 0;
shape->objects.last().numMeshes = 1;
shape->objectStates.increment();
shape->objectStates.last().frameIndex = 0;
shape->objectStates.last().matFrameIndex = 0;
shape->objectStates.last().vis = 1.0f;
}
// Update smallest visible detail
shape->mSmallestVisibleDL = 0;
#7
09/03/2009 (7:22 pm)
2nd part of the fix is to change the end of TSShapeLoader::generateShape in tsShapeLoader.cpp to look like this:// Install the TS memory helper into a TSShape object. install(); return shape; }
#8
these fixes produced the following error instead:
Vector[T]::operator[] - out of bounds array access!
retry cancel
09/04/2009 (1:38 pm)
Chris,these fixes produced the following error instead:
Vector[T]::operator[] - out of bounds array access!
retry cancel
#9
09/22/2009 (1:01 pm)
I get the same error as Martin in the same circumstance, using all code from trunk
Associate Manoel Neto
Default Studio Name